:root{--bg:#0d0f10;--bg-image:none;--panel:#181b1d;--panel-2:#121416;--panel-image:none;--line:#2a2f33;--ink:#e6e8ea;--ink-dim:#9aa3ab;--ink-faint:#7d8790;--accent:#ffb547;--accent-ink:#1a1206;--accent-glow:#ffb54759;--led-off:#3a1a1a;--led-on:#ff4a3d;--knob-face:#2b3034;--knob-rim:#0b0c0d;--knob-track:#2e3438;--knob-arc:var(--accent);--knob-pointer:var(--accent);--lcd-bg:#0a0c0b;--lcd-ink:#9be28f;--lcd-dim:#8fa889;--danger:#8e1b1b;--danger-ink:#fff3f0;--font-display:system-ui, sans-serif;--font-body:system-ui, sans-serif;--font-lcd:ui-monospace, "SF Mono", Menlo, monospace;--radius:6px;--shadow:0 1px 0 #ffffff0a inset, 0 6px 18px #00000059;--insignia:none;--strip-image:none;--gap:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg) var(--bg-image);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-size:cover;font-size:15px}button{font:inherit;color:inherit}kbd{font-family:var(--font-lcd)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.console{gap:var(--gap);flex-direction:column;min-height:100vh;padding:0 16px 12px;display:flex}.strip{text-align:center;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);background:var(--panel-2) var(--strip-image);border-bottom:1px solid var(--line);margin:0 -16px;padding:4px 16px;font-size:11px}.masthead{flex-wrap:wrap;align-items:center;gap:16px 24px;padding-top:8px;display:flex}.brand{align-items:center;gap:14px;min-width:260px;display:flex}.insignia{background:var(--insignia) center / contain no-repeat;flex:none;width:64px;height:64px}.brand-text h1{font-family:var(--font-display);color:var(--accent);letter-spacing:.02em;margin:0;font-size:clamp(28px,3.2vw,44px);line-height:1}.brand-text p{color:var(--ink-dim);letter-spacing:.2em;text-transform:uppercase;margin:4px 0 0;font-size:12px}.readouts{flex-wrap:wrap;flex:420px;gap:8px;display:flex}.readout{background:var(--lcd-bg);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;min-width:120px;padding:6px 12px;display:flex}.readout.session{flex:220px;min-width:0;max-width:340px}.lbl{letter-spacing:.25em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.readout .lbl{color:var(--lcd-dim)}.lcd-text,.readout input{font-family:var(--font-lcd);color:var(--lcd-ink);letter-spacing:.08em;font-size:22px}.readout input{text-transform:uppercase;background:0 0;border:0;width:100%;padding:0}.head-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-knob,.env-level{flex-direction:column;align-items:center;gap:2px;display:flex}.hw-btn{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:inline-flex}.hw-btn:hover{border-color:var(--accent)}.hw-btn.big{padding:14px 28px;font-size:15px}.hw-led{background:var(--led-off);border-radius:50%;width:6px;height:6px}.hw-btn.busy .hw-led{background:var(--accent);animation:.8s step-end infinite blink}.hw-btn.ok .hw-led{background:var(--lcd-ink);box-shadow:0 0 6px var(--lcd-ink)}.status-strip{background:var(--lcd-bg);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-lcd);color:var(--lcd-ink);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:12px;padding:8px 14px;font-size:18px;display:flex;overflow:hidden}.status-strip .sep{color:var(--lcd-dim)}.status-strip .ss-band{color:var(--ss-band,var(--accent))}.status-strip .ss-track{text-overflow:ellipsis;overflow:hidden}.status-strip .ss-time{flex:none;margin-left:auto}.led{background:var(--led-off);border-radius:50%;flex:none;width:10px;height:10px}.led.on{background:var(--led-on);box-shadow:0 0 10px var(--led-on)}.board{gap:var(--gap);flex:1;grid-template:"mon side voice""feat side voice"1fr"stg stg stg""amb amb amb"/minmax(300px,1.3fr) minmax(0,2fr) minmax(220px,.9fr);display:grid}.board>.slot.monitor{grid-area:mon}.board>.feat{grid-area:feat;display:grid}.board>.scene-grid{gap:var(--gap);grid-area:side;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;display:grid}.board>.voice{grid-area:voice;display:grid}.board>.stingers-area{grid-area:stg}.board>.ambiences-area{grid-area:amb}.slot{background:var(--panel) var(--panel-image);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;position:relative}.plate{background:var(--panel-2);border:1px solid var(--line);font-family:var(--font-lcd);letter-spacing:.12em;color:var(--ink-dim);padding:3px 8px;font-size:12px;display:inline-block}.monitor{min-height:110px;color:var(--lcd-ink);background:var(--lcd-bg)}.scope{width:calc(100% - 20px);height:calc(100% - 44px);color:var(--lcd-ink);position:absolute;inset:34px 10px 10px}.mon-label{letter-spacing:.25em;text-transform:uppercase;color:var(--lcd-dim);align-items:center;gap:10px;font-size:11px;display:inline-flex}.mon-src{font-family:var(--font-lcd);text-transform:uppercase;letter-spacing:.2em;font-size:12px;position:absolute;top:14px;right:16px}.scene{flex-direction:column;gap:6px;min-height:0;display:flex}.scene-hit{z-index:0;border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.scene>:not(.scene-hit){z-index:1;pointer-events:none;position:relative}.scene .knob{pointer-events:auto}.slot-head{align-items:center;gap:10px;display:flex}.slot-head h2{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:22px}.scene.featured .slot-head h2{font-size:clamp(26px,2.6vw,38px)}.slot-head .led{margin-left:auto}.sub{color:var(--ink-dim);margin:0;font-size:13px}.scene-body{flex:1;justify-content:center;align-items:center;gap:22px;display:flex}.scene.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 24px var(--accent-glow)}.scene.active .slot-head h2{color:var(--accent)}.dial-wrap{padding:14px;position:relative}.tick{color:var(--ink-faint);font-size:11px;font-family:var(--font-lcd);position:absolute}.tick.current{color:var(--accent)}.tick-0{bottom:18%;left:-2px}.tick-1{top:-2px;left:12%}.tick-2{top:-2px;right:12%}.tick-3{bottom:18%;right:-2px}.bands{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.bands li{border-radius:3px;gap:8px;padding:2px 8px;display:flex}.bands .numeral{text-align:right;width:2.2em}.bands li.current{color:var(--accent);background:var(--accent-glow)}.lcd{background:var(--lcd-bg);border:1px solid var(--line);font-family:var(--font-lcd);color:var(--lcd-ink);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:10px;padding:6px 10px;font-size:14px;display:flex;overflow:hidden}.scene:not(.playing) .lcd{color:var(--lcd-dim)}.lcd-track{text-overflow:ellipsis;overflow:hidden}.lcd-time{margin-left:auto}.scene.nosignal .lcd{color:var(--danger-ink);background:var(--danger)}.scene>.key-hint{color:var(--ink-faint);font-size:11px;position:absolute;bottom:6px;right:8px}.knob{width:var(--size,96px);height:var(--size,96px);cursor:ns-resize;touch-action:none;border-radius:50%;position:relative}.knob-sm{--size:52px}.knob-lg{--size:136px}.knob>*{pointer-events:none}.knob svg{width:100%;height:100%;position:absolute;inset:0}.knob-track,.knob-arc{fill:none;stroke-width:5px;stroke-linecap:round}.knob-track{stroke:var(--knob-track)}.knob-arc{stroke:var(--knob-arc)}.knob-cap{background:var(--knob-face);box-shadow:0 0 0 3px var(--knob-rim), 0 6px 14px #00000080;transform:rotate(var(--rot));border-radius:50%;position:absolute;inset:16%}.knob-pointer{background:var(--knob-pointer);border-radius:2px;width:4px;height:30%;margin-left:-2px;position:absolute;top:8%;left:50%}.voice-panel{gap:var(--gap);padding:var(--gap);grid-template-rows:2fr repeat(3,1fr);display:grid}.pad{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:64px;box-shadow:var(--shadow);cursor:pointer;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;padding:10px 12px;display:flex;position:relative}.pad:hover{border-color:var(--accent)}.pad:active{transform:translateY(1px)}.pad[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 16px var(--accent-glow)}.pad-title{font-family:var(--font-display);letter-spacing:.04em;font-size:18px}.pad-sub{color:var(--ink-dim);font-size:12px}.pad-key{border:1px solid var(--line);color:var(--ink-faint);border-radius:3px;padding:1px 6px;font-size:11px;position:absolute;top:8px;right:8px}.pad-led{background:var(--led-off);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.pad-led.on{background:var(--led-on);box-shadow:0 0 8px var(--led-on)}.talk{text-align:center;justify-content:center;align-items:center}.talk .plate{position:absolute;top:10px;left:10px}.talk-grille{background:radial-gradient(circle, var(--ink-faint) 1.2px, transparent 1.6px) 0 0 / 8px 8px, var(--panel-2);width:96px;height:96px;box-shadow:inset 0 0 0 3px var(--knob-rim);border-radius:50%;margin-bottom:8px}.talk.on .talk-grille{box-shadow:inset 0 0 0 3px var(--accent), 0 0 18px var(--accent-glow)}.talk:disabled{opacity:.5;cursor:not-allowed}.rail{gap:6px;display:grid}.rail-label{letter-spacing:.35em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:11px;font-weight:400}.rail-pads{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.env-level{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);justify-content:center}.pad.cut{background:var(--danger) repeating-linear-gradient(-45deg, transparent 0 12px, #00000040 12px 24px);color:var(--danger-ink)}.pad.cut .pad-sub{color:var(--danger-ink);opacity:.8}.teletype-bar{font-family:var(--font-lcd);color:var(--lcd-ink);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;display:flex}.tt-cursor{vertical-align:-2px;background:var(--lcd-ink);width:.6em;height:1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.fineprint{color:var(--ink-faint);text-transform:none;letter-spacing:0;font-family:var(--font-body);margin:0;font-size:12px}@keyframes blink{50%{opacity:0}}.vu{gap:3px;padding-top:4px;display:grid}.vu-row{grid-template-columns:repeat(16,6px);gap:2px;display:grid}.vu-row i{background:var(--lcd-ink);height:7px;opacity:clamp(.25, var(--lit,0) - var(--i), 1)}.boot{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.boot-wake{border:1px dashed var(--ink-dim);color:var(--ink-dim);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;background:0 0;padding:18px 28px}.boot-inner{text-align:center;gap:24px;max-width:640px;display:grid}.boot-log{text-align:left;font-family:var(--font-lcd);color:var(--lcd-ink);white-space:pre-wrap;margin:0}.boot-auth h2{font-family:var(--font-display);color:var(--accent);margin:0 0 8px;font-size:clamp(30px,5vw,56px)}.boot-auth p{color:var(--ink-dim);margin:0 0 20px}.manual{background:var(--panel);max-width:min(920px,100vw - 32px);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:0}.manual::backdrop{background:#0009}.manual-inner{gap:12px;padding:20px 24px;display:grid}.manual-inner>.hw-btn{justify-self:end}.manual-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.manual h2,.manual h3{font-family:var(--font-display);margin:0 0 6px}.manual a{color:var(--accent)}.manual .license{font-family:var(--font-figures,inherit);font-variant-numeric:lining-nums}.keys,.credits{gap:4px;padding-left:18px;display:grid}.dim{color:var(--ink-faint)}@media (width<=1100px){.board{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"mon""feat""side""voice""stg""amb"}.board>.scene-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.voice-panel{grid-template-rows:auto;grid-template-columns:2fr repeat(3,minmax(0,1fr))}}@media (width<=600px){.voice-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.voice-panel .talk{grid-column:1/-1}.status-strip{flex-wrap:wrap;row-gap:4px;font-size:15px}}@media (prefers-reduced-motion:reduce){.tt-cursor{animation:none}*{transition:none!important}}
