:root{--bg-deep: #121214;--bg-panel: rgba(22, 24, 29, .86);--bg-card: rgba(30, 33, 40, .78);--border-subtle: rgba(255, 255, 255, .09);--border-highlight: rgba(0, 245, 212, .38);--accent-cyan: #00f5d4;--accent-amber: #ff922b;--accent-red: #ff6b6b;--accent-blue: #4dabf7;--text-primary: #f1f3f5;--text-secondary: #adb5bd;--text-muted: #6c757d;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background-color:var(--bg-deep);color:var(--text-primary);font-family:var(--font-sans);font-size:13px;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.app-shell{display:grid;grid-template-rows:58px 1fr;width:100vw;height:100vh}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#0f1014f2;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;gap:14px}.brand-block{display:flex;align-items:center;gap:10px}.brand-logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#00f5d433,#ff922b33);border:1px solid var(--border-highlight);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;color:var(--accent-cyan);font-size:14px}.brand-title h1{font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.brand-title p{font-size:11px;color:var(--text-secondary)}.transport-controls{display:flex;align-items:center;gap:10px}.btn-primary-transport{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:6px;border:1px solid rgba(0,245,212,.45);background:#00f5d41f;color:var(--accent-cyan);font-family:var(--font-mono);font-weight:700;font-size:11.5px;cursor:pointer;transition:all .16s ease}.btn-primary-transport:hover{background:#00f5d438;box-shadow:0 0 14px #00f5d440}.btn-primary-transport.playing{background:#ff6b6b2e;border-color:var(--accent-red);color:#ffa8a8}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-cyan)}.status-dot.live{background:var(--accent-red);box-shadow:0 0 8px var(--accent-red);animation:pulseDot 1s infinite alternate}@keyframes pulseDot{0%{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1.2)}}.btn-clap{padding:8px 12px;border-radius:6px;border:1px solid rgba(255,146,43,.45);background:#ff922b1f;color:#ffc078;font-family:var(--font-mono);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-clap:hover{background:#ff922b40}.instrument-group{display:flex;background:#00000059;padding:3px;border-radius:6px;border:1px solid var(--border-subtle)}.inst-btn{padding:5px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:11.5px;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s}.inst-btn.active{background:#ff922b38;color:#ffd8a8;border:1px solid rgba(255,146,43,.45)}.volume-box{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.volume-box input[type=range]{width:72px}.workspace-grid{display:grid;grid-template-columns:325px 1fr 385px;height:calc(100vh - 58px);overflow:hidden}.side-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border-subtle);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.side-panel.right-panel{border-right:none;border-left:1px solid var(--border-subtle)}.panel-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.06)}.section-header h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-cyan)}.section-header span{font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary)}.control-row{display:grid;grid-template-columns:82px 1fr 56px;align-items:center;gap:8px;margin-bottom:6px}.control-row label{font-size:11.5px;color:var(--text-secondary)}.control-val{font-family:var(--font-mono);font-size:11px;text-align:right;color:var(--text-primary)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;background:#ffffff24;border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent-cyan);cursor:pointer;border:2px solid #0b0c0e}.src-slider::-webkit-slider-thumb{background:var(--accent-amber)!important}.mat-grid{display:flex;flex-direction:column;gap:6px}.mat-row{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:6px}.mat-row label{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:5px}.wall-dot{display:inline-block;width:8px;height:8px;border-radius:50%}select{width:100%;background:#0c0d10e6;color:var(--text-primary);border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:4px 6px;font-size:11px;font-family:var(--font-sans);outline:none}select:focus{border-color:var(--accent-cyan)}.quick-mat-bar{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.chip-btn{flex:1;padding:4px 6px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:10px;cursor:pointer;text-align:center}.chip-btn:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.scenario-grid{display:flex;flex-direction:column;gap:5px}.scenario-btn{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 9px;background:#0f1116bf;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.scenario-btn:hover{border-color:#00f5d466}.scenario-btn.active{background:#00f5d41c;border-color:var(--accent-cyan)}.scen-num{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent-cyan);background:#00f5d41f;padding:3px 6px;border-radius:4px}.scen-info{display:flex;flex-direction:column}.scen-info strong{font-size:11.5px;font-weight:600}.scen-info small{font-size:10px;color:var(--text-secondary)}.center-stage{position:relative;width:100%;height:100%;background:#0d0e11;overflow:hidden}#viewport-3d{width:100%;height:100%}.viewport-hud-top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;gap:12px}.layer-toggles-card{pointer-events:auto;display:flex;flex-wrap:wrap;gap:8px;background:#101217d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);padding:7px 11px;border-radius:8px}.toggle-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-primary);cursor:pointer}.toggle-pill input{accent-color:var(--accent-cyan);cursor:pointer}.interaction-hint{background:#101217d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:8px;padding:6px 10px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary)}.scenario-banner{position:absolute;bottom:12px;left:12px;right:12px;background:#101218e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(0,245,212,.28);border-radius:8px;padding:9px 13px;pointer-events:none}.scenario-banner-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.scenario-banner-head strong{color:var(--accent-cyan);font-family:var(--font-mono);font-size:11.5px}.scenario-banner p{font-size:11.5px;line-height:1.42;color:var(--text-primary)}.regime-pill{font-family:var(--font-mono);font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600}.regime-pill.direct-dom{background:#00f5d429;color:var(--accent-cyan);border:1px solid rgba(0,245,212,.35)}.regime-pill.reverb-dom{background:#ff922b2e;color:#ffc078;border:1px solid rgba(255,146,43,.4)}.telemetry-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kpi-box{background:#0c0d11bf;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:6px 8px}.kpi-label{font-size:10px;color:var(--text-secondary);display:block}.kpi-val{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-primary)}.kpi-val.cyan{color:var(--accent-cyan)}.kpi-val.amber{color:var(--accent-amber)}.rt60-row{margin-bottom:7px}.rt60-head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;margin-bottom:3px}.rt60-track{width:100%;height:7px;background:#ffffff14;border-radius:4px;overflow:hidden}.rt60-fill{height:100%;border-radius:4px;transition:width .12s ease}.rt60-fill.b125{background:linear-gradient(90deg,#ff6b6b,#ffa8a8)}.rt60-fill.b1000{background:linear-gradient(90deg,#00f5d4,#63e6be)}.rt60-fill.b4000{background:linear-gradient(90deg,#4dabf7,#74c0fc)}.rt60-sub{font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted);margin-top:2px}.reflection-table{width:100%;border-collapse:collapse;font-size:10.5px}.reflection-table th{text-align:left;color:var(--text-secondary);font-weight:600;padding:4px 3px;border-bottom:1px solid rgba(255,255,255,.1)}.reflection-table td{padding:4px 3px;border-bottom:1px solid rgba(255,255,255,.04)}.reflection-table tr.first-arrival-row{background:#00f5d417}.mono{font-family:var(--font-mono)}.canvas-wrap{width:100%;height:122px;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0b0c0e}.canvas-wrap canvas{width:100%;height:100%;display:block}
