:root{--navy:#06133b;--blue:#0ea5e9;--blue-deep:#0369a1;--orange:#f97316;--pink:#ec4899;--gold:#facc15;--cyan:#22d3ee;--white:#fff;--ink:#07143a;--panel:rgba(6,19,59,.94);--focus:#fff36b}
*{box-sizing:border-box}
html{min-height:100%;background:#03091f}
body{min-height:100vh;margin:0;color:#fff;font-family:'Poppins',system-ui,sans-serif;background:radial-gradient(circle at 50% -10%,#1c4899 0,#0a2059 36%,#03091f 76%);overflow-x:hidden}
button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid var(--focus)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#07143a;padding:.75rem 1rem;border-radius:.6rem;font-weight:900}.skip-link:focus{top:1rem}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.show-topbar{height:68px;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1rem;background:rgba(242,246,255,.92);color:var(--ink);border-radius:0 0 18px 18px;position:relative;z-index:30}
.room-panel{width:min(940px,calc(100% - 2rem));margin:.7rem auto 0;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;background:#fff;color:var(--ink);border-radius:16px;padding:.6rem .8rem;box-shadow:0 8px 28px #0004}.room-panel>div{display:flex;flex-direction:column}.room-panel span{font-size:.72rem;font-weight:800;color:#52617a}.room-panel strong{font-size:.95rem}.room-panel code{font-size:1.25rem;letter-spacing:.16em;color:#075ea8}.room-panel .secondary-action{min-height:40px;padding:.45rem .8rem;background:#075ea8;color:#fff}.room-status{max-width:240px}
.back-link{justify-self:start;color:var(--ink);text-decoration:none;background:#fff;border-radius:999px;padding:.65rem 1rem;font-weight:900}.brand-mark{font-weight:1000;letter-spacing:.05em}.brand-mark span{color:#075ea8}.top-actions{justify-self:end;display:flex;gap:.5rem}.icon-button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 2px 8px #08174422}
.show-stage{min-height:calc(100vh - 130px);position:relative}.scene{display:none;min-height:calc(100vh - 130px);padding:2rem 1rem 4rem}.scene--active{display:flex;animation:sceneIn .5s ease both}@keyframes sceneIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.show-card{width:min(900px,100%);margin:auto;background:linear-gradient(150deg,rgba(8,25,72,.98),rgba(5,15,50,.94));border:2px solid var(--cyan);border-radius:28px;padding:clamp(1.4rem,4vw,3rem);box-shadow:0 0 60px #22d3ee33,0 24px 80px #0008;text-align:center}
.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:1000;color:#8eeafa}.setup-card h1,.intro-scene h1,.transition-scene h1,.fast-scene h1,.finale-scene h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.3rem,6vw,5rem);margin:.2rem 0;color:#fff;text-shadow:0 0 26px #22d3ee77}.lead{color:#dbeafe;font-size:1.05rem;margin:.5rem auto 1.7rem}
.setup-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.team-setup{padding:1.2rem;border-radius:20px;background:#ffffff0a;border:2px solid #ffffff22}.team-setup--blue{border-color:#38bdf866}.team-setup--orange{border-color:#fb923c66}.team-setup>label{display:block;text-align:left;font-weight:900;margin-bottom:.45rem}.team-setup input[type=text],.team-setup>input{width:100%;background:#fff;color:var(--ink);border:0;border-radius:12px;padding:.8rem;font-size:1.1rem;font-weight:800}.versus{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-weight:1000;box-shadow:0 0 24px #facc1588}
.mascot-picker{border:0;margin:1rem 0 0;padding:0}.mascot-picker legend{font-size:.8rem;color:#cfe8ff;font-weight:800;margin:0 auto .5rem}.mascot-picker{display:flex;justify-content:center;gap:.5rem}.mascot-picker label{cursor:pointer}.mascot-picker input{position:absolute;opacity:0}.mascot-picker label span{width:50px;height:50px;display:grid;place-items:center;font-size:1.55rem;background:#071a4b;border:2px solid #315caa;border-radius:12px}.mascot-picker input:checked+span{border-color:var(--gold);background:#123477;box-shadow:0 0 0 3px #facc1544}.mascot-picker label b{display:none}.setup-options{display:flex;justify-content:center;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0;color:#e5f2ff;font-weight:800}.setup-options select{background:#fff;color:var(--ink);border:0;padding:.7rem;border-radius:10px;font-weight:800}.check-option{display:flex;gap:.5rem;align-items:center}.check-option input{width:24px;height:24px}
.primary-action,.secondary-action,.danger-action,.text-action,.utility-action{border:0;border-radius:13px;padding:.85rem 1.2rem;min-height:50px;font-weight:1000;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-action{background:linear-gradient(135deg,#10b981,#22c55e);color:#062c21;font-size:1.1rem;box-shadow:0 8px 20px #10b98133}.secondary-action{background:#fff;color:var(--ink)}.danger-action{background:#dc2626;color:#fff}.text-action{background:transparent;color:#c9efff;text-decoration:underline}.setup-card>.primary-action{width:min(430px,100%)}
.intro-scene,.transition-scene,.finale-scene{position:relative;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.intro-lights{position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg,#22d3ee00 0 9deg,#22d3ee18 10deg 15deg,#facc1500 16deg 29deg,#facc1518 30deg 34deg);animation:spin 12s linear infinite;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.intro-scene>*:not(.intro-lights){position:relative}.intro-matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin:2rem auto}.intro-team{min-width:270px;padding:1.5rem;border-radius:24px;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 18px 44px #0007}.intro-team span{font-size:4rem}.intro-team b{font-size:1.6rem}.intro-team--blue{background:linear-gradient(135deg,#0284c7,#06b6d4)}.intro-team--orange{background:linear-gradient(135deg,#f97316,#ec4899)}.intro-vs{font-size:2.5rem;font-weight:1000;color:var(--gold)}.countdown{font-size:clamp(5rem,16vw,10rem);line-height:1;font-weight:1000;color:var(--gold);text-shadow:0 0 40px #facc15}.intro-skip{position:absolute!important;bottom:1.5rem;right:1.5rem}
.game-scene{display:none;max-width:1280px;margin:auto;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto auto 1fr;gap:1rem}.game-scene.scene--active{display:grid}.scoreboard{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch}.score-team{min-height:92px;border-radius:20px;padding:.8rem 1.2rem;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;box-shadow:0 12px 28px #0005;border:2px solid #ffffff55}.score-team--blue{background:linear-gradient(135deg,#0369a1,#06b6d4)}.score-team--orange{background:linear-gradient(135deg,#ea580c,#ec4899)}.score-mascot{font-size:2rem}.score-name{font-size:clamp(1rem,2vw,1.35rem);font-weight:1000}.score-value{font-size:clamp(2rem,4vw,3rem);font-variant-numeric:tabular-nums}.score-team--active{outline:5px solid var(--gold);box-shadow:0 0 35px #facc1588}.round-chip{align-self:center;text-align:center;border-radius:16px;padding:.7rem 1.1rem;background:#fff;color:var(--ink);min-width:140px}.round-chip span,.round-chip b{display:block}.round-chip b{font-size:.75rem;color:#075ea8}
.status-banner{grid-column:1/-1;text-align:center;background:var(--gold);color:var(--ink);padding:.65rem 1rem;border-radius:12px;font-size:1.05rem;font-weight:1000;letter-spacing:.03em}.question-area{position:relative;background:#041337bb;border:2px solid #315caa;border-radius:24px;padding:1.2rem;box-shadow:0 20px 50px #0004}.question-heading{text-align:center;position:relative;padding:0 70px}.question-heading h2{margin:.2rem auto 1rem;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.45rem)}.speak-button{position:absolute;right:5px;top:5px;width:50px;height:50px;border:0;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer}.timer-wrap{position:absolute;top:1rem;left:1rem;width:74px;height:74px}.timer-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-track,.timer-progress{fill:none;stroke-width:8}.timer-track{stroke:#ffffff22}.timer-progress{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:276.46;transition:stroke-dashoffset .3s}.timer-wrap strong{position:absolute;inset:0;display:grid;place-items:center;font-size:1.3rem}.timer-wrap--warning .timer-progress{stroke:var(--gold)}.timer-wrap--danger .timer-progress{stroke:#ef4444}.timer-wrap--danger strong{color:#fecaca}
.answer-board{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;max-width:850px;margin:auto}.answer-slot{min-height:66px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.7rem;border:2px solid #416cd1;background:#0c2a6b;color:#fff;border-radius:12px;padding:.45rem .8rem;font-weight:900;text-align:left}.answer-slot[disabled]{opacity:1}.answer-slot:not([disabled]){cursor:pointer}.answer-slot:not([disabled]):hover{border-color:var(--gold);transform:translateY(-1px)}.answer-slot__number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#3a5ac0}.answer-slot__blank{letter-spacing:.25rem;color:#7189d5;text-align:center}.answer-slot__points{background:var(--gold);color:var(--ink);border-radius:8px;padding:.2rem .65rem;font-size:1.05rem}.answer-slot--revealed{background:linear-gradient(135deg,#087f9b,#0e7490);border-color:#67e8f9;animation:flipIn .55s ease both}@keyframes flipIn{0%{transform:rotateX(90deg)}100%{transform:none}}.round-pot{text-align:center;color:var(--gold);font-size:1.2rem;font-weight:900;margin:.9rem}.strike-row{display:flex;justify-content:center;gap:1rem}.strike-row span{width:48px;height:48px;border:3px solid #ef4444;border-radius:10px;display:grid;place-items:center;color:#ef4444;font-size:1.8rem;font-weight:1000;opacity:.24}.strike-row span.is-on{opacity:1;background:#ef4444;color:#fff;animation:strikePop .45s ease}@keyframes strikePop{50%{transform:scale(1.28)}}
.host-console{background:#fff;color:var(--ink);border-radius:22px;padding:1rem;align-self:start;box-shadow:0 20px 50px #0005;position:sticky;top:1rem}.host-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe4f2;padding-bottom:.7rem}.host-heading .eyebrow{color:#0369a1}.host-heading h2{margin:0;font-size:1.15rem}.host-instruction{font-weight:800;color:#344563}.host-actions{display:grid;gap:.55rem}.host-answer,.host-team,.host-choice{min-height:54px;border:2px solid #b8c7dc;border-radius:12px;background:#f7faff;color:var(--ink);font-weight:900;cursor:pointer;padding:.6rem .8rem;text-align:left}.host-answer{display:grid;grid-template-columns:1fr auto;gap:.5rem}.host-answer small{background:#dbeafe;border-radius:8px;padding:.15rem .5rem}.host-answer:hover,.host-team:hover,.host-choice:hover{border-color:#0369a1;background:#eff6ff}.host-team--blue{border-left:10px solid var(--blue)}.host-team--orange{border-left:10px solid var(--orange)}.host-wrong{border-color:#fecaca;background:#fff1f2;color:#991b1b}.host-footer{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.8rem;border-top:1px solid #dbe4f2;padding-top:.8rem}.utility-action{min-height:40px;padding:.45rem .65rem;background:#edf2f7;color:var(--ink);font-size:.78rem}.utility-action:disabled{opacity:.45;cursor:not-allowed}
.transition-points{font-size:clamp(4rem,15vw,9rem);font-weight:1000;color:var(--gold);text-shadow:0 0 35px #facc1588}.transition-scene p{font-size:1.15rem;color:#dbeafe}.transition-scene .primary-action{min-width:250px}
.fast-scene{flex-direction:column;align-items:center;text-align:center}.fast-header h1{font-size:clamp(2.4rem,6vw,4rem)}.fast-header p{color:#dbeafe}.fast-progress{width:min(780px,100%);display:grid;grid-template-columns:auto 1fr auto auto;gap:.7rem;align-items:center;font-weight:1000}.fast-progress>div{height:22px;background:#142c6b;border:2px solid #416cd1;border-radius:999px;overflow:hidden}.fast-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#22d3ee,#facc15);transition:width .8s ease}.fast-progress strong{font-size:1.5rem;color:var(--gold)}.fast-main{width:min(820px,100%);margin-top:1.2rem;background:#06143eee;border:2px solid var(--cyan);border-radius:24px;padding:1.3rem;box-shadow:0 0 40px #22d3ee33}.fast-player{font-size:1.2rem;font-weight:1000;color:var(--cyan)}.fast-timer{width:90px;height:90px;border-radius:50%;margin:.8rem auto;display:grid;place-items:center;border:7px solid var(--gold);font-size:2.2rem;font-weight:1000;background:#091c51}.fast-question-count{color:#a9dfff;font-weight:800}.fast-main h2{font-family:'Playfair Display',serif;font-size:clamp(1.45rem,4vw,2.4rem)}.fast-options{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.fast-options button{min-height:54px;border:2px solid #416cd1;border-radius:11px;background:#0d2d72;color:#fff;font-weight:900;cursor:pointer}.fast-options button:hover{border-color:var(--gold)}.fast-options .fast-pass{grid-column:1/-1;background:#4b5563}.fast-reveal-list{display:grid;gap:.55rem;text-align:left}.fast-reveal-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;background:#0d2d72;border:2px solid #416cd1;border-radius:11px;padding:.7rem}.fast-reveal-row strong{color:var(--gold)}
.finale-scene{background:radial-gradient(circle,#174ca5 0,#081744 55%,#03091f)}.finale-trophy{font-size:clamp(5rem,18vw,10rem);filter:drop-shadow(0 0 35px #facc15)}.finale-score{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:1000;color:var(--gold)}.finale-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}
.show-dialog{width:min(520px,calc(100% - 2rem));border:2px solid var(--cyan);border-radius:20px;background:#06143e;color:#fff;padding:1.4rem;box-shadow:0 25px 80px #000a}.show-dialog::backdrop{background:#010614cc}.show-dialog form{display:grid;gap:.7rem}.show-dialog h2{margin:0}.show-dialog p{color:#dbeafe}
body.effects-off *,body.effects-off *::before,body.effects-off *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.is-paused::after{content:'PAUSED';position:fixed;inset:68px 0 0;display:grid;place-items:center;background:#020617dd;color:#fff;font-size:clamp(3rem,12vw,8rem);font-weight:1000;z-index:100}
@media(max-width:900px){.game-scene.scene--active{grid-template-columns:1fr}.host-console{position:static;grid-row:3}.question-area{min-height:0;grid-row:4}.setup-grid{grid-template-columns:1fr}.versus{margin:auto}.intro-team{min-width:210px}.answer-board{grid-template-columns:1fr}.scoreboard{gap:.5rem}.score-team{grid-template-columns:auto 1fr;min-width:0}.score-value{grid-column:1/-1;text-align:center}.round-chip{min-width:105px;padding:.5rem}.timer-wrap{position:relative;top:auto;left:auto;margin:0 auto .6rem}.question-heading{padding:0 48px 0 0}}
@media(max-width:620px){.show-topbar{grid-template-columns:1fr auto;height:62px}.brand-mark{display:none}.scene{min-height:calc(100vh - 62px);padding:1rem .65rem 3rem}.setup-card{padding:1rem}.mascot-picker label span{width:44px;height:44px}.intro-matchup{grid-template-columns:1fr;gap:.7rem}.intro-team{min-width:min(310px,86vw);padding:.8rem;flex-direction:row;align-items:center;justify-content:center}.intro-team span{font-size:2rem}.intro-vs{font-size:1.4rem}.score-team{padding:.55rem}.score-mascot{display:none}.score-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-value{font-size:2rem}.round-chip span{font-size:.8rem}.round-chip b{font-size:.63rem}.question-area{padding:.8rem}.answer-slot{min-height:58px}.host-console{border-radius:16px}.fast-options{grid-template-columns:1fr}.fast-progress{grid-template-columns:auto 1fr auto}.fast-progress>span:last-child{display:none}.finale-actions{flex-direction:column;width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
