/* Keep motion on composited layers; reserve the full frame for the game. */
.immersive-rig i{filter:none;animation:none;opacity:.35}
.bumper-tunnel,.bumper-orbit,.fx-orbit{animation:none!important}
.broadcast-bumper:before{animation:none;opacity:.3}
.holding .bumper-content h2{animation:none}
.logo-assembly{display:none!important}
.team-in-flight{transform-origin:top left;will-change:transform;contain:layout paint}
.panel-dock,.effect-overlay{backdrop-filter:none}
.panel-preview .immersive-rig,.panel-preview .bumper-orbit,.panel-preview .bumper-tunnel{display:none}
.panel-preview *{animation-duration:.001s!important;animation-iteration-count:1!important}
body:not(.audience):not(.joining){min-height:100dvh;padding-bottom:calc(130px + env(safe-area-inset-bottom))}
body:not(.audience) main{height:auto;overflow:visible}
body:not(.audience) .console{height:auto;max-height:none;overflow:visible}
.panel-dock{background:#0b1c34}
.simple-timer-actions{position:relative;z-index:3}
.simple-timer-actions #timerToggle{min-height:56px;font-size:16px}
.audience .game{grid-template-rows:var(--stable-hud,140px) 12px minmax(44px,auto) minmax(0,1fr) 44px 14px;gap:8px;padding:0 4% 8px}
.audience .turn-clock-bar{min-height:0;height:100%;gap:24px}
.audience .turn-name{min-width:0;min-height:0}
.audience .team.promoted-team{min-height:0;padding:12px 18px;gap:12px}
.audience .promoted-team .team-details{min-width:0;flex:1}
.audience .promoted-team .team-details strong{font-size:clamp(26px,3.6vw,54px);overflow-wrap:anywhere}
.audience .turn-name .team.promoted-team>b{font-size:clamp(64px,8vw,106px)!important;min-width:115px;padding:5px 0 5px 14px;flex:none}
.audience .turn-clock-bar .timer{width:126px;height:126px;min-width:126px;grid-column:2;grid-row:1}
.audience .turn-clock-bar .timer b{font-size:48px}
.audience .round-status{font-size:9px}
@media(max-height:740px){.audience{--stable-hud:104px}.audience .turn-clock-bar .timer{width:96px;height:96px;min-width:96px}.audience .turn-clock-bar .timer b{font-size:36px}.audience .promoted-team .team-details strong{font-size:clamp(24px,3.2vw,40px)}.audience .turn-name .team.promoted-team>b{font-size:70px!important}.audience .game h1#question{font-size:clamp(23px,2.8vw,34px)}.audience .promoted-team .team-strikes i{font-size:15px}}
@media(min-height:900px){.audience{--stable-hud:170px}}
@media(max-width:900px){.audience .turn-name.has-promoted-team{display:flex!important;padding:0}.audience .turn-clock-bar{grid-template-columns:minmax(0,1fr) auto;gap:12px}.audience .team.promoted-team{padding:10px;gap:8px}.audience .turn-name .team.promoted-team>b{font-size:64px!important;min-width:88px}.audience .promoted-team .team-details strong{font-size:27px}}
@media(max-width:500px){.panel-turn-banner{padding:10px 14px;min-height:94px}.panel-turn-identity strong{font-size:28px}body:not(.audience) .topbar{display:none}body:not(.audience) .console{padding:16px 12px}.simple-teams{gap:5px;margin:12px 0}.simple-teams button{padding:9px 4px}.simple-question h2{font-size:24px}.live-preview{margin-top:8px}.live-preview-stage{max-height:27dvh}.live-preview-toggle{right:8px;padding:10px;font-size:10px}.panel-dock button{font-size:10px}}
@media(max-width:600px){
 .audience main{padding:6px 8px;gap:6px;grid-template-rows:minmax(0,1fr) 100px 12px}
 .audience.many-teams main{grid-template-rows:minmax(0,1fr) 168px 12px}
 .audience .scoreboard.multi-team{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);height:100%;gap:4px}
 .audience.many-teams .scoreboard{height:100%;grid-template-rows:repeat(4,minmax(0,1fr))}
 .audience .multi-team .team{padding:5px;gap:3px}
 .audience .multi-team .team-details strong{font-size:12px;line-height:1.1;overflow-wrap:normal}
 .audience .multi-team .team>b{font-size:22px;min-width:0}
 .audience .team-strikes{height:10px;gap:2px}.audience .team-strikes i{font-size:10px}
 .audience{--stable-hud:90px}.audience .game{gap:5px;grid-template-rows:90px 10px minmax(42px,auto) minmax(0,1fr) 32px 10px;padding:0 3% 5px}
 .audience .turn-clock-bar .timer{width:78px;height:78px;min-width:78px}.audience .turn-clock-bar .timer b{font-size:29px}
 .audience .turn-clock-bar .timer>span{font-size:6px;bottom:17px}
 .audience .turn-name .team.promoted-team>b{font-size:42px!important;min-width:57px;padding-left:6px}
 .audience .promoted-team .team-details strong{font-size:20px;overflow-wrap:normal}
 .audience .promoted-team .team-details em{font-size:6px;letter-spacing:1px}
 .audience .game h1#question{font-size:22px}.audience .stage-top{padding-left:90px;font-size:7px}
 .audience .answer .revealed-text{font-size:24px}.audience .answer .revealed-score{font-size:26px}
 .audience .bank b{font-size:25px}.audience .round-status{font-size:6px}
}

/* One copy of each primary action, always reachable above the safe area. */
body:not(.audience):not(.joining),body:has(.panel-dock.awaiting-next){padding-bottom:calc(var(--panel-dock-height,170px) + 24px)}
.panel-dock{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px}
.panel-dock #timerToggle,.panel-dock #nextParticipant{grid-column:span 2;min-height:68px;padding:12px 8px;font:800 18px/1.2 var(--body)}
.panel-dock #timerToggle,.panel-dock #startMatch{background:linear-gradient(#ffedb5,#e4ba65);color:#182b44;border:1px solid #fff0bd;box-shadow:0 3px 0 #6f5223}
.panel-dock #startMatch{grid-column:1/-1;min-height:76px;font:900 25px/1.2 var(--heading);letter-spacing:1px}
.panel-dock #nextParticipant{background:linear-gradient(#315a86,#193957);color:#e7f1ff}
.panel-dock #goBreak,.panel-dock #next,.panel-dock #finish,.panel-dock #quickMusicOpen{min-height:49px;font-size:11px}
.panel-dock.in-break #timerToggle,.panel-dock.in-break #nextParticipant{display:none}
.panel-dock.in-break #goBreak{grid-column:1/-1;grid-row:1;min-height:76px;font:900 24px var(--heading);background:linear-gradient(#ffedb5,#e4ba65);color:#182b44}
.panel-dock.awaiting-next #next{min-height:76px;font-size:25px}
.panel-dock.preparing #quickMusicOpen{grid-column:1/-1}
.panel-dock:has(#timerToggle[hidden]):has(#nextParticipant[hidden]):not(.awaiting-next):not(.in-break):not(.preparing) #finish{grid-column:1/-1;min-height:68px;font-size:20px}
#simpleTimerActions:empty,#simpleNext:empty{display:none}
