:root{--background:#f6f7f9;--surface:#ffffff;--border:#d9dce3;--text:#1c1f26;--muted:#5f6675;--accent:#2f6fed;--accent-text:#ffffff;--danger:#c4372f;--danger-surface:#fdecea;--radius:8px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--background:#14161b;--surface:#1d2027;--border:#333844;--text:#e6e8ee;--muted:#9aa1b0;--accent:#5b8cff;--accent-text:#0d1020;--danger:#ff7b72;--danger-surface:#3a1d1c}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;padding:0 16px 64px;background:var(--background);color:var(--text);font:15px/1.5 system-ui,-apple-system,segoe ui,sans-serif}body.busy .button,body.busy input,body.busy select{pointer-events:none;opacity:.6}.app-header,.workspace,.app-footer{max-width:1280px;margin:0 auto}.app-header h1{margin:24px 0 4px;font-size:1.6rem}.app-header p,.hint,.app-footer{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}@media(min-width:1000px){.workspace:has(.selection:not([hidden])){grid-template-columns:minmax(0,1fr)360px}}.source-picker,.player,.selection{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.drop-zone{display:grid;justify-items:center;gap:8px;padding:40px 16px;border:2px dashed var(--border);border-radius:var(--radius);text-align:center}.drop-zone.dragging{border-color:var(--accent)}.source-divider{text-align:center;color:var(--muted)}.url-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.url-field{flex:1 1 320px}.url-form .hint{flex-basis:100%;margin:0;font-size:.85rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.primary.selected{background:var(--danger);border-color:var(--danger)}.field{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.field input,.field select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font:inherit;font-size:.95rem}.player{display:grid;gap:12px}.player-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.video-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}video{width:100%;max-height:65vh;background:#000;border-radius:6px}.scrubber{width:100%}.transport,.frame-tools,.range-fields,.export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.readout{margin-left:auto;font-variant-numeric:tabular-nums}.frame-tools .field{grid-template-columns:auto 100px;align-items:center}.frame-tools .button.primary{margin-left:auto}.range-fields{align-items:end;margin-top:8px}.range-fields input{width:100px}.range-picker summary{cursor:pointer;color:var(--muted)}.selection{display:grid;gap:12px;align-content:start}.selection-header{display:flex;justify-content:space-between;align-items:center}.selection-header h2{margin:0;font-size:1.05rem}.thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;max-height:50vh;overflow-y:auto;list-style:none}.thumbnail{position:relative;display:grid;gap:2px;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.thumbnail img{width:100%;border-radius:4px;cursor:pointer}.thumbnail .remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;background:rgb(0 0 0/.6);color:#fff;cursor:pointer}.export{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:12px}.status{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 4px 16px rgb(0 0 0/.15)}.status.error{border-color:var(--danger);background:var(--danger-surface);color:var(--danger)}.app-footer{margin-top:24px;font-size:.85rem}kbd{padding:1px 5px;border:1px solid var(--border);border-radius:4px;font-size:.8rem}