/* A refined broadcast stage: metal trims, illuminated glass, generous type. */
body{background:radial-gradient(ellipse at 50% -20%,#255c8a88,transparent 55%),radial-gradient(ellipse at 90% 60%,#007dce0d,transparent 55%),#071626}
.topbar{padding-left:max(4%,calc((100vw - 1480px)/2));padding-right:max(4%,calc((100vw - 1480px)/2));background:linear-gradient(180deg,#10283fef,#071b2fef);border-bottom:1px solid #93badd28;box-shadow:0 8px 40px #0002}
.brand{border:1px solid #e7f1fc;box-shadow:0 0 25px #007dce16}.brand-logo{width:240px;height:68px}
main,.show-controls{max-width:1480px}
.show-controls{padding-top:18px;padding-bottom:10px;flex-wrap:wrap}.show-label{color:#a4bed4;font-size:.62rem;letter-spacing:.24em}
.show-toggle{border-color:#7d9bb044;background:linear-gradient(#28466077,#102b4488);font-size:.73rem;box-shadow:inset 0 1px 0 #ffffff0c}
.show-toggle:hover{border-color:#e8c772;color:#ffdd89}
.header-volume,.question-sound label{display:flex;align-items:center;gap:8px;color:#bacdde;font-size:.72rem}
.header-volume input,.question-sound input{width:75px;min-height:30px;accent-color:var(--gold)}
.sound-status{flex-basis:100%;color:#ffda7e;font-size:.8rem}.sound-status:empty{display:none}
.resume-banner{background:linear-gradient(110deg,#173753,#102b44);border:1px solid #b89a554f;border-left:3px solid #f4b517;color:#bed3e6;box-shadow:0 8px 22px #0002;font-size:.85rem}
.resume-banner strong{color:#ffda7e}.resume-banner .subtle-link{color:#b8dcf9}
.intro-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:center;gap:40px;padding:40px 42px;border:1px solid #789bb34d;background:radial-gradient(ellipse at 68% 35%,#007dce2b,transparent 65%),linear-gradient(120deg,#112d47,#123655 55%,#0a2036);box-shadow:inset 0 1px 0 #afdbff33,0 25px 70px #0004;border-radius:24px;min-height:320px}
.intro-row:before,.intro-row:after{left:30px;right:30px;background:radial-gradient(circle,#ffe4a0 0 1.2px,#f4b51733 2px,transparent 4px) 0 0/30px 6px repeat-x;height:6px}
.intro-row:before{top:12px}.intro-row:after{bottom:12px}
.intro-row h1{font-size:clamp(2.8rem,4.6vw,4.6rem);font-weight:800;letter-spacing:-.045em;text-shadow:0 2px 0 #061726}
.intro-row .blue-word{font-size:1.04em;letter-spacing:.035em;color:#f8cc62;text-shadow:0 1px 0 #ffebb8,0 3px 0 #937128,0 9px 24px #0006}
.intro-row .eyebrow{font-size:.59rem;letter-spacing:.23em;color:#dcc591}.intro-row p{font-size:.88rem;color:#bed0df}
.hero-showpiece{max-width:360px;width:100%;justify-self:end;perspective:1000px;padding:6px 10px}
.showpiece-caption{font-size:.56rem;letter-spacing:.22em;text-align:center;color:#b2c9dc;margin-bottom:18px}
.mini-board{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#07192c;padding:14px;border:1px solid #bca05b;border-radius:13px;transform:rotateY(-12deg) rotateX(8deg) rotateZ(2deg);box-shadow:8px 10px 0 #061421,9px 11px 0 #537289,0 24px 45px #0005;animation:showpiece-float 9s ease-in-out infinite alternate}
.mini-board span{display:grid;place-items:center;border:1px solid #7fa6c759;border-top-color:#b3dbf988;background:linear-gradient(140deg,#1d6495,#153957);color:#ffe39a;text-shadow:0 2px 0 #082c47;border-radius:5px;font-size:1.2rem;font-weight:850;padding:11px 8px;box-shadow:0 3px 0 #040e18}
.showpiece-base{height:2px;margin:24px auto 16px;width:80%;background:linear-gradient(90deg,transparent,#f4b51777,transparent);box-shadow:0 0 14px #f4b51755}
.hero-stats{display:flex;justify-content:space-around;text-align:center;color:#fff0c5}.hero-stats b{font-size:1.1rem}.hero-stats small{display:block;color:#9dbad0;font-size:.59rem;font-weight:500;letter-spacing:.04em;margin-top:3px}
.setup-layout{grid-template-columns:minmax(0,1fr) 335px;gap:22px}.panel{background:linear-gradient(145deg,#1a354e,#0f273d);border-color:#66829955;box-shadow:inset 0 1px 0 #9fc9ea14,0 14px 30px #0002}
.section-heading{font-size:.88rem;letter-spacing:.01em}.step{background:linear-gradient(#ffe1a1,#ddb048);width:25px;height:25px;border-radius:7px;font-size:.75rem}
.track{min-height:118px;border-color:#62819c4d;background:linear-gradient(145deg,#12314c,#0c2339);border-radius:12px;box-shadow:inset 0 1px 0 #adcfea0c}
.track.selected{border-color:#d9b65c;background:linear-gradient(125deg,#245070,#14334d);box-shadow:inset 3px 0 0 #e9c569,0 0 25px #f4b51707}
.track-icon{border:1px solid #7592a82e;background:#14334d;color:#bedbef}.track.selected .track-icon{background:linear-gradient(145deg,#ffdc89,#d6a739);color:#12304a}
.track strong{font-size:.88rem}.track small{font-size:.76rem;line-height:1.6}.setup-console{border-top-color:#d5b665;background:linear-gradient(150deg,#1b3f5c,#0d263d)}
.setup-console .level.selected{background:linear-gradient(#ffda88,#e4b74e)}.setup-console .field input,.setup-console .field select,.team-inputs input{background:#0c253c;border-color:#5a799655}
.gold-button{background:linear-gradient(110deg,#ffe2a0,#edc460 50%,#dca83b);color:#102c44;box-shadow:inset 0 1px 0 #fff2c5,0 4px 0 #876c31,0 8px 25px #f4b51718}
.board-peek{background:#0e263c;border-color:#6a859b33}.board-peek b{color:#e3c789}
.game-header{margin-bottom:22px}.game-header .eyebrow{font-size:.65rem;letter-spacing:.2em;color:#e3c789}.game-header h1{font-size:clamp(1.75rem,2.5vw,2.4rem);letter-spacing:-.035em}
.game-header .outline,.board-bottom .outline{background:#132f47;border-color:#5b7c9766;color:#dbe9f5;box-shadow:inset 0 1px 0 #ffffff0b}
.scorebar{gap:14px;margin-bottom:30px}.score{position:relative;overflow:hidden;min-height:90px;padding:17px 20px;background:linear-gradient(145deg,#1b3e59,#10283f 68%);border:1px solid #7899af66;border-top:3px solid var(--team-color);box-shadow:inset 0 1px 0 #c3e4ff18,0 6px 0 #04111d,0 7px 0 #5375904d,0 15px 24px #0003}
.score:after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,var(--team-color),transparent);opacity:.55}
.score span{font-size:.8rem;letter-spacing:.02em;color:#c2d8e9}.score strong{font-size:2rem;color:#ffe5a1;text-shadow:0 0 18px #e5b64c24}
.game-board{padding:25px 18px;background:linear-gradient(145deg,#23445e,#081e32 25%,#102a40 75%,#304758);border:1px solid #d3ba7b;border-radius:18px;box-shadow:0 0 0 4px #04121f,0 0 0 5px #647b8c88,inset 0 1px 0 #f9e6ad88,0 28px 50px #0006;gap:10px}
.game-board:before,.game-board:after{left:22px;right:22px;background:radial-gradient(circle,#ffedbb 0 1.4px,#f4b51744 2px,transparent 4px) 0 0/27px 6px repeat-x;height:6px}
.category{grid-template-rows:70px repeat(5,clamp(64px,5.8vw,91px));gap:9px}
.category-head{background:linear-gradient(#122f48,#0d253b);border-bottom:2px solid #b99b5a;font-size:.72rem;letter-spacing:.07em;padding:8px 5px;line-height:1.5}
.tile{background:linear-gradient(130deg,#007dce28,transparent 70%),linear-gradient(180deg,#22597e,#133856);border:1px solid #79a6c477;border-top-color:#b9e0f99c;border-bottom-color:#31617b;font-size:clamp(1.85rem,2.8vw,2.7rem);color:#ffe095;border-radius:7px;text-shadow:0 2px 0 #8b6d2d,0 5px 12px #0005;box-shadow:inset 0 1px 0 #a0d6fa22,inset 0 -2px 0 #061c3244,0 3px 0 #04121f;overflow:hidden}
.tile:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,#b8e3ff09 20.4%,#b8e3ff03 58%,transparent 58.4%);pointer-events:none}
.tile:hover:not(:disabled){background:linear-gradient(145deg,#2e7dad,#174e77);box-shadow:0 0 0 1px #ffe6a1,0 0 25px #007dce66,0 4px 0 #04121f;transform:translateY(-2px)}
.tile.used{background:#081f32;border-color:#52718733;color:#56758e;box-shadow:inset 0 3px 10px #0002}.tile.used:before{display:none}
.question-stage{max-width:880px!important}.question-stage .modal-head{background:linear-gradient(110deg,#172f46,#081f33);border-color:#b2975755;padding:23px 30px}
dialog.question-stage{background:radial-gradient(ellipse at 50% 0%,#235c8977,transparent 65%),linear-gradient(145deg,#153b5d,#081e33);border:1px solid #d4bd81;box-shadow:0 0 0 5px #091b2a,0 0 0 6px #7b96aa66,0 30px 100px #0009}
.question-stage .modal-body{padding:32px}.question-stage .clue-question{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.5;padding:22px 0 30px;font-weight:650;letter-spacing:-.025em}
.question-stage .choice{background:linear-gradient(110deg,#1b3f5c,#102c44);border-color:#83a0b455;box-shadow:0 3px 0 #071a2b;min-height:57px}.question-stage .choice.selected{border-color:#e9c878;background:linear-gradient(110deg,#2b536e,#163951)}
.question-stage .outline{background:#163850;border-color:#7493aa66;color:#daebf8}.question-stage .primary{background:linear-gradient(110deg,#ffdc90,#e8bc55);color:#132c3f;box-shadow:0 3px 0 #8e743f}
.question-sound{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:13px 0;margin:8px 0 16px;border-top:1px solid #57799244;border-bottom:1px solid #57799244}.question-sound [data-sound-status]{color:#f4d691;font-size:.75rem;flex-basis:100%}.question-sound [data-sound-status]:empty{display:none}
.result-hero{background:radial-gradient(ellipse at 50% -10%,#c79b3233,transparent 70%),linear-gradient(#173b57,#0c2439)}
@keyframes showpiece-float{from{transform:rotateY(-12deg) rotateX(8deg) rotateZ(2deg) translateY(0)}to{transform:rotateY(-7deg) rotateX(5deg) rotateZ(1deg) translateY(-7px)}}
@media(max-width:1050px){.intro-row{gap:25px;padding:36px 28px;grid-template-columns:minmax(0,1fr) 260px}.intro-row h1{font-size:3.3rem}.setup-layout{grid-template-columns:minmax(0,1fr) 305px;gap:18px}.track{min-height:128px}.category-head{font-size:.66rem}.game-board{gap:7px;padding:24px 12px}.category{gap:7px}.score{padding:14px}.score strong{font-size:1.8rem}}
@media(max-width:800px){.setup-layout{grid-template-columns:1fr}.intro-row{grid-template-columns:minmax(0,1fr) 210px;gap:15px}.intro-row h1{font-size:2.8rem}.hero-showpiece{padding:5px}.mini-board{gap:5px;padding:10px}.mini-board span{padding:10px 5px;font-size:1rem}.showpiece-caption{font-size:.48rem}.hero-stats small{font-size:.52rem}.track{min-height:110px}.score{min-height:84px}.category{grid-template-rows:82px repeat(5,65px)}.tile{font-size:1.8rem}}
@media(max-width:580px){.brand-logo{width:165px;height:52px}.topbar{padding:10px 16px}.show-controls{padding:14px 16px 4px}.show-label{font-size:.55rem}.show-controls>.button-row{width:100%;justify-content:space-between;gap:5px}.show-toggle{font-size:.68rem;padding:8px 10px}.header-volume{font-size:.65rem;gap:5px}.header-volume input{width:55px}.intro-row{display:block;padding:31px 22px;min-height:0}.intro-row h1{font-size:clamp(2.3rem,9.5vw,3.6rem)}.hero-showpiece{display:none}.intro-row .eyebrow{font-size:.53rem;letter-spacing:.18em}.intro-row p{font-size:.84rem}.intro-row:before,.intro-row:after{left:20px;right:20px;background-size:24px 6px}.track{min-height:147px;padding:16px 12px}.track strong{font-size:.85rem}.track small{font-size:.74rem}.resume-banner{font-size:.8rem}.scorebar{gap:12px;margin-bottom:24px}.score{min-height:77px;padding:12px}.score span{font-size:.75rem}.score strong{font-size:1.6rem}.category{grid-template-rows:58px repeat(5,66px);gap:9px}.category-head{font-size:.85rem}.tile{font-size:2rem}.game-board{padding:23px 12px}.question-stage .modal-body{padding:20px}.question-stage .modal-head{padding:18px}.question-stage .clue-question{font-size:1.4rem;padding:12px 0 22px}.question-sound{gap:10px}.question-sound input{width:85px}.game-header h1{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){.mini-board{animation:none}}
@media print{.hero-showpiece,.question-sound{display:none!important}.result-hero{background:white}}

/* Guided team rotation and one-shot correct-answer celebration. */
.turn-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;margin:0 0 16px;border:1px solid #d2b36066;border-radius:12px;background:linear-gradient(100deg,#274761,#122f46);color:#dcecf8;font-size:.92rem;box-shadow:inset 3px 0 0 #f4b517}.turn-banner strong{color:#ffe39a}.turn-banner small{margin-left:auto;color:#b6cfe1;font-size:.7rem}.turn-dot{width:9px;height:9px;border-radius:50%;background:#f4b517;box-shadow:0 0 15px #f4b51766;flex-shrink:0}.score.active-team{border-color:#f4b517;box-shadow:inset 0 0 0 1px #f4b51744,0 6px 0 #04111d,0 0 24px #f4b5171f}.score.active-team span:after{content:'YOUR TURN';display:block;color:#ffe39a;font-size:.55rem;letter-spacing:.12em;margin-top:5px}.scoring-team{color:#c8dfef}.scoring-team strong{color:#ffe39a}.confetti-rain{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:100}.confetti-rain i{position:absolute;top:-20px;left:var(--x);width:8px;height:14px;border-radius:2px;animation:confetti-fall var(--duration) var(--delay) ease-in both}.confetti-rain i:nth-child(3n){width:7px;height:7px;border-radius:50%}@keyframes confetti-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:1}85%{opacity:1}100%{transform:translate3d(var(--drift),105vh,0) rotate(var(--spin));opacity:0}}@media(max-width:580px){.turn-banner{flex-wrap:wrap;gap:8px;font-size:.83rem;padding:12px 14px}.turn-banner small{width:100%;margin-left:17px}.confetti-rain i{width:6px;height:10px}}@media(prefers-reduced-motion:reduce){.confetti-rain{display:none}}@media print{.turn-banner,.confetti-rain{display:none!important}}
/* The fixed source stays visible wherever the active game screen is rendered. */
.fixed-track{width:300px;max-width:100%;padding:10px;border:1px solid #7e9bb144;background:#081e32;border-radius:12px}.fixed-track-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.6rem;letter-spacing:.09em;color:#d9c38f;margin-bottom:8px}.fixed-track-heading a{color:#a2d7f8;letter-spacing:0}.fixed-track-player{width:100%;min-width:200px;height:220px}.fixed-track-player iframe{display:block;width:100%;min-width:200px;height:220px;border:0}.game-header .fixed-track{flex-shrink:0}.modal-body>.fixed-track{margin:16px auto}.has-game-music .fixed-track{color:#dcecff}@media(min-width:900px){.game-header{display:grid;grid-template-columns:minmax(0,1fr) auto 300px;align-items:center;gap:20px}.game-header>.button-row{max-width:140px;justify-content:flex-end}dialog.has-game-music{max-width:1080px!important}.has-game-music .modal-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:24px;align-items:start}.has-game-music .modal-body>:not(.fixed-track){grid-column:1}.has-game-music .modal-body>.fixed-track{grid-column:2;grid-row:1 / span 14;position:sticky;top:0;margin:0}}@media(max-width:899px){.game-header{flex-wrap:wrap}.game-header .fixed-track{margin-left:auto}.modal-body>.fixed-track{width:360px}}@media(max-width:580px){.game-header .fixed-track{width:100%;margin:0}.fixed-track{padding:9px}.game-header{gap:14px}}@media print{.fixed-track{display:none!important}}
