:root{--bg: #0f172a;--panel: #111827;--muted: #6b7280;--text: #e5e7eb;--accent: #3b82f6;--accent-2:#22c55e;--warn:#f59e0b}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#0b1220,#0f172a);color:var(--text);min-height:100vh}.layout{display:flex;min-height:100vh}.sidebar{width:320px;background:#111827eb;border-right:1px solid #1f2937;display:flex;flex-direction:column;transition:width .25s ease,box-shadow .25s ease;box-shadow:inset -1px 0 #0f172a99;position:relative}.sidebar.collapsed{width:72px}.sidebarToggle{display:flex;align-items:center;gap:10px;padding:20px 18px 18px}#sidebarToggle{appearance:none;border:1px solid #1f2937;background:#0b1020;color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer;font-weight:600;min-width:36px;transition:background .2s ease,box-shadow .2s ease;position:relative}#sidebarToggle:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;top:8px;right:8px;background:#4b5563;box-shadow:0 0 0 2px #0f172ae6;transition:background .2s ease,box-shadow .2s ease}#sidebarToggle[data-status=connected]:after{background:#22c55e;box-shadow:0 0 8px #22c55e99}#sidebarToggle[data-status=error]:after{background:#ef4444;box-shadow:0 0 8px #ef444499}#sidebarToggle:hover{background:#101a33}.sidebarTitle{font-size:14px;font-weight:600;letter-spacing:.4px;color:#c7d2fe;transition:opacity .2s ease;white-space:nowrap}.sidebar.collapsed .sidebarTitle{opacity:0;pointer-events:none}.sidebarContent{flex:1;padding:0 18px 28px;overflow-y:auto;transition:opacity .25s ease,transform .25s ease,max-height .25s ease;max-height:100vh}.sidebarContent h2{margin:0 0 8px;font-size:16px;font-weight:600}.sidebarContent .tiny{color:#94a3b8;margin-bottom:12px}.sidebarSection{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.sidebarDetails{border:1px solid #1f2937;border-radius:12px;margin-bottom:16px;background:#0f172ab3;overflow:hidden}.sidebarDetails summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:600;color:#e5e7eb;display:flex;align-items:center;justify-content:space-between}.sidebarDetails summary::-webkit-details-marker{display:none}.sidebarDetails summary:after{content:"▶";font-size:11px;transition:transform .2s ease;opacity:.6}.sidebarDetails[open] summary:after{transform:rotate(90deg);opacity:.9}.sidebarDetailsBody{padding:0 14px 14px;display:flex;flex-direction:column;gap:14px}.sidebarField{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5f5}.sidebarField input,.sidebarField select{width:100%;background:#0b1020;color:var(--text);border:1px solid #1f2937;border-radius:10px;padding:8px 10px;font-size:14px}.sidebarButtons{display:flex;gap:8px;flex-wrap:wrap}.sidebarButtons button{flex:1 1 100px}.sidebarHint{line-height:1.4}#mappings{display:flex;flex-direction:column}.pedalStatusRow{display:flex;align-items:center;gap:10px;font-size:13px}.statusLabel{position:relative;padding-left:16px;color:#cbd5f5;font-weight:600}.statusLabel:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#52525b;box-shadow:0 0 6px #52525b4d}.statusLabel[data-state=connected]:before{background:#22c55e;box-shadow:0 0 8px #22c55e99}.statusLabel[data-state=connecting]:before{background:#f97316;box-shadow:0 0 8px #f9731699}.statusLabel[data-state=error]:before{background:#ef4444;box-shadow:0 0 8px #ef444499}.statusLabel[data-state=idle]:before{background:#52525b;box-shadow:0 0 6px #52525b4d}.pedalChecklist{margin:0;padding:0 0 0 18px;color:#94a3b8;font-size:12px;display:flex;flex-direction:column;gap:6px}.pedalChecklist strong{color:#cbd5f5}.sidebar.collapsed .sidebarContent{opacity:0;transform:translate(-16px);pointer-events:none;max-height:0;padding:0 12px;overflow:hidden}.sidebarToggleCheck{display:flex;align-items:center;gap:10px;font-size:13px;color:#cbd5f5;cursor:pointer;user-select:none}.sidebarToggleCheck input{width:16px;height:16px}.mainArea{flex:1;display:flex;justify-content:center;padding:40px 32px}.wrap{max-width:1100px;width:100%;margin:0;padding:0 16px}.card{background:#111827d9;backdrop-filter:saturate(120%) blur(8px);border:1px solid #1f2937;border-radius:18px;box-shadow:0 10px 30px #00000059;overflow:hidden}header{padding:20px 22px;border-bottom:1px solid #1f2937;display:flex;align-items:center;gap:14px;flex-wrap:wrap}header h1{font-size:18px;margin:0;letter-spacing:.2px;font-weight:600}.badge{font-size:12px;color:#a5b4fc;padding:3px 8px;border:1px solid #312e81;border-radius:999px}.promoBar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:18px 22px;border-bottom:1px solid #1f2937;background:#080e1c99}.promoCard{background:#0b1020;border:1px solid #1f2937;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.promoTitle{font-weight:700;color:#e2e8f0;font-size:13px;letter-spacing:.2px}.promoCopy{color:#94a3b8;font-size:12px;line-height:1.4}.promoCta{align-self:flex-start;padding:6px 10px;border-radius:10px;border:1px solid #1f2937;background:#111827;color:#e5e7eb;font-size:12px;font-weight:600}.promoCta:hover{background:#0f172a}.controls{padding:18px 22px;display:grid;gap:16px;grid-template-columns:1fr}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}button,.file{appearance:none;border:1px solid #1f2937;background:#0b1020;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600;transition:transform .06s ease,background .2s ease,opacity .2s ease}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:#0d1326}button:active:not(:disabled){transform:translateY(1px)}.primary{background:#132044;border-color:#1e3a8a}.success{background:#123523;border-color:#14532d}.danger{background:#3f1d1d;border-color:#7f1d1d}.danger:hover:not(:disabled){background:#4a2323}.file input{display:none}.file label{cursor:pointer}.fileProgress{display:flex;align-items:center;gap:10px;min-width:200px}.fileProgressBar{width:200px;height:6px;border-radius:999px;background:#111827;border:1px solid #1f2937;overflow:hidden;opacity:0;transition:opacity .2s ease}.fileProgressBar.active{opacity:1}.fileProgressFill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s ease}.spacer{flex:1}.time{font-variant-numeric:tabular-nums;color:#9ca3af}.slider{width:100%;height:6px;border-radius:999px;background:#111827;border:1px solid #1f2937;position:relative}.slider input[type=range]{width:100%;background:none;-webkit-appearance:none;appearance:none;height:6px;outline:none}.slider input[type=range]::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.slider input[type=range]::-moz-range-track{height:6px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #1f2937;margin-top:-5px}.slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #1f2937}.seekTooltip{position:absolute;top:-34px;left:0;transform:translate(-50%);padding:4px 8px;border-radius:8px;font-size:12px;color:#e2e8f0;background:#0f172af2;border:1px solid #1f2937;opacity:0;pointer-events:none;transition:opacity .15s ease;white-space:nowrap}.seekTooltip.visible{opacity:1}.ticks{display:flex;justify-content:space-between;font-size:11px;color:#94a3b8;padding:2px 4px 0;user-select:none}.ticks span{transform:translate(-4px)}.ticks span.center{font-weight:700;color:#e5e7eb;transform:translate(-4px)}.tracks{display:grid;grid-template-columns:1fr;gap:12px;padding:0 22px 22px}.track{background:#0b1020;border:1px solid #1f2937;border-radius:14px;padding:12px}.trackHead{display:flex;align-items:center;gap:10px}.trackName{font-weight:700;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trackBtns{display:flex;gap:8px;margin-left:auto;align-items:center}.tracks.compact{gap:8px}.tracks.compact .track{padding:8px 10px}.tracks.compact .trackName{font-size:13px}.tracks.compact .trackControls,.tracks.compact .grid,.tracks.compact .meterWrap{display:none}.tracks.compact .trackBtns button{padding:6px 10px;font-size:12px}.reporterNotes{border-top:1px solid #1f2937;padding:18px 22px 22px;display:grid;gap:12px}.reporterNotesHeader{display:flex;align-items:center;gap:10px;font-weight:600;color:#e5e7eb}.reporterNotesList{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto;padding:8px;background:#0b1020;border:1px solid #1f2937;border-radius:12px}.reporterNotesClock{display:grid;gap:6px;padding:8px 10px;background:#0b1020b3;border:1px solid #1f2937;border-radius:12px}.reporterNotesClockInputs{display:grid;gap:8px}.clockRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clockLabel{font-size:12px;color:#cbd5f5;min-width:190px}.clockSelect{background:#0b1020;color:var(--text);border:1px solid #1f2937;border-radius:10px;padding:6px 10px;font-size:13px;min-width:86px}.clockRow.invalid .clockSelect{border-color:#ef4444;box-shadow:0 0 0 1px #ef444440}.card.notes-focus .reporterNotesList{max-height:520px}.noteLine{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:#0f172a;color:#e5e7eb;text-align:left;cursor:pointer;transition:background .2s ease,border .2s ease,box-shadow .2s ease}.reporterNotesList.show-speaker .noteLine{grid-template-columns:84px 120px 1fr}.reporterNotesList.show-clock .noteLine{grid-template-columns:110px 84px 1fr}.reporterNotesList.show-clock.show-speaker .noteLine{grid-template-columns:110px 84px 120px 1fr}.noteLine:hover{background:#101a33;border-color:#1f2937}.noteLine.active{background:#132044;border-color:#1e3a8a;box-shadow:inset 0 0 0 1px #3b82f659}.noteLine:disabled,.noteLine.disabled{opacity:.55;cursor:default}.noteClock{display:none;font-variant-numeric:tabular-nums;color:#a5b4fc;font-weight:600}.reporterNotesList.show-clock .noteClock{display:block}.noteTime{font-variant-numeric:tabular-nums;color:#93c5fd;font-weight:600}.noteSpeaker{font-size:12px;color:#cbd5f5;font-weight:600;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reporterNotesList:not(.show-speaker) .noteSpeaker{display:none}.noteText{color:#e5e7eb}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:10px}.channel{background:#0b1020;border:1px solid #1f2937;border-radius:12px;padding:8px 10px;display:grid;grid-template-rows:auto auto;gap:6px}.channelTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.channel .label{font-weight:600;color:#cbd5e1}.meterWrap{display:flex;align-items:center;gap:10px;min-width:180px}.meterBar{position:relative;flex:1;height:10px;background:#0f172acc;border:1px solid #1f2937;border-radius:999px;overflow:hidden}.meterFill{position:absolute;top:0;bottom:0;left:0;width:0%;background:linear-gradient(90deg,#22d3ee,#3b82f6,#ef4444);transition:width .12s ease-out}.meterWrap.meter-active .meterFill{box-shadow:0 0 8px #22d3ee59}.meterValue{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums;min-width:56px;text-align:right}.meterPeak{position:absolute;top:-2px;bottom:-2px;width:2px;background:#fb923c;opacity:0;transition:opacity .12s ease;pointer-events:none}.meterPeak.visible{opacity:.85}.meterWrap.user-muted .meterFill,.meterWrap.solo-muted .meterFill{opacity:.25}.meterWrap.user-muted .meterPeak,.meterWrap.solo-muted .meterPeak{opacity:.3}.track.user-muted{opacity:.6}.track.solo-muted{opacity:.7}.trackControls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.trackControls label{display:flex;align-items:center;gap:12px;font-size:12px;color:#94a3b8}.trackControls label .trackVolTitle{color:#94a3b8;min-width:56px}.trackControls label .trackVolValue{font-size:12px;color:#cbd5e1;min-width:48px;text-align:right}.trackControls input.trackVolume{width:150px;background:#0b1020;border:1px solid #1f2937;border-radius:999px;height:8px;-webkit-appearance:none;appearance:none;outline:none}.trackControls input.trackVolume::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,#38bdf8,#ef4444);border-radius:999px}.trackControls input.trackVolume::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #1f2937;margin-top:-4px}.trackControls input.trackVolume::-moz-range-track{height:6px;background:linear-gradient(90deg,#38bdf8,#ef4444);border-radius:999px}.trackControls input.trackVolume::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #1f2937}.trackControls button.soloBtn{padding:6px 12px;border-radius:10px;border:1px solid #1f2937;background:#1f2937;color:#e5e7eb;font-size:12px;font-weight:600;transition:background .2s ease,box-shadow .2s ease}.trackControls button.soloBtn.active{background:#f97316;border-color:#fb923c;color:#fff;box-shadow:0 0 8px #f9731673}.sidebar.collapsed .sidebarHint,.sidebar.collapsed .sidebarSection{opacity:0}.sidebar.collapsed:after{content:"";position:absolute;right:0;top:0;bottom:0;width:12px;background:linear-gradient(270deg,#0f172ad9,#0f172a00);pointer-events:none}@media (max-width: 900px){.layout{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #1f2937;box-shadow:inset 0 -1px #0f172a99}.sidebar.collapsed{width:100%;height:64px}.mainArea{padding:24px 16px 40px}}.toggle{--h: 28px;position:relative;width:54px;height:var(--h);background:#111827;border:1px solid #1f2937;border-radius:999px;cursor:pointer}.toggle input{display:none}.toggle:after{content:"";position:absolute;top:50%;left:4px;width:20px;height:20px;transform:translateY(-50%);background:#9ca3af;border-radius:50%;transition:all .2s ease}.toggle.on{background:#11263f;border-color:#1e3a8a}.toggle.on:after{left:30px;background:#60a5fa}canvas.wave{width:100%;height:48px;display:block;border-radius:8px;background:#0a0f1f;border:1px solid #1f2937;cursor:pointer}.muted canvas.wave{opacity:.45;filter:grayscale(60%)}.hint{color:#9ca3af;font-size:13px;padding:0 22px 12px}.warn{color:var(--warn)}.tiny{font-size:12px;color:#94a3b8}.kbd{background:#111827;border:1px solid #1f2937;border-radius:6px;padding:2px 6px;font-variant-numeric:tabular-nums}
