:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;accent-color:#78decf;--bg:#07090d;--stage:#05070a;--panel:#0a0e14;--panel-soft:#0c1016;--card:#0b1018;--line:#1d2531;--line-soft:#202630;--line-mid:#303846;--line-strong:#344553;--line-hover:#66758d;--ink:#f5f7fb;--ink-bright:#dbe6f2;--ink-soft:#a8b7c8;--ink-dim:#9eb2c8;--ink-quiet:#b7d1d9;--muted:#98a2b4;--accent:#78decf;--accent-bright:#b5f4df;--accent-fill:#e2fff5;--accent-ink:#10221e;--focus:#8fcdeb;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button,select{min-height:42px}select{max-width:100%}input[type=range]{width:100%}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.6rem,4vw,3rem)}h2{margin-bottom:8px;font-size:1rem}.muted{color:var(--muted);line-height:1.55}[hidden]{display:none!important}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}select,input[type=url],.button{border:1px solid var(--line-mid);color:var(--ink);background:#151b24;border-radius:10px;padding:9px 12px}.button{cursor:pointer;font-weight:700}.button:hover:not(:disabled),.icon-button:hover{border-color:var(--line-hover)}.button:disabled{opacity:.5;cursor:not-allowed}.button.ghost{background:0 0}.button.primary{background:var(--accent-fill);color:var(--accent-ink);border-color:var(--accent-fill);padding:13px 34px;font-size:1.05rem;box-shadow:0 5px 28px #061d2860}.button.secondary{color:#eaf6ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a121bd9;border-color:#ffffff40;padding:11px 26px}.button.secondary:hover:not(:disabled){border-color:var(--accent-bright)}.icon-button{color:#9fa9b8;cursor:pointer;background:0 0;border:0}.error{color:#ffc0cf;background:#2a1219;border:1px solid #743a48;border-radius:10px;padding:10px 12px}.app-shell{--column:min(100%, calc((100vh - 250px) * 16 / 9));width:min(1180px,100% - 32px);max-width:1180px;margin:0 auto;padding:18px 0 56px}.instrument,.scene-section,.workspace,.advanced-panel{width:var(--column);margin-inline:auto}.panel{border:1px solid var(--line-soft);background:var(--panel-soft);border-radius:16px;padding:18px}.panel,.source-list,.source-card{min-width:0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:24px;display:flex}.topbar a{color:#a9b6c8;font-size:.8rem;text-decoration:none}.topbar .wordmark{color:var(--ink);letter-spacing:.2em;font-size:.85rem;font-weight:800}.topbar-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar-nav a{border-radius:6px;padding:4px 8px;transition:color .2s,background .2s}.topbar-nav a:hover{color:#fff;background:#ffffff12}.hero{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.hero h1{font-size:clamp(1.8rem,3vw,2.8rem)}.hero p{color:var(--ink-soft);margin:8px 0 0;font-size:.9rem;line-height:1.5}.hero .trust{text-align:right;max-width:230px;font-size:.75rem}.hero-paths{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;width:100%;margin-top:16px;display:grid}.hero-choice{text-align:left;border:1px solid var(--line-mid);color:var(--ink);cursor:pointer;background:#10192599;border-radius:12px;flex-direction:column;align-items:flex-start;padding:10px 14px;transition:all .2s;display:flex}.hero-choice:hover:not(:disabled){border-color:var(--accent);background:#142330cc;transform:translateY(-1px)}.hero-choice.active{border-color:var(--accent-bright);background:#78decf1f;box-shadow:0 0 14px #78decf33}.hero-choice .choice-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:2px;font-size:.62rem;font-weight:700}.hero-choice strong{color:#fff;font-size:.82rem;font-weight:700}.hero-choice small{color:var(--muted);margin-top:2px;font-size:.7rem}.route-banner{color:#d7f5ed;background:#78decf1a;border:1px solid #78decf4d;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:.82rem;line-height:1.5}.route-banner strong{color:var(--accent-bright)}.route-highlight{border-color:var(--accent-bright)!important;box-shadow:0 0 14px #78decf40!important}.source-tag{color:var(--accent-bright);background:#78decf26;border:1px solid #78decf4d;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:.62rem;display:inline-block}.stage{aspect-ratio:16/9;border:1px solid var(--line-soft);background:var(--stage);border-radius:12px;width:100%;min-height:0;max-height:none;margin:0;position:relative;overflow:hidden}.stage:fullscreen{aspect-ratio:auto;cursor:none;border:0;border-radius:0;width:100%;height:100%;max-height:none}.stage-poster{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pulse-canvas,.renderer-surface{position:absolute;inset:0}.pulse-canvas canvas{width:100%;height:100%;display:block}.visual-error{margin:24px;position:relative}.stage-welcome{background:linear-gradient(#0000,#03061155);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.stage-welcome>span{letter-spacing:.22em;color:#d4e8f1;text-shadow:0 1px 10px #000;font-size:.7rem}.stage-welcome small{color:#a9c0ce;font-size:.65rem}.drop-overlay{z-index:100;border:2px dashed var(--accent-bright);color:#dcfff4;pointer-events:none;background:#08151bef;border-radius:18px;place-items:center;font-size:1.5rem;display:grid;position:fixed;inset:16px}.hidden-hint{color:#c9d0db;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070ac4;border-radius:999px;margin:0;padding:7px 14px;font-size:.75rem;transition:opacity .3s;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.controls-hidden .stage:hover .hidden-hint{opacity:1}.controls-hidden>:not(.instrument),.controls-hidden .instrument>:not(.stage){display:none}.controls-hidden .instrument{width:100%}.controls-hidden .stage{border:0;border-radius:0;margin:0;position:fixed;inset:0}.controls-hidden~.launch-copy{display:none}.player-strip{background:linear-gradient(90deg,#101925,#0b1119);border:1px solid #293846;border-radius:12px;align-items:center;gap:14px;margin:12px 0 0;padding:10px 12px;display:flex}.player-pending{color:var(--ink-dim);align-items:center;min-height:57px;font-size:.8rem}.player-track{flex:0 auto;gap:2px;min-width:0;max-width:34%;display:grid}.player-track span,.player-track small{color:var(--ink-dim);letter-spacing:.12em;font-size:.63rem}.player-track small{letter-spacing:0}.player-track strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.player-scrub{flex:220px;align-items:center;gap:10px;min-width:0;display:flex}.player-scrub time{color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:none;font-size:.7rem}.player-scrub input[type=range]{flex:1;min-width:0}.player-actions{align-items:center;gap:6px;display:flex}.player-toggle,.player-mute,.player-remove{cursor:pointer;border-radius:9px;min-height:36px;padding:0 13px;font-size:.75rem;font-weight:800}.player-toggle{border:1px solid var(--accent-bright);background:var(--accent-fill);color:var(--accent-ink)}.player-mute{border:1px solid var(--line-strong);color:#c5d4e2;background:#101925}.player-mute[aria-pressed=false]{color:var(--accent-fill);background:#192634}.player-remove{border:1px solid var(--line-strong);color:var(--ink-dim);background:0 0}.player-remove:hover{border-color:var(--line-hover);color:#e2eef8}.stage-controls{align-items:center;gap:12px;padding:14px 0;display:flex}.stage-controls>label{color:#a9bdce;align-items:center;gap:9px;font-size:.8rem;display:flex}.stage-controls .intensity-control{max-width:180px;margin-right:auto}.stage-controls select{max-width:200px}.stage-controls button{font-size:.8rem}.intensity-control{color:#aabccd;gap:8px;max-width:220px;font-size:.8rem;display:grid}.scene-section{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:18px auto;padding:16px 18px}.scene-section h2{font-size:1rem}.scene-disclosure{margin-top:0}.scene-disclosure>summary,.scene-open{cursor:pointer;color:var(--ink-bright);font-size:.9rem;font-weight:700}.scene-open{background:0 0;border:0;min-height:0;padding:0;font-family:inherit}.scene-open:before{content:"▸";color:#8fa3ba;width:1.2em;display:inline-block}.scene-gallery-groups{gap:22px;margin-top:16px;display:grid}.scene-gallery-groups,.scene-group{min-width:0}.scene-group h3{letter-spacing:.14em;text-transform:uppercase;color:#9bb2c7;margin:0 0 8px;font-size:.72rem}.scene-gallery{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#2c3644 transparent;grid-auto-columns:192px;grid-auto-flow:column;gap:10px;min-width:0;margin-top:0;padding-bottom:8px;display:grid;overflow-x:auto}.scene-gallery::-webkit-scrollbar{height:6px}.scene-gallery::-webkit-scrollbar-thumb{background:#2c3644;border-radius:99px}.scene-gallery::-webkit-scrollbar-track{background:0 0}.scene-card{scroll-snap-align:start;border:1px solid var(--line-mid);background:var(--panel-soft);color:#dde8f4;text-align:left;cursor:pointer;border-radius:8px;padding:0 0 10px;overflow:hidden}.scene-card[aria-pressed=true]{border-color:var(--accent-bright);background:#132725}.scene-card img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.scene-card strong{padding:10px 10px 0;font-size:.75rem;display:block}.scene-card small{color:var(--ink-dim);margin:6px 0;padding:4px 10px 0;font-size:.64rem;display:block}.workspace{grid-template-columns:minmax(0,1fr);gap:16px;margin:18px auto;display:grid}.source-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px 18px}.source-panel>.panel-heading h2{color:var(--ink-bright);font-size:.9rem}.panel-heading,.source-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.quick-source{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.quick-source .button{font-size:.8rem}.sound-hint{color:#91a3b8;margin:10px 0 0;font-size:.75rem}.more-sources{position:relative}.more-sources>summary{cursor:pointer;color:var(--ink-quiet);padding:10px}.more-sources[open]{border:1px solid var(--line-strong);border-radius:12px;flex-basis:100%;padding:12px}.more-sources form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.more-sources label{color:#b0c4d5;white-space:nowrap;flex:1;align-items:center;gap:10px;min-width:220px;margin:0;font-size:.8rem;display:flex}.more-sources input{width:100%;min-width:0}.more-sources p{flex-basis:100%;margin:0;font-size:.8rem}.input-setup{margin:0 0 12px}.input-setup>summary{cursor:pointer;color:var(--ink-quiet);padding:8px 0;font-size:.75rem}.source-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.capture-note{font-size:.8rem}.source-options{color:#aab3c1;margin:14px 0;font-size:.82rem}.source-options summary{cursor:pointer;padding:8px 0}.source-options label{align-items:center;gap:8px;margin:10px 0;display:flex}.source-options input[type=range]{max-width:160px}.source-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.source-list:not(:empty){margin-top:16px}.source-card{background:var(--card);border:1px solid #242c38;border-radius:12px;padding:12px}.source-main>div:first-child{min-width:0}.source-main strong{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere;max-width:100%;font-size:.85rem;display:block;overflow:hidden}.source-kind{color:#78869b;text-transform:uppercase;margin-bottom:2px;font-size:.7rem;display:block}.source-buttons{flex-shrink:0;align-items:center;gap:6px;display:flex}.source-more{margin-top:10px}.source-more>summary{cursor:pointer;color:var(--ink-quiet);padding:8px 0;font-size:.7rem}.source-controls{align-items:end;gap:12px;margin-top:10px;display:flex}.source-controls label{color:#aab3c1;flex:1;gap:5px;font-size:.76rem;display:grid}.source-more label{font-size:.8rem}.meter{background:#232a34;border-radius:99px;height:6px;margin-top:10px;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg,#4d83a5,#a65275);height:100%;transition:width 60ms linear;display:block}.signal-row{color:#b7c0cd;grid-template-columns:72px 1fr;align-items:center;gap:8px;margin-top:10px;font-size:.78rem;display:grid}.signal-row .meter{margin-top:0}.advanced-panel{background:0 0;border:0;border-top:1px solid #202a36;border-radius:0;margin:20px auto 0;padding:18px 0}.advanced-panel>summary{color:var(--ink-soft);cursor:pointer;font-size:.8rem}.advanced-panel>section{margin:24px 0 0}.advanced-panel details{border-top:1px solid #1b232e;margin:0}.advanced-panel details>summary{color:var(--ink-quiet);cursor:pointer;padding:11px 0;font-size:.85rem}.advanced-panel details[open]>summary{color:var(--ink-bright)}.control-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.control-grid label{color:#b5c7d5;gap:6px;font-size:.8rem;display:grid}.control-grid input[type=number]{color:#eaf2ff;background:#121d29;border:1px solid #354456;border-radius:6px;width:100%;padding:8px}.mapping-card{border:1px solid #27394a;border-radius:10px;margin:14px 0;padding:16px}.keyboard-help{color:#a1b0c2;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 18px;margin:20px 0;font-size:.8rem;display:grid}.keyboard-help>div{align-items:center;gap:10px;display:flex}.keyboard-help dt,.keyboard-help dd{margin:0}.keyboard-help kbd{min-width:2.1em;color:var(--ink-bright);font:inherit;text-align:center;background:#141c28;border:1px solid #38445a;border-bottom-width:2px;border-radius:6px;padding:3px 7px;font-size:.72rem;font-weight:700;display:inline-block}.advanced-monitor{overflow-wrap:anywhere;margin-top:1rem}.advanced-monitor textarea{color:#dfecff;background:#090f19;width:100%;margin:.6rem 0;font:.8rem monospace;display:block}.monitor-selectors,.monitor-plots{flex-wrap:wrap;gap:1rem;display:flex}.monitor-selectors label{gap:.5rem;display:grid}.monitor-values{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;display:grid}.monitor-values div{background:#101926;border-radius:.5rem;padding:.6rem}.monitor-values dt{color:#9faabc;font-size:.75rem}.monitor-values dd{font-variant-numeric:tabular-nums;margin:.4rem 0 0}.monitor-plots figure{flex:260px;min-width:0;margin:0}.monitor-plots canvas{background:#090f19;width:100%;height:100px}.monitor-plots figcaption{color:#9faabc;font-size:.8rem}.record-dialog{z-index:30;color:#edf4fc;background:#0d141d;border:1px solid #3b4d60;border-radius:16px;width:min(540px,100vw - 24px);max-height:85vh;margin:0 auto;padding:22px;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 24px 120px #000b}.record-dialog:focus-visible{outline:2px solid var(--accent-bright)}.record-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02060bb3}.record-dialog .recording-panel{border:0;margin:14px 0 0;padding:0}.record-dialog .recording-panel>summary{display:none}.record-dialog .recording-panel>.recording-content>details.recording-diagnostics{margin-top:24px}.record-dialog fieldset>p,.record-dialog .recording-content>p{font-size:.85rem}.record-dialog fieldset>p{color:#a7b9cd}.dialog-heading{justify-content:space-between;align-items:center;display:flex}.dialog-heading h2{margin:0;font-size:1.1rem}.recording-panel,.local-panel{margin:20px 0}.recording-panel summary,.local-panel summary{cursor:pointer;font-size:1.1rem;font-weight:700}.recording-panel button,.local-panel button{margin:4px}.recording-panel fieldset{border:0;min-width:0;padding:12px 0}.recording-panel label{gap:8px;display:grid}.recording-panel select{max-width:100%}.recording-panel details{margin:12px 0}.recording-panel details summary{font-size:.85rem;font-weight:500}.recording-panel [data-testid=recording-status]{color:#ffb0aa;font-variant-numeric:tabular-nums}.recording-levels label{margin:10px 0}.record-source{gap:8px;margin:8px 18px 8px 0;display:flex}.local-panel input[type=file]{max-width:210px}.privacy-note{font-size:.85rem}.output-stage{background:#030609;position:fixed;inset:0}.output-stage:fullscreen{cursor:none}.output-hint{color:#aac1cc;opacity:0;font-size:12px;transition:opacity .3s;position:absolute;bottom:20px;left:20px}.output-stage:hover .output-hint,.output-hint.disconnected{opacity:1}.output-stage:fullscreen .output-hint:not(.disconnected){display:none}.production-output{cursor:none}.production-output .output-hint,:is(body:has(.output-stage)>.launch-copy,body:has(.output-stage) .launch-copy){display:none}.launch-copy{width:min(1180px,100% - 32px);color:var(--ink-soft);border-top:1px solid #263240;margin:0 auto;padding:30px 0 40px;line-height:1.65}.launch-copy h2{color:#e6eff8;font-size:1.2rem}.launch-copy h3{color:#d0dfef;font-size:.95rem}.launch-copy p{max-width:680px;font-size:.9rem}.launch-copy details{max-width:800px;margin:16px 0}.launch-copy summary{cursor:pointer;color:#d0dfef;font-size:.9rem}.launch-copy a{color:#bcdfd9}.launch-copy footer{margin-top:30px;font-size:.8rem}@media (max-width:800px){.app-shell{width:min(100% - 20px,1180px);padding-top:14px}.topbar{align-items:flex-start;margin-bottom:14px}.topbar .source-actions{justify-content:flex-end}.hero{margin-bottom:14px;display:block}.hero h1{font-size:1.5rem}.hero p{margin-top:6px;font-size:.82rem}.hero .trust{text-align:left;max-width:none;font-size:.7rem}.stage{aspect-ratio:4/3}.stage-welcome{gap:9px}.stage-welcome>span,.stage-welcome small{font-size:.55rem}.stage-welcome .primary{padding:9px 22px;font-size:.9rem}.stage-controls{flex-wrap:wrap;gap:8px;padding:12px 0}.stage-controls .intensity-control{max-width:130px}.stage-controls select{max-width:160px}.stage-controls button{white-space:nowrap;flex:calc(50% - 4px)}.player-strip{flex-wrap:wrap;gap:8px}.player-track{width:100%;max-width:none}.player-scrub{flex-basis:100%;order:3}.player-actions{justify-content:flex-end;width:100%}.scene-section .panel-heading{flex-wrap:wrap}.scene-gallery{grid-auto-columns:152px;gap:8px}.quick-source{gap:8px}.quick-source>.button{flex:150px}.more-sources label{width:100%}.panel-heading,.source-main{align-items:flex-start}.source-actions select{width:100%}.source-list{grid-template-columns:1fr}.source-controls{flex-direction:column;align-items:stretch}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
