:root {
  color-scheme: dark;
  --bg: #08080b;
  --panel: #101014;
  --line: rgba(255,255,255,.12);
  --muted: #85838d;
  --ink: #f5f3f0;
  --acid: #d7ff3f;
  --purple: #245bdb;
  --blue: #18aaff;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
.app-shell { width: min(1600px, 100%); min-height: 100vh; margin: auto; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.masthead { min-height: 100px; display: flex; align-items: flex-end; justify-content: space-between; border-top: 1px solid var(--line); }
.eyebrow { margin: 10px 0 5px; color: var(--acid); font: 700 10px/1 monospace; letter-spacing: .22em; }
h1 { margin: 0; font: 900 clamp(28px, 4vw, 55px)/.78 Arial, sans-serif; letter-spacing: -.07em; }
h1 span { color: var(--acid); }
.brand-line{display:flex;align-items:flex-end;gap:16px}.brand-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:1px}.brand-signature{display:flex;align-items:center;gap:8px}.byline{margin:0;color:var(--muted);font:700 9px/1 monospace;letter-spacing:.14em;white-space:nowrap}.version-badge{padding:3px 5px;border:1px solid rgba(215,255,63,.45);color:var(--acid);font:800 8px/1 monospace;letter-spacing:.08em}.support-links{display:flex;align-items:center;gap:6px}.support-link{min-width:132px;height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid #404047;background:#111116;color:#e7e6e1;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.support-link:hover,.support-link:focus-visible{border-color:var(--acid);background:#191920;transform:translateY(-1px);outline:none}.support-link.coffee{--support-color:#ffdd00}.support-link.paypal{--support-color:#50a8ff}.support-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;color:var(--support-color)}.support-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.support-link>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.support-link small{color:var(--muted);font:700 7px/1 monospace;letter-spacing:.1em}.support-link b{color:#fff;font:800 9px/1 monospace;letter-spacing:.04em;white-space:nowrap}
.help-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(215,255,63,.55);border-radius:50%;background:rgba(215,255,63,.05);color:var(--acid);font:900 13px/1 monospace;cursor:pointer;flex:0 0 auto}.help-button:hover,.help-button:focus-visible{background:var(--acid);color:#08080b;outline:none}.help-dialog{width:min(780px,calc(100vw - 32px));max-height:min(86vh,820px);padding:0;border:1px solid #55555e;background:#101014;color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.75);overflow:auto}.help-dialog::backdrop{background:rgba(3,3,6,.78);backdrop-filter:blur(4px)}.help-dialog-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(16,16,20,.97)}.help-dialog-heading>div{display:flex;align-items:center;gap:12px}.help-dialog-heading h2{margin:0;font:800 15px/1.2 monospace;letter-spacing:.08em;text-transform:uppercase}.help-dialog-heading button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #505058;background:#17171d;color:#fff;font:500 22px/1 sans-serif;cursor:pointer}.help-dialog-heading button:hover,.help-dialog-heading button:focus-visible{border-color:var(--acid);color:var(--acid);outline:none}.help-language{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:12px 18px 0}.help-language>span{margin-right:5px;color:var(--muted);font:800 10px/1 monospace;letter-spacing:.08em}.help-language button{min-width:104px;height:30px;padding:0 10px;border:1px solid #484850;background:#17171d;color:#c8c7c2;font:800 10px/1 monospace;cursor:pointer}.help-language button:hover,.help-language button:focus-visible,.help-language button.active{border-color:var(--acid);color:var(--acid);outline:none}.help-language button.active{background:rgba(215,255,63,.08)}.help-intro,.help-note{margin:0;color:#c9c8c3;font:500 12px/1.65 monospace}.help-intro{padding:14px 18px 4px}.help-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:14px 18px 18px;list-style:none}.help-steps li{min-height:126px;padding:15px;border:1px solid var(--line);background:#0d0d11}.help-steps b,.help-steps span{display:block}.help-steps b{margin-bottom:9px;color:var(--acid);font:800 11px/1.35 monospace;letter-spacing:.06em}.help-steps span{color:#d2d1cc;font:500 11px/1.65 monospace}.help-note{margin:0 18px 10px;padding:12px 14px;border:1px solid rgba(215,255,63,.24);background:rgba(215,255,63,.045)}.help-privacy{margin:0 18px 18px;border:1px solid #303038;background:#0d0d11}.help-privacy-summary{display:flex;align-items:flex-start;gap:11px;padding:13px 14px}.help-privacy-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid rgba(215,255,63,.32);background:rgba(215,255,63,.05);font-size:13px}.help-privacy h3,.help-privacy h4,.help-privacy p{margin:0}.help-privacy h3{margin:1px 0 5px;color:var(--acid);font:800 11px/1.3 monospace;letter-spacing:.06em;text-transform:uppercase}.help-privacy-summary p{color:#c9c8c3;font:500 11px/1.6 monospace}.help-privacy-details{border-top:1px solid var(--line)}.help-privacy-details>summary{padding:10px 14px;color:#b8b7b2;font:800 10px/1.3 monospace;letter-spacing:.06em;cursor:pointer;list-style-position:inside}.help-privacy-details[open]>summary{border-bottom:1px solid var(--line);color:var(--acid)}.help-privacy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:13px 14px 8px}.help-privacy h4{margin-bottom:7px;color:#e5e4df;font:800 10px/1.3 monospace;letter-spacing:.05em}.help-privacy ul{margin:0;padding-left:17px;color:#aaa9a4;font:500 10px/1.6 monospace}.help-privacy-provider{padding:5px 14px 13px;color:#85847f;font:500 9px/1.6 monospace}
.transport { display: flex; align-items: center; gap: 14px; padding-bottom: 4px; }
.metronome-controls{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--line);background:#0d0d11;color:var(--muted);font:700 9px/1 monospace;letter-spacing:.06em}.metronome-controls label{display:flex;align-items:center;gap:5px}.metronome-controls input,.metronome-controls select{height:32px;border:1px solid #3b3b42;background:#17171d;color:#eee;font:700 10px monospace}.metronome-controls input{width:54px;padding:0 6px}.metronome-controls label:nth-of-type(2) input,.metronome-controls label:nth-of-type(3) input{width:46px}.metronome-controls select{max-width:94px;padding:0 6px}.metronome-controls button{height:34px;min-width:82px;padding:0 9px;border:1px solid #505058;background:#17171d;color:#eee;font:800 9px monospace;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.metronome-controls button b{display:inline;color:var(--muted);font-size:9px;margin:0}.metronome-controls button.active{border-color:var(--acid);color:var(--acid)}.metronome-controls button.active b{color:#fff}.meter-divider{display:block;width:1px;height:24px;background:rgba(255,255,255,.22);margin:0 1px;flex:0 0 auto}
.status { color: var(--muted); font: 700 10px/1 monospace; letter-spacing: .12em; }
.status i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #555; margin-right: 8px; }
.status.live { color: #fff; }.status.live i { background: #ff3f3f; box-shadow: 0 0 12px #ff3f3f; animation: pulse 1s infinite; }
.timer { min-width: 72px; font: 500 14px/1 monospace; }
.record-button { height: 42px; border: 1px solid var(--ink); background: var(--ink); color: #09090b; padding: 0 18px; font: 800 11px/1 monospace; letter-spacing: .08em; cursor: pointer; transition: .2s; }
.record-button:hover { background: var(--acid); border-color: var(--acid); }
.record-button.active { background: #ff3f3f; border-color: #ff3f3f; color: white; }
.record-icon { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #ff3636; margin-right: 9px; }
.active .record-icon { background: white; border-radius: 1px; }
.record-cluster{display:flex;flex-direction:column;align-items:stretch;gap:4px}.language-button{height:21px;border:1px solid #505058;background:#17171d;color:var(--acid);font:800 8px/1 monospace;letter-spacing:.12em;cursor:pointer}.language-button:hover{border-color:var(--acid);background:#202027}.record-cluster .record-button{white-space:nowrap}
.audio-strip{min-height:50px;display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;align-items:center;gap:12px;padding:7px 12px;border:1px solid var(--line);background:#0d0d11}.audio-source-control,.audio-actions,.audio-seek{display:flex;align-items:center;gap:8px}.audio-source-control strong{font:800 10px/1 monospace;letter-spacing:.08em;white-space:nowrap}.audio-source-control select,.audio-actions button,.audio-file-button,.audio-download{height:30px;border:1px solid #494950;background:#17171d;color:#eee;font:800 9px/1 monospace;letter-spacing:.06em}.audio-source-control select{padding:0 25px 0 8px}.audio-actions button,.audio-file-button,.audio-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;white-space:nowrap;cursor:pointer;text-decoration:none}.audio-actions button:hover:not(:disabled),.audio-file-button:hover,.audio-download:hover:not(.disabled){border-color:var(--acid);color:var(--acid)}.audio-actions button:disabled,.audio-download.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.audio-actions button.recording{border-color:#ff3f3f;background:#ff3f3f;color:#fff}.audio-actions button span{color:#ff3f3f;font-size:9px}.audio-actions button.recording span{color:#fff}.audio-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.audio-seek{min-width:0}.audio-seek>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font:700 9px/1 monospace;white-space:nowrap}.audio-seek input{min-width:90px;width:100%;accent-color:var(--acid)}.audio-seek b{min-width:88px;color:#ddd;font:700 9px/1 monospace;text-align:right;white-space:nowrap}.audio-local-note{margin:0;color:#67656e;font:700 8px/1.25 monospace;letter-spacing:.04em;white-space:nowrap}
.gate-strip { min-height:44px; display:grid; grid-template-columns:minmax(250px,1fr) auto auto auto minmax(230px,1.1fr); align-items:center; gap:12px; padding:6px 12px; border:1px solid var(--line); background:#0d0d11; }
.gate-title { display:flex; align-items:center; gap:10px; font:700 9px/1 monospace; letter-spacing:.08em; }.gate-title b{color:var(--muted);font-size:8px}.gate-title b.ready{color:var(--acid)}.gate-title b.calibrating{color:#ff9a27}
.gate-strip button { height:28px; padding:0 12px; border:1px solid #494950; background:#17171d; color:#eee; font:800 8px/1 monospace; letter-spacing:.08em; cursor:pointer; }.gate-strip button:disabled{opacity:.35;cursor:not-allowed}.gate-strip button:not(:disabled):hover{border-color:var(--acid);color:var(--acid)}
.gate-mode { display:flex;align-items:center;gap:6px;color:var(--muted);font:800 8px/1 monospace;letter-spacing:.07em;white-space:nowrap}.gate-mode input{accent-color:var(--acid)}.gate-mode:has(input:checked){color:#fff}
.threshold-control { display:grid; grid-template-columns:1fr 54px; align-items:center; gap:10px; color:var(--muted); font:700 8px/1 monospace; letter-spacing:.08em; }.threshold-control input{width:100%;accent-color:var(--acid)}.threshold-control b{color:#fff;text-align:right}
.panel { background: var(--panel); border: 1px solid var(--line); min-width: 0; }
.top-grid { flex: 0 0 clamp(314px, 29vh, 350px); min-height: 314px; display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
.panel-heading { height: 42px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--line); }
.panel-heading > div:first-child { display: flex; align-items: center; gap: 12px; }
.panel-heading h2 { margin: 0; text-transform: uppercase; font: 700 11px/1 monospace; letter-spacing: .12em; }
.index { color: var(--acid); font: 700 9px/1 monospace; }
.band-controls{display:flex;align-items:center;gap:8px;color:var(--muted);font:700 7px/1 monospace;letter-spacing:.08em;white-space:nowrap}.band-controls label{display:flex;align-items:center;gap:4px}.band-controls select{height:24px;padding:0 24px 0 7px;border:1px solid #3d3d44;background:#17171c;color:#eee;font:700 8px monospace;cursor:pointer}.band-controls input[type=color]{appearance:none;width:18px;height:18px;padding:0;border:1px solid #444;background:none;cursor:pointer}.band-controls input::-webkit-color-swatch-wrapper{padding:2px}.band-controls input::-webkit-color-swatch{border:0}.band-controls .rgb-gradient{display:inline-block;width:46px;height:3px;background:linear-gradient(90deg,#4d00ff,#00ff66,#ff007f)}.band-controls em{color:var(--acid);font-style:normal;margin-left:2px}
.waveform-panel { display: flex; flex-direction: column; }
.canvas-wrap { flex: 1; min-height: 0; position: relative; overflow: hidden; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(10% - 1px), rgba(255,255,255,.04) 10%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px); background-size: auto, 100% 25%; }
canvas { width: 100%; height: 100%; display: block; }
.canvas-wrap > canvas, .spectrum-wrap > canvas { position: absolute; inset: 0; }
.playhead { position: absolute; top: 0; bottom: 0; right: 18px; width: 1px; background: rgba(255,255,255,.75); box-shadow: 0 0 8px white; }
.time-axis { position: absolute; bottom: 7px; left: 9px; right: 42px; display: flex; justify-content: space-between; color: #777; font: 700 8px monospace; pointer-events:none}.time-axis span:nth-child(2){color:var(--acid);opacity:.8}
.history-zoom{position:absolute;z-index:3;top:8px;right:5px;bottom:22px;width:26px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 2px;background:rgba(8,8,11,.72);border:1px solid rgba(255,255,255,.1)}.history-zoom button{width:19px;height:19px;padding:0;border:1px solid #4a4a52;background:#17171d;color:var(--acid);font:800 12px/1 monospace;cursor:pointer}.history-zoom button:hover{border-color:var(--acid)}.history-zoom input{flex:1;width:16px;min-height:80px;writing-mode:vertical-lr;direction:rtl;accent-color:var(--acid);cursor:ns-resize}
.metrics-panel { display: grid; grid-template: 42px 1fr 1fr auto auto / 1fr; }
.note-block, .fullness-block { padding: 12px 16px; border-bottom: 1px solid var(--line); }
.pitch-mode-control{display:flex;align-items:center;gap:6px;color:var(--muted);font:700 7px/1 monospace;letter-spacing:.08em;white-space:nowrap}.pitch-mode-control select{height:25px;max-width:158px;padding:0 22px 0 7px;border:1px solid #3d3d44;background:#17171c;color:#eee;font:700 8px monospace;cursor:pointer}.note-block{display:grid;grid-template-columns:1fr;gap:0}.note-block.polyphonic{grid-template-columns:1fr 1fr;gap:14px}.secondary-pitch{min-width:0;padding-left:14px;border-left:1px solid var(--line)}.secondary-pitch[hidden]{display:none}.secondary-pitch strong{font-size:clamp(22px,3.3vh,36px)}.secondary-pitch sup{display:inline-block;max-width:100px;vertical-align:top;line-height:1.25}.pitch-relation{margin:6px 0 0;color:var(--acid);font:700 7px/1.3 monospace;letter-spacing:.04em}.primary-pitch,.secondary-pitch{position:relative}
.metric-label { display: block; color: var(--muted); font: 700 8px/1 monospace; letter-spacing: .14em; margin-bottom: 6px; }
.note-block strong { font: 900 clamp(30px,4.5vh,48px)/.8 Arial; letter-spacing: -.06em; }.note-block sup { color: var(--acid); margin-left: 10px; font: 700 8px monospace; }.metric-sub { float: right; color: var(--muted); font: 600 9px monospace; margin-top: -12px; }
.fullness-block strong { font: 900 clamp(18px,2.5vh,28px)/1 Arial; text-transform: uppercase; }
.fullness-block p { margin: 7px 0 0; color: var(--muted); font: 500 9px/1.3 monospace; }
.meter { display: inline-block; vertical-align: 4px; margin-left: 12px; width: 40%; height: 4px; background: #29292e; }.meter i { display: block; width: 0; height: 100%; background: var(--acid); transition: width .15s; }
.bands { display: grid; grid-template-columns: repeat(3,1fr); }.bands div { padding: 8px 12px; border-right: 1px solid var(--line); }.bands div:last-child { border: 0; }.bands span { color: var(--muted); font: 700 7px monospace; }.bands b { display:block; margin-top: 3px; font: 600 10px monospace; }
.balance { margin: 0; padding: 7px 12px; color: var(--acid); background: rgba(215,255,63,.05); font: 700 8px monospace; letter-spacing: .08em; }
.spectrum-panel { flex: 1 1 50vh; min-height: 340px; max-height: 620px; display: flex; flex-direction: column; }
.spectrum-heading { flex: 0 0 42px; }.controls { display: flex; align-items:center; gap: 14px; color: var(--muted); font: 700 8px monospace; }.controls label { display:flex; align-items:center; gap:6px; }.formant-control input{width:92px;accent-color:#fff}.formant-control b{min-width:12px;color:#fff}.spectrum-colors{display:flex;align-items:center;gap:6px;margin:0;padding:0;border:0}.spectrum-colors legend{float:left;margin-right:2px}.spectrum-colors label{cursor:pointer}.spectrum-colors input{position:absolute;opacity:0;pointer-events:none}.spectrum-colors i{display:block;width:15px;height:15px;background:var(--swatch);border:2px solid #101014;outline:1px solid #45454d}.spectrum-colors input:checked+i{outline:2px solid #fff;box-shadow:0 0 8px var(--swatch)}.fixed-peak{display:flex;align-items:center;gap:5px}.fixed-peak i{width:15px;height:15px;background:#fff;border:2px solid #101014;outline:1px solid #555}
.spectrum-wrap { position: relative; flex: 1; min-height: 0; overflow: hidden; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 100% 20%, 8.33% 100%; }
.frequency-axis { position: absolute; inset: auto 22px 8px; height: 12px; color: #7b7982; font: 700 8px monospace; }.frequency-axis span { position:absolute; transform: translateX(-50%); }.frequency-axis span:first-child { transform:none }.frequency-axis span:last-child { transform:translateX(-100%) }
.level-axis { position:absolute; inset:12px 5px 32px auto; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; color:#5f5d66; font:700 7px/1 monospace; pointer-events:none; }
.range-label { position: absolute; top: 10px; color: rgba(255,255,255,.22); font: 800 8px monospace; letter-spacing:.14em; }.low-range{left:3%}.mid-range{left:44%}.high-range{left:78%}
.spectrum-cursor { position:absolute; inset:0; display:none; pointer-events:none; z-index:4; }
.spectrum-cursor.visible { display:block; }
.cursor-x, .cursor-y { position:absolute; display:block; background:rgba(255,255,255,.72); box-shadow:0 0 8px rgba(255,255,255,.5); }
.cursor-x { top:0; bottom:28px; left:var(--cursor-x); width:1px; }
.cursor-y { left:22px; right:22px; top:var(--cursor-y); height:1px; }
.spectrum-cursor b { position:absolute; left:min(calc(var(--cursor-x) + 9px), calc(100% - 178px)); top:max(calc(var(--cursor-y) - 27px), 8px); min-width:170px; padding:7px 9px; background:rgba(5,5,8,.92); border:1px solid rgba(255,255,255,.28); color:#fff; font:700 9px/1 monospace; letter-spacing:.04em; }
.spectrum-cursor.locked b { color:var(--acid); border-color:var(--acid); }
.empty-state { position:absolute; inset:0; display:grid; place-content:center; text-align:center; transition:opacity .3s; }.empty-state.hidden{opacity:0;pointer-events:none}.empty-state span{color:var(--acid);font:800 10px monospace;letter-spacing:.18em}.empty-state p{color:var(--muted);font:500 11px monospace}
.credits { min-height: 32px; position:relative; display:flex; align-items:center; justify-content:space-between; padding:0 12px; border-top:1px solid var(--line); color:var(--muted); font:600 8px monospace; letter-spacing:.05em; }.credits summary{cursor:pointer;color:#aaa}.credit-card{position:absolute;right:0;bottom:24px;z-index:5;width:min(450px,90vw);padding:14px;background:#19191f;border:1px solid #444;line-height:1.45}.credit-card p{margin:0 0 10px}.credit-card a{display:block;color:var(--acid);margin-top:5px}
.credit-card .privacy-note{padding:9px;border:1px solid rgba(215,255,63,.22);background:rgba(215,255,63,.05);color:#c9c9c2}
.routine-panel{flex:0 0 auto}.routine-heading{min-height:48px;height:auto}.routine-heading>div:first-child{display:flex;align-items:center;gap:12px}.local-badge{padding:3px 6px;border:1px solid rgba(215,255,63,.35);color:var(--acid);font:700 7px monospace;letter-spacing:.09em}.routine-controls{display:flex;align-items:center;gap:9px;color:var(--muted);font:700 8px monospace}.routine-controls label{display:flex;align-items:center;gap:6px}.routine-controls select,.routine-controls button{height:30px;border:1px solid #45454d;background:#17171d;color:#eee;font:800 8px monospace}.routine-controls select{padding:0 24px 0 8px}.routine-controls button{min-width:105px;padding:0 12px;cursor:pointer}.routine-controls button:hover,.routine-controls button.active{border-color:var(--acid);color:var(--acid)}.routine-controls button.active{background:rgba(215,255,63,.08)}
.routine-body{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(480px,1.75fr);min-height:188px}.routine-progress-block{padding:18px;border-right:1px solid var(--line)}.routine-status-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.routine-status-line strong{max-width:72%;color:#fff;font:800 10px/1.35 monospace;letter-spacing:.05em}.routine-status-line b{color:var(--acid);font:700 10px monospace;white-space:nowrap}.routine-progress{height:7px;margin:15px 0 12px;background:#29292e;overflow:hidden}.routine-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4d00ff,#00ff66,#ff007f);transition:width .2s linear}.routine-progress-block p{margin:0;color:var(--muted);font:500 9px/1.55 monospace}
.routine-results{display:grid;grid-template-columns:minmax(310px,1fr) minmax(280px,1fr)}.coverage-chart{display:flex;flex-direction:column;justify-content:center;gap:17px;padding:18px;border-right:1px solid var(--line)}.coverage-chart>div{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:9px}.coverage-chart span,.coverage-chart strong{font:800 8px monospace}.coverage-chart span{color:var(--muted)}.coverage-chart strong{text-align:right;color:#fff}.coverage-chart i{display:block;height:22px;background:#202026;overflow:hidden}.coverage-chart i b{display:block;width:100%;height:100%;background:rgba(255,255,255,.04)}.routine-advice{padding:18px}.routine-advice ul{margin:0;padding-left:18px;color:#e8e7e2;font:500 10px/1.5 monospace}.routine-advice li+li{margin-top:7px}.routine-advice li::marker{color:var(--acid)}.routine-advice p{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font:500 8px/1.45 monospace}
.community-panel{flex:0 0 auto}.community-panel>summary{list-style:none}.community-panel>summary::-webkit-details-marker{display:none}.community-summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 14px;cursor:pointer}.community-summary:hover,.community-summary:focus-visible{background:rgba(255,255,255,.025);outline:none}.community-summary-title,.community-summary-actions,.community-toggle,.community-entry-heading,.community-entry-identity,.community-entry-dates{display:flex;align-items:center}.community-summary-title{gap:12px}.community-summary-title strong{font:700 11px/1 monospace;letter-spacing:.12em}.community-summary-actions{gap:12px}.community-join{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(215,255,63,.45);background:rgba(215,255,63,.06);color:var(--acid);font:800 9px/1 monospace;letter-spacing:.06em;text-decoration:none;white-space:nowrap}.community-join:hover,.community-join:focus-visible{background:var(--acid);color:#08080b;outline:none}.community-toggle{gap:10px;color:var(--muted);font:700 9px/1 monospace;letter-spacing:.08em}.community-toggle i{display:grid;place-items:center;width:18px;height:18px;border:1px solid #484850;color:var(--acid);font-style:normal}.community-toggle i::before{content:'+'}.community-panel[open] .community-toggle i::before{content:'−'}.community-content{border-top:1px solid var(--line)}.community-intro{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);color:var(--muted);font:500 11px/1.5 monospace}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.community-grid article{min-height:142px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.community-grid article:nth-child(2n){border-right:0}.community-grid article:nth-last-child(-n+2){border-bottom:0}.community-entry-heading{align-items:flex-start;justify-content:space-between;gap:12px}.community-entry-identity{align-items:flex-start;flex-wrap:wrap;gap:7px}.community-entry-dates{align-items:flex-end;flex-direction:column;gap:4px}.community-entry-heading time{flex:0 0 auto;padding:3px 5px;border:1px solid rgba(215,255,63,.22);color:var(--muted);font:700 9px/1 monospace;letter-spacing:.04em;white-space:nowrap}.community-entry-heading time.updated{border-color:rgba(24,170,255,.38);color:#8dcbff}.community-role{padding:3px 5px;border:1px solid currentColor;font:800 8px/1 monospace;letter-spacing:.07em;white-space:nowrap}.community-role.inspiration{color:#f4d03f}.community-role.contributor{color:#8dcbff}.community-grid strong,.community-grid a{display:inline-block;color:var(--acid);font:800 13px/1 monospace;letter-spacing:.06em;text-decoration:none}.community-grid a:hover{text-decoration:underline}.community-grid p{max-width:68ch;margin:10px 0 0;color:#c6c5c0;font:500 12px/1.65 monospace}.community-closing{margin:0;padding:13px 18px;border-top:1px solid var(--line);color:#aaa;font:700 11px/1.5 monospace;letter-spacing:.04em;text-align:center}
/* Legibility pass: raise compact analyser labels without doubling the UI scale. */
.band-controls,.pitch-mode-control,.pitch-relation,.bands span,.level-axis,.local-badge{font-size:10px}
.language-button,.gate-title b,.gate-strip button,.gate-mode,.threshold-control,.band-controls select,.time-axis,.pitch-mode-control select,.metric-label,.note-block sup,.balance,.controls,.frequency-axis,.range-label,.credits,.routine-controls,.routine-controls select,.routine-controls button,.coverage-chart span,.coverage-chart strong,.routine-advice p{font-size:11px}
.byline,.metronome-controls,.metronome-controls button,.metronome-controls button b,.gate-title,.metric-sub,.fullness-block p,.spectrum-cursor b,.routine-progress-block p{font-size:12px}
.eyebrow,.metronome-controls input,.metronome-controls select,.status,.bands b,.empty-state span,.routine-status-line strong,.routine-status-line b,.routine-advice ul{font-size:13px}
.record-button,.panel-heading h2,.empty-state p{font-size:14px}
.history-zoom button{font-size:15px}
.timer{font-size:17px}

@keyframes pulse { 50% { opacity:.35 } }
@media (max-width: 1180px) { .masthead{align-items:flex-start;flex-direction:column}.transport{width:100%;flex-wrap:wrap;justify-content:flex-end}.metronome-controls{order:3;max-width:100%;overflow-x:auto}.audio-strip{grid-template-columns:auto 1fr}.audio-seek{grid-column:1/-1}.audio-local-note{text-align:right} }
@media (max-width: 760px) { .app-shell{padding:10px}.masthead{align-items:flex-start;flex-direction:column}.help-button{width:30px;height:30px}.help-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.help-dialog-heading{padding:10px 12px}.help-dialog-heading h2{font-size:13px}.help-language{justify-content:flex-start;flex-wrap:wrap;padding:10px 12px 0}.help-language>span{flex-basis:100%;margin-bottom:2px}.help-language button{flex:1;min-width:0}.help-intro{padding:12px 12px 2px}.help-steps{grid-template-columns:1fr;padding:12px}.help-steps li{min-height:0}.help-note{margin:0 12px 10px}.help-privacy{margin:0 12px 14px}.help-privacy-summary{padding:12px}.help-privacy-detail-grid{grid-template-columns:1fr;gap:12px;padding:12px}.help-privacy-provider{padding:3px 12px 12px}.transport{width:100%;flex-wrap:wrap;justify-content:flex-end}.metronome-controls{order:3;width:100%;justify-content:flex-start;overflow-x:auto}.metronome-controls label:last-child{display:none}.status{display:none}.audio-strip{grid-template-columns:1fr;padding:9px}.audio-source-control{justify-content:space-between}.audio-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.audio-actions>*{width:100%}.audio-seek{grid-column:auto;display:grid;grid-template-columns:1fr auto}.audio-seek>span{max-width:none}.audio-seek input{grid-column:1/-1;grid-row:2}.audio-seek b{grid-column:2;grid-row:1}.audio-local-note{text-align:left;white-space:normal}.gate-strip{grid-template-columns:1fr auto auto}.gate-title{grid-column:1/-1}.threshold-control{grid-column:1/-1}.gate-title b{display:none}.top-grid{flex-basis:auto;grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}.waveform-panel{min-height:230px}.metrics-panel{grid-template-rows:auto auto auto auto auto;min-height:0}.note-block,.fullness-block{min-height:0}.bands b{line-height:1.25}.balance{line-height:1.3}.spectrum-panel{min-height:360px;max-height:none}.waveform-panel .panel-heading{height:auto;min-height:54px;align-items:flex-start;flex-direction:column;padding:8px 12px;gap:7px}.band-controls{width:100%;gap:6px;overflow-x:auto}.band-controls em,.band-controls .rgb-gradient{display:none}.band-controls select{max-width:126px}.pitch-mode-control span{display:none}.pitch-mode-control select{max-width:142px}.note-block.polyphonic{gap:9px}.secondary-pitch{padding-left:9px}.formant-control input{width:58px}.fixed-peak{display:none}.spectrum-heading{height:auto;min-height:78px;align-items:flex-start;flex-direction:column;padding:8px 12px;gap:7px}.controls{width:100%;gap:8px;overflow-x:auto}.spectrum-colors{gap:4px}.frequency-axis{bottom:8px;height:16px;line-height:1;white-space:nowrap}.level-axis{bottom:36px}.credits>span{display:none}.routine-heading{align-items:flex-start;flex-direction:column;padding:9px 12px;gap:8px}.routine-controls{width:100%;justify-content:space-between}.routine-body,.routine-results,.community-grid{grid-template-columns:1fr}.routine-progress-block,.coverage-chart{border-right:0;border-bottom:1px solid var(--line)}.community-summary{padding:0 12px}.community-toggle>span{display:none}.community-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.community-grid article:nth-last-child(2){border-bottom:1px solid var(--line)}.community-closing{text-align:left} }
@media (max-width: 900px){.community-summary{align-items:flex-start;flex-direction:column;gap:7px;padding:9px 12px}.community-summary-actions{width:100%;justify-content:space-between}.community-join{white-space:normal;line-height:1.25}.community-entry-heading{flex-direction:column}.community-entry-dates{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.community-grid article:last-child{border-bottom:0}}
@media (max-width: 760px){.brand-line{width:100%;align-items:flex-start;flex-wrap:wrap;gap:10px}.brand-meta{width:100%;margin:0}.support-links{width:100%}.support-link{flex:1;min-width:0}}
