/* Highlands Forward stage. Slow lighting, no rapid flashes. */
:root{background:#071a30;color:#edf5ff;--muted:#afc7de}
body{background:radial-gradient(ellipse at 50% 0%,#163f6d 0%,#091f39 52%,#061528 100%);min-height:100vh}
.stage-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.stage-atmosphere i{position:absolute;top:-150px;left:6%;width:30%;height:1000px;background:linear-gradient(180deg,#007dce24,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:50% 0;animation:stage-sweep 12s ease-in-out infinite alternate}
.stage-atmosphere i:nth-child(2){left:auto;right:6%;background:linear-gradient(180deg,#f4b51719,transparent);animation-delay:-8s;animation-direction:alternate-reverse}
.topbar,.show-controls,main,footer{position:relative;z-index:1}
.topbar{background:#081c32e8;border-bottom:1px solid #416789;min-height:100px;height:auto;padding-top:10px;padding-bottom:10px}
.brand{background:white;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 0 28px #007dce20}
.brand-logo{display:block;width:260px;height:76px;object-fit:cover;object-position:center}
.top-actions .quiet,.top-actions .icon-btn{background:#173c60;color:#e7f3ff;border:1px solid #456582}
.show-controls{max-width:1600px;margin:auto;padding:14px 4%;display:flex;justify-content:space-between;align-items:center;gap:12px}
.show-label{font-size:.68rem;font-weight:800;letter-spacing:.19em;color:#abc5dd;display:flex;align-items:center;gap:9px}
.on-air-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #f4b51799;animation:bulb-glow 3s ease-in-out infinite alternate}
.show-toggle{padding:9px 13px;min-height:40px;border:1px solid #496784;background:#122f4d;color:#fff0c3;border-radius:30px;font-size:.78rem;font-weight:700}
.show-toggle[aria-pressed=false]{color:#bdcede;background:#0b223a}
main{padding-top:20px}
.intro-row{padding:35px 32px 38px;border:1px solid #4b6b89;border-radius:22px;background:radial-gradient(ellipse at 80% 100%,#007dce35,transparent 65%),linear-gradient(130deg,#173f6d,#0b2546);position:relative;overflow:hidden;box-shadow:0 20px 50px #0003}
.intro-row:before,.intro-row:after,.game-board:before,.game-board:after,.result-hero:before{content:'';position:absolute;left:14px;right:14px;height:8px;pointer-events:none;background:radial-gradient(circle,#ffdc76 0 2px,#f4b51744 3px,transparent 5px) 0 0/25px 8px repeat-x;animation:bulb-glow 2.8s ease-in-out infinite alternate}
.intro-row:before,.game-board:before,.result-hero:before{top:9px}
.intro-row:after,.game-board:after{bottom:9px;animation-delay:-1.4s}
.intro-row h1{font-size:clamp(2.8rem,5.5vw,5rem);letter-spacing:-.055em;color:#fff;text-shadow:0 4px 0 #06172b,0 0 35px #007dce50}
.intro-row .blue-word{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;font-size:1.1em}
.intro-row .eyebrow{color:#ffe09a;margin-bottom:16px;font-size:.68rem;letter-spacing:.19em}
.intro-row p,.game-header p{color:#b9d0e5}
.intro-row .pill{background:#102d4b;border-color:#507393;color:#d2e5f7;white-space:normal;max-width:240px;line-height:1.8}
.panel{background:linear-gradient(150deg,#173959,#102b46);border:1px solid #426280;box-shadow:0 15px 35px #0002}
.section-heading{color:#edf6ff}.step{background:#f4b517;color:#102b46;box-shadow:0 0 18px #f4b51724}
.track{color:#eef7ff;background:#0b2440;border-color:#355b7c;transition:transform .2s,border-color .2s,background .2s}
.track:hover{background:#163f6d;border-color:#74bce9;transform:translateY(-3px)}
.track.selected{background:linear-gradient(135deg,#164f7d,#14395a);border-color:#f4b517;box-shadow:inset 0 0 0 1px #f4b517,0 0 20px #f4b51712}
.track-icon{background:#193f61;color:#a5d9ff}.track.selected .track-icon{background:var(--gold);color:#102b46}.track .check{color:var(--gold)}
.track small,.setup-layout .support-note,.setup-console .muted,.setup-console small{color:#b2cae0}
.board-peek{background:#0c2844;border:1px solid #375b7b;color:#bad0e5}.board-peek b{color:#ffda7e}
.setup-console{background:linear-gradient(160deg,#163f6d,#0c2540);border:1px solid #628098;border-top:3px solid var(--gold)}
.setup-console .step{background:var(--gold);color:#102b46}.setup-console .level.selected{background:var(--gold);color:#102b46}.setup-console .level.selected small{color:#344965}
.primary{box-shadow:0 4px 0 #003d67}.gold-button{background:linear-gradient(#ffd15b,#f4b517);box-shadow:0 4px 0 #946710,0 6px 22px #f4b51722}
.game-header h1{color:white}.game-header .eyebrow{color:#ffda7e;letter-spacing:.2em}
.score{background:linear-gradient(#1e496e,#0d2b49);border-color:#517494;border-top-color:var(--team-color);box-shadow:0 7px 0 #05182b,0 12px 22px #0003;color:#d9ebfa;min-height:80px}
.score strong{color:#fff1b7;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #f4b51740}
.score-celebrate{animation:score-win 1.4s ease-out}
.game-board{position:relative;padding:26px 20px;border:2px solid #8b7846;border-radius:20px;background:linear-gradient(145deg,#123759,#071e36);box-shadow:0 0 0 5px #06172a,0 0 0 6px #355a79,0 24px 50px #0006}
.category-head{margin:0;background:#102e4d;border-bottom:2px solid #f4b517aa;border-radius:7px 7px 0 0;color:#fff;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}
.tile{position:relative;background:linear-gradient(150deg,#007dce,#145286 58%,#163f6d);color:#ffcf51;border:1px solid #589aca;box-shadow:inset 0 1px 0 #9cdbff55,0 4px 0 #061c33;font-size:2.5rem;text-shadow:0 3px 0 #082542;transition:transform .2s,box-shadow .2s,background .2s}
.tile:hover:not(:disabled){background:linear-gradient(140deg,#1199eb,#1c669f);transform:translateY(-3px) scale(1.015);box-shadow:0 0 0 2px #ffd467,0 0 24px #f4b51744,0 5px 0 #061c33}
.tile.used{background:#0c243d;border-color:#20415c;color:#5c7c99;text-shadow:none}
.board-bottom{color:#bfd5e8}.progress-rail{background:#254966}.progress-fill{background:var(--gold)}
.mobile-categories{color:#d3e7fa}
footer{background:#06192c;border-color:#31516e;color:#a2bcd2}
dialog{color:#172c46;--muted:#5a6c81}
dialog.question-stage{background:linear-gradient(145deg,#174879,#0b2442);color:#f0f7ff;border:2px solid #c49c3f;box-shadow:0 0 0 5px #163f6d,0 0 70px #007dce40,0 30px 100px #001326aa;--muted:#b8cfe5}
.question-stage .modal-head{background:#0b2948;border-bottom:1px solid #a48037;color:#ffe09a}
.question-stage .clue-question{font-size:clamp(1.5rem,3.2vw,2.25rem);text-align:center;padding:14px 0 20px;text-shadow:0 2px 2px #06182c;font-weight:750}
.question-stage .eyebrow{color:#ffda7e}.question-stage .clue-meta{color:#c5d9eb}.question-stage .pill{background:#173a59;border-color:#597994;color:#e9f5ff}
.question-stage .choice{background:#123759;border-color:#6386a5;color:#fff}.question-stage .choice.selected{background:#235785;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.question-stage .answer-box{color:#153e29}.question-stage .answer-box .eyebrow{color:#34794b}.question-stage .answer-box small{color:#426452}
.question-stage .award{border-color:#4b7191}.question-stage .music-controls{background:#09243e;border-color:#365a79}.question-stage .music-volume,.question-stage .music-status{color:#bdd3e7}.question-stage .music-source{color:#87ceff}
.question-stage .hint{color:#735a22}.question-stage .clock{color:#163f6d}
.result-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#007dce55,transparent 70%),#102e4f;border:1px solid #bc9641;box-shadow:0 0 45px #f4b51712}
.result-hero h1{color:#ffda7e}.podium-row{background:#123553;border-color:#436382;color:#e2effb}.podium-row strong{color:#ffda7e}.podium-row small{color:#bad0e5}
@keyframes bulb-glow{from{opacity:.42}to{opacity:1}}
@keyframes stage-sweep{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@keyframes score-win{0%{transform:translateY(0)}35%{transform:translateY(-5px);box-shadow:0 0 0 2px #ffda7e,0 0 30px #f4b51755}100%{transform:translateY(0)}}
.lights-off *,.lights-off *:before,.lights-off *:after{animation:none!important;transition:none!important}.lights-off .stage-atmosphere{display:none}
@media(max-width:1050px){.game-board{padding:24px 12px}.tile{font-size:2rem}.intro-row .pill{max-width:180px;font-size:.7rem}.intro-row{padding:30px 25px}}
@media(max-width:800px){.brand-logo{width:225px;height:68px}.intro-row h1{font-size:3.5rem}.show-label{font-size:.6rem;letter-spacing:.1em}}
@media(max-width:580px){.topbar{padding:10px 16px;gap:9px;min-height:80px}.brand{border-radius:9px}.brand-logo{width:165px;height:52px}.top-actions{gap:5px}.top-actions .quiet{font-size:.72rem;padding:10px 8px}.top-actions .icon-btn{width:32px;height:38px}.show-controls{padding:12px 16px;flex-wrap:wrap;gap:10px}.show-label{width:100%;font-size:.62rem}.show-controls .button-row{gap:8px}.show-toggle{font-size:.75rem;padding:8px 13px}.intro-row{padding:28px 20px}.intro-row h1{font-size:clamp(2.25rem,9vw,3.5rem)}.intro-row .eyebrow{font-size:.59rem;letter-spacing:.14em}.intro-row p{font-size:.85rem}.game-board{padding:23px 12px}.tile{font-size:2rem}.score{min-height:72px}.question-stage .modal-body{padding:18px}.question-stage .clue-question{font-size:1.4rem;padding-top:0}.question-stage .music-controls{padding:10px}.question-stage .music-controls .button-row{gap:7px}main{padding-top:12px}.category-head{font-size:.9rem}.stage-atmosphere i{width:55%;height:800px}}
@media(max-width:350px){.brand-logo{width:140px;height:46px}.topbar{padding-left:12px;padding-right:12px}.top-actions .quiet{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.stage-atmosphere{display:none}}
@media print{.stage-atmosphere,.show-controls{display:none!important}body{background:white;color:#163f6d}.result-hero,.podium-row{background:white;color:#163f6d;box-shadow:none}.result-hero h1,.podium-row strong,.podium-row small{color:#163f6d}.result-hero:before{display:none}}
