:root{--bg: #faf5e8;--bg-2: #f3ead4;--bg-3: #ebdfbf;--ink: #2a221b;--ink-dim: #6b6051;--ink-faint: #a39782;--brass: #a8722e;--brass-bright:#8a5a1f;--moss: #6a8a3a;--rust: #b04a2a;--red: #b04a2a;--green: #6a8a3a;--line: rgba(168, 114, 46, .22);--line-soft: rgba(168, 114, 46, .12);--serif: "Fraunces", Georgia, serif;--sans: "IBM Plex Sans", -apple-system, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{height:100%;display:flex;flex-direction:column}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font:inherit;color:inherit}#lobby{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:max(28px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:radial-gradient(1200px 520px at 10% -10%,#f9eed8 0%,transparent 60%),radial-gradient(900px 480px at 110% 10%,#f6e9d2 0%,transparent 55%),var(--bg) no-repeat;overflow-y:auto;min-height:0}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:inline-flex;align-items:center;justify-content:flex-start;height:40px;flex:0 0 auto;text-decoration:none}.brand-logo img,.brand-logo svg{height:100%;width:auto;display:block;user-select:none}.jv-logo{overflow:visible}.brand-mark{font-family:var(--serif);font-weight:400;font-size:32px;font-style:italic;letter-spacing:-.02em;color:var(--brass-bright)}.brand-tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint)}.hero{margin-top:56px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,9vw,52px);line-height:1.02;letter-spacing:-.025em;color:var(--ink)}.hero h1 em{font-style:italic;color:var(--brass-bright);font-weight:300}.hero p{margin-top:18px;color:var(--ink-dim);font-size:15px;line-height:1.55;max-width:36ch}.form{margin-top:28px;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint)}.field input{background:var(--bg-2);border:1px solid #2a2622;border-radius:10px;padding:16px;font-size:17px;font-family:var(--mono);letter-spacing:.02em;transition:border-color .15s,background .15s}.field input:focus{outline:none;border-color:var(--brass);background:var(--bg-3)}.row{display:flex;gap:10px}.row .field{flex:1}.row .dice{align-self:stretch;margin-top:22px;padding:0 16px;background:var(--bg-2);border:1px solid #2a2622;border-radius:10px;color:var(--ink-dim);font-size:18px;transition:color .15s,border-color .15s}.row .dice:active{color:var(--brass-bright);border-color:var(--brass)}.join{margin-top:8px;padding:18px;background:var(--brass);color:#1a1410;border-radius:10px;font-weight:500;font-size:16px;letter-spacing:.01em;transition:background .15s,transform .05s}.join:active{transform:scale(.99);background:var(--brass-bright)}.lobby-bottom{padding-top:16px}.status-line{font-family:var(--mono);font-size:11px;color:var(--ink-faint);text-align:center;letter-spacing:.1em}.install-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;margin-bottom:12px;background:var(--bg-2);border:1px solid #2a2622;border-radius:10px;font-size:13px;color:var(--ink-dim);text-align:center}.install-banner.hidden{display:none}.install-text strong{color:var(--ink);font-weight:500}.install-btn{padding:8px 14px;background:var(--brass);color:#1a1410;border-radius:8px;font-weight:500;font-size:13px;white-space:nowrap;transition:background .15s}.install-btn:active{background:var(--brass-bright)}.install-btn.hidden{display:none}.modal{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(8px);display:flex;align-items:flex-end;z-index:200;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal.hidden{display:none}.modal-panel{background:var(--bg-2);border-radius:18px;padding:28px 22px;width:100%;max-width:480px;margin:0 auto;border:1px solid #2a2622}.modal-panel h2{font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:12px;color:var(--brass-bright)}.modal-lede{color:var(--ink-dim);font-size:14px;line-height:1.55;margin-bottom:12px}.modal-instruction{color:var(--ink);font-size:14px;line-height:1.55;margin-bottom:18px}.modal-actions-stack{display:flex;flex-direction:column;gap:12px}.btn-tone{padding:16px;background:var(--bg-3);border:1px solid #3a342d;border-radius:10px;color:var(--ink);font-weight:500;transition:background .15s}.btn-tone:active:not(:disabled){background:#2c2823}.btn-tone:disabled{opacity:.6}.modal-attest{display:flex;flex-direction:column;gap:8px}.modal-attest.hidden{display:none}.btn-attest{padding:14px;border-radius:10px;font-weight:500;border:1px solid transparent}.btn-attest.yes{background:var(--brass);color:#1a1410}.btn-attest.yes:active{background:var(--brass-bright)}.btn-attest.no{background:transparent;color:var(--ink-dim);border-color:#3a342d}.hp-progress{display:flex;justify-content:center;gap:10px;margin:4px 0 14px}.hp-progress .hp-dot{width:10px;height:10px;border-radius:50%;background:#3a342d;transition:background .2s,transform .2s}.hp-progress .hp-dot.current{background:var(--brass);transform:scale(1.25)}.hp-progress .hp-dot.done.correct{background:#4caf6c}.hp-progress .hp-dot.done.wrong{background:#c44d4d}.hp-answer-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hp-answer-row.hidden{display:none}.hp-answer-row .btn-attest{background:var(--brass);color:#1a1410;font-weight:600}.hp-answer-row .btn-attest:hover{background:var(--brass-bright)}.hp-result{margin-top:10px;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.5;text-align:center}.hp-result.hidden{display:none}.hp-result.pass{background:#4caf6c26;color:#8bd6a3;border:1px solid rgba(76,175,108,.4)}.hp-result.fail{background:#c44d4d26;color:#e89e9e;border:1px solid rgba(196,77,77,.4)}.btn-link{background:transparent;color:var(--ink-dim);border:0;padding:8px;cursor:pointer;text-decoration:underline;font-size:13px}.btn-link.hidden{display:none}.btn-link:hover{color:var(--ink)}#call{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;--bg: #0e0d0b;--bg-2: #181614;--bg-3: #221f1c;--ink: #f4ede0;--ink-dim: #a39a89;--ink-faint: #5c554a;--brass: #c89860;--brass-bright:#e6b478;color:var(--ink)}.stage{flex:1;position:relative;overflow:hidden}.remote-wrap{position:absolute;inset:0;background:#000}#remoteVideo{width:100%;height:100%;object-fit:cover;background:#000}.remote-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink-dim);background:radial-gradient(60% 40% at 50% 50%,#161310,#000 70%);padding:0 24px;text-align:center}.remote-empty.hidden{display:none}.remote-empty .pulse{width:14px;height:14px;border-radius:50%;background:var(--brass);box-shadow:0 0 #c8986099;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #c8986080}70%{box-shadow:0 0 0 22px #c8986000}to{box-shadow:0 0 #c8986000}}.remote-empty .msg{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink)}.remote-empty .sub{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint)}.remote-empty .sub span{color:var(--brass)}.remote-empty .hint{font-family:var(--sans);font-size:12px;color:var(--ink-faint);margin-top:6px}.local-wrap{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:96px;height:128px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#111;box-shadow:0 10px 30px #0009;z-index:5;cursor:grab;touch-action:none;user-select:none;transition:box-shadow .12s ease,transform .12s ease}.local-wrap:hover{box-shadow:0 12px 36px #000000b3,0 0 0 1px #d4af3759}.local-wrap.dragging{cursor:grabbing;transform:scale(1.03);box-shadow:0 18px 50px #000000bf,0 0 0 2px #d4af378c}.local-wrap video,.local-wrap .local-label{pointer-events:none}#localVideo{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.topbar{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;z-index:4;display:flex;flex-direction:column;gap:6px;pointer-events:none}.topbar-brand{display:inline-flex;height:28px;width:auto;opacity:.88;margin-bottom:4px}.topbar-brand img{height:100%;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) brightness(1.25)}.room-chip{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink);background:#0006;backdrop-filter:blur(10px);padding:6px 10px;border-radius:6px;text-transform:uppercase}.stat-line{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-dim);background:#00000059;backdrop-filter:blur(10px);padding:4px 8px;border-radius:6px}.controls{padding:18px 20px max(24px,env(safe-area-inset-bottom));background:linear-gradient(to top,#000c,#0000);display:flex;justify-content:center;gap:18px;z-index:6}.ctrl{width:60px;height:60px;border-radius:50%;background:#282420e6;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--ink);backdrop-filter:blur(8px);transition:transform .08s,background .15s;position:relative;overflow:hidden}.ctrl:active{transform:scale(.93)}.ctrl.muted{background:#d8654f26;color:var(--red)}.ctrl.muted:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:3px;background:#ff6f5e;transform:rotate(-45deg);border-radius:2px;box-shadow:0 0 0 1px #0009;pointer-events:none}.ctrl.end{background:var(--red);color:#fff}.ctrl svg{width:26px;height:26px}.banner{position:fixed;left:50%;top:max(20px,env(safe-area-inset-top));transform:translate(-50%);background:#141210f2;border:1px solid #2a2622;color:var(--ink);padding:10px 16px;border-radius:999px;font-size:13px;font-family:var(--mono);letter-spacing:.04em;z-index:100;box-shadow:0 10px 30px #00000080;opacity:0;pointer-events:none;transition:opacity .25s}.banner.show{opacity:1}.banner.error{border-color:var(--red);color:var(--red)}.mode-toggle{display:flex;gap:8px;background:var(--bg-2);border-radius:10px;padding:4px}.mode-opt{flex:1;padding:12px 10px;background:transparent;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;transition:background .15s,color .15s;color:var(--ink-dim);border:1px solid transparent}.mode-opt.active{background:var(--bg-3);color:var(--ink);border-color:#3a342d}.mode-opt .mode-name{font-weight:500;font-size:14px;letter-spacing:.01em}.mode-opt .mode-desc{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.75}.mode-opt.active .mode-name{color:var(--brass-bright)}.mode-recommendation{margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:8px 10px;border-radius:6px;background:var(--bg-2)}.mode-recommendation.hidden{display:none}.pin-field input{font-family:var(--mono);letter-spacing:.18em}.pin-field.hidden{display:none}.presence-line{margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:8px 10px;border-radius:6px;background:var(--bg-2);opacity:.85}.presence-line.empty{opacity:.5}.presence-line.populated{color:var(--green);background:#7fb06914}.presence-line.hidden{display:none}.rtt-good{color:var(--green)!important}.rtt-good{background:#7fb06914!important}.rtt-ok{color:#d8b45a!important;background:#d8b45a14!important}.rtt-poor{color:#d89360!important;background:#d893601a!important}.rtt-unusable{color:var(--red)!important;background:#d8654f1f!important}.latency-hint{font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:4px 8px;border-radius:6px;backdrop-filter:blur(10px)}.latency-hint.hidden{display:none}.rtt-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;border:1px solid transparent;background:#ffffff0a;color:var(--ink-dim);transition:color .2s ease,background-color .2s ease,border-color .2s ease}.rtt-chip.hidden{display:none}.rtt-chip .rtt-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.rtt-chip[data-band=green]{color:#7fb069;background:#7fb0691a;border-color:#7fb0694d}.rtt-chip[data-band=yellow]{color:#d8b45a;background:#d8b45a1a;border-color:#d8b45a4d}.rtt-chip[data-band=red]{color:#d8654f;background:#d8654f1f;border-color:#d8654f59}.rtt-chip[data-band=unknown]{color:var(--ink-faint);background:#ffffff0a;border-color:#ffffff0f}.mode-suggest{position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:#141210f2;border:1px solid var(--brass);color:var(--ink);padding:10px 14px;border-radius:999px;display:flex;align-items:center;gap:12px;font-size:12px;z-index:7;box-shadow:0 10px 30px #00000080;max-width:calc(100% - 32px)}.mode-suggest.hidden{display:none}.ms-text{color:var(--ink-dim)}.ms-btn{padding:6px 12px;background:var(--brass);color:#1a1410;border-radius:999px;font-weight:500;font-size:12px}.ms-dismiss{width:22px;height:22px;border-radius:50%;color:var(--ink-faint);font-size:16px;line-height:1}.ctrl.rec.active,.ctrl.rec-stems.active{background:#d8654f26;color:var(--red)}.ctrl.rec-stems[disabled]{opacity:.55;cursor:progress}.recording-chip.stems-chip{background:#d8654f1a;color:#d8654f}.recording-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;background:#d8654f2e;border:1px solid rgba(216,101,79,.4);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--red);letter-spacing:.08em}.recording-chip.hidden{display:none}.rec-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}#intervallic{position:fixed;inset:0;background:#0e0d0b;display:flex;flex-direction:column;padding:0;overflow:hidden;--bg: #0e0d0b;--bg-2: #181614;--bg-3: #221f1c;--ink: #f4ede0;--ink-dim: #a39a89;--ink-faint: #5c554a;--brass: #c89860;--brass-bright:#e6b478;color:var(--ink)}.iv-topbar{display:flex;justify-content:flex-start;align-items:center;padding:max(10px,env(safe-area-inset-top)) 12px 8px;gap:8px;position:relative;z-index:10;background:linear-gradient(to bottom,#0e0d0beb,#0e0d0b00);flex-shrink:0}.iv-room-chip{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink);text-transform:uppercase;background:var(--bg-2);padding:6px 10px;border-radius:6px}.iv-state{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-faint)}.iv-state[data-state=live]{color:var(--green)}.iv-state[data-state=syncing]{color:var(--brass-bright)}.iv-state[data-state=disconnected]{color:var(--red)}.iv-stage{flex:1;display:flex;flex-direction:column;gap:32px;justify-content:center;display:none}.iv-stage--collapsed{flex:0 0 auto}.iv-minimize-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#1e1b18b3;border:1px solid rgba(255,255,255,.08);color:var(--ink-faint);flex-shrink:0;margin-left:auto;transition:color .12s,background .12s}.iv-minimize-btn:hover{background:var(--bg-3);color:var(--ink)}.iv-switch-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#c898601f;border:1px solid rgba(200,152,96,.25);border-radius:999px;color:var(--brass);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;transition:background .12s,color .12s}.iv-switch-btn:hover{background:#c8986038;color:var(--brass-bright)}.iv-stage-strip{display:flex;align-items:center;gap:10px;padding:6px 10px 10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-dim);flex-shrink:0}.iv-stage-strip.hidden{display:none}.iv-strip-sep{color:var(--ink-faint)}.iv-strip-beats{display:inline-flex;gap:4px}.iv-strip-dot{color:var(--ink-faint);transition:color .08s}.iv-strip-dot.active{color:var(--brass-bright)}.iv-stage--collapsed+.iv-video-row,.iv-stage--collapsed~.iv-video-row{flex:1}#intervallic.stage-collapsed .iv-video-tile{width:min(45%,220px);height:auto;aspect-ratio:1 / 1}.iv-video-stage{flex:1;position:relative;display:grid;gap:4px;background:#000;min-height:0}.iv-video-stage[data-count="1"]{grid-template-columns:1fr}.iv-video-stage[data-count="2"]{grid-template-columns:1fr 1fr}.iv-video-stage[data-count="3"],.iv-video-stage[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}@media (max-width: 700px) and (orientation: portrait){.iv-video-stage[data-count="2"]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.iv-video-stage .iv-video-tile{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:none;background:#111;position:relative;overflow:hidden}.iv-video-stage .iv-video-tile video{width:100%;height:100%;object-fit:cover}.iv-video-stage[data-count="1"] .iv-video-tile.self{grid-column:1}.iv-tempo-chip{position:absolute;top:70px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:8px 16px;background:#141210e0;backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.08);z-index:8;cursor:pointer;user-select:none;white-space:nowrap;box-shadow:0 4px 20px #00000080;transition:opacity .15s;pointer-events:auto}.iv-tempo-chip.hidden{display:none}.iv-tempo-chip:hover{background:#141210f5}.iv-tempo-chip-bpm{font-family:var(--serif);font-size:28px;font-style:italic;color:var(--brass-bright);line-height:1;min-width:44px;text-align:center}.iv-tempo-chip-bar{display:flex;flex-direction:column;align-items:center;gap:1px}.iv-tempo-chip-bar-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.iv-tempo-chip-bar-num{font-family:var(--mono);font-size:16px;color:var(--ink);line-height:1}.iv-tempo-chip-beats{display:flex;gap:6px;align-items:center}.iv-tempo-chip-beats .iv-beat-dot{width:8px;height:8px}.iv-tempo-popover{position:absolute;top:138px;left:50%;transform:translate(-50%);background:#141210f7;backdrop-filter:blur(16px);padding:20px 24px;border-radius:16px;border:1px solid rgba(255,255,255,.1);z-index:9;box-shadow:0 8px 40px #000000b3;min-width:200px;text-align:center}.iv-tempo-popover.hidden{display:none}.iv-bpm-large{font-family:var(--serif);font-size:56px;font-weight:300;font-style:italic;color:var(--brass-bright);letter-spacing:-.03em;min-width:100px;line-height:1}.iv-popover-click-row{display:flex;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.iv-popover-click-row .ctrl{display:flex;flex-direction:column;align-items:center;gap:4px;height:auto;padding:10px 14px;border-radius:10px;width:auto}.iv-click-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}.iv-popover-click-row .ctrl.active .iv-click-label{color:var(--brass-bright)}.iv-participants-pill{position:relative;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#282420cc;border:1px solid rgba(255,255,255,.08);border-radius:999px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-dim);cursor:pointer;user-select:none;flex-shrink:0;transition:background .12s}.iv-participants-pill:hover{background:#3c362ee6;color:var(--ink)}.iv-participants-dropdown{position:absolute;top:calc(100% + 6px);left:0;background:#141210f7;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;min-width:180px;z-index:20;box-shadow:0 8px 32px #0009}.iv-participants-dropdown.hidden{display:none}.iv-stats-floating{position:absolute;bottom:90px;left:16px;font-family:var(--mono);font-size:10px;color:var(--ink-faint);opacity:.6;z-index:7;line-height:1.6;pointer-events:none}.iv-tempo-block{text-align:center}.iv-tempo-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:8px}.iv-tempo-row{display:flex;align-items:center;justify-content:center;gap:18px}.iv-tempo-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-2);border:1px solid #2a2622;color:var(--ink-dim);font-size:20px;font-weight:300;transition:background .15s}.iv-tempo-btn:active{background:var(--bg-3);color:var(--brass-bright)}.iv-bpm{font-family:var(--serif);font-size:64px;font-weight:300;font-style:italic;color:var(--brass-bright);letter-spacing:-.03em;min-width:100px;line-height:1}.iv-tempo-sub{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);margin-top:6px}.iv-metronome{text-align:center}.iv-bar-display{margin-bottom:18px}.iv-bar-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:4px}.iv-bar-num{font-family:var(--serif);font-size:48px;font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-.02em;line-height:1}.iv-beats{display:flex;justify-content:center;gap:14px}.iv-beat-dot{width:16px;height:16px;border-radius:50%;background:var(--bg-3);border:1px solid #3a342d;transition:background .08s,border-color .08s,transform .15s}.iv-beat-dot.active{background:var(--brass);border-color:var(--brass-bright)}.iv-beat-dot.downbeat.active{background:var(--brass-bright);border-color:var(--ink);box-shadow:0 0 12px #e6b47866}.iv-participants{background:var(--bg-2);border-radius:10px;padding:12px 14px}.iv-section-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:8px}.iv-participant-list{list-style:none}.iv-participant{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--ink)}.iv-participant.empty{color:var(--ink-faint);font-style:italic}.iv-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.iv-identity{font-family:var(--mono);font-size:12px}.iv-stats{display:flex;flex-direction:column;gap:6px;align-items:center;font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.06em}.iv-stat-line{padding:2px 8px}.iv-controls{display:flex;justify-content:center;gap:14px;padding:14px 16px max(18px,env(safe-area-inset-bottom));background:linear-gradient(to top,#000c,#0000);flex-shrink:0;position:relative;z-index:10}.iv-click-btn{background:#282420e6}.iv-click-btn.active{background:#c8986033;color:var(--brass-bright)}.iv-video-row{display:flex;gap:10px;padding:0 0 16px;overflow-x:auto;scrollbar-width:none}.iv-video-row::-webkit-scrollbar{display:none}.iv-video-row.hidden{display:none}.iv-video-tile{flex:0 0 auto;position:relative;width:110px;height:110px;border-radius:12px;overflow:hidden;background:var(--bg-2);border:1px solid #2a2622}.iv-video-tile.self{border-color:var(--brass)}.iv-video-tile video{width:100%;height:100%;object-fit:cover}.iv-video-tile.self video{transform:scaleX(-1)}.iv-video-label{position:absolute;left:6px;bottom:6px;padding:2px 6px;background:#0000008c;border-radius:4px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--ink);text-transform:lowercase;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-panel{position:absolute;right:0;top:0;width:min(380px,92vw);height:100%;background:#141210f7;border-left:1px solid #2a2622;display:flex;flex-direction:column;z-index:9;backdrop-filter:blur(20px);box-shadow:-10px 0 30px #00000080;animation:side-panel-slide .18s ease-out}@keyframes side-panel-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.side-panel.hidden{display:none}#intervallic .side-panel{position:fixed}.sp-tabs{display:flex;align-items:center;border-bottom:1px solid #2a2622;padding:0}.sp-tab{flex:1;padding:14px 16px;background:transparent;border-radius:0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border-bottom:2px solid transparent;text-align:left;transition:color .15s,border-color .15s}.sp-tab.active{color:var(--brass-bright);border-bottom-color:var(--brass)}.sp-count{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--bg-3);border-radius:999px;font-size:9px;color:var(--ink)}.sp-close{width:36px;height:36px;margin-right:6px;font-size:22px;font-weight:300;color:var(--ink-faint);background:transparent}.sp-close:hover{color:var(--ink)}.sp-body{flex:1;overflow-y:auto;padding:18px 18px 20px}.sp-body.hidden{display:none}.sp-prose{font-size:13px;line-height:1.5;color:var(--ink-dim);margin:0 0 14px}.sp-prose strong{color:var(--ink);font-weight:500}.sp-track-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.sp-pickbtn{cursor:pointer;padding:10px 18px;background:var(--brass);color:#1a1410;border-radius:8px;font-size:13px;font-weight:500;display:inline-block}.sp-pickbtn:active{background:var(--brass-bright)}.sp-track-loaded{display:flex;flex-direction:column;gap:12px}.sp-track-loaded.hidden,.sp-track-empty.hidden{display:none}.sp-track-name{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink);word-break:break-all;line-height:1.3}.sp-track-time{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em}.sp-track-sep{opacity:.5}.sp-seek{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-3);border-radius:2px;outline:none}.sp-seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--brass);border-radius:50%;cursor:pointer}.sp-seek::-moz-range-thumb{width:14px;height:14px;background:var(--brass);border:none;border-radius:50%;cursor:pointer}.sp-track-controls{display:flex;gap:10px;padding-top:4px}.sp-iconbtn{width:40px;height:40px;border-radius:8px;background:var(--bg-3);color:var(--ink);font-size:14px;display:inline-flex;align-items:center;justify-content:center}.sp-iconbtn:active{background:var(--brass);color:#1a1410}.sp-iconbtn:hover{background:#d4af372e}.sp-track-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}.sp-track-actions .sp-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--bg-3);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.sp-track-actions .sp-action-btn svg{flex-shrink:0}.sp-track-actions .sp-action-btn:hover{background:#d4af3726;border-color:var(--brass)}.sp-track-actions .sp-action-btn:active{transform:translateY(1px)}.sp-action-replace{background:var(--brass);color:#1a1410;border-color:var(--brass)!important;font-weight:600}.sp-action-replace:hover{background:var(--brass-bright)!important;color:#1a1410!important}.sp-action-remove{color:var(--ink-faint)}.sp-action-remove:hover{color:#fca5a5;border-color:#dc262673!important;background:#dc262614!important}.sp-vol-row{display:flex;align-items:center;gap:12px;padding-top:6px}.sp-vol-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);min-width:56px}.sp-vol-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-3);border-radius:2px}.sp-vol-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--brass);border-radius:50%}.sp-vol-row input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--brass);border:none;border-radius:50%}.sp-notes-empty{text-align:left}.sp-notes-empty.hidden{display:none}.sp-notes-list{list-style:none;padding:0;margin:0}.sp-note{display:grid;grid-template-columns:50px 1fr auto;align-items:start;gap:8px;padding:10px 0;border-bottom:1px solid #221e1a}.sp-note:last-child{border-bottom:none}.sp-note-time{font-family:var(--mono);font-size:11px;color:var(--brass-bright);letter-spacing:.04em;padding-top:6px}.sp-note-text{width:100%;background:var(--bg-2);border:1px solid transparent;border-radius:6px;padding:6px 8px;font-family:var(--sans);font-size:13px;line-height:1.4;color:var(--ink);resize:vertical;min-height:40px}.sp-note-text:focus{outline:none;border-color:var(--brass);background:var(--bg)}.sp-note-del{width:26px;height:26px;border-radius:50%;color:var(--ink-faint);font-size:18px;font-weight:300;background:transparent}.sp-note-del:hover{color:var(--red)}.sp-notes-actions{padding-top:16px;display:flex;justify-content:flex-end}.sp-action-btn{padding:8px 14px;background:var(--bg-3);border-radius:6px;font-size:12px;color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.sp-action-btn:active{background:var(--brass);color:#1a1410}.ctrl.tag{background:#c898601f;color:var(--brass)}.ctrl.tag:active{background:var(--brass);color:#1a1410}.ctrl.panel{background:#282420e6}#review{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));overflow-y:auto}.rv-topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #2a2622;margin-bottom:20px}.rv-title{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink)}.rv-back{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-faint);background:transparent;padding:6px 0}.rv-back:hover{color:var(--ink)}.rv-pickers{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.rv-picker{background:var(--bg-2);border-radius:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.rv-picker-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);flex:1}.rv-picker.loaded .rv-picker-label{color:var(--green)}.rv-picker-pick{cursor:pointer;padding:8px 14px;background:var(--bg-3);color:var(--ink);border-radius:6px;font-size:12px;display:inline-block}.rv-picker-pick:active{background:var(--brass);color:#1a1410}.rv-picker-name{font-family:var(--mono);font-size:11px;color:var(--ink-dim);word-break:break-all}.rv-player-card{background:var(--bg-2);border-radius:12px;padding:18px;margin-bottom:20px}.rv-player-card.hidden{display:none}.rv-audio{width:100%;margin-top:6px}.rv-meta{display:flex;gap:16px;font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em;padding-top:6px}.rv-timeline-card{background:var(--bg-2);border-radius:12px;padding:18px;flex:1}.rv-timeline-card.hidden{display:none}.rv-timeline-title{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:14px}.rv-timeline{list-style:none;padding:0;margin:0}.rv-timeline-empty{font-style:italic;color:var(--ink-faint);font-size:13px}.rv-tl-item{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #221e1a;cursor:pointer;transition:background .12s}.rv-tl-item:hover{background:#c898600a}.rv-tl-item.active{background:#c898601a;border-radius:4px;padding-left:8px;padding-right:8px}.rv-tl-item:last-child{border-bottom:none}.rv-tl-time{font-family:var(--mono);font-size:12px;color:var(--brass-bright);letter-spacing:.04em;padding-top:2px}.rv-tl-text{font-size:14px;line-height:1.4;color:var(--ink);white-space:pre-wrap}.rv-tl-text.empty{font-style:italic;color:var(--ink-faint)}#schedule{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));overflow-y:auto}.sch-form{display:flex;flex-direction:column;gap:16px;max-width:520px;width:100%;margin:0 auto;padding-top:12px}.sch-field{display:flex;flex-direction:column;gap:6px}.sch-field label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.sch-field input,.sch-field select,.sch-field textarea{width:100%;background:var(--bg-2);border:1px solid #2a2622;border-radius:8px;padding:12px 14px;font-size:14px;color:var(--ink);font-family:var(--sans)}.sch-field input:focus,.sch-field select:focus,.sch-field textarea:focus{outline:none;border-color:var(--brass)}.sch-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sch-checkbox-row{display:flex;align-items:center;gap:10px;padding-top:4px}.sch-submit{margin-top:10px;padding:14px 20px;background:var(--brass);color:#1a1410;border-radius:10px;font-weight:500;font-size:14px}.sch-submit:active{background:var(--brass-bright)}.sch-note{font-size:12px;color:var(--ink-faint);font-style:italic;text-align:center;margin-top:8px}.invite-link-row{display:flex;align-items:center;gap:8px;margin-top:4px}.invite-link-row.hidden{display:none}.copy-invite-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg-2);border:1px solid #2a2622;border-radius:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-dim);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.copy-invite-btn:hover{background:var(--bg-3);color:var(--ink);border-color:var(--brass)}.copy-invite-btn.copied{color:var(--green);border-color:var(--green)}.invite-banner{padding:10px 14px;background:#c898601a;border:1px solid rgba(200,152,96,.25);border-radius:8px;font-size:13px;color:var(--ink-dim);line-height:1.4}.invite-banner.hidden{display:none}.invite-banner strong{color:var(--brass-bright)}.lobby-secondary{display:flex;flex-direction:column;gap:8px;padding-top:18px;margin-top:18px;border-top:1px solid #2a2622}.lobby-secondary.hidden{display:none}.lobby-secondary-link{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-2);border-radius:8px;color:var(--ink-dim);font-size:13px;cursor:pointer;transition:background .12s,color .12s;font-family:var(--sans);text-align:left;width:100%}.lobby-secondary-link:hover{background:var(--bg-3);color:var(--ink)}.lobby-secondary-link .arrow{color:var(--ink-faint);font-family:var(--mono)}.device-settings{margin-top:4px;border:1px solid var(--bg-3);border-radius:8px;background:var(--bg-2);overflow:hidden}.device-settings-summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-dim);user-select:none}.device-settings-summary::-webkit-details-marker{display:none}.device-settings-summary .ds-icon{color:var(--brass);font-size:15px}.device-settings-summary .ds-label{flex:1;color:var(--ink);font-weight:500}.device-settings-summary .ds-chev{color:var(--ink-faint);font-family:var(--mono);transition:transform .15s}.device-settings[open] .device-settings-summary .ds-chev{transform:rotate(180deg)}.device-settings-body{padding:8px 14px 14px;border-top:1px solid var(--bg-3)}.dp-grid{display:flex;flex-direction:column;gap:10px;padding-top:8px}.dp-row{display:flex;flex-direction:column;gap:4px}.dp-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-family:var(--mono)}.dp-select{background:var(--bg-3);color:var(--ink);border:1px solid var(--bg-3);border-radius:6px;padding:8px 28px 8px 10px;font-family:var(--sans);font-size:14px;width:100%;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-faint) 50%),linear-gradient(135deg,var(--ink-faint) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat}.dp-select:focus{outline:none;border-color:var(--brass)}.dp-select:disabled{opacity:.5;cursor:not-allowed}.dp-note{color:var(--ink-faint);font-size:12px;font-style:italic}.dp-meter-row{flex-direction:column}.dp-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dp-meter-pct{font-family:var(--mono);font-size:11px;color:var(--ink-dim);min-width:36px;text-align:right}.dp-meter{width:100%;height:10px;background:var(--bg-3);border-radius:5px;overflow:hidden}.dp-meter-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--green),var(--brass),var(--red));transition:width 60ms linear}.dp-meter-actions{display:flex;gap:8px;margin-top:6px}.dp-test-stop{background:var(--bg-2);color:var(--ink)}.dp-test-stop:hover{background:var(--red);color:var(--ink)}.gear-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-2);color:var(--ink-dim);border:1px solid var(--bg-3);margin-left:auto;flex-shrink:0;transition:color .12s,background .12s;pointer-events:auto}.gear-btn:hover{background:var(--bg-3);color:var(--brass-bright)}.gear-btn svg{width:18px;height:18px}.dp-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}.dp-modal{background:var(--bg-2);border:1px solid var(--bg-3);border-radius:12px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.dp-modal-head{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--bg-3)}.dp-modal-title{flex:1;font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink)}.dp-modal-close{font-size:22px;color:var(--ink-faint);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.dp-modal-close:hover{color:var(--ink)}.dp-modal-body{padding:12px 16px 16px}.audio-unlock-overlay{position:fixed;inset:0;z-index:1500;display:none;align-items:center;justify-content:center;padding:20px;background:#00000073;backdrop-filter:blur(2px);pointer-events:none}.audio-unlock-overlay.show{display:flex;pointer-events:auto}.audio-unlock-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;background:var(--brass);color:var(--bg);font-family:var(--sans);font-size:16px;font-weight:600;border-radius:999px;box-shadow:0 8px 24px #00000080,0 0 0 1px #00000026;transition:transform .12s,background .12s;animation:audio-unlock-pulse 1.6s ease-in-out infinite}.audio-unlock-btn:hover{background:var(--brass-bright)}.audio-unlock-btn:active{transform:scale(.97)}.audio-unlock-icon{font-size:20px;line-height:1}.audio-unlock-text{letter-spacing:.01em}@keyframes audio-unlock-pulse{0%,to{box-shadow:0 8px 24px #00000080,0 0 0 1px #00000026,0 0 #c8986080}50%{box-shadow:0 8px 24px #00000080,0 0 0 1px #00000026,0 0 0 14px #c8986000}}.dp-refresh-row{flex-direction:row;align-items:center;gap:10px;padding-top:4px}.dp-refresh-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-3);color:var(--ink-faint);border:1px solid var(--bg-3);border-radius:6px;font-size:11px;font-family:var(--mono);letter-spacing:.06em;cursor:pointer;transition:background .12s,color .12s}.dp-refresh-btn:hover{background:var(--bg-2);color:var(--ink)}.dp-refresh-btn:disabled{opacity:.5;cursor:default}.dp-refresh-msg{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--green)}.dp-refresh-msg.hidden{display:none}.dp-test-btn{margin-top:6px;align-self:flex-start;padding:6px 12px;background:var(--bg-3);color:var(--ink);border:1px solid var(--bg-3);border-radius:6px;font-size:12px;font-family:var(--mono);cursor:pointer;transition:background .12s,color .12s}.dp-test-btn:hover{background:var(--brass);color:var(--bg)}.dp-test-btn:disabled{opacity:.6;cursor:default}.dp-fallback{color:var(--ink-faint);font-size:12px;font-style:italic;padding:8px 0}.sw-update-toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:1400;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:999px;box-shadow:0 10px 30px #00000080;font-size:13px;color:var(--ink);max-width:calc(100vw - 32px)}.sw-update-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-update-btn{background:var(--brass);color:var(--bg);padding:4px 12px;border-radius:999px;font-weight:600;font-size:12px;cursor:pointer;flex-shrink:0}.sw-update-btn:hover{background:var(--brass-bright)}.sw-update-dismiss{color:var(--ink-faint);font-size:18px;width:22px;height:22px;line-height:1;flex-shrink:0}.sw-update-dismiss:hover{color:var(--ink)}.video-grid{position:absolute;inset:0;display:grid;gap:3px;background:#000;overflow:hidden}.video-grid[data-count="0"],.video-grid[data-count="1"]{grid-template-columns:1fr}.video-grid[data-count="2"],.video-grid[data-count="3"],.video-grid[data-count="4"]{grid-template-columns:1fr 1fr}.video-grid[data-count="5"],.video-grid[data-count="6"],.video-grid[data-count="7"],.video-grid[data-count="8"],.video-grid[data-count="9"]{grid-template-columns:repeat(3,1fr)}.video-grid[data-count="10"]{grid-template-columns:repeat(4,1fr)}@media (max-width: 700px) and (orientation: portrait){.video-grid[data-count="2"]{grid-template-columns:1fr}.video-grid[data-count="5"],.video-grid[data-count="6"]{grid-template-columns:1fr 1fr}}.video-grid[data-pinned="1"] .vg-tile.pinned{grid-column:span 2;grid-row:span 2}.vg-tile{position:relative;background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:80px}.vg-tile.speaking{box-shadow:inset 0 0 0 3px var(--brass-bright)}.vg-video{width:100%;height:100%;object-fit:cover;display:block}.vg-avatar{position:absolute;width:56px;height:56px;border-radius:50%;background:var(--bg-3);border:1px solid var(--bg-3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;color:var(--ink-dim);user-select:none;z-index:1}.vg-label{position:absolute;bottom:6px;left:8px;display:flex;align-items:center;gap:6px;background:#0009;backdrop-filter:blur(6px);border-radius:6px;padding:3px 7px;z-index:3;max-width:calc(100% - 16px)}.vg-name{font-family:var(--mono);font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vg-badge-row{position:absolute;top:6px;left:6px;display:flex;gap:4px;z-index:3}.vg-muted-badge,.vg-hand-badge{font-size:12px;background:#000000b3;border-radius:4px;padding:2px 4px;line-height:1}.vg-muted-badge.hidden,.vg-hand-badge.hidden{display:none}.vg-pin-btn{position:absolute;top:5px;right:5px;opacity:0;background:#000000a6;border-radius:6px;padding:3px 5px;font-size:12px;z-index:4;transition:opacity .1s}.vg-tile:hover .vg-pin-btn{opacity:1}.quality-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.quality-dot.green{background:var(--green)}.quality-dot.yellow{background:var(--brass-bright)}.quality-dot.red{background:var(--red)}.vg-reaction-float{position:absolute;bottom:40px;left:50%;transform:translate(-50%);pointer-events:none;z-index:10}.reaction-float-emoji{display:block;font-size:28px;animation:float-up 3.2s ease-out forwards;position:absolute;bottom:0;left:0}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:.8;transform:translateY(-80px) scale(1.2)}to{opacity:0;transform:translateY(-120px) scale(.8)}}.iv-video-stage[data-count="5"],.iv-video-stage[data-count="6"],.iv-video-stage[data-count="7"],.iv-video-stage[data-count="8"],.iv-video-stage[data-count="9"]{grid-template-columns:repeat(3,1fr)}.iv-video-stage[data-count="10"]{grid-template-columns:repeat(4,1fr)}.topbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.06);color:var(--ink-dim);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s;position:relative;pointer-events:auto}.topbar-btn:hover{background:#ffffff1f;color:var(--ink)}.invite-popover{position:absolute;top:max(56px,env(safe-area-inset-top) + 48px);right:56px;width:min(320px,calc(100vw - 32px));background:var(--bg-2);border:1px solid var(--bg-3);border-radius:12px;padding:14px 16px;z-index:50;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;gap:10px}.invite-popover.hidden{display:none}.invite-popover-title{font-size:13px;color:var(--ink-dim)}.invite-popover-title strong{color:var(--ink)}.invite-url-field{width:100%;background:var(--bg-3);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:7px 10px;font-family:var(--mono);font-size:11px;color:var(--ink-dim);cursor:text}.invite-copy-btn{background:var(--brass);color:var(--bg);border-radius:8px;padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:background .12s;text-align:center}.invite-copy-btn:hover{background:var(--brass-bright)}.invite-note{font-size:11px;color:var(--ink-faint);line-height:1.5}.invite-divider{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0}.invite-divider:before,.invite-divider:after{content:"";flex:1 1 auto;height:1px;background:#ffffff14}.invite-email-field{width:100%;background:var(--bg-3);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--ink)}.invite-email-field::placeholder{color:var(--ink-faint)}.invite-email-field:focus{outline:none;border-color:var(--brass)}.invite-send-btn{background:var(--brass);color:var(--bg);border:none;border-radius:8px;padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:background .12s,opacity .12s;text-align:center}.invite-send-btn:hover:not(:disabled){background:var(--brass-bright)}.invite-send-btn:disabled{opacity:.55;cursor:progress}.invite-status{font-size:12px;line-height:1.4;min-height:1em}.invite-status.ok{color:#7bc99a}.invite-status.err{color:#e08585}.invite-status.info{color:var(--ink-dim)}.invite-mailto-btn{background:transparent;color:var(--brass);border:1px solid var(--brass);border-radius:8px;padding:7px 12px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:background .12s,color .12s}.invite-mailto-btn:hover{background:var(--brass);color:var(--bg)}.invite-mailto-btn[hidden]{display:none}.lobby-invite-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.lobby-invite-row.hidden{display:none}.lobby-invite-label{font-size:13px;color:var(--ink-faint)}.lobby-invite-copy{font-family:var(--mono);font-size:12px;color:var(--brass-bright);text-decoration:underline;cursor:pointer;padding:0;background:none;border:none}.lobby-invite-copy:hover{color:var(--ink)}.participants-panel,.chat-panel,.settings-panel{position:absolute;top:0;right:0;bottom:0;width:320px;max-width:100vw;background:var(--bg-2);border-left:1px solid var(--bg-3);display:flex;flex-direction:column;z-index:30;overflow:hidden}.participants-panel.hidden,.chat-panel.hidden,.settings-panel.hidden{display:none}@media (max-width: 600px){.participants-panel,.chat-panel,.settings-panel{width:100%;top:auto;bottom:0;height:70vh;border-left:none;border-top:1px solid var(--bg-3);border-radius:12px 12px 0 0}}.pp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--bg-3);flex-shrink:0}.pp-title{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim)}.pp-title .chat-note{font-size:10px;color:var(--ink-faint);text-transform:none;letter-spacing:0;font-family:var(--sans)}.pp-close{color:var(--ink-faint);font-size:20px;line-height:1;cursor:pointer;padding:4px}.pp-close:hover{color:var(--ink)}.pp-list{list-style:none;overflow-y:auto;flex:1;padding:8px 0}.pp-row{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}.pp-row:last-child{border-bottom:none}.pp-self{background:#ffffff05}.pp-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px;color:var(--ink-dim);flex-shrink:0}.pp-name{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pp-you-tag{color:var(--ink-faint);font-size:11px}.pp-host-badge{background:var(--brass);color:var(--bg);font-size:9px;font-family:var(--mono);letter-spacing:.08em;padding:1px 5px;border-radius:4px;text-transform:uppercase;font-weight:700}.pp-hand{font-size:14px}.pp-pinned{font-size:12px}.pp-status{display:flex;align-items:center;gap:6px;flex-shrink:0}.pp-muted-icon{font-size:14px}.pp-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.pp-mic-btn{width:28px;height:28px;padding:0}.pp-end-btn{font-size:11px;font-family:var(--mono);color:var(--red);border:1px solid var(--red);border-radius:4px;padding:3px 7px;cursor:pointer}.pp-end-btn:hover{background:var(--red);color:var(--bg)}.pp-pin-btn{font-size:11px;font-family:var(--mono);color:var(--ink-faint);border:1px solid var(--bg-3);border-radius:4px;padding:3px 7px;cursor:pointer}.pp-pin-btn:hover{color:var(--brass-bright);border-color:var(--brass)}.chat-messages{flex:1;overflow-y:auto;padding:10px 0;list-style:none;display:flex;flex-direction:column;gap:2px}.chat-msg{padding:6px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:baseline;font-size:13px}.chat-msg.self{background:#c898600d}.chat-from{font-family:var(--mono);font-size:11px;color:var(--brass);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.chat-text{color:var(--ink);line-height:1.4;word-break:break-word}.chat-time{font-family:var(--mono);font-size:10px;color:var(--ink-faint);white-space:nowrap}.chat-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--bg-3);flex-shrink:0}.chat-input{flex:1;background:var(--bg-3);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 12px;color:var(--ink);font-size:13px}.chat-input::placeholder{color:var(--ink-faint)}.chat-send{background:var(--brass);color:var(--bg);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.chat-send:hover{background:var(--brass-bright)}.ctrl-badge{position:absolute;top:-4px;right:-4px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;font-family:var(--mono);min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;pointer-events:none;box-shadow:0 0 0 2px var(--bg),0 2px 6px #dc262680;line-height:1}.ctrl-badge.hidden{display:none}.ctrl-badge.alert{animation:chat-badge-pulse 1.4s ease-out infinite}@keyframes chat-badge-pulse{0%{box-shadow:0 0 0 2px var(--bg),0 0 #dc2626b3}70%{box-shadow:0 0 0 2px var(--bg),0 0 0 10px #dc262600}to{box-shadow:0 0 0 2px var(--bg),0 0 #dc262600}}.ctrl{position:relative}.ctrl.has-unread{background:#dc26262e;color:#fff}.ctrl.has-unread svg{stroke:#fca5a5}.chat-toast{position:absolute;bottom:92px;right:16px;display:flex;align-items:center;gap:10px;max-width:320px;padding:10px 12px 10px 10px;background:var(--bg-2);border:1px solid rgba(220,38,38,.45);border-radius:12px;box-shadow:0 10px 30px #00000080;z-index:50;cursor:pointer;transform:translateY(0);opacity:1;transition:opacity .2s ease,transform .2s ease}.chat-toast.hidden{display:none}.chat-toast.chat-toast-leaving{opacity:0;transform:translateY(6px)}.chat-toast-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 #dc2626b3;animation:chat-badge-pulse 1.4s ease-out infinite;flex-shrink:0}.chat-toast-body{flex:1;min-width:0;font-family:var(--sans)}.chat-toast-from{font-size:11px;font-weight:600;color:var(--brass);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.chat-toast-text{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-toast-close{background:transparent;border:none;color:var(--ink-faint);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.chat-toast-close:hover{color:var(--ink);background:#ffffff0f}.reactions-picker{position:absolute;bottom:72px;right:16px;display:flex;gap:6px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:40px;z-index:40;box-shadow:0 8px 30px #00000080}.reactions-picker.hidden{display:none}.reaction-btn{font-size:22px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,background .1s}.reaction-btn:hover{background:#ffffff14;transform:scale(1.2)}.reaction-btn.hand-raise.active{background:#c8986033}.settings-body{flex:1;overflow-y:auto;padding:12px 0}.settings-section{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.settings-section:last-child{border-bottom:none}.settings-section-title{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:10px}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;color:var(--ink);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03)}.settings-toggle-row:last-child{border-bottom:none}.settings-toggle-row input[type=checkbox]{width:36px;height:20px;border-radius:10px;cursor:pointer;accent-color:var(--brass);flex-shrink:0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;color:var(--ink)}.settings-select{background:var(--bg);color:var(--ink);border:1px solid var(--bg-3);border-radius:6px;padding:6px 10px;font-family:var(--sans);font-size:13px;min-width:110px;cursor:pointer}.settings-select:focus{outline:none;border-color:var(--brass)}.settings-hint{font-size:11px;line-height:1.45;color:var(--ink-faint);margin-top:4px}.settings-room-name{font-family:var(--mono);font-size:13px;color:var(--brass-bright);margin-bottom:10px}.settings-copy-link{font-family:var(--mono);font-size:12px;color:var(--brass-bright);text-decoration:underline;cursor:pointer;padding:0}.settings-copy-link:hover{color:var(--ink)}.local-label{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);white-space:nowrap;pointer-events:none}.library-link{margin-left:.75rem;background:transparent;border:1px solid var(--ink-faint, #997b5a);border-radius:999px;padding:.18rem .7rem;font-size:.78rem;letter-spacing:.06em;color:var(--ink-faint, #997b5a);cursor:pointer;text-transform:lowercase}.library-link:hover{color:var(--brass, #a8722e);border-color:var(--brass, #a8722e)}.library-link.hidden{display:none}.auth-chrome{margin-left:.75rem;display:inline-flex;align-items:center;gap:.4rem}.auth-chrome.hidden{display:none}.auth-btn{background:transparent;border:1px solid var(--ink-faint, #997b5a);border-radius:999px;padding:.22rem .78rem;font-size:.78rem;letter-spacing:.04em;color:var(--ink-faint, #997b5a);cursor:pointer;font-family:inherit;transition:color .12s ease,border-color .12s ease,background .12s ease}.auth-btn:hover{color:var(--brass, #a8722e);border-color:var(--brass, #a8722e)}.auth-btn-primary{background:var(--brass, #a8722e);border-color:var(--brass, #a8722e);color:#1a140e}.auth-btn-primary:hover{background:transparent;color:var(--brass, #a8722e);border-color:var(--brass, #a8722e)}.auth-btn-ghost{border-color:transparent;padding-left:.4rem;padding-right:.4rem}.auth-btn-ghost:hover{border-color:var(--ink-faint, #997b5a)}.library{max-width:720px;margin:0 auto;padding:1.5rem 1rem 4rem}.library-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ink-faint, #2a221b);padding-bottom:.6rem;margin-bottom:1.2rem}.library-header h1{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;margin:0;font-size:1.6rem}.library-user{display:flex;gap:.6rem;align-items:baseline;font-size:.85rem}.library-email{color:var(--brass, #a8722e)}.library-empty,.library-signin{padding:1rem 0}.library-empty h2,.library-signin h2{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;margin-bottom:.5rem}.library-actions{margin-bottom:1rem}.room-list{list-style:none;padding:0;margin:0}.room-card{border:1px solid var(--ink-faint, #2a221b);border-radius:8px;padding:.8rem 1rem;margin-bottom:.6rem}.room-card h3{margin:0 0 .2rem;font-size:1rem}.room-kind{text-transform:uppercase;letter-spacing:.08em}.pinned-note{margin-top:.5rem;font-size:.9rem}.room-card-actions{margin-top:.4rem;display:flex;gap:.8rem}.rec-list{list-style:none;padding:0;margin:.4rem 0 0}.rec-list li{display:flex;gap:.7rem;align-items:baseline;padding:.25rem 0;font-family:ui-monospace,Menlo,monospace;font-size:.82rem}.library-import{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--ink-faint, #2a221b)}.signin-status.error{color:#d97a6c}.back-btn{background:transparent;border:none;color:var(--ink-faint, #997b5a);cursor:pointer;font-size:.9rem}body.auth-light-active{background:#fbf8f1}.library.auth-light{--bg: #fbf8f1;--bg-2: #f4eee2;--bg-3: #ece4d3;--ink: #2a221b;--ink-dim: #5c554a;--ink-faint: #a39a89;--brass: #b07d3f;--brass-bright:#c89860;background:var(--bg);color:var(--ink);background-image:radial-gradient(1200px 520px at 10% -10%,#f9eed8 0%,transparent 60%),radial-gradient(900px 480px at 110% 10%,#f6e9d2 0%,transparent 55%);min-height:100vh;border-radius:0;padding:2rem 1.25rem 4rem}.library.auth-light .library-header{border-bottom-color:#2a221b2e}.library.auth-light .library-header h1{color:var(--ink);font-size:2rem}.library.auth-light .back-btn{color:var(--ink-dim)}.library.auth-light .back-btn:hover{color:var(--brass)}.library.auth-light .library-signin,.library.auth-light .library-empty{max-width:460px;margin:1.25rem auto 0;padding:1.6rem 1.4rem;background:#fff;border:1px solid rgba(42,34,27,.1);border-radius:14px;box-shadow:0 1px #fffc inset,0 18px 40px -22px #3c28122e,0 4px 12px -6px #3c281214}.library.auth-light .library-signin h2,.library.auth-light .library-empty h2{color:var(--ink);font-size:1.5rem;margin-bottom:.4rem}.library.auth-light .library-signin p{color:var(--ink-dim);margin:0 0 1rem;font-size:.95rem;line-height:1.5}.library.auth-light .library-signin p.muted.small{margin-top:1rem;font-size:.78rem;color:var(--ink-faint);line-height:1.45}.library.auth-light .library-signin form.form{display:flex;flex-direction:column;gap:.5rem}.library.auth-light .library-signin>.form>label,.library.auth-light .library-signin form.form>label{font-family:ui-monospace,Menlo,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.library.auth-light .role-card,.library.auth-light .role-card .role-card-label,.library.auth-light .role-card .role-card-blurb{font-family:inherit;letter-spacing:normal;text-transform:none}.library.auth-light .field-hint{font-size:.75rem;line-height:1.35;margin:-.2rem 0 .1rem;color:var(--ink-dim, #5c554a)}.library.auth-light .library-signin input[type=email],.library.auth-light .library-signin input[type=tel],.library.auth-light .library-signin input[type=text],.library.auth-light .library-signin input[type=password]{background:#fbf6ec;color:var(--ink);border:1px solid rgba(42,34,27,.18);border-radius:10px;padding:.7rem .85rem;font-size:1rem;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.library.auth-light .library-signin input[type=email]::placeholder,.library.auth-light .library-signin input[type=tel]::placeholder,.library.auth-light .library-signin input[type=text]::placeholder,.library.auth-light .library-signin input[type=password]::placeholder{color:#2a221b59}.library.auth-light .library-signin input[type=email]:focus,.library.auth-light .library-signin input[type=tel]:focus,.library.auth-light .library-signin input[type=text]:focus,.library.auth-light .library-signin input[type=password]:focus{outline:none;border-color:var(--brass);background:#fff;box-shadow:0 0 0 4px #b07d3f26}.library.auth-light .library-signin input:-webkit-autofill,.library.auth-light .library-signin input:-webkit-autofill:hover,.library.auth-light .library-signin input:-webkit-autofill:focus,.library.auth-light .library-signin input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #fbf6ec inset!important;-webkit-text-fill-color:var(--ink)!important;caret-color:var(--ink);border:1px solid rgba(42,34,27,.18)}.library.auth-light .library-signin button.primary{margin-top:.7rem;background:var(--brass);color:#fffaf0;border:1px solid var(--brass);border-radius:999px;padding:.7rem 1.2rem;font-size:.95rem;letter-spacing:.02em;cursor:pointer;font-family:inherit;transition:background .14s ease,border-color .14s ease,transform 80ms ease}.library.auth-light .library-signin button.primary:hover{background:#9c6c33;border-color:#9c6c33}.library.auth-light .library-signin button.primary:active{transform:translateY(1px)}.library.auth-light .library-signin button.primary:disabled{opacity:.55;cursor:progress}.library.auth-light .signin-status{margin-top:.6rem;min-height:1.2em;font-size:.85rem;color:var(--ink-dim)}.library.auth-light .signin-status.error{color:#b54234}.library.auth-light .auth-chrome{display:none}.library.auth-light .library-signup{max-width:560px}.library.auth-light .role-picker{border:none;padding:0;margin:0 0 .4rem}.library.auth-light .role-picker legend{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.55rem;padding:0}.library.auth-light .role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}@media (max-width: 520px){.library.auth-light .role-grid{grid-template-columns:1fr}}.library.auth-light .role-card{position:relative;display:flex;flex-direction:column;gap:.18rem;padding:.7rem .85rem;background:var(--bg-2, #f4eee2);border:1px solid rgba(176,125,63,.22);border-radius:10px;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.library.auth-light .role-card:hover{border-color:#b07d3f8c;background:var(--bg-3, #ece4d3)}.library.auth-light .role-card.selected{border-color:var(--brass, #b07d3f);background:#fff;box-shadow:0 0 0 3px #b07d3f1f}.library.auth-light .role-card input[type=radio]{position:absolute;opacity:0;inset:0;cursor:pointer}.library.auth-light .role-card input[type=radio]:focus-visible+.role-card-label{outline:2px solid var(--brass, #b07d3f);outline-offset:3px;border-radius:3px}.library.auth-light .role-card-label{font-weight:600;font-size:.95rem;color:var(--ink, #2a221b)}.library.auth-light .role-card-blurb{font-size:.78rem;line-height:1.35;color:var(--ink-dim, #5c554a)}.mirror-controls{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.35rem;z-index:5}.mirror-btn{background:#14100cb3;color:var(--brass, #a8722e);border:1px solid var(--brass, #a8722e);border-radius:999px;padding:.18rem .6rem;font-size:.7rem;letter-spacing:.06em;cursor:pointer;text-transform:uppercase}.mirror-btn.active{background:var(--brass, #a8722e);color:#14100c}.mirror-flipped video{transform:scaleX(-1)}.fret-overlay{position:absolute;inset:0;pointer-events:none;z-index:4}.fret-overlay.calibrating{pointer-events:auto;cursor:crosshair}.home{max-width:1080px;margin:0 auto;padding:1.4rem 1.2rem 3rem;color:var(--ink, #2a221b);display:flex;flex-direction:column;gap:1.8rem}.home-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(200,152,96,.18)}.home-brand{display:flex;flex-direction:column;gap:.35rem}.home-brand-logo{display:inline-flex;height:36px;width:auto;flex:0 0 auto;text-decoration:none}.home-brand-logo img,.home-brand-logo svg{height:100%;width:auto;display:block;user-select:none}.home-brand-mark{font-family:"Instrument Serif",Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.6rem;letter-spacing:-.01em;color:var(--brass-bright, #c98a35)}.home-brand-tag{font-size:.78rem;color:var(--ink-dim, #6b6051)}.home-user{display:flex;align-items:center;gap:.8rem;font-size:.85rem}.home-user-email{color:var(--ink, #2a221b);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem}.home-link{background:none;border:none;color:var(--brass, #a8722e);font-size:.85rem;cursor:pointer;padding:.2rem 0}.home-link:hover{color:var(--brass-bright, #c98a35)}.home-section-legend{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim, #6b6051);margin:0 0 .7rem;font-weight:500}.home-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}@media (max-width: 900px){.home-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.home-mode-grid{grid-template-columns:1fr}}.home-mode-card{display:flex;flex-direction:column;gap:.32rem;text-align:left;padding:1rem 1.05rem 1.05rem;background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.16);border-radius:12px;color:inherit;cursor:pointer;transition:border-color .14s ease,transform 80ms ease,background .14s ease;font-family:inherit;min-height:110px}.home-mode-card:hover{border-color:var(--brass, #a8722e);background:var(--bg-3, #ebdfbf)}.home-mode-card:active{transform:translateY(1px)}.home-mode-card.dimmed{opacity:.5;filter:saturate(.7)}.home-mode-card.dimmed:hover{opacity:.78}.home-mode-title{font-family:"Instrument Serif",Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.3rem;letter-spacing:-.005em;color:var(--brass, #a8722e)}.home-mode-sub{font-size:.86rem;line-height:1.4;color:var(--ink-dim, #6b6051)}.home-mode-hint{margin:.2rem 0 0;font-size:.74rem;color:var(--ink-faint, #a39782);font-style:italic}.home-rooms-body{min-height:80px}.home-rooms-empty{padding:1.2rem 1rem;border:1px dashed rgba(200,152,96,.2);border-radius:12px;text-align:center}.home-rooms-empty p{margin:.2rem 0}.home-rooms-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.55rem}.home-room-card{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.14);border-radius:10px}.home-room-kind{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:.16rem .4rem;border-radius:4px;color:var(--brass-bright, #c98a35);background:#c898601a;border:1px solid rgba(200,152,96,.25)}.home-room-kind.kind-class{color:#2f5b8a;border-color:#3c6eaf66;background:#3c6eaf1f}.home-room-kind.kind-band{color:#8a4a1a;border-color:#a8602866;background:#a860281f}.home-room-name{flex:1;font-size:.92rem;color:var(--ink, #2a221b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-room-join{background:var(--brass, #a8722e);color:#1c1610;border:none;padding:.32rem .85rem;border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer;letter-spacing:.04em}.home-room-join:hover{background:var(--brass-bright, #c98a35)}.view{max-width:880px;margin:0 auto;padding:1.4rem 1.2rem 3rem;color:var(--ink, #2a221b)}.view-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem;flex-wrap:wrap}.view-header h1{flex:1;margin:0;font-family:"Instrument Serif",Cormorant Garamond,Georgia,serif;font-style:italic;font-size:2rem;letter-spacing:-.01em;color:var(--brass-bright, #c98a35)}.view-header .back-btn{background:transparent;border:1px solid rgba(200,152,96,.24);color:var(--ink-dim, #6b6051);border-radius:999px;padding:.35rem .9rem;cursor:pointer;font-family:inherit;font-size:.88rem;transition:color .12s ease,border-color .12s ease}.view-header .back-btn:hover{color:var(--brass-bright, #c98a35);border-color:var(--brass, #a8722e)}.view-body{display:grid;gap:1.4rem}.empty-state{border:1px dashed rgba(200,152,96,.2);border-radius:12px;padding:1.6rem 1.2rem;text-align:center}.empty-state p{margin:.2rem 0}.form.mode-form{display:grid;gap:.55rem;max-width:460px}.form.mode-form label{font-size:.82rem;color:var(--ink-dim, #6b6051);text-transform:uppercase;letter-spacing:.06em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.form.mode-form input[type=text],.form.mode-form input[type=email],.form.mode-form input[type=tel]{background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.2);color:var(--ink, #2a221b);border-radius:8px;padding:.6rem .8rem;font-family:inherit;font-size:1rem}.form.mode-form input:focus{outline:none;border-color:var(--brass, #a8722e)}.mode-explainer h2{margin:0 0 .4rem;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.5rem;color:var(--brass-bright, #c98a35)}.mode-explainer p{margin:0;line-height:1.55}.persistent-room-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.persistent-room-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:1rem;align-items:center;background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.14);border-radius:10px;padding:.8rem 1rem}.persistent-room-name{grid-column:1;grid-row:1;font-weight:500}.persistent-room-slug{grid-column:1;grid-row:2;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.76rem}.persistent-room-actions{grid-column:2;grid-row:1 / span 2;display:flex;gap:.6rem;align-items:center}.persistent-room-detail{display:grid;gap:1.4rem}.prd-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.prd-head h2{flex:1;margin:0;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.5rem;color:var(--brass-bright, #c98a35)}.prd-section h3{margin:0 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim, #6b6051);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.member-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.member-row{display:flex;justify-content:space-between;background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.1);border-radius:8px;padding:.55rem .8rem}.solo-view .solo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}@media (max-width: 640px){.solo-view .solo-grid{grid-template-columns:1fr}}.solo-card{background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.16);border-radius:12px;padding:1.2rem;display:grid;gap:.7rem}.solo-card h2{margin:0;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--brass-bright, #c98a35)}.tuner-display{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:2.4rem;letter-spacing:.04em;color:var(--brass-bright, #c98a35);text-align:center;padding:.8rem 0}.tuner-cents{text-align:center;font-family:ui-monospace,monospace;font-size:.95rem;color:var(--ink-dim, #6b6051)}.metronome-bpm{font-family:ui-monospace,monospace;font-size:2rem;text-align:center;color:var(--brass-bright, #c98a35)}.metronome-controls{display:flex;align-items:center;justify-content:center;gap:.6rem}.metronome-controls input[type=range]{flex:1}.role-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,monospace}.role-pill.role-host{background:#c898602e;color:var(--brass-bright, #c98a35);border:1px solid var(--brass, #a8722e)}.role-pill.role-listener{background:#8c8c8c1f;color:var(--ink-dim, #6b6051);border:1px solid rgba(200,152,96,.16)}.seat-picker{border:1px solid rgba(200,152,96,.16);border-radius:8px;padding:.7rem .9rem;display:grid;gap:.4rem;margin:0}.seat-picker legend{font-size:.78rem;color:var(--ink-dim, #6b6051);text-transform:uppercase;letter-spacing:.06em;padding:0 .4rem;font-family:ui-monospace,monospace}.form.mode-form label.radio-row,.seat-picker label.radio-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;text-transform:none;letter-spacing:0;font-family:inherit;color:var(--ink, #2a221b);font-size:.95rem}.openmic-paths{display:grid;gap:1.4rem}.openmic-paths h3{margin:0 0 .5rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brass, #a8722e);font-family:ui-monospace,monospace}.jam-recent h3{margin:0 0 .6rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brass, #a8722e);font-family:ui-monospace,monospace}.signin-status.error,.error{color:#e07a7a}button.primary{background:var(--brass, #a8722e);border:1px solid var(--brass, #a8722e);color:#1a1714;padding:.6rem 1.1rem;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:500;font-size:.95rem;transition:background .12s ease,border-color .12s ease}button.primary:hover{background:var(--brass-bright, #c98a35);border-color:var(--brass-bright, #c98a35)}button.primary.small{padding:.4rem .8rem;font-size:.85rem}button.link{background:transparent;border:none;color:var(--brass-bright, #c98a35);cursor:pointer;font-family:inherit;text-decoration:underline;padding:0;font-size:inherit}button.link:hover{color:var(--brass, #a8722e)}.solo-tool{background:var(--bg-2, #f3ead4);border:1px solid rgba(200,152,96,.16);border-radius:12px;padding:1.2rem;display:grid;gap:.7rem}.solo-tool h2{margin:0;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--brass-bright, #c98a35)}.solo-tool-row{display:flex;gap:.4rem;justify-content:center}.solo-tool-row button{background:var(--bg-3, #ebdfbf);border:1px solid rgba(200,152,96,.2);color:var(--ink, #2a221b);border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-family:ui-monospace,monospace;font-size:.85rem}.solo-tool-row button:hover{border-color:var(--brass, #a8722e)}.bpm-slider{width:100%;accent-color:var(--brass, #a8722e)}.metronome-bpm-value{font-size:2.4rem}.metronome-bpm-label{font-size:.78rem;margin-left:.4rem;color:var(--ink-dim, #6b6051);text-transform:uppercase;letter-spacing:.08em}.metronome-tick{height:6px;border-radius:3px;background:#c8986024;transition:background 60ms ease}.metronome-tick.on{background:var(--brass-bright, #c98a35)}.tuner-display{display:flex;flex-direction:column;align-items:center;gap:.2rem}.tuner-note{font-family:ui-monospace,monospace;font-size:2.6rem;color:var(--brass-bright, #c98a35)}.tuner-meter{position:relative;height:14px;border-radius:7px;background:#c8986024;overflow:hidden}.tuner-meter-needle{position:absolute;top:0;left:50%;width:4px;height:100%;background:var(--brass-bright, #c98a35);transform:translate(-50%);transition:left .12s ease}.tuner-meter-center{position:absolute;top:0;left:50%;width:1px;height:100%;background:#ffffff26}.preroll{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,rgba(212,175,55,.08) 0%,var(--bg) 60%);padding:24px;z-index:1}.preroll-card{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:36px 28px;background:var(--bg-2);border:1px solid rgba(212,175,55,.18);border-radius:18px;box-shadow:0 24px 60px #00000080}.preroll-brand{width:64px;height:64px;display:flex;align-items:center;justify-content:center}.preroll-brand-img{width:100%;height:100%;object-fit:contain}.preroll-greeting{margin:0;font-family:var(--display, var(--sans));font-size:28px;line-height:1.15;font-weight:600;color:var(--ink);letter-spacing:-.01em}.preroll-tagline{margin:0;font-family:var(--sans);font-size:14px;color:var(--ink-faint);font-style:italic}.preroll-room-hint{margin:4px 0 0;font-family:var(--sans);font-size:12px;color:var(--ink-faint)}.preroll-room-hint code{font-family:var(--mono);background:#d4af371a;color:var(--brass);padding:2px 6px;border-radius:4px;font-size:11px}.preroll-start{width:100%;margin-top:8px;padding:14px 24px;background:var(--brass);color:#1a1410;border:none;border-radius:10px;font-family:var(--sans);font-size:16px;font-weight:700;cursor:pointer;transition:background .12s ease,transform 80ms ease,box-shadow .12s ease;box-shadow:0 4px 14px #d4af3759}.preroll-start:hover{background:var(--brass-bright);color:#1a1410;box-shadow:0 6px 20px #d4af3773}.preroll-start:active{transform:translateY(1px)}.preroll-start:disabled{opacity:.6;cursor:progress}.preroll-note{margin:0;font-family:var(--sans);font-size:11px;line-height:1.5;color:var(--ink-faint)}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-2);color:var(--ink-dim);border:1px solid var(--bg-3);flex-shrink:0;margin-bottom:4px;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease;pointer-events:auto}.menu-btn:hover{background:var(--bg-3);color:var(--brass-bright);border-color:var(--brass)}.menu-btn:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.menu-btn svg{width:20px;height:20px}.menu-scrim{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .2s ease;z-index:40;pointer-events:none}.menu-scrim.open{opacity:1;pointer-events:auto}.menu-scrim.hidden{display:none}.menu-drawer{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:92vw;background:var(--bg-2);border-right:1px solid var(--bg-3);display:flex;flex-direction:column;z-index:41;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);box-shadow:4px 0 24px #00000059;overflow:hidden}.menu-drawer.open{transform:translate(0)}.menu-drawer.hidden{display:none}.menu-header{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--bg-3);padding-top:max(16px,env(safe-area-inset-top))}.menu-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.menu-display-name{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-email{font-family:var(--sans);font-size:12px;color:var(--ink-faint);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--bg-3);color:var(--ink-dim);font-size:20px;line-height:1;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.menu-close:hover{color:var(--ink);background:var(--bg-3);border-color:var(--brass)}.menu-section{padding:14px 16px;border-bottom:1px solid var(--bg-3)}.menu-section:last-child{border-bottom:none}.menu-section-title{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.menu-mode-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.menu-mode-list li{margin:0;padding:0}.menu-mode{display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--ink);font-family:var(--sans);font-size:14px;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.menu-mode:hover{background:var(--bg-3)}.menu-mode:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.menu-mode .menu-mode-emoji{font-size:18px;width:22px;text-align:center;flex-shrink:0}.menu-mode .menu-mode-label{flex:1;min-width:0}.menu-mode.current{background:var(--bg-3);border-color:var(--brass);color:var(--brass-bright)}.menu-mode.current:after{content:"Current";font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);padding:2px 6px;border-radius:4px;background:#00000040;flex-shrink:0}.menu-role-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;background:var(--bg-3);border-radius:8px}.menu-role-opt{padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--ink-dim);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.menu-role-opt:hover{color:var(--ink)}.menu-role-opt:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.menu-role-opt.on{background:var(--bg-2);color:var(--brass-bright);border-color:var(--brass)}.menu-role-hint{margin-top:8px;font-family:var(--sans);font-size:11px;line-height:1.4;color:var(--ink-faint)}.menu-section-actions{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}.menu-action{display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--ink);font-family:var(--sans);font-size:14px;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.menu-action svg{flex-shrink:0;color:var(--ink-faint)}.menu-action:hover{background:var(--bg-3)}.menu-action:hover svg{color:var(--brass-bright)}.menu-action:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.menu-action-danger{color:#f5a3a3}.menu-action-danger svg{color:#f5a3a3}.menu-action-danger:hover{background:#dc26261f;color:#ff8a8a}.menu-action-danger:hover svg{color:#ff8a8a}.menu-section-quickactions{display:none}.menu-quickactions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.menu-quickaction{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;background:var(--bg-2, transparent);border:1px solid var(--bg-3);border-radius:10px;color:var(--ink);font-family:var(--sans);font-size:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;min-height:64px}.menu-quickaction svg{color:var(--ink-faint)}.menu-quickaction:hover{background:var(--bg-3);border-color:var(--brass)}.menu-quickaction:hover svg{color:var(--brass-bright, var(--brass))}.menu-quickaction:active{transform:scale(.97)}.menu-quickaction:focus-visible{outline:2px solid var(--brass);outline-offset:2px}@media (max-width: 600px){.menu-drawer{width:100%;max-width:100%}.menu-section-quickactions{display:flex;flex-direction:column}.controls #recBtn,.controls #recStemsBtn,.controls #participantsBtn,.controls #reactBtn,.controls #tagBtn{display:none}.controls{gap:12px;padding-left:12px;padding-right:12px}.ctrl{width:52px;height:52px}.ctrl svg{width:22px;height:22px}}@media (prefers-reduced-motion: reduce){.menu-drawer,.menu-scrim{transition:none}}.room-chip-kind{margin-left:8px;padding-left:8px;border-left:1px solid rgba(255,255,255,.2);color:var(--brass-bright);font-size:10px;letter-spacing:.1em;text-transform:none;font-weight:600}.mode-switch-scrim{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s ease;z-index:50;pointer-events:none}.mode-switch-scrim.open{opacity:1;pointer-events:auto}.mode-switch-scrim.hidden{display:none}.mode-switch-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.96);width:min(420px,calc(100vw - 32px));background:var(--bg-2);border:1px solid var(--bg-3);border-radius:14px;padding:20px 20px 18px;box-shadow:0 24px 60px #00000080,0 0 0 1px #0003;z-index:51;opacity:0;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;gap:14px}.mode-switch-modal.open{opacity:1;transform:translate(-50%,-50%) scale(1)}.mode-switch-modal.hidden{display:none}.msm-header{display:flex;align-items:center;gap:14px}.msm-emoji{font-size:28px;line-height:1;flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-3);border-radius:10px}.msm-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msm-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.msm-title{font-family:var(--sans);font-size:18px;font-weight:700;color:var(--ink);margin:0;line-height:1.2}.msm-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--bg-3);color:var(--ink-dim);font-size:20px;line-height:1;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.msm-close:hover{color:var(--ink);background:var(--bg-3);border-color:var(--brass)}.msm-blurb{margin:0;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-dim)}.msm-link-row{display:flex;gap:8px}.msm-url-field{flex:1;min-width:0;padding:10px 12px;background:var(--bg-3);border:1px solid var(--bg-3);border-radius:8px;color:var(--ink);font-family:var(--mono);font-size:12px;outline:none}.msm-url-field:focus{border-color:var(--brass)}.msm-copy-btn{flex-shrink:0;padding:10px 14px;background:var(--brass);color:#1a1410;border:none;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease}.msm-copy-btn:hover{background:var(--brass-bright)}.msm-note{font-family:var(--sans);font-size:11px;line-height:1.4;color:var(--ink-faint)}.msm-done{align-self:flex-end;padding:9px 18px;background:var(--bg-3);color:var(--ink);border:1px solid var(--bg-3);border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.msm-done:hover{background:var(--bg-2);border-color:var(--brass);color:var(--brass-bright)}@media (max-width: 600px){.mode-switch-modal{padding:16px 16px 14px}.msm-title{font-size:16px}}@media (prefers-reduced-motion: reduce){.mode-switch-modal,.mode-switch-scrim{transition:none}}.stream-live-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;background:#dc26262e;border:1px solid rgba(220,38,38,.4);border-radius:999px;font-family:var(--mono);font-size:10px;color:#ff7a7a;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.stream-live-chip.hidden{display:none}.slc-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;animation:rec-pulse 1.2s ease-in-out infinite}.stream-viewers-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-family:var(--mono);font-size:11px;color:var(--ink-dim)}.stream-viewers-chip.hidden{display:none}.stream-tools-btn,.stream-tip-btn{background:#a8722e24;border:1px solid rgba(168,114,46,.32);color:var(--brass-bright);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--sans)}.stream-tools-btn:hover,.stream-tip-btn:hover{background:#a8722e38;border-color:var(--brass)}.stream-tools-btn.hidden,.stream-tip-btn.hidden{display:none}.stream-tip-icon{font-size:14px;line-height:1}.stream-tools-panel{position:absolute;top:0;right:0;bottom:0;width:340px;max-width:100vw;background:var(--bg-2);border-left:1px solid var(--bg-3);display:flex;flex-direction:column;z-index:31;overflow:hidden}.stream-tools-panel.hidden{display:none}@media (max-width: 600px){.stream-tools-panel{width:100%;top:auto;bottom:0;height:75vh;border-left:none;border-top:1px solid var(--bg-3);border-radius:12px 12px 0 0}}.stp-tabs{display:flex;border-bottom:1px solid var(--bg-3);flex-shrink:0}.stp-tab{flex:1;background:transparent;border:none;color:var(--ink-dim);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 10px;cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px}.stp-tab:hover{color:var(--ink)}.stp-tab.on{color:var(--brass-bright);border-bottom-color:var(--brass)}.stp-badge{background:var(--brass);color:var(--bg);border-radius:999px;font-size:9px;padding:1px 6px;font-weight:700;min-width:16px;text-align:center}.stp-pane{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.stp-pane.hidden,.stp-host-only.hidden,.stp-listener-only.hidden{display:none}.stp-input{width:100%;background:var(--bg);border:1px solid var(--bg-3);border-radius:6px;padding:8px 10px;color:var(--ink);font-family:var(--sans);font-size:13px}.stp-input:focus{outline:none;border-color:var(--brass)}textarea.stp-input{resize:vertical;min-height:60px}.stp-btn{background:var(--bg-3);border:1px solid transparent;color:var(--ink);border-radius:6px;padding:8px 12px;cursor:pointer;font-size:13px;font-family:var(--sans)}.stp-btn:hover{background:var(--bg-2);border-color:var(--bg-3)}.stp-btn.primary{background:var(--brass);color:var(--bg);border-color:var(--brass);font-weight:600}.stp-btn.primary:hover{background:var(--brass-bright);border-color:var(--brass-bright)}.stp-btn.small{padding:4px 8px;font-size:11px}.stp-btn.ghost{background:transparent;border-color:var(--bg-3);color:var(--ink-dim)}.stp-btn.ghost:hover{color:var(--ink);border-color:var(--brass)}.stp-list{display:flex;flex-direction:column;gap:10px}.stp-empty{color:var(--ink-faint);font-size:12px;text-align:center;padding:20px 8px;font-style:italic}.stp-poll{background:var(--bg);border:1px solid var(--bg-3);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.stp-poll-q{font-size:13px;color:var(--ink);font-weight:600}.stp-poll-opts{display:flex;flex-direction:column;gap:4px}.stp-poll-opt{position:relative;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:12px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;color:var(--ink);font-family:var(--sans)}.stp-poll-opt:hover:not(:disabled){border-color:var(--brass);color:var(--brass-bright)}.stp-poll-opt:disabled{cursor:default}.stp-poll-bar{position:absolute;inset:0 auto 0 0;background:#a8722e2e;transition:width .3s ease;z-index:0}.stp-poll-label,.stp-poll-pct{position:relative;z-index:1;font-family:var(--sans)}.stp-poll-pct{font-family:var(--mono);font-size:11px;color:var(--ink-dim)}.stp-poll-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.stp-poll-total{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.08em}.stp-pill{display:inline-block;background:#a8722e2e;color:var(--brass-bright);font-size:10px;font-family:var(--mono);padding:2px 6px;border-radius:4px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.stp-pill-dim{background:#ffffff0f;color:var(--ink-faint)}.stp-qa{background:var(--bg);border:1px solid var(--bg-3);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.stp-qa-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.stp-qa-from{font-family:var(--mono);font-size:10px;color:var(--ink-faint);letter-spacing:.06em}.stp-qa-text{font-size:13px;color:var(--ink);line-height:1.4}.stp-qa-actions{display:flex;gap:6px;margin-top:4px}.stp-role{display:inline-block;background:#ffffff0f;color:var(--ink-dim);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border-radius:4px}.pp-cohost-btn{background:#a8722e24;color:var(--brass-bright);border:1px solid rgba(168,114,46,.32);border-radius:4px;padding:2px 6px;font-size:10px;font-family:var(--mono);cursor:pointer;margin-left:auto;letter-spacing:.06em}.pp-cohost-btn:hover{background:#a8722e47;border-color:var(--brass)}.cohost-toast{position:fixed;top:76px;left:50%;transform:translate(-50%);background:var(--bg-2);border:1px solid var(--brass);border-radius:10px;padding:12px 14px 12px 12px;display:flex;align-items:flex-start;gap:10px;z-index:100;max-width:360px;box-shadow:0 6px 24px #00000080}.cohost-toast.hidden{display:none}.cohost-toast-emoji{font-size:22px;line-height:1}.cohost-toast-body{flex:1}.cohost-toast-title{font-size:13px;font-weight:600;color:var(--brass-bright);margin-bottom:2px}.cohost-toast-text{font-size:12px;color:var(--ink-dim);line-height:1.4}.cohost-toast-close{background:transparent;border:none;color:var(--ink-faint);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.cohost-toast-close:hover{color:var(--ink)}.music-tools-btn{background:#a8722e1a;border:1px solid rgba(168,114,46,.28);color:var(--brass-bright);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:var(--sans)}.music-tools-btn:hover{background:#a8722e2e;border-color:var(--brass)}.music-tools-btn.hidden{display:none}.music-tools-panel{position:absolute;top:0;right:0;bottom:0;width:340px;max-width:100vw;background:var(--bg-2);border-left:1px solid var(--bg-3);display:flex;flex-direction:column;z-index:32;overflow:hidden}.music-tools-panel.hidden{display:none}@media (max-width: 600px){.music-tools-panel{width:100%;top:auto;bottom:0;height:80vh;border-left:none;border-top:1px solid var(--bg-3);border-radius:12px 12px 0 0}}.mtp-tabs{display:flex;border-bottom:1px solid var(--bg-3);flex-shrink:0}.mtp-tab{flex:1;background:transparent;border:none;color:var(--ink-dim);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 6px;cursor:pointer;border-bottom:2px solid transparent}.mtp-tab:hover{color:var(--ink)}.mtp-tab.on{color:var(--brass-bright);border-bottom-color:var(--brass)}.mtp-pane{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px}.mtp-pane.hidden{display:none}.mtp-enable-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--bg);border:1px solid var(--bg-3);border-radius:8px}.mtp-enable-row label{font-size:13px;color:var(--ink);font-family:var(--sans)}.mtp-disabled-prompt{color:var(--ink-faint);font-size:12px;text-align:center;padding:20px 8px;font-style:italic}.mtp-disabled-prompt.hidden,.mtp-controls.hidden{display:none}.mtp-beat-display{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px 8px;background:var(--bg);border:1px solid var(--bg-3);border-radius:8px;min-height:60px}.mtp-beat-dot{width:14px;height:14px;border-radius:50%;background:var(--bg-3);border:1px solid var(--ink-faint);transition:transform 80ms ease,background-color 80ms ease}.mtp-beat-dot.beat-accent{border-color:var(--brass)}.mtp-beat-dot.beat-on{background:var(--brass);transform:scale(1.35)}.mtp-beat-dot.beat-on.beat-accent{background:var(--brass-bright)}.mtp-field{display:flex;flex-direction:column;gap:4px}.mtp-field-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);display:flex;justify-content:space-between;align-items:center}.mtp-field-value{font-family:var(--mono);font-size:12px;color:var(--brass-bright)}.mtp-slider{width:100%;accent-color:var(--brass)}.mtp-select,.mtp-tempo-input{width:100%;background:var(--bg);border:1px solid var(--bg-3);border-radius:6px;padding:8px 10px;color:var(--ink);font-family:var(--sans);font-size:13px}.mtp-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.mtp-checkbox-row input{accent-color:var(--brass)}.mtp-actions{display:flex;gap:8px}.mtp-btn{flex:1;background:var(--bg-3);border:1px solid transparent;color:var(--ink);border-radius:6px;padding:10px 12px;cursor:pointer;font-size:13px;font-family:var(--sans);font-weight:600}.mtp-btn:hover{background:var(--bg-2);border-color:var(--bg-3)}.mtp-btn.primary{background:var(--brass);color:var(--bg);border-color:var(--brass)}.mtp-btn.primary:hover{background:var(--brass-bright);border-color:var(--brass-bright)}.mtp-btn.ghost{background:transparent;border-color:var(--bg-3);color:var(--ink-dim)}.mtp-btn.ghost:hover{color:var(--ink);border-color:var(--brass)}.mtp-timer-display{font-family:var(--mono);font-size:36px;text-align:center;padding:18px 8px;background:var(--bg);border:1px solid var(--bg-3);border-radius:8px;color:var(--ink);letter-spacing:.04em;font-variant-numeric:tabular-nums}.mtp-timer-display.alert{border-color:#dc2626;color:#ff7a7a;animation:timer-flash .5s ease-in-out 6}@keyframes timer-flash{0%,to{background:var(--bg)}50%{background:#dc262633}}.mtp-mode-row{display:flex;gap:6px}.mtp-mode-btn{flex:1;background:var(--bg);border:1px solid var(--bg-3);color:var(--ink-dim);border-radius:6px;padding:6px 8px;cursor:pointer;font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.mtp-mode-btn.on{border-color:var(--brass);color:var(--brass-bright);background:#a8722e1a}.mtp-time-inputs{display:flex;gap:6px;align-items:center}.mtp-time-inputs .mtp-tempo-input{text-align:center}.mtp-time-inputs span{color:var(--ink-faint);font-family:var(--mono)}.mtp-tuner-readout{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 12px;background:var(--bg);border:1px solid var(--bg-3);border-radius:8px}.mtp-tuner-note{font-family:var(--serif);font-size:44px;line-height:1;color:var(--ink);font-weight:600}.mtp-tuner-note .octave{font-size:18px;color:var(--ink-dim);vertical-align:super}.mtp-tuner-hz{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.06em}.mtp-tuner-cents{font-family:var(--mono);font-size:13px;color:var(--brass-bright);margin-top:2px}.mtp-tuner-gauge{position:relative;height:38px;background:var(--bg);border:1px solid var(--bg-3);border-radius:6px;overflow:hidden}.mtp-tuner-gauge:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--ink-faint);opacity:.5}.mtp-tuner-needle{position:absolute;top:6px;bottom:6px;width:3px;background:var(--brass);left:50%;transform:translate(-50%);transition:left 90ms ease,background-color 90ms ease;border-radius:2px}.mtp-tuner-needle.in-tune{background:#22c55e}.mtp-tuner-gauge-scale{display:flex;justify-content:space-between;padding:0 4px;font-family:var(--mono);font-size:9px;color:var(--ink-faint);letter-spacing:.06em;margin-top:-2px}.stream-schedule{margin-top:22px}.stream-schedule h3{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.stream-schedule-list{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}.stream-schedule-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:8px}.ssi-info{flex:1;min-width:0}.ssi-slug{font-family:var(--mono);font-size:13px;color:var(--ink)}.ssi-title{display:block;font-size:12px;color:var(--ink-dim);margin-top:2px}.ssi-cd{font-family:var(--mono);font-size:10px;color:var(--brass-bright);letter-spacing:.06em;margin-top:4px}.stream-host-extras{margin-top:24px}.stream-host-extras h3{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 6px}.stream-key-row{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:8px;padding:8px 10px;margin-bottom:6px}.stream-key-value{flex:1;font-family:var(--mono);font-size:12px;color:var(--brass-bright);word-break:break-all;overflow-wrap:anywhere}.cta-large{min-height:52px;font-size:16px;padding:0 28px;border-radius:12px}.home-public{min-height:100vh;display:flex;flex-direction:column;padding:24px;max-width:720px;width:100%;min-width:0;margin:0 auto;box-sizing:border-box}.home-public-top{display:flex;align-items:center;padding:8px 0 32px}.home-public-top .brand-logo{display:inline-flex;align-items:center}.home-public-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:40px}.home-public-hero h1{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 12px;color:var(--ink)}.home-public-hero h1 em{font-style:italic;color:var(--brass-bright)}.home-public-hero p{font-size:17px;color:var(--ink-dim);max-width:56ch;margin:0}.home-public-cta{display:flex;flex-direction:column;gap:12px;max-width:380px}.home-public-cta .cta-large{width:100%}.home-public-help{margin:8px 0 0;line-height:1.5}.home-lobby{min-height:100vh;display:flex;flex-direction:column;padding:16px 24px 32px;max-width:880px;width:100%;min-width:0;margin:0 auto;box-sizing:border-box}.home-lobby-top{display:flex;align-items:center;justify-content:space-between;padding:8px 0 24px;gap:16px}.home-lobby-user{display:flex;align-items:center;gap:12px}.home-lobby-main{flex:1;display:flex;flex-direction:column;gap:32px}.home-lobby-hero h1{font-size:clamp(24px,4vw,36px);line-height:1.2;margin:0;color:var(--ink)}.home-lobby-hero h1 em{font-style:italic;color:var(--brass-bright)}.home-lobby-actions{display:flex;flex-wrap:wrap;gap:12px}.home-lobby-actions .cta-large{flex:1 1 200px}.home-lobby-quickjam-share{margin:4px 0 16px}.home-lobby-quickjam-share p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.home-lobby-quickjam-share code{background:var(--bg-2);border:1px solid var(--bg-3);border-radius:6px;padding:2px 6px;font-size:12px;user-select:all;min-width:0;max-width:100%;overflow-x:auto;white-space:nowrap;word-break:break-all;display:inline-block}@media (max-width: 480px){.home-lobby-quickjam-share code{white-space:normal}}.home-lobby-quickjam-share .link.small{font-size:12px;padding:2px 6px}.home-lobby-rooms h2{font-size:18px;margin:0 0 12px;color:var(--ink)}.home-lobby-rooms-body{background:var(--bg-2);border:1px solid var(--bg-3);border-radius:12px;padding:12px;min-height:80px}.home-lobby-rooms-body .room-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.home-lobby-rooms-body .room-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg);border:1px solid var(--bg-3);border-radius:10px}.home-lobby-rooms-body .room-row-info{display:flex;flex-direction:column;min-width:0}.home-lobby-rooms-body .room-row-name{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-lobby-rooms-body .room-row-meta{font-size:12px}.home-lobby-rooms-body .room-row-actions{flex-shrink:0}#hlCreateModal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}#hlCreateModal #hlInviteEmails{width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--bg-3);border-radius:8px;background:var(--bg);color:var(--ink);box-sizing:border-box;resize:vertical}@media (max-width: 600px){.home-public,.home-lobby{padding-left:16px;padding-right:16px}.home-lobby-top{flex-wrap:wrap}.home-lobby-actions .cta-large{flex-basis:100%}}.signin-aux{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px}.signin-aux .link{background:none;border:0;padding:0;color:var(--brass-bright, #a0793a);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit}.signin-aux-sep{opacity:.5}.jv-sheet-backdrop{position:fixed;inset:0;z-index:1000;background:#1e181273;display:flex;align-items:flex-end;justify-content:center;padding:12px}@media (min-width: 640px){.jv-sheet-backdrop{align-items:center}}.jv-sheet{width:100%;max-width:440px;max-height:90vh;overflow:auto;background:#fff;color:#2a221b;border-radius:18px;padding:20px 20px 16px;box-shadow:0 20px 60px #00000040}.jv-sheet h2{margin:0 0 6px;font-size:20px}.jv-sheet-sub{margin:6px 0 10px;color:#5c554a;font-size:14.5px;line-height:1.45}.jv-sheet-quote{margin:8px 0;padding:8px 12px;background:#faf5e8;border-left:3px solid #b07d3f;border-radius:6px;font-size:14px}.jv-sheet-reasons{display:grid;gap:6px;margin:8px 0 12px}.jv-sheet-reasons label,.jv-sheet-check{display:flex;gap:8px;align-items:center;font-size:15px}.jv-sheet textarea{width:100%;box-sizing:border-box;border:1px solid rgba(42,34,27,.2);border-radius:10px;padding:8px 10px;font:inherit;font-size:14.5px}.jv-sheet-check{margin:10px 0 4px}.jv-sheet-msg{min-height:1.2em;font-size:13.5px;color:#8a3b24;margin:6px 0}.jv-sheet-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.jv-sheet-actions button{border-radius:999px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;border:1px solid rgba(42,34,27,.2);background:#fff;color:#2a221b}.jv-sheet-actions button.primary{background:#b07d3f;border-color:#b07d3f;color:#fff}.jv-sheet-actions button.danger{background:#a3402a;border-color:#a3402a;color:#fff}.jv-sheet-actions button:disabled{opacity:.5;cursor:not-allowed}.pp-safety{display:flex;gap:6px;margin-left:auto}.pp-safety-btn{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;cursor:pointer;opacity:.85}.pp-safety-btn:hover{opacity:1}.chat-report{font-size:11px;margin-left:6px;padding:0 6px;border:none;background:transparent;color:inherit;opacity:.55;cursor:pointer;text-decoration:underline}.chat-report:hover{opacity:1}.jv-blocked{display:none!important}.hl-delete{opacity:.7}.jv-paywall-offers{display:grid;gap:8px;margin:10px 0}.jv-paywall-offer{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(42,34,27,.18);border-radius:12px;font-size:15.5px;cursor:pointer}.jv-paywall-offer:has(input:checked){border-color:#b07d3f;background:#faf5e8}.jv-paywall-fine{font-size:12px;color:#5c554a;margin:12px 0 0;line-height:1.45}.home-trial{margin:8px 0 0;font-size:13.5px;color:#8a5a22;text-align:center}.home-trial.hidden{display:none}.join-code-form{display:grid;gap:6px;width:100%;max-width:360px;margin:18px auto 8px;text-align:left}.join-code-form label{font-size:13px;font-weight:600;opacity:.8}.join-code-row{display:flex;gap:8px}.join-code-row input{flex:1;min-width:0;font:600 18px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;padding:10px 12px;border-radius:12px}.join-code-row button{border-radius:12px;padding:0 18px}.home-lobby-code{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:14px auto 0}.join-code-big,.invite-code{font:700 22px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.invite-code{text-align:center;margin:6px 0 10px;font-size:26px}.invite-popover .invite-url-field{margin-top:10px;font-size:12px;opacity:.75}.code-signin .form{display:grid;gap:8px}.code-signin select{padding:10px 12px;border-radius:10px;font:inherit}.code-input{font:700 26px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.3em;text-align:center}.code-sent{margin:0 0 4px;font-weight:600}.code-signin .hidden{display:none!important}.code-signin .link.small{justify-self:center}.join-code-form{box-sizing:border-box;padding:0 2px}.join-code-row input,.code-signin select{background:#fff!important;color:#2a221b!important;border:1px solid rgba(42,34,27,.25)!important;box-shadow:none!important}.join-code-row input::placeholder{color:#2a221b59}.join-code-row button{flex:0 0 auto}.home-lobby-code #hlQuickJamCopy{border-radius:999px;padding:6px 14px;border:1px solid currentColor;background:transparent;cursor:pointer}.mic-alert{position:fixed;left:50%;top:calc(max(20px,env(safe-area-inset-top)) + 52px);transform:translate(-50%);width:min(92vw,380px);background:var(--bg);border:1px solid var(--rust);border-radius:16px;padding:14px 16px 12px;z-index:101;box-shadow:0 10px 30px #00000059;color:var(--ink);font-family:var(--sans)}.mic-alert.hidden{display:none}.mic-alert-title{margin:0 0 4px;font-weight:700;font-size:15px;color:var(--rust)}.mic-alert-text{margin:0 0 12px;font-size:13px;line-height:1.45;opacity:.9}.mic-alert-actions{display:flex;gap:8px;justify-content:flex-end}.mic-alert-btn{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}.mic-alert-btn.primary{background:var(--brass);border-color:transparent;color:#fff;font-weight:600}.jv-logo.jv-symbol{overflow:hidden}.topbar-brand svg{height:100%;width:auto;display:block}.take-sheet-scrim{position:fixed;inset:0;z-index:1000;background:#14100c99;display:flex;align-items:flex-end;justify-content:center}.take-sheet{width:100%;max-width:520px;background:var(--bg);color:var(--ink);border-radius:18px 18px 0 0;padding:18px 18px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow:auto}.take-sheet-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.take-sheet-media{width:100%;max-height:52vh;background:#000;border-radius:12px}.take-sheet-media.is-audio{background:transparent}.take-sheet-name{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);font-size:16px}.take-share{width:100%;min-height:54px;border-radius:14px;background:var(--brass);color:#1a1714;font-weight:600;font-size:17px}.take-share:disabled{opacity:.6}.take-sheet-row{display:flex;gap:8px}.take-secondary{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);font-size:14px}.take-secondary.danger{color:var(--rust)}.take-sheet-msg{min-height:18px;font-size:13px;color:var(--ink-dim);text-align:center}.takes{max-width:640px;width:100%;margin:0 auto;padding:14px 20px 40px;display:flex;flex-direction:column;gap:16px;min-height:100vh}.takes-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.takes-top h1{font-family:var(--serif);font-size:24px}.takes-list{list-style:none;display:flex;flex-direction:column;gap:8px}.takes-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:12px;padding:12px}.takes-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-3);display:inline-flex;align-items:center;justify-content:center;color:var(--brass-bright)}.takes-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.takes-empty{color:var(--ink-dim);line-height:1.5}.takes-note{line-height:1.5}.controls #recStemsBtn,.controls #participantsBtn,.controls #reactBtn,.controls #tagBtn,.controls #panelBtn{display:none!important}.controls #recBtn{display:flex!important;background:#fff;color:#d8392b;border:3px solid #d8392b}.controls #recBtn.active{background:#d8392b;color:#fff;animation:jv-rec-pulse 1.4s ease-in-out infinite}@keyframes jv-rec-pulse{0%,to{box-shadow:0 0 #d8392b80}50%{box-shadow:0 0 0 10px #d8392b00}}.menu-section-quickactions{display:flex!important;flex-direction:column}.home-lobby-links{display:flex;gap:10px;align-items:center;color:var(--ink-faint);font-size:15px}.home-today{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink);background:var(--bg-2);border:1px solid var(--brass);border-radius:14px;padding:14px 16px}.home-today.hidden{display:none}.home-today-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass)}.home-today strong{font-family:var(--serif);font-size:20px}.home-today-note{color:var(--ink-dim);font-size:14px}.home-today-go{color:var(--brass-bright);font-weight:600;font-size:14px;margin-top:2px}.take-countin{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;pointer-events:none}.take-countin span{font-family:var(--serif);font-size:140px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.6);animation:jv-count .9s ease-out}@keyframes jv-count{0%{transform:scale(1.4);opacity:.2}to{transform:scale(1);opacity:1}}.take-countin-opt{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-dim)}.controls #recBtn.counting{background:#fde7e3}.home-lobby-actions button.secondary{border:1px solid var(--brass);color:var(--brass-bright);background:transparent}.home-lobby-actions #hlRecordSolo{border-color:#d8392b;color:#b9301f}.course{--c-page: #fdfbf6;--c-card: #ffffff;--c-tint: #faf5e8;--c-border: rgba(168, 114, 46, .14);--c-border-strong: rgba(168, 114, 46, .32);--c-shadow: 0 1px 2px rgba(42, 34, 27, .04), 0 6px 24px rgba(42, 34, 27, .05);--c-radius: 18px;min-height:100vh;width:100%;min-width:0;margin:0 auto;padding:0 0 56px;background:var(--c-page);color:var(--ink);font-size:16px;line-height:1.6;box-sizing:border-box}.course a:not(.button){color:var(--brass-bright);text-decoration-thickness:1px;text-underline-offset:3px}.course .hidden{display:none!important}.course .muted{color:var(--ink-dim)}.course .small{font-size:14px}.course-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:760px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 24px 14px;background:#fdfbf6e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.course a.course-back,.course button.course-back{color:var(--ink-dim);text-decoration:none;font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.course a.course-back:hover,.course button.course-back:hover{color:var(--brass-bright)}.course-top-title{color:var(--ink-faint);font-size:13px;letter-spacing:.02em}.course-main{max-width:760px;margin:0 auto;padding:8px 24px 0;display:flex;flex-direction:column;gap:28px}.course-hero{display:flex;flex-direction:column;gap:10px;padding:12px 0 4px}.course-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,6vw,40px);line-height:1.15;letter-spacing:-.01em;color:var(--ink)}.course-hero h1 em{color:var(--brass);font-style:italic;font-weight:500}.course-hero h1.course-slogan{font-size:clamp(26px,5.4vw,38px)}.course-hero h1.course-slogan em{color:var(--ink)}.course-hero>p{font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:60ch}.course-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}.course-note{background:var(--c-tint);border-radius:14px;padding:14px 16px;color:var(--ink-dim);font-size:14px;line-height:1.55}.course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.course-stats>div{background:var(--c-card);border:1px solid var(--c-border);border-radius:16px;box-shadow:var(--c-shadow);padding:16px 16px 14px;display:flex;flex-direction:column;gap:2px}.course-stats strong{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.1;color:var(--brass-bright)}.course-stats span{font-size:13px;color:var(--ink-dim);line-height:1.35}.course-actions{display:flex;flex-wrap:wrap;gap:12px}.course-actions .cta-large{flex:1 1 260px}.course a.button,.course button.primary,.course button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none;font-weight:600;font-size:15px;border-radius:999px;padding:.7rem 1.4rem;cursor:pointer;transition:background .14s ease,box-shadow .14s ease,transform 80ms ease,border-color .14s ease}.course a.button.primary,.course button.primary{background:var(--brass);border:1px solid var(--brass);color:#fff;box-shadow:0 6px 16px #a8722e38}.course a.button.primary:hover,.course button.primary:hover{background:var(--brass-bright);border-color:var(--brass-bright)}.course a.button.secondary,.course button.secondary{background:var(--c-card);border:1px solid var(--c-border-strong);color:var(--brass-bright)}.course a.button.secondary:hover,.course button.secondary:hover{border-color:var(--brass);background:var(--c-tint)}.course a.button:active,.course button.primary:active,.course button.secondary:active{transform:scale(.98)}.course button.primary:disabled,.course button.secondary:disabled{opacity:.45;box-shadow:none;cursor:default}.course a.button.cta-large{min-height:54px;font-size:16px;padding:0 28px}.course button.primary.small{padding:.45rem 1rem;font-size:14px}.course-bar{height:5px;background:#a8722e1f;border-radius:99px;overflow:hidden;margin-top:10px}.course-bar span{display:block;height:100%;background:var(--moss);border-radius:99px;transition:width .4s ease}.course-modules,.course-lessons{list-style:none;display:flex;flex-direction:column;gap:12px}.course a.course-module-card{display:flex;gap:16px;align-items:flex-start;text-decoration:none;color:var(--ink);background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--c-radius);box-shadow:var(--c-shadow);padding:18px 20px;transition:border-color .14s ease,transform .12s ease,box-shadow .14s ease}.course a.course-module-card:hover{border-color:var(--c-border-strong);transform:translateY(-1px);box-shadow:0 2px 4px #2a221b0d,0 10px 28px #2a221b12}.course-module-card.is-later{opacity:.72}.course-module-num{flex:none;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--c-tint);color:var(--brass-bright);font-family:var(--serif);font-size:19px;font-weight:600}.course-module-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.course-module-title{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.3}.course a.course-module-card .muted{color:var(--ink-dim);line-height:1.5}.course a.course-lesson-row{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);background:var(--c-card);border:1px solid var(--c-border);border-radius:14px;padding:14px 16px;transition:border-color .14s ease}.course a.course-lesson-row:hover{border-color:var(--c-border-strong)}.course-lesson-num{font-family:var(--mono);color:var(--ink-faint);min-width:20px;font-size:13px}.course-lesson-title{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;font-weight:500}.course a.course-lesson-row .muted{font-weight:400}.course-chip{display:inline-flex;align-items:center;align-self:flex-start;font-size:12px;font-weight:500;border-radius:999px;padding:4px 11px;background:var(--c-tint);color:var(--ink-dim);white-space:nowrap}.course-lesson-row .course-chip{align-self:center}.course-chip.is-watched{background:#a8722e1a;color:var(--brass-bright)}.course-chip.is-practicing{background:#a8722e29;color:var(--brass-bright)}.course-chip.is-mastered{background:#6a8a3a24;color:#4d6a26}.course-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--c-radius);box-shadow:var(--c-shadow);padding:24px;display:flex;flex-direction:column;gap:14px}.course-card h2{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.25}.course-card h3{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;margin-top:6px}.course-objectives,.course-watchfor{list-style:none;display:flex;flex-direction:column;gap:8px}.course-objectives li,.course-watchfor li{position:relative;padding-left:26px;line-height:1.55}.course-objectives li:before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:6px;border-left:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(-45deg)}.course-watchfor li:before{content:"";position:absolute;left:6px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--brass);opacity:.6}.course-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.course-picks{display:flex;flex-direction:column;gap:10px}.course a.course-yt{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);background:var(--c-tint);border:1px solid transparent;border-radius:14px;padding:14px 16px;transition:border-color .14s ease,background .14s ease,transform .12s ease}.course a.course-yt:hover{background:#fff;border-color:var(--c-border-strong);transform:translateY(-1px)}.course-yt-play{flex:none;width:46px;height:46px;border-radius:50%;background:#fff;color:#d23a2a;border:1px solid rgba(210,58,42,.22);display:inline-flex;align-items:center;justify-content:center;font-size:15px;padding-left:3px;box-shadow:0 2px 8px #d23a2a1f}.course-yt-text{display:flex;flex-direction:column;gap:3px;min-width:0}.course-yt-text strong{font-weight:600;font-size:15.5px;line-height:1.35;color:var(--ink)}.course-yt-text .small{color:var(--ink-dim);font-size:13.5px}.course-yt-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}.course-chapters{display:flex;flex-wrap:wrap;gap:8px}.course a.course-chapter{font-size:13px;text-decoration:none;color:var(--ink);border:1px solid var(--c-border-strong);border-radius:999px;padding:5px 12px;background:#fff}.course-curator-note{border-left:3px solid var(--brass);padding:2px 0 2px 12px;color:var(--ink-dim)}.course-tab{font-family:var(--mono);font-size:15px;overflow-x:auto;background:var(--c-tint);border-radius:14px;padding:14px 16px}#tabBox.is-hidden .course-tab,#tabBox.is-hidden .course-tab-names{filter:blur(7px);user-select:none}.tab-line{display:flex;white-space:nowrap;line-height:1.9}.tab-s{color:var(--ink-faint);width:24px;flex:none}.tab-n,.tab-x{display:inline-block;min-width:28px;text-align:center;border-bottom:1px solid rgba(168,114,46,.2)}.tab-x{color:#a3978299}.tab-n{font-weight:600;color:var(--ink)}.tab-n.is-active{background:var(--brass);color:#fff;border-radius:6px}.tab-n.is-done{color:var(--moss)}.course-tab-names{font-family:var(--mono);letter-spacing:.06em}.course-memory{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-dim)}.course-metro{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:var(--c-tint);border-radius:14px;padding:12px 14px}.course-metro label{display:inline-flex;align-items:center;gap:8px;color:var(--ink-dim)}.course-metro input[type=range]{width:150px;accent-color:var(--brass)}.course-metro strong{color:var(--ink);font-variant-numeric:tabular-nums}.course-beat{width:14px;height:14px;border-radius:50%;background:#a8722e33}.course-beat.on{animation:course-pulse .16s ease-out;background:var(--brass)}.course-beat.on.accent{background:var(--rust)}@keyframes course-pulse{0%{transform:scale(1.6)}to{transform:scale(1)}}.course-tuner{display:flex;flex-direction:column;gap:12px;align-items:center;background:var(--c-tint);border-radius:16px;padding:20px}.course-tuner-strings{display:flex;gap:12px}.course-tuner-strings span{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--c-border-strong);font-weight:600;font-family:var(--serif);font-size:17px}.course-tuner-strings span.is-tuned{background:var(--moss);color:#fff;border-color:var(--moss)}.course-tuner-read{font-family:var(--mono);font-size:24px;font-variant-numeric:tabular-nums}.course-tuner-cents{position:relative;width:100%;max-width:300px;height:6px;background:#a8722e29;border-radius:99px}.course-tuner-cents span{position:absolute;top:-5px;left:50%;width:4px;height:16px;background:var(--rust);transform:translate(-2px);border-radius:2px;transition:left 80ms linear}.course-tuner-cents span.in-tune{background:var(--moss)}.course-editor{border-top:1px dashed var(--c-border-strong);padding-top:12px}.course-editor summary{cursor:pointer;color:var(--brass-bright);font-size:14px}.course-editor .form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.course-editor input[type=text],.course-editor textarea{width:100%;padding:10px 12px;border:1px solid var(--c-border-strong);border-radius:10px;background:#fff}.course-pager{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 2px}.course-pager a{text-decoration:none;font-weight:500}.course-pager a:hover{text-decoration:underline}.course-q{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.3}.course-options{display:flex;flex-direction:column;gap:10px}.course-option{text-align:left;padding:14px 18px;border:1px solid var(--c-border-strong);border-radius:14px;background:#fff;font-size:16px;line-height:1.45;transition:border-color .14s ease,background .14s ease}.course-option:hover:not(:disabled){border-color:var(--brass);background:var(--c-tint)}.course-option.is-right{background:#6a8a3a1f;color:#3f5a1c;border-color:var(--moss)}.course-option.is-wrong{background:#b04a2a1a;color:#8c3519;border-color:var(--rust)}.course-feedback{display:flex;flex-direction:column;gap:12px;align-items:flex-start;line-height:1.6}.course-teacher{display:flex;flex-direction:column;gap:10px}.course-teacher h2{font-family:var(--serif);font-size:21px;font-weight:600}.course-students{list-style:none;display:flex;flex-direction:column;gap:10px}.course-students>li{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:14px 16px}.course-assigned{list-style:none;display:flex;flex-direction:column;gap:8px}.course .course-assigned a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);background:var(--c-tint);border-radius:12px;padding:12px 14px}.course-assigned-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.course-assigned-teacher{list-style:none;display:flex;flex-direction:column;gap:4px;margin-top:6px}.course-assign summary{cursor:pointer;color:var(--brass-bright);font-size:14px;margin-top:8px}.course-assign-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.course-assign-form select,.course-assign-form input[type=text],.course-assign-form input[type=date]{padding:10px 12px;border:1px solid var(--c-border-strong);border-radius:10px;background:#fff;width:100%}.course-assign-form button{align-self:flex-start}.course-credits{background:var(--c-tint);box-shadow:none;border-color:transparent}.course-credits p.small:first-of-type{color:var(--ink);line-height:1.8}.course-footer{border-top:1px solid var(--c-border);padding-top:18px;line-height:1.6;color:var(--ink-faint);font-size:13px}@media (max-width: 480px){.course-top{padding-left:18px;padding-right:18px}.course-main{padding:4px 18px 0;gap:22px}.course-card{padding:20px 18px}.course-stats{gap:8px}.course-stats>div{padding:12px 12px 10px}.course-stats strong{font-size:24px}.course a.course-module-card{padding:16px;gap:14px}.course-module-num{width:34px;height:34px;font-size:16px}.course-hero>p{font-size:16px}}.course-hero>p.course-kicker{font-size:11.5px;line-height:1.4;color:var(--brass);max-width:none}.course-brand{display:flex;align-items:center;justify-content:center;gap:6px;padding:max(16px,env(safe-area-inset-top)) 24px 4px;color:var(--brass-bright)}.course-brand .jv-logo{height:30px;width:auto;display:block}.course-top{position:sticky;top:8px;z-index:5;max-width:712px;margin:10px auto 0;padding:11px 18px;background:#faf5e8eb;border:1px solid var(--c-border);border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media (max-width: 760px){.course-top{margin-left:24px;margin-right:24px}}@media (max-width: 480px){.course-top{margin-left:18px;margin-right:18px;padding:10px 14px}}.course a.course-back,.course button.course-back{color:var(--ink);font-size:15px}.course-top-title{color:var(--ink-dim);font-size:14px}.course-main{padding-top:18px;gap:18px}.course-hero{gap:12px;padding-top:6px}.course-hero h1{font-weight:700;letter-spacing:-.015em}.course-hero h1.course-slogan{font-size:clamp(30px,7.6vw,42px);line-height:1.08}.course-hero h1.course-slogan em{font-style:italic;font-weight:700;color:var(--ink)}.course-hero>p{font-size:15.5px;line-height:1.55;max-width:46ch}.course-stats>div{padding:14px 14px 12px;gap:6px;border-radius:14px}.course-stats strong{font-size:32px;font-weight:700;color:var(--brass)}.course-stats strong small{font-size:.82em;font-weight:700}.course-stats span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);line-height:1.35}.course a.button.primary{background:linear-gradient(180deg,#bd8640,#a26a28);border-color:#9b6524;font-family:var(--serif);font-weight:600;font-size:18px;box-shadow:0 8px 18px #a26a2847,inset 0 1px #ffffff2e}.course a.button.cta-large{min-height:52px;border-radius:14px}.course a.button.secondary.cta-large{border-radius:14px;font-family:var(--serif);font-size:17px}.course-modules{gap:10px}.course a.course-module-card{align-items:center;gap:14px;padding:12px 16px;border-radius:14px;box-shadow:0 1px 2px #2a221b0a}.course-module-card.is-later{opacity:1}.course-module-num{width:38px;height:38px;background:#f6ead2;color:var(--ink);font-size:18px;font-weight:700}.course-module-body{gap:0}.course-module-title{font-size:18px;font-weight:700}.course-module-level{font-size:14px;color:var(--ink-dim)}.course-module-progress{flex:0 0 38%;max-width:150px}.course-module-progress .course-bar{margin-top:0;height:6px;background:#ece4d4}@media (max-width: 380px){.course-module-progress{flex-basis:30%}}.course-hero .course-chip{font-family:var(--serif);font-weight:600;font-size:14px;padding:4px 14px;border-radius:9px}.course-hero .course-chip.is-practicing,.course-hero .course-chip.is-watched{background:linear-gradient(180deg,#bd8640,#a26a28);color:#fff}.course-hero .course-chip.is-mastered{background:var(--moss);color:#fff}.course-hero .course-chip.is-new{background:#f1e7d3;color:var(--ink-dim)}.course-hero h1{font-size:clamp(30px,7vw,40px)}.course-hero>p.course-kicker{font-weight:500;color:#8a5a1f;letter-spacing:.14em}.course-card{padding:18px 18px 20px;gap:12px;border-radius:16px}.course-card h2{font-size:22px;font-weight:700}.course-objectives{gap:6px}.course-objectives li{line-height:1.45}.course a.course-yt{background:#f8f0e0;padding:14px;gap:14px}.course-yt-text strong{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.3}.course-yt-kicker{color:var(--ink);letter-spacing:.12em}.course-yt-play{width:42px;height:42px;border:none;box-shadow:0 2px 10px #2a221b1f}.course-tab{background:#f8f0e0;padding:14px 16px 12px}.tab-line{position:relative;line-height:1.75}.tab-line:after{content:"";position:absolute;left:34px;right:0;top:50%;border-top:1.5px solid #3a3027;opacity:.75;z-index:0}.tab-s{position:relative;z-index:1;width:34px;font-weight:600;color:var(--ink)}.tab-s:after{content:"|";margin-left:6px;font-weight:400}.tab-n,.tab-x{position:relative;z-index:1;border-bottom:none;min-width:30px}.tab-n{font-weight:700}.tab-n:not(.is-active){background:#f8f0e0;border-radius:4px;padding:0 2px}.tab-x{color:transparent}.course-tab-names{display:none}.course-metro{background:transparent;padding:0;gap:12px;align-items:center;justify-content:space-between}.course-metro button.primary{font-family:var(--serif);font-size:17px;border-radius:12px;padding:.55rem 1.1rem;background:linear-gradient(180deg,#bd8640,#a26a28)}.course-metro button.secondary{font-family:var(--serif);font-size:16px;border-radius:12px;padding:.5rem 1rem}.course-tempo{flex:1 1 120px;display:flex;flex-direction:column;gap:2px;min-width:110px}.course-tempo-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--ink)}.course-tempo-label strong{font-weight:600}.course-tempo input[type=range]{width:100%;accent-color:var(--brass)}.course-listen-msg:empty{display:none}.course-module-progress{flex:0 0 32%;max-width:140px}.course-objectives li{font-size:15.5px}.course-objectives li:before{top:.4em}.course-yt-text .small{font-size:13px}body:has(.course){background:#fdfbf6}.course-module-progress{flex:0 0 24%;max-width:110px}.course-module-title{font-size:17px;line-height:1.25}.tab-n,.tab-x{min-width:24px}.course-metro{flex-wrap:nowrap;gap:10px}.course-metro button.primary{font-size:15px;padding:.5rem .85rem;white-space:nowrap}.course-metro button.secondary{font-size:15px;padding:.45rem .8rem;white-space:nowrap}.course-tempo{flex:1 1 70px;min-width:64px}.course-tempo-label{font-size:11.5px;gap:6px}.course-beat{width:10px;height:10px}.course-tab{overflow-x:auto}.tab-line{width:max-content;min-width:100%}.course-stats strong small{white-space:nowrap}@media (max-width: 380px){.course-stats strong{font-size:26px}.course-stats span{font-size:9.5px;letter-spacing:.06em}.course-module-progress{flex-basis:20%;max-width:80px}.course-module-title{font-size:16px}.tab-n,.tab-x{min-width:21px}.tab-s{width:28px}.tab-line:after{left:28px}.course-metro{flex-wrap:wrap}.course-metro button.secondary{flex:1 0 100%}}.course-goal{margin:6px 0 10px;font-size:16px;color:var(--c-ink-soft, #5c554a)}.course-watch-line{margin:10px 0 12px}.bt-player{display:grid;gap:10px}.bt-video{width:100%;aspect-ratio:16 / 9;background:#0e0d0b;border-radius:14px;display:block}.bt-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.bt-speeds{display:inline-flex;border:1px solid var(--line, #e2d8c6);border-radius:999px;padding:3px;gap:2px}.bt-speed{border:0;background:transparent;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;color:inherit;cursor:pointer}.bt-speed span{font-weight:400;opacity:.7;margin-left:4px;font-size:12px}.bt-speed.is-on{background:var(--brass, #a8722e);color:#fff}.bt-speed.is-on span{opacity:.9}.bt-repeat{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--brass, #a8722e);background:transparent;color:var(--brass, #a8722e);border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.bt-repeat.is-on{background:var(--brass, #a8722e);color:#fff}.bt-meta{margin:0}.bt-lib-head h2{margin-bottom:2px}.bt-lib-head p{margin:0 0 12px}.bt-tabs{display:flex;gap:4px;background:#f3ecdf;border-radius:999px;padding:4px;margin-bottom:12px}.bt-tab{flex:1;white-space:nowrap;border:0;background:transparent;border-radius:999px;padding:9px 4px;font:inherit;font-size:13.5px;font-weight:600;color:inherit;cursor:pointer}.bt-tab span{font-weight:400;font-size:12px;opacity:.6;margin-left:2px}.bt-tab.is-on{background:#fffdf8;box-shadow:0 1px 4px #2a221b24;color:var(--brass, #a8722e)}.bt-list{list-style:none;margin:0;padding:0}.bt-list.hidden,.bt-now-playing.hidden{display:none}.bt-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 6px;background:transparent;border:0;border-bottom:1px solid #efe6d6;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:10px}.bt-list li:last-child .bt-row{border-bottom:0}.bt-row:hover{background:#faf4e8}.bt-num{width:26px;flex:none;text-align:center;font-variant-numeric:tabular-nums;color:#9a8b74;font-size:14px}.bt-eq{display:none;height:14px;align-items:flex-end;justify-content:center;gap:2px}.bt-eq i{width:3px;background:var(--brass, #a8722e);border-radius:1px;height:4px}.bt-row.is-current .bt-idx{display:none}.bt-row.is-current .bt-eq{display:inline-flex}.bt-row.is-playing .bt-eq i{animation:bt-eq .9s ease-in-out infinite}.bt-row.is-playing .bt-eq i:nth-child(2){animation-delay:.2s}.bt-row.is-playing .bt-eq i:nth-child(3){animation-delay:.4s}@keyframes bt-eq{0%,to{height:4px}50%{height:14px}}.bt-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.bt-row-title{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-row.is-current .bt-row-title{color:var(--brass, #a8722e)}.bt-row-sub{font-size:12.5px;color:#8a7c66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-row-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:#8a7c66;font-variant-numeric:tabular-nums}.bt-now-playing{background:#1c1915;color:#f4ede0;border-radius:16px;padding:14px;margin-bottom:12px}.bt-now-playing .bt-meta{color:#b9ab93}.bt-now-playing .bt-speeds{border-color:#3a342c}.bt-now-playing .bt-repeat:not(.is-on){color:#c89860;border-color:#c89860}.bt-np-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.bt-np-label{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#c89860}.bt-np-title{margin:2px 0 0;font-weight:700;font-size:17px}.bt-np-sub{margin:0;font-size:12.5px;color:#b9ab93}.bt-np-skip{display:flex;gap:6px}.bt-skip{width:40px;height:40px;border-radius:50%;border:1px solid #3a342c;background:transparent;color:#f4ede0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bt-skip:disabled{opacity:.35;cursor:default}
