*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light;--bg-body: #f4f6f9;--text-primary: #1a202c;--text-muted: #4a5568;--text-subtle: #718096;--surface: #ffffff;--surface-muted: #f7fafc;--surface-strong: #edf2f7;--border: #e2e8f0;--border-strong: #cbd5e0;--dropzone-active-bg: #ebf8ff;--dropzone-active-border: #4299e1;--button-primary: #4299e1;--button-primary-hover: #3182ce;--button-success: #48bb78;--button-success-hover: #38a169;--status-loading: #d97706;--status-ready: #38a169;--status-pending-bg: #edf2f7;--status-pending-text: #4a5568;--status-queued-bg: #faf5ff;--status-queued-text: #6b46c1;--status-loading-bg: #fffaf0;--status-loading-text: #b7791f;--status-converting-bg: #ebf8ff;--status-converting-text: #2b6cb0;--status-done-bg: #f0fff4;--status-done-text: #276749;--status-error-bg: #fff5f5;--status-error-text: #c53030;--status-unsupported-bg: #fffaf0;--status-unsupported-text: #975a16;--error-text: #c53030;--progress-track: #bee3f8;--progress-fill: #3182ce}:root[data-theme=dark]{color-scheme:dark;--bg-body: #0f172a;--text-primary: #e2e8f0;--text-muted: #cbd5e1;--text-subtle: #94a3b8;--surface: #111827;--surface-muted: #1e293b;--surface-strong: #334155;--border: #334155;--border-strong: #475569;--dropzone-active-bg: #172554;--dropzone-active-border: #60a5fa;--button-primary: #2563eb;--button-primary-hover: #1d4ed8;--button-success: #16a34a;--button-success-hover: #15803d;--status-loading: #f59e0b;--status-ready: #4ade80;--status-pending-bg: #334155;--status-pending-text: #e2e8f0;--status-queued-bg: #3b0764;--status-queued-text: #e9d5ff;--status-loading-bg: #451a03;--status-loading-text: #fcd34d;--status-converting-bg: #0c4a6e;--status-converting-text: #bae6fd;--status-done-bg: #052e16;--status-done-text: #bbf7d0;--status-error-bg: #450a0a;--status-error-text: #fecaca;--status-unsupported-bg: #422006;--status-unsupported-text: #fed7aa;--error-text: #fca5a5;--progress-track: #1e3a8a;--progress-fill: #60a5fa}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg-body);color:var(--text-primary);min-height:100dvh;transition:background .2s ease,color .2s ease}.app{max-width:1040px;margin:0 auto;min-height:100dvh;padding:2rem 1.5rem 4rem}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{font-size:2rem;margin:0}.ffmpeg-status{margin:.75rem 0 1.5rem;font-size:.85rem;text-align:center}.ffmpeg-status.loading{color:var(--status-loading)}.ffmpeg-status.ready{color:var(--status-ready)}.output-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1.25rem}.output-panel-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.output-panel h2{margin:0 0 .35rem;font-size:1rem}.output-folder-name{margin:0;font-weight:600;color:var(--text-primary)}.output-folder-status,.output-folder-error{margin:.35rem 0 0;font-size:.85rem}.output-folder-status{color:var(--text-subtle)}.output-folder-error{color:var(--error-text)}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1.25rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-label{display:block;font-size:1rem;font-weight:600;margin-bottom:.35rem}.settings-description{margin:0;font-size:.85rem;color:var(--text-subtle)}.workers-input{width:5rem;flex-shrink:0;text-align:center;font-size:.95rem;padding:.3rem .5rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-muted);color:var(--text-primary)}.workers-input:focus{outline:2px solid var(--button-primary);outline-offset:1px}@media (max-width: 640px){.settings-row{gap:.75rem}}.drop-zone{background:var(--surface);border:2px dashed var(--border-strong);border-radius:12px;min-height:320px;padding:4rem 1.5rem;text-align:center;transition:border-color .2s,background .2s;margin-bottom:1.5rem;cursor:default;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-zone--disabled{opacity:.82}.drop-zone--active{border-color:var(--dropzone-active-border);background:var(--dropzone-active-bg)}.drop-zone-inner{width:min(100%,36rem)}.drop-zone-icon{font-size:2.5rem;line-height:1}.drop-zone-text{font-size:1.1rem;margin:.5rem 0 .25rem}.drop-zone-hint{color:var(--text-subtle);font-size:.875rem;margin:0 0 1rem}.drop-zone-note{color:var(--text-muted);font-size:.9rem;margin:0 0 1rem}.drop-zone-hint code{background:var(--surface-strong);border-radius:4px;padding:0 .35em;font-size:.8rem}.btn-browse{display:inline-block;background:var(--button-primary);color:#fff;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;cursor:pointer;transition:background .15s}.btn-browse:hover{background:var(--button-primary-hover)}.btn-browse--disabled{opacity:.6;cursor:not-allowed}.btn-clear{background:none;border:1px solid var(--border);border-radius:6px;padding:.3rem .75rem;font-size:.85rem;cursor:pointer;color:var(--text-muted)}.btn-clear:hover{background:var(--surface-strong)}.btn-download{background:var(--button-success);color:#fff;border:none;border-radius:6px;padding:.3rem .75rem;font-size:.85rem;cursor:pointer;transition:background .15s}.btn-download:hover{background:var(--button-success-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.queue{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.queue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.queue-header h2{font-size:1rem;margin:0;color:var(--text-primary)}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:.9rem 1rem;border-radius:8px;background:var(--surface-muted);border:1px solid var(--border);flex-wrap:wrap}.file-item-info{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0;flex:1 1 34rem}.file-labels{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.file-action-badge,.file-type-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;letter-spacing:.04em}.file-action-badge{font-size:.68rem;padding:.25rem .6rem;text-transform:uppercase}.file-action-badge--convert{background:var(--status-converting-bg);color:var(--status-converting-text)}.file-action-badge--copy{background:var(--status-pending-bg);color:var(--status-pending-text)}.file-type-pill{min-width:3.4rem;font-size:.72rem;padding:.28rem .62rem;background:var(--surface-strong);color:var(--text-primary)}.file-type-pill--output{background:var(--status-done-bg);color:var(--status-done-text)}.file-type-pill--copy{background:var(--surface-strong);color:var(--text-primary)}.file-conversion-arrow{color:var(--text-subtle);font-weight:700}.file-name{font-size:.98rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-detail{flex-basis:100%;font-size:.8rem;color:var(--text-subtle);margin-top:-.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;align-self:flex-start}.status-badge{display:inline-block;font-size:.75rem;font-weight:600;border-radius:999px;padding:.15rem .6rem}.status--pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.status--queued{background:var(--status-queued-bg);color:var(--status-queued-text)}.status--loading{background:var(--status-loading-bg);color:var(--status-loading-text)}.status--converting{background:var(--status-converting-bg);color:var(--status-converting-text)}.status--done{background:var(--status-done-bg);color:var(--status-done-text)}.status--error{background:var(--status-error-bg);color:var(--status-error-text)}.status--unsupported{background:var(--status-unsupported-bg);color:var(--status-unsupported-text)}.error-message{font-size:.8rem;color:var(--error-text);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-bar-track{width:100%;height:4px;background:var(--progress-track);border-radius:999px;overflow:hidden;flex-basis:100%;margin-top:.25rem}.progress-bar-fill{height:100%;background:var(--progress-fill);border-radius:999px;transition:width .3s ease}@keyframes progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.progress-bar-fill--indeterminate{width:35%;animation:progress-indeterminate 1.1s ease-in-out infinite}@media (max-width: 640px){.output-panel-row{flex-direction:column}.app{padding:1.25rem .9rem 3rem}.file-item{padding:.8rem .85rem}.file-item-actions{width:100%;justify-content:space-between}}
