@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&family=IBM+Plex+Serif:wght@600&display=swap";*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}#app{min-height:100vh}.shell[data-v-5aac037d]{--ink:#1a1d22;--muted:#5a616b;--line:#d8dce2;--bg:#f3f1ec;--panel:#fffcf7;--accent:#c45c26;--sidebar:#1a1d22;min-height:100vh;color:var(--ink);background:var(--bg);font-family:IBM Plex Sans,Segoe UI,sans-serif;display:flex}.sidebar[data-v-5aac037d]{background:var(--sidebar);color:#e8eaed;flex-direction:column;flex-shrink:0;justify-content:space-between;align-self:flex-start;gap:1.25rem;width:13.5rem;min-height:100vh;padding:1.35rem .9rem 1.25rem;display:flex;position:sticky;top:0}.brand[data-v-5aac037d]{letter-spacing:.01em;margin:0 .5rem 1.4rem;font-family:IBM Plex Serif,Georgia,serif;font-size:1.15rem;font-weight:600}.nav[data-v-5aac037d]{flex-direction:column;gap:.2rem;display:flex}.nav-group[data-v-5aac037d]{letter-spacing:.1em;text-transform:uppercase;color:#8b919a;margin:1rem .5rem .35rem;font-size:.68rem}.nav-link[data-v-5aac037d]{color:#c9ced6;border-radius:6px;padding:.55rem .65rem;font-size:.92rem;text-decoration:none;display:block}.nav-link[data-v-5aac037d]:hover{color:#fff;background:#ffffff0f}.nav-link.router-link-active[data-v-5aac037d]{color:#fff;background:#c45c2638}.nav-link.disabled[data-v-5aac037d]{opacity:.4;cursor:default}.sidebar-foot[data-v-5aac037d]{border-top:1px solid #ffffff1a;padding-top:.85rem}.who[data-v-5aac037d]{color:#c9ced6;text-overflow:ellipsis;white-space:nowrap;margin:0 0 .45rem;font-size:.82rem;overflow:hidden}.logout[data-v-5aac037d]{appearance:none;color:#c9ced6;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff2e;border-radius:6px;padding:.4rem .55rem;font-size:.85rem}.logout[data-v-5aac037d]:hover{color:#fff;border-color:#ffffff59}.main[data-v-5aac037d]{flex:1;min-width:0}@media (width<=720px){.shell[data-v-5aac037d]{flex-direction:column}.sidebar[data-v-5aac037d]{width:100%;min-height:0;padding:.85rem 1rem;position:static}.brand[data-v-5aac037d]{margin-bottom:.75rem}.nav[data-v-5aac037d]{flex-flow:wrap;gap:.25rem}.nav-group[data-v-5aac037d]{width:100%;margin:.35rem 0 0}}.chart-wrap[data-v-01f9cf38]{width:100%;overflow-x:auto}.chart[data-v-01f9cf38]{width:100%;min-width:28rem;height:auto;display:block}.grid[data-v-01f9cf38]{stroke:#e4e7ec;stroke-width:1px}.axis-label[data-v-01f9cf38]{fill:#5a616b;font-family:IBM Plex Sans,sans-serif;font-size:11px}.x-label[data-v-01f9cf38]{font-size:10px}.area[data-v-01f9cf38]{fill:#c45c2624}.line[data-v-01f9cf38]{fill:none;stroke:#c45c26;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.dot[data-v-01f9cf38]{fill:#c45c26;stroke:#fffcf7;stroke-width:1.5px}.empty[data-v-01f9cf38]{color:#5a616b;margin:0;font-size:.9rem}.page[data-v-487f9cfd]{--ink:#1a1d22;--muted:#5a616b;--line:#d8dce2;--panel:#fffcf7;--accent:#c45c26;--bad:#b42318;max-width:72rem;padding:2.25rem 1.5rem 3rem}.header[data-v-487f9cfd]{margin-bottom:1.75rem}.eyebrow[data-v-487f9cfd]{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.75rem}h1[data-v-487f9cfd]{margin:0 0 .45rem;font-family:IBM Plex Serif,Georgia,serif;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:600}.lede[data-v-487f9cfd]{color:var(--muted);max-width:36rem;margin:0;line-height:1.45}.status[data-v-487f9cfd]{color:var(--muted);margin:.6rem 0 0;font-size:.88rem}.status.error[data-v-487f9cfd]{color:var(--bad)}.grid[data-v-487f9cfd]{grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr));gap:1rem;display:grid}.card[data-v-487f9cfd]{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.15rem 1.2rem}.card.placeholder[data-v-487f9cfd]{opacity:.85}.section[data-v-487f9cfd]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.7rem}h2[data-v-487f9cfd]{margin:0 0 .2rem;font-size:1.15rem}.sub[data-v-487f9cfd]{color:var(--muted);margin:0 0 .85rem;font-size:.9rem}.meta[data-v-487f9cfd]{color:var(--ink);margin:0 0 .75rem;font-size:.85rem}.meta.muted[data-v-487f9cfd]{color:var(--muted)}.placeholder-box[data-v-487f9cfd]{color:#8b919a;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#00000006 6px 12px);border:1px dashed #c5cad3;border-radius:8px;justify-content:center;align-items:center;height:7.5rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.actions[data-v-487f9cfd]{flex-wrap:wrap;gap:.45rem;margin-top:.9rem;display:flex}.btn[data-v-487f9cfd]{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;align-items:center;padding:.45rem .8rem;font-size:.88rem;text-decoration:none;display:inline-flex}.btn.primary[data-v-487f9cfd]{background:var(--ink);border-color:var(--ink);color:#fff}.page[data-v-c8c02f26]{--ink:#1a1d22;--muted:#5a616b;--line:#d8dce2;--panel:#fffcf7;--accent:#c45c26;--bad:#b42318;max-width:58rem;padding:2.25rem 1.5rem 3rem}.back[data-v-c8c02f26]{margin:0 0 1rem}.back a[data-v-c8c02f26]{color:var(--muted);font-size:.9rem;text-decoration:none}.back a[data-v-c8c02f26]:hover{color:var(--ink)}.header[data-v-c8c02f26]{margin-bottom:1.5rem}.eyebrow[data-v-c8c02f26]{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.75rem}h1[data-v-c8c02f26]{margin:0 0 .45rem;font-family:IBM Plex Serif,Georgia,serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:600}.lede[data-v-c8c02f26]{color:var(--muted);max-width:38rem;margin:0 0 1rem;line-height:1.45}.status[data-v-c8c02f26]{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.status.error[data-v-c8c02f26]{color:var(--bad)}.btn[data-v-c8c02f26]{appearance:none;border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:.5rem .9rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn.primary[data-v-c8c02f26]{background:var(--ink);border-color:var(--ink);color:#fff}.panel[data-v-c8c02f26]{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.2rem 1.25rem}.panel h2[data-v-c8c02f26]{margin:0 0 .85rem;font-size:1.05rem}.table-wrap[data-v-c8c02f26]{overflow-x:auto}table[data-v-c8c02f26]{border-collapse:collapse;width:100%;font-size:.92rem}th[data-v-c8c02f26],td[data-v-c8c02f26]{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .4rem}th[data-v-c8c02f26]{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.empty[data-v-c8c02f26]{color:var(--muted);margin:.5rem 0 0}.ruler-wrap[data-v-b01d77e2]{width:100%;padding:.5rem .55rem .75rem;overflow:hidden}.ruler[data-v-b01d77e2]{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:8.5rem;position:relative}.ruler.locked[data-v-b01d77e2]{cursor:default}.track[data-v-b01d77e2]{z-index:1;background:linear-gradient(90deg,#2a2f36,#5c6570 50%,#2a2f36);border-radius:2px;height:4px;position:absolute;top:3.6rem;left:0;right:0}.band-bump[data-v-b01d77e2]{pointer-events:none;z-index:0;width:100%;height:4.1rem;position:absolute;top:1.1rem;left:0;right:0;overflow:visible}.band-bump-fill[data-v-b01d77e2]{fill:#1b7f4a47;stroke:none}.band-bump-stroke[data-v-b01d77e2]{fill:none;stroke:#1b7f4a;stroke-width:2px;vector-effect:non-scaling-stroke}.octave-window[data-v-b01d77e2]{pointer-events:none;z-index:0;border-radius:6px;height:3.35rem;position:absolute;top:2.15rem}.octave-window.hover[data-v-b01d77e2]{background:#c45c2638;box-shadow:inset 0 0 0 1px #c45c2673}.octave-window.selected[data-v-b01d77e2]{background:#1f6feb2e;box-shadow:inset 0 0 0 1px #1f6feb66}.octave-mark[data-v-b01d77e2]{pointer-events:none;z-index:1;flex-direction:column;align-items:center;display:flex;position:absolute;top:2.35rem;transform:translate(-50%)}.octave-mark[data-v-b01d77e2]:first-child{align-items:flex-start;transform:translate(0)}.octave-mark[data-v-b01d77e2]:last-child{align-items:flex-end;transform:translate(-100%)}.octave-mark .tick[data-v-b01d77e2]{background:#1a1d22;width:2px;height:2.1rem}.octave-mark .label[data-v-b01d77e2]{letter-spacing:.02em;color:#5a616b;font-variant-numeric:tabular-nums;margin-top:.55rem;font-size:clamp(.7rem,1.5vw,.85rem)}.cursor[data-v-b01d77e2]{pointer-events:none;z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;top:.2rem;transform:translate(-50%)}.cursor .needle[data-v-b01d77e2]{background:#c45c26;width:2px;height:4rem}.cursor.selected .needle[data-v-b01d77e2]{background:#1f6feb}.cursor .freq-tag[data-v-b01d77e2]{font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;background:#c45c26;border-radius:4px;flex-direction:column;align-items:center;gap:.1rem;margin-bottom:.35rem;padding:.25rem .55rem;font-size:.85rem;font-weight:600;line-height:1.2;display:flex}.cursor .freq-tag .range[data-v-b01d77e2]{opacity:.9;font-size:.7rem;font-weight:500}.cursor.selected .freq-tag[data-v-b01d77e2]{background:#1f6feb}.cursor.reveal[data-v-b01d77e2]{z-index:4}.cursor.reveal .needle[data-v-b01d77e2]{background:#1b7f4a;height:4.4rem}.cursor.reveal .freq-tag[data-v-b01d77e2]{background:#1b7f4a}.cursor.hover[data-v-b01d77e2]{z-index:3}.loop-waveform[data-v-e5a4137d]{width:100%}.wave-wrap[data-v-e5a4137d]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#f7f4ef;border:1px solid #d8dce2;border-radius:8px;height:5.5rem;position:relative;overflow:hidden}.wave-canvas[data-v-e5a4137d]{pointer-events:none;width:100%;height:100%;display:block}.playhead[data-v-e5a4137d]{cursor:ew-resize;z-index:4;background:0 0;width:12px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.playhead[data-v-e5a4137d]:before{content:"";background:#1f6feb;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #fffcf78c}.playhead[data-v-e5a4137d]:after{content:"";border-top:7px solid #1f6feb;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.handle[data-v-e5a4137d]{cursor:ew-resize;z-index:3;justify-content:center;width:14px;display:flex;position:absolute;top:0;bottom:0;transform:translate(-50%)}.handle .grip[data-v-e5a4137d]{background:#c45c26;border-radius:2px;width:3px;height:100%;box-shadow:0 0 0 1px #fffcf7b3}.handle.start .grip[data-v-e5a4137d]{background:#1a1d22}.handle.end .grip[data-v-e5a4137d]{background:#c45c26}.times[data-v-e5a4137d]{color:#5a616b;font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-top:.45rem;font-size:.82rem;display:flex}.page[data-v-60de48f5]{--ink:#1a1d22;--muted:#5a616b;--line:#d8dce2;--bg:#f3f1ec;--panel:#fffcf7;--accent:#c45c26;--ok:#1b7f4a;--bad:#b42318;min-height:100vh;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%, #e8dfd2 0%, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #d9e2ea 0%, transparent 50%), var(--bg);padding:2.5rem 1.25rem 3rem;font-family:IBM Plex Sans,Segoe UI,sans-serif;position:relative}.help-btn[data-v-60de48f5]{z-index:20;border:1px solid var(--line);background:var(--panel);width:2.4rem;height:2.4rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;font-size:1.15rem;font-weight:600;position:fixed;top:1.25rem;right:1.25rem;box-shadow:0 1px 2px #0000000f}.help-btn[data-v-60de48f5]:hover,.help-btn[aria-expanded=true][data-v-60de48f5]{border-color:var(--accent);color:var(--accent)}.help-panel[data-v-60de48f5]{z-index:21;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(22rem,100vw - 2.5rem);padding:1rem 1.1rem 1.15rem;position:fixed;top:4rem;right:1.25rem;box-shadow:0 10px 28px #0000001f}.help-panel-head[data-v-60de48f5]{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.help-panel h2[data-v-60de48f5]{margin:0;font-family:IBM Plex Serif,Georgia,serif;font-size:1.05rem;font-weight:600}.help-close[data-v-60de48f5]{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1rem;line-height:1}.help-panel p[data-v-60de48f5]{color:var(--muted);margin:0 0 .7rem;font-size:.88rem;line-height:1.45}.help-panel p[data-v-60de48f5]:last-child{margin-bottom:0}.help-panel strong[data-v-60de48f5]{color:var(--ink)}.help-panel code[data-v-60de48f5]{color:var(--ink);font-size:.82em}.header[data-v-60de48f5]{max-width:44rem;margin:0 auto 1.75rem}.eyebrow[data-v-60de48f5]{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.75rem}h1[data-v-60de48f5]{margin:0 0 .6rem;font-family:IBM Plex Serif,Georgia,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1.2}.lede[data-v-60de48f5]{color:var(--muted);max-width:38rem;margin:0;line-height:1.5}.progress[data-v-60de48f5]{color:var(--muted);margin:0;font-size:.95rem}.session-meta[data-v-60de48f5]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.25rem;max-width:58rem;margin:0 auto .75rem;display:flex}.eq-params[data-v-60de48f5]{color:var(--muted);margin:0;font-size:.95rem}.eq-params strong[data-v-60de48f5]{color:var(--ink)}.eq-params .sep[data-v-60de48f5]{opacity:.55;margin:0 .45rem}.controls[data-v-60de48f5]{flex-wrap:wrap;gap:.5rem;max-width:58rem;margin:0 auto 1rem;display:flex}.btn[data-v-60de48f5]{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:.55rem .95rem;font-size:.9rem}.btn[data-v-60de48f5]:hover:not(:disabled){border-color:#b0b6bf}.btn.active[data-v-60de48f5]{border-color:var(--accent);color:var(--accent)}.btn.primary[data-v-60de48f5]{background:var(--ink);border-color:var(--ink);color:#fff}.btn[data-v-60de48f5]:disabled{opacity:.45;cursor:not-allowed}.ruler-section[data-v-60de48f5]{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:58rem;margin:0 auto;padding:1rem 1.25rem 1.25rem}.track-section[data-v-60de48f5]{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:58rem;margin:0 auto 1rem;padding:1rem 1.25rem 1.15rem}.track-bar[data-v-60de48f5]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.85rem;display:flex}.track-info[data-v-60de48f5]{flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;min-width:0;display:flex}.track-label[data-v-60de48f5]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.track-name[data-v-60de48f5]{text-overflow:ellipsis;white-space:nowrap;max-width:min(28rem,70vw);font-size:.95rem;overflow:hidden}.track-status[data-v-60de48f5]{color:var(--muted);font-size:.85rem}.track-actions[data-v-60de48f5]{align-items:center;gap:.5rem;display:flex}.file-input[data-v-60de48f5]{opacity:0;clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hint[data-v-60de48f5]{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.hint strong[data-v-60de48f5]{color:var(--ink)}.error[data-v-60de48f5]{max-width:58rem;color:var(--bad);margin:0 auto 1rem;font-size:.9rem}.result[data-v-60de48f5]{border-radius:8px;max-width:58rem;margin:1.25rem auto 0;padding:.85rem 1rem;font-weight:600}.result.ok[data-v-60de48f5]{color:var(--ok);background:#e6f5ec}.result.bad[data-v-60de48f5]{color:var(--bad);background:#fceceb}.results[data-v-60de48f5]{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:58rem;margin:0 auto;padding:1.25rem 1.35rem 1.5rem}.results h2[data-v-60de48f5]{margin:0 0 .5rem;font-family:IBM Plex Serif,Georgia,serif;font-size:1.45rem}.score[data-v-60de48f5]{color:var(--muted);margin:0 0 1rem}.score strong[data-v-60de48f5]{color:var(--ink)}.save-status[data-v-60de48f5]{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.save-status.ok[data-v-60de48f5]{color:var(--ok)}.save-status.error[data-v-60de48f5]{color:var(--bad)}.table-wrap[data-v-60de48f5]{margin-bottom:1.25rem;overflow-x:auto}table[data-v-60de48f5]{border-collapse:collapse;width:100%;font-size:.92rem}th[data-v-60de48f5],td[data-v-60de48f5]{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .65rem}th[data-v-60de48f5]{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}tr.ok td[data-v-60de48f5]:last-child{color:var(--ok);font-weight:600}tr.bad td[data-v-60de48f5]:last-child{color:var(--bad);font-weight:600}.login-page[data-v-3f8366de]{--ink:#1a1d22;--muted:#5a616b;--line:#d8dce2;--panel:#fffcf7;--accent:#c45c26;--bad:#b42318;min-height:100vh;color:var(--ink);background:radial-gradient(80% 50% at 10% -10%,#e8dfd2 0%,#0000 55%),radial-gradient(60% 40% at 100% 0,#d9e2ea 0%,#0000 50%),#f3f1ec;place-items:center;padding:1.5rem;font-family:IBM Plex Sans,Segoe UI,sans-serif;display:grid}.card[data-v-3f8366de]{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;width:min(24rem,100%);padding:1.5rem 1.4rem 1.4rem;display:flex}.eyebrow[data-v-3f8366de]{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.75rem}h1[data-v-3f8366de]{margin:0;font-family:IBM Plex Serif,Georgia,serif;font-size:1.7rem;font-weight:600}.lede[data-v-3f8366de]{color:var(--muted);margin:0 0 .35rem;font-size:.92rem;line-height:1.4}label[data-v-3f8366de]{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}input[data-v-3f8366de]{appearance:none;border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:6px;padding:.55rem .7rem;font-size:.95rem}input[data-v-3f8366de]:focus{border-color:var(--accent);outline:2px solid #c45c2659}.error[data-v-3f8366de]{color:var(--bad);margin:0;font-size:.88rem}.btn[data-v-3f8366de]{appearance:none;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;cursor:pointer;border-radius:6px;margin-top:.25rem;padding:.6rem .9rem;font-size:.95rem}.btn[data-v-3f8366de]:disabled{opacity:.55;cursor:not-allowed}
