:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--surface:#13171c;--surface-2:#1a1f26;--border:#2a313c;--text:#e8ecf1;--muted:#8b95a5;--accent:#d4a35c;--accent-dim:#3d2f1a;--accent-text:#1a1408;--success:#6bbf8a;--warning:#d4a35c;--danger:#e06b6b;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.5rem;--radius-sm:6px;--radius-md:10px;--font-ui:"Instrument Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;font-family:var(--font-ui);line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #d4a35c0f, transparent), var(--bg);min-height:100vh;color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main{max-width:920px;padding:var(--space-5) var(--space-4) var(--space-6);margin:0 auto}h1,h2,h3{margin:0 0 var(--space-3);letter-spacing:-.01em;font-weight:600;line-height:1.2}h2{font-size:1.125rem}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.9375rem;font-weight:500}p{margin:0 0 var(--space-4);color:var(--muted)}label{margin-bottom:var(--space-2);color:var(--text);font-size:.875rem;font-weight:500;display:block}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:.8125rem}.app-header{margin-bottom:var(--space-5)}.brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.brand-mark{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text);font-size:.75rem;font-weight:500}.brand-rule{background:linear-gradient(90deg, var(--accent), transparent);flex:1;max-width:120px;height:1px}.tagline{margin:0;font-size:.875rem}.playlist-chip{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;display:inline-flex;overflow:hidden}.step-rail{gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.step-rail-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;transition:color .15s,background .15s;display:flex}.step-rail-item.active{background:var(--accent-dim);color:var(--accent)}.step-rail-item.done{color:var(--success)}.step-rail-index{opacity:.7}.step-panel{animation:.15s panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.step-panel{animation:none}.progress-bar>span,.track-row{transition:none}}input[type=url],input[type=text],input[type=file]{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:.9375rem;transition:border-color .15s}input[type=url]:hover,input[type=text]:hover{border-color:color-mix(in srgb, var(--border) 70%, var(--accent))}input[type=file]{display:none}.drop-zone{place-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;text-align:center;transition:border-color .15s,background .15s;display:grid}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-dim)}.drop-zone-label{color:var(--text);margin:0;font-size:.9375rem}.drop-zone-hint{font-family:var(--font-mono);color:var(--muted);margin:0;font-size:.75rem}.file-selected{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}button,.button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;font-size:.875rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--surface);border-color:color-mix(in srgb, var(--border) 60%, var(--text))}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, white);border-color:color-mix(in srgb, var(--accent) 88%, white)}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.text-btn{padding:var(--space-1) var(--space-2);color:var(--muted);background:0 0;border-color:#0000;font-size:.8125rem}button.text-btn:hover:not(:disabled){color:var(--text);background:0 0}button:disabled{opacity:.45;cursor:not-allowed}.segmented{padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:var(--space-1);display:inline-flex}.segmented button{padding:var(--space-2) var(--space-3);background:0 0;border:none;font-size:.8125rem}.segmented button.active{background:var(--accent-dim);color:var(--accent)}.stack{gap:var(--space-4);display:grid}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.muted{color:var(--muted)}.status-matched{color:var(--success)}.status-uncertain{color:var(--warning)}.status-failed{color:var(--danger)}.pill{padding:.125rem var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;align-items:center;font-size:.625rem;font-weight:500;display:inline-flex}.pill-matched{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border-color:color-mix(in srgb, var(--success) 25%, transparent)}.pill-uncertain{background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning);border-color:color-mix(in srgb, var(--warning) 25%, transparent)}.pill-failed{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 25%, transparent)}.pill-pending{background:var(--surface-2);color:var(--muted);border-color:var(--border)}.pill-ready{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border-color:color-mix(in srgb, var(--success) 25%, transparent)}.pill-high{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.pill-medium{background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.pill-low{background:var(--surface-2);color:var(--muted)}.progress-fraction{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--text);margin:0;font-size:2.5rem;font-weight:500;line-height:1}.progress-fraction span{color:var(--muted)}.progress-bar{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.progress-bar>span{background:var(--accent);height:100%;transition:width .2s;display:block}.warning-strip{padding:var(--space-2) var(--space-3);background:var(--accent-dim);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--accent);margin:0;font-size:.75rem}.summary-strip{gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.summary-item{gap:var(--space-1);flex-direction:column;display:flex}.summary-value{font-family:var(--font-mono);color:var(--text);font-size:1.25rem;font-weight:500;line-height:1}.summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.6875rem}.track-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.track-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:auto 1fr auto;transition:border-color .15s,background .15s;display:grid}.track-row:hover{border-color:color-mix(in srgb, var(--border) 50%, var(--accent));background:var(--surface-2)}.track-row.excluded{opacity:.5}.track-pos{font-family:var(--font-mono);color:var(--muted);text-align:right;min-width:2ch;font-size:.75rem}.track-info{min-width:0}.track-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:500;overflow:hidden}.track-artist{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;overflow:hidden}.track-chart{font-family:var(--font-mono);color:var(--muted);margin-top:var(--space-1);font-size:.6875rem}.track-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.track-meta{gap:var(--space-3);color:var(--muted);flex-wrap:wrap;font-size:.8125rem;display:flex}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.collapsible-section{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.collapsible-section summary{padding:var(--space-3) var(--space-4);background:var(--surface-2);cursor:pointer;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:.75rem;list-style:none;display:flex}.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section summary:after{content:"+";color:var(--accent);font-size:1rem}.collapsible-section[open] summary:after{content:"−"}.collapsible-section .track-list{padding:var(--space-3)}dialog{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface);color:var(--text);width:calc(100% - 2rem);max-width:560px;box-shadow:0 24px 48px #00000080}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.candidate-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.candidate-list button{text-align:left;width:100%;padding:var(--space-3)}.candidate-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.candidate-meta{font-family:var(--font-mono);color:var(--muted);margin-top:var(--space-1);font-size:.6875rem}.export-metric{font-family:var(--font-mono);color:var(--text);margin:0;font-size:3rem;font-weight:500;line-height:1}.export-metric span{color:var(--muted);font-size:1.5rem}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
