:root{--bg:#050510;--bg-glow-1:#00d4ff0f;--bg-glow-2:#7c3aed14;--panel:#ffffff06;--panel-strong:#ffffff0b;--border:#ffffff14;--border-bright:#00d4ff59;--text:#f4f7fb;--muted:#94a3b8;--faint:#64748b;--accent:#00d4ff;--accent-2:#7c3aed;--accent-grad:linear-gradient(135deg, #00d4ff 0%, #7c3aed 100%);--ok:#34d399;--info:#38bdf8;--warn:#f59e0b;--error:#f87171;--listen:#a855f7;--display:"Space Grotesk", system-ui, sans-serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 15% -10%, var(--bg-glow-1), transparent 60%), radial-gradient(1000px 700px at 100% 110%, var(--bg-glow-2), transparent 55%), var(--bg);background-attachment:fixed;min-height:100svh;margin:0}#echolens{flex-direction:column;gap:32px;max-width:800px;margin:0 auto;padding:56px 24px 80px;display:flex}.panel{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;padding:20px}.panel-label,.eyebrow{font-family:var(--display);letter-spacing:2.4px;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600;display:block}.header{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:14px;display:inline-flex}.brand-mark{background:var(--accent-grad);border-radius:6px;width:18px;height:18px;box-shadow:0 0 18px #00d4ffb3}h1{font-family:var(--display);letter-spacing:-1px;color:var(--text);margin:0;font-size:40px;font-weight:700}.tagline{color:var(--muted);letter-spacing:.2px;margin:0;font-size:15px}.control-panel{flex-direction:column;align-items:center;gap:20px;padding:28px 20px;display:flex}.status{border:1px solid var(--border);letter-spacing:.3px;background:#ffffff08;border-radius:999px;align-items:center;gap:9px;margin:0;padding:6px 16px;font-size:12.5px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px}.status[data-kind=loading],.status[data-kind=busy]{color:var(--info)}.status[data-kind=ready]{color:var(--ok)}.status[data-kind=listening]{color:var(--listen)}.status[data-kind=listening]:before{animation:1.4s ease-in-out infinite pulse}.status[data-kind=error]{color:var(--error)}.toggle{font-family:var(--display);letter-spacing:.3px;color:#05121a;background:var(--accent-grad);cursor:pointer;border:none;border-radius:999px;padding:15px 46px;font-size:17px;font-weight:600;transition:transform .12s,box-shadow .25s,opacity .2s,filter .2s;box-shadow:0 0 0 1px #00d4ff4d,0 8px 30px -6px #00d4ff8c}.toggle:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 0 0 1px #00d4ff80,0 12px 38px -6px #00d4ffbf}.toggle:active:not(:disabled){transform:translateY(0)}.toggle:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.toggle.stop{color:#fff;background:linear-gradient(135deg,#fb7185 0%,#e11d48 100%);animation:1.7s ease-in-out infinite stop-glow}.result{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.label{font-family:var(--display);letter-spacing:-2px;color:var(--text);text-shadow:0 0 40px #00d4ff40;font-size:clamp(3rem,11vw,5.5rem);font-weight:700;line-height:1.02}.label.muted{color:var(--faint);text-shadow:none;font-weight:500}.confidence{color:var(--accent);font-variant-numeric:tabular-nums;min-height:22px;font-size:17px;font-weight:500}.analysis{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.spectro-panel,.bars-panel{flex-direction:column;gap:14px;display:flex}.spectro-frame{border:1px solid var(--border-bright);border-radius:10px;line-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00d4ff14,0 0 24px -4px #00d4ff66,inset 0 0 30px -12px #00d4ff80}.spectro{width:100%;height:auto;image-rendering:pixelated;background:#440154;display:block}.spectro-frame:before{content:"";pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000024 3px);position:absolute;inset:0}.spectro-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00d4ff1f,#0000);height:40px;animation:4.5s linear infinite scan;position:absolute;left:0;right:0}.bars{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.bar-row{grid-template-columns:108px 1fr 50px;align-items:center;gap:10px;font-size:12.5px;transition:order .2s;display:grid}.bar-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;transition:color .2s;overflow:hidden}.bar-track{border:1px solid var(--border);background:#ffffff0a;border-radius:6px;height:10px;overflow:hidden}.bar-fill{background:var(--accent-grad);border-radius:6px;width:0;height:100%;transition:width .24s cubic-bezier(.22,1,.36,1);display:block}.bar-pct{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .2s}.bar-row.leading .bar-name{color:var(--text);font-weight:600}.bar-row.leading .bar-pct{color:var(--accent);font-weight:600}.bar-row.leading .bar-fill{filter:brightness(1.15);box-shadow:0 0 10px #00d4ffb3,0 0 2px #7c3aed99}.file-section{flex-direction:column;align-items:center;gap:12px;display:flex}.file-hint{color:var(--muted);font-size:13px}.file-drop{border:1px dashed var(--border);color:var(--text);cursor:pointer;background:var(--panel-strong);border-radius:10px;padding:11px 22px;font-size:14px;transition:border-color .2s,color .2s;display:inline-block}.file-drop:hover{border-color:var(--border-bright);color:var(--accent)}.file-drop:has(input:disabled){opacity:.4;cursor:not-allowed}.file-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.bench-panel{flex-direction:column;gap:16px;display:flex}.bench-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.bench-btn{font-family:var(--display);letter-spacing:.3px;color:var(--accent);border:1px solid var(--border-bright);cursor:pointer;background:#00d4ff0f;border-radius:999px;padding:9px 22px;font-size:13px;font-weight:600;transition:background .2s,box-shadow .2s,transform .12s,opacity .2s}.bench-btn:hover:not(:disabled){background:#00d4ff1f;transform:translateY(-1px);box-shadow:0 0 20px -6px #00d4ffb3}.bench-btn:disabled{opacity:.4;cursor:progress}.bench-progress{flex-direction:column;gap:8px;display:flex}.bench-bar{border:1px solid var(--border);background:#ffffff0d;border-radius:6px;height:8px;overflow:hidden}.bench-bar-fill{background:var(--accent-grad);border-radius:6px;width:0;height:100%;transition:width .2s}.bench-progress-text{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:12.5px}.bench-hw{color:var(--faint);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:12px}.bench-table-wrap{overflow-x:auto}.bench-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.bench-table th,.bench-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.bench-table th:first-child,.bench-table td:first-child{text-align:left}.bench-table thead th{color:var(--faint);font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:600}.bench-table tbody tr:last-child td{border-bottom:none}.bench-table td{color:var(--text)}.bench-table tr.na td{color:var(--faint)}.bench-table tr.winner td{color:var(--accent);background:#00d4ff12;font-weight:600}.bench-table tr.winner td:first-child:before{content:"▸ ";color:var(--accent)}.bench-copy{color:var(--muted);background:var(--panel-strong);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-self:flex-start;margin-top:14px;padding:7px 16px;font-size:12px;transition:border-color .2s,color .2s}.bench-copy:hover{border-color:var(--border-bright);color:var(--accent)}.bench-details{border:1px solid var(--border);background:#ffffff04;border-radius:12px;padding:0 16px}.bench-details>summary{cursor:pointer;font-family:var(--display);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:14px 0;font-size:12px;font-weight:600;list-style:none}.bench-details>summary::-webkit-details-marker{display:none}.bench-details>summary:before{content:"▸ ";color:var(--accent)}.bench-details[open]>summary:before{content:"▾ "}.bench-details[open]>summary{border-bottom:1px solid var(--border);margin-bottom:14px}.bench-details>:last-child{margin-bottom:16px}.bench-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 10px}50%{opacity:.45;box-shadow:0 0 3px}}@keyframes stop-glow{0%,to{box-shadow:0 0 0 1px #e11d4866,0 8px 26px -6px #e11d4880}50%{box-shadow:0 0 0 1px #e11d48b3,0 10px 40px -4px #e11d48d9}}@keyframes scan{0%{transform:translateY(-40px)}to{transform:translateY(160px)}}@media (prefers-reduced-motion:reduce){.toggle.stop,.status[data-kind=listening]:before,.spectro-frame:after{animation:none}}@media (width<=720px){.analysis{grid-template-columns:1fr}.spectro-panel{align-items:stretch}.spectro{max-width:100%}}@media (width<=480px){#echolens{gap:24px;padding:36px 16px 56px}h1{font-size:32px}.bar-row{grid-template-columns:88px 1fr 46px}}
