.lock-start,.lock-workspace{color:var(--desktop-text)}.lock-start{display:flex;flex-direction:column;gap:24px;width:100%;max-width:1120px;margin:0 auto;padding:36px 48px 48px}.lock-start-header{display:flex;align-items:center;gap:14px}.lock-start-header h1{margin:0;font-size:24px;line-height:30px;font-weight:600}.lock-start-header p{margin:2px 0 0;font-size:13px;color:var(--desktop-text-muted)}.lock-start-header>.lock-badge{margin-left:auto}.lock-tile{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:11px;background:var(--desktop-selection);color:var(--desktop-selection-text)}.lock-tile svg{width:22px;height:22px}.lock-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 24px 28px;border:1px dashed var(--desktop-border-strong,var(--desktop-border));border-radius:14px;background:var(--desktop-surface);text-align:center}.lock-drop-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:4px;border-radius:50%;background:var(--desktop-selection);color:var(--desktop-selection-text)}.lock-drop-icon svg{width:24px;height:24px}.lock-drop h2{margin:0;font-size:18px;line-height:24px;font-weight:600}.lock-drop p{margin:0;font-size:13px;color:var(--desktop-text-muted)}.lock-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.lock-start-message{min-height:18px;font-size:12px;color:var(--desktop-danger)}.lock-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.lock-steps li{display:flex;gap:12px;padding:16px;border:1px solid var(--desktop-border);border-radius:12px;background:var(--desktop-surface)}.lock-steps li>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid var(--desktop-border);border-radius:50%;background:var(--desktop-input);color:var(--desktop-selection-text);font-size:12px;font-weight:600}.lock-steps strong{display:block;font-size:13px;font-weight:600}.lock-steps p{margin:3px 0 0;font-size:12px;line-height:17px;color:var(--desktop-text-muted)}.lock-recents{border:1px solid var(--desktop-border);border-radius:12px;background:var(--desktop-surface);overflow:hidden}.lock-recents h2{margin:0;padding:14px 18px;font-size:13px;font-weight:600}.lock-recents ul{margin:0;padding:0;list-style:none}.lock-recents li{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--desktop-border)}.lock-recents li>svg{width:18px;height:18px;flex:none;color:var(--desktop-text-muted)}.lock-recents li>div{flex:1;min-width:0}.lock-recents strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.lock-recents span{font-size:11px;color:var(--desktop-text-muted)}.lock-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 16px;border:1px solid var(--desktop-border);border-radius:8px;background:var(--desktop-control);color:var(--desktop-text);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.lock-button svg{width:15px;height:15px;flex:none}.lock-button:hover:not(:disabled){background:var(--notes-hover,var(--desktop-input))}.lock-button[data-kind=primary]{border-color:transparent;background:var(--desktop-accent);color:var(--desktop-on-accent)}.lock-button[data-kind=primary]:hover:not(:disabled){background:var(--desktop-accent);filter:brightness(1.05)}.lock-button[data-size=sm]{min-height:30px;padding:0 12px;font-size:12px}.lock-button:disabled{opacity:.45;cursor:default}.lock-button:focus-visible,.lock-field button:focus-visible,.lock-segmented button:focus-visible{outline:2px solid var(--desktop-focus);outline-offset:2px}.lock-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.lock-badge svg{width:12px;height:12px}.lock-badge[data-tone=neutral]{border:1px solid var(--desktop-border);background:var(--desktop-input);color:var(--desktop-text-muted)}.lock-badge[data-tone=accent]{background:var(--desktop-selection);color:var(--desktop-selection-text)}.lock-workspace{display:flex;flex-direction:column;gap:16px;padding:32px}.lock-status{display:flex;align-items:center;gap:10px;width:100%;max-width:980px;margin:0 auto;padding:10px 14px;border:1px solid var(--desktop-border);border-radius:10px;background:var(--desktop-surface);font-size:13px}.lock-status svg{width:16px;height:16px;flex:none}.lock-status[data-tone=success] svg{color:var(--desktop-success)}.lock-status[data-tone=alert] svg{color:var(--desktop-danger)}.lock-status>.lock-button{margin-left:auto}.lock-layout{display:grid;grid-template-columns:300px minmax(0,660px);justify-content:center;align-items:start;gap:20px}.lock-file{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--desktop-border);border-radius:12px;background:var(--desktop-surface)}.lock-file-preview{display:grid;place-items:center;height:232px;padding:16px;border:1px solid var(--desktop-border);border-radius:10px;background:var(--desktop-input);overflow:hidden}.lock-file-preview img{display:block;width:auto;height:auto;max-width:100%;max-height:198px;object-fit:contain;border:1px solid var(--desktop-border);background:#fff;box-shadow:0 1px 3px rgb(0 0 0/8%)}.lock-file-placeholder{display:grid;place-items:center;width:150px;height:200px;border:1px solid var(--desktop-border);border-radius:2px;background:var(--desktop-surface-elevated);color:var(--desktop-text-muted)}.lock-file-placeholder svg{width:28px;height:28px}.lock-file-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.lock-file-name span{font-size:12px;color:var(--desktop-text-muted)}.lock-file dl{display:flex;flex-direction:column;gap:12px;margin:0;padding-top:16px;border-top:1px solid var(--desktop-border)}.lock-file dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.lock-file dt{color:var(--desktop-text-muted)}.lock-file dd{margin:0;font-weight:500}.lock-panel{border:1px solid var(--desktop-border);border-radius:12px;background:var(--desktop-surface)}.lock-panel,.lock-panel>header{display:flex;flex-direction:column}.lock-panel>header{gap:14px;padding:22px 24px;border-bottom:1px solid var(--desktop-border)}.lock-panel h2{margin:0;font-size:16px;font-weight:600}.lock-segmented{display:flex;gap:2px;padding:3px;border:1px solid var(--desktop-border);border-radius:9px;background:var(--desktop-input)}.lock-segmented button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid transparent;border-radius:7px;color:var(--desktop-text-muted);font-size:12px;font-weight:500}.lock-segmented button svg{width:14px;height:14px}.lock-segmented button[aria-checked=true]{border-color:var(--desktop-border);background:var(--desktop-surface-elevated);color:var(--desktop-text);font-weight:600;box-shadow:0 1px 2px rgb(0 0 0/6%)}.lock-segmented button[aria-checked=true] svg{color:var(--desktop-selection-text,var(--desktop-accent))}html[data-desktop-theme=dark] .lock-segmented button[aria-checked=true] svg{color:var(--desktop-focus)}.lock-segmented button:disabled{opacity:.45}.lock-form{gap:18px;padding:22px 24px}.lock-field,.lock-form{display:flex;flex-direction:column}.lock-field{gap:6px}.lock-field>label{font-size:12px;font-weight:500}.lock-input{position:relative;display:flex;align-items:center}.lock-input>svg{position:absolute;left:12px;width:15px;height:15px;color:var(--desktop-text-muted);pointer-events:none}.lock-input input{width:100%;height:40px;padding:0 44px 0 12px;border:1px solid var(--desktop-border);border-radius:8px;background:var(--desktop-input);color:var(--desktop-text);font-size:14px}.lock-input>svg+input{padding-left:36px}.lock-input input:focus-visible{outline:none;border-color:var(--desktop-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--desktop-focus) 22%,transparent)}.lock-input input:disabled{opacity:.6}.lock-input>button{position:absolute;right:4px;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;color:var(--desktop-text-muted)}.lock-input>button:hover{background:var(--desktop-control);color:var(--desktop-text)}.lock-input>button svg{width:15px;height:15px}.lock-help{display:flex;align-items:center;gap:6px;min-height:16px;margin:0;font-size:11px;line-height:16px;color:var(--desktop-text-muted)}.lock-help svg{width:13px;height:13px;flex:none}.lock-help[data-tone=success]{color:var(--desktop-success)}.lock-help[data-tone=danger]{color:var(--desktop-danger)}.lock-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2px}.lock-meter>span{height:4px;border-radius:2px;background:var(--desktop-border)}.lock-meter[data-level="1"]>span:nth-child(-n+1){background:var(--desktop-danger)}.lock-meter[data-level="2"]>span:nth-child(-n+2){background:var(--desktop-accent)}.lock-meter[data-level="3"]>span:nth-child(-n+3),.lock-meter[data-level="4"]>span{background:var(--desktop-success)}.lock-strength{font-weight:600}.lock-callout{display:flex;gap:10px;padding:12px;border:1px solid var(--desktop-border);border-radius:10px;background:var(--desktop-input);font-size:12px;line-height:18px;color:var(--desktop-text-muted)}.lock-callout svg{width:16px;height:16px;flex:none;margin-top:1px}.lock-callout p{margin:0}.lock-ready{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--desktop-success) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--desktop-success) 10%,transparent)}.lock-ready p{margin:0;font-weight:600;color:var(--desktop-success)}.lock-panel>footer{display:flex;align-items:center;gap:10px;padding:14px 24px;border-top:1px solid var(--desktop-border);font-size:12px;color:var(--desktop-text-muted)}.lock-panel>footer>svg{width:15px;height:15px;flex:none}.lock-panel>footer>span{margin-right:auto}@media (max-width:1100px){.lock-layout{grid-template-columns:minmax(0,1fr)}.lock-file{flex-direction:row;flex-wrap:wrap;align-items:center}.lock-file-preview{height:132px;width:120px;padding:8px}.lock-file dl{flex:1;min-width:200px;border-top:0;padding-top:0}.lock-start{padding:28px 24px}.lock-steps{grid-template-columns:minmax(0,1fr)}}