:root{color:#183d73;font-synthesis:none;text-rendering:optimizelegibility;--yellow:#ffe600;--yellow-deep:#f5d900;--blue:#3483fa;--blue-dark:#183d73;--blue-black:#0d2548;--cream:#fffdf2;--white:#fff;--ink:#17202d;--muted:#6b7280;--danger:#ef3c4f;--success:#16a46c;--event-blue:#102f85;--event-blue-deep:#071d54;--event-gold:#ffc400;--shadow-hard:0 14px 0 #0d254829;background:#ffe600;font-family:Avenir Next,Segoe UI Variable Display,Trebuchet MS,sans-serif}@property --countdown-progress{syntax:"<percentage>";inherits:false;initial-value:100%}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;margin:0}body{overscroll-behavior:none;background:var(--yellow);min-width:320px;min-height:100dvh}button,input{font:inherit}button{touch-action:manipulation}.app-shell{background:var(--yellow);width:100%;min-height:100dvh;margin:0 auto;position:relative;overflow:hidden;container-type:inline-size}.screen{width:100%;min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 52px max(34px, env(safe-area-inset-bottom));animation:.45s cubic-bezier(.2,.8,.2,1) both screen-in;position:relative}@keyframes screen-in{0%{opacity:0;transform:translateY(16px)}}.brand-mark{color:var(--blue-dark);align-items:center;display:inline-flex}.brand-mark__logo{object-fit:contain;width:270px;height:auto;display:block}.brand-mark--compact .brand-mark__logo{width:145px}.event-mark{object-fit:contain;filter:drop-shadow(0 18px 16px #0924623d);width:min(760px,94%);height:auto;display:block}.event-mark--compact{filter:drop-shadow(0 5px 5px #09246233);width:180px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:16px;font-weight:900}.icon-button{background:var(--cream);width:56px;height:56px;color:var(--blue-dark);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:25px;font-weight:900;display:grid}.icon-button--on-yellow{box-shadow:0 6px #183d7324}.text-button{color:var(--blue-dark);letter-spacing:.12em;cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:900}.primary-button{background:var(--blue);min-height:76px;color:var(--white);letter-spacing:.06em;cursor:pointer;border:0;border-radius:18px;padding:0 30px;font-size:19px;font-weight:900;transition:transform .12s,box-shadow .12s;box-shadow:0 10px #2168c8}.primary-button:active{transform:translateY(6px);box-shadow:0 4px #2168c8}.primary-button:disabled{cursor:not-allowed;background:#91a5bf;box-shadow:0 7px #70839d}.primary-button--hero{justify-content:space-between;align-items:center;width:100%;min-height:96px;padding:0 40px;font-size:22px;display:flex}.primary-button--hero span{font-size:35px;font-weight:400}.start-screen{background:radial-gradient(circle at 50% 32%, #ffffffb8 0 9%, transparent 31%), radial-gradient(circle at 18% 28%, #fff9 0 2px, transparent 4px), radial-gradient(circle at 82% 60%, #102f851a 0 2px, transparent 4px), var(--yellow);background-size:auto,27px 27px,31px 31px,auto;flex-direction:column;display:flex}.start-screen:before,.start-screen:after{content:"";pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.start-screen:before{background:radial-gradient(circle,#2168c852,#2168c800 68%);width:390px;height:390px;top:330px;left:-270px}.start-screen:after{background:radial-gradient(circle,#ffffffbf,#fff0 68%);width:440px;height:440px;top:210px;right:-320px}.start-screen__header,.simple-header{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.start-hero{z-index:1;text-align:center;flex-direction:column;align-items:center;margin-top:clamp(18px,3vh,52px);display:flex;position:relative}.start-hero .event-mark{margin:-8px auto 0}.start-hero .eyebrow{color:#183d73b8}.game-mode-pill{background:var(--event-blue);color:#fff;letter-spacing:.08em;border-radius:999px;place-items:center;min-width:330px;min-height:64px;padding:8px 36px;font-size:clamp(24px,4cqw,38px);font-weight:950;display:inline-grid;box-shadow:inset 0 -5px #05144152,0 8px #183d7324}.start-card{border:4px solid var(--event-blue);z-index:2;background:#fffdf2f5;border-radius:36px;margin-top:auto;padding:38px;position:relative;box-shadow:0 14px #102f853d,0 28px 60px #102f8524}.start-card__label{letter-spacing:.14em;text-align:center;margin-bottom:18px;font-size:clamp(16px,2.1cqw,21px);font-weight:950;display:block}.group-name-input{border:3px solid var(--blue-dark);background:var(--white);width:100%;height:86px;color:var(--blue-dark);letter-spacing:.04em;text-align:center;text-transform:uppercase;border-radius:18px;outline:none;padding:0 28px;font-size:clamp(28px,4.8cqw,46px);font-weight:950}.group-name-input::placeholder{color:#a3adba}.group-name-input:focus{border-color:var(--blue);box-shadow:0 0 0 5px #3483fa2e}.start-card .keyboard{margin:22px 0 28px}.start-card .key{height:clamp(48px,5vh,62px)}.team-switch{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;display:grid}.team-option{background:var(--white);min-height:152px;color:var(--muted);cursor:pointer;border:3px solid #d5dae2;border-radius:24px;transition:all .18s}.team-option span{letter-spacing:.16em;margin-bottom:3px;font-size:15px;font-weight:900;display:block}.team-option strong{font-size:70px;line-height:.9}.team-option--active{color:var(--white);background:var(--blue-dark);border-color:var(--blue-dark);box-shadow:0 9px 0 var(--blue);transform:translateY(-5px)}.kiosk-chip{letter-spacing:.14em;border:2px solid #183d7340;border-radius:99px;margin:34px auto 0;padding:10px 18px;font-size:13px;font-weight:900}.game-screen{background:radial-gradient(circle at 50% 18%, #3483fa75, transparent 34%), radial-gradient(circle, #ffffff0b 0 2px, transparent 3px), linear-gradient(180deg, #113873, var(--event-blue-deep) 72%);color:var(--white);background-size:auto,29px 29px,auto;flex-direction:column;min-height:100dvh;padding:0 36px 30px;display:flex}.game-header{background:var(--yellow);height:88px;color:var(--blue-dark);border-bottom:5px solid #102f852e;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 -36px;padding:0 36px;display:grid}.game-header__title{background:var(--event-blue);color:#fff;letter-spacing:.13em;border-radius:999px;justify-self:center;padding:9px 22px 8px;font-size:15px;font-weight:950;box-shadow:inset 0 -3px #05144159}.game-header__team{letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:100%;font-size:14px;font-weight:700;overflow:hidden}.game-header__team b{font-size:22px}.game-stats{grid-template-columns:1fr 240px 1fr;align-items:center;gap:15px;min-height:176px;display:grid}.timer-block,.round-block{flex-direction:column;align-items:center;display:flex}.timer-block span,.round-block span{letter-spacing:.15em;color:#a8c8ee;font-size:13px;font-weight:900}.timer-block strong,.round-block strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:39px;line-height:1}.round-block strong small{font:inherit;color:#a8c8ee;font-size:.45em}.score-orb{border:4px solid var(--yellow);background:var(--blue-black);border-radius:50%;grid-template-rows:28px 1fr;place-items:center;width:220px;height:130px;margin:0 auto;transition:all .25s;display:grid;position:relative;box-shadow:0 0 0 8px #ffe60029,0 0 45px #ffe60033}.score-orb:before,.score-orb:after{content:"";background:var(--yellow);width:18px;height:4px;box-shadow:0 -34px 0 var(--yellow), 0 34px 0 var(--yellow);position:absolute;top:50%}.score-orb:before{left:-14px}.score-orb:after{right:-14px}.score-orb__label{text-align:center;color:var(--yellow);letter-spacing:.15em;align-self:end;font-size:12px;font-weight:900}.score-orb__value{font-variant-numeric:tabular-nums;justify-self:center;font-family:Georgia,serif;font-size:62px;line-height:.9}.score-orb--danger{border-color:var(--danger);animation:.8s infinite alternate danger-pulse;box-shadow:0 0 0 8px #ef3c4f2e,0 0 45px #ef3c4f4d}@keyframes danger-pulse{to{transform:scale(1.045)}}.question-panel{text-align:center;background:#ffffff12;border:3px solid #ffffff2e;border-radius:25px;place-content:center;min-height:170px;padding:26px 40px;display:grid}.question-panel h1{letter-spacing:-.035em;max-width:800px;margin:0 auto;font-size:clamp(27px,4.3cqw,45px);line-height:1.08}.countdown-stage{--countdown-color:var(--yellow);flex:1;place-items:center;min-height:clamp(300px,39vh,560px);padding:28px 0;display:grid}.countdown-ring{aspect-ratio:1;background:conic-gradient(from -90deg, var(--countdown-color) 0 var(--countdown-progress), #ffffff1f var(--countdown-progress) 100%);border-radius:50%;width:clamp(250px,48cqw,500px);padding:clamp(13px,2.3cqw,24px);transition:--countdown-progress 1s linear,filter .25s,transform .25s;box-shadow:0 0 0 8px #ffffff14,0 0 60px #ffe6002b}.countdown-ring__face{background:radial-gradient(circle at 50% 35%, #173f79, var(--blue-black) 72%);text-align:center;border:5px solid #ffffff29;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 45px #3483fa47}.countdown-ring__face span,.countdown-ring__face small{color:var(--countdown-color);letter-spacing:.16em;font-size:clamp(15px,2.2cqw,22px);font-weight:950}.countdown-ring__face strong{color:var(--white);font-variant-numeric:tabular-nums;margin:clamp(6px,1.4vh,16px) 0;font-family:Georgia,serif;font-size:clamp(105px,22cqw,190px);line-height:.78;animation:.28s ease-out countdown-tick}@keyframes countdown-tick{0%{opacity:.55;transform:scale(.88)}}.countdown-stage--danger{--countdown-color:var(--danger)}.countdown-stage--danger .countdown-ring{animation:.7s ease-in-out infinite alternate countdown-danger}@keyframes countdown-danger{to{filter:drop-shadow(0 0 18px #ef3c4f73);transform:scale(1.035)}}.countdown-stage--cleared{--countdown-color:#54e4a7}.countdown-stage--strikes,.countdown-stage--timeout{--countdown-color:var(--danger)}.countdown-stage--cleared .countdown-ring,.countdown-stage--strikes .countdown-ring,.countdown-stage--timeout .countdown-ring{animation:.5s cubic-bezier(.2,1.4,.3,1) countdown-result}@keyframes countdown-result{0%{opacity:.45;transform:scale(.78)}}.game-screen--summary-open .countdown-stage{visibility:hidden}.input-zone{margin-top:auto}.input-zone__top{align-items:center;min-height:50px;margin-bottom:8px;display:flex}.strikes{gap:9px;display:flex}.strike{color:#ffffff38;border:2px solid #ffffff2e;border-radius:8px;place-items:center;width:37px;height:37px;font-size:30px;font-weight:950;line-height:1;display:grid}.strike--active{border-color:var(--danger);background:var(--danger);color:#fff;animation:.28s cubic-bezier(.2,1.7,.3,1) strike-in;box-shadow:0 0 16px #ef3c4f73}@keyframes strike-in{0%{opacity:0;transform:scale(2.8)rotate(-14deg)}}.answer-input{border:3px solid var(--yellow);background:var(--white);min-height:76px;color:var(--blue-dark);letter-spacing:.02em;text-align:center;border-radius:16px;justify-content:center;align-items:center;padding:10px 30px;font-size:clamp(27px,4cqw,42px);font-weight:950;display:flex;overflow:hidden}.answer-input span{color:#a3adba;letter-spacing:.08em;font-size:23px}.answer-input i{background:var(--blue);width:3px;height:39px;margin-left:5px;animation:.8s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.keyboard{gap:8px;margin-top:13px;transition:opacity .2s;display:grid}.keyboard--disabled{opacity:.28}.keyboard__row{justify-content:center;gap:7px;display:flex}.key{max-width:78px;height:clamp(52px,5.4vh,70px);color:var(--blue-dark);cursor:pointer;background:#eef2f7;border:0;border-radius:10px;flex:1;font-size:clamp(15px,2.3cqw,23px);font-weight:900;box-shadow:0 5px #acb6c5}.key:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #acb6c5}.key--delete{background:#b9c5d6;flex:1;max-width:none}.key--submit{background:var(--yellow);flex:3;max-width:none;box-shadow:0 5px #b9a600}.key--space{background:#d9e0e9;flex:2;max-width:none}.key--submit:disabled{color:#aeb9c8;background:#6f8098;box-shadow:0 5px #45556c}.round-overlay,.operator-overlay{z-index:1000;isolation:isolate;background:#051428e6;place-items:center;padding:45px;animation:.25s both fade-in;display:grid;position:absolute;inset:0;transform:translateZ(1px)}.round-overlay{position:fixed}@keyframes fade-in{0%{opacity:0}}.round-modal{width:100%;max-width:650px;color:var(--blue-dark);text-align:center;gap:28px;animation:.38s cubic-bezier(.2,1.25,.3,1) both modal-in;display:grid}@keyframes modal-in{0%{opacity:0;transform:scale(.72)translateY(30px)}}.round-modal__score{background:var(--yellow);border:5px solid #fff;border-radius:28px;justify-content:center;align-items:baseline;gap:12px;min-height:150px;padding:28px;display:flex;box-shadow:0 12px #b9a600,0 0 45px #ffe60038}.round-modal__score span,.round-modal__score small{letter-spacing:.12em;font-size:12px;font-weight:900}.round-modal__score strong{font-family:Georgia,serif;font-size:56px}.round-modal .primary-button{border:4px solid #fff;width:100%;min-height:96px;box-shadow:0 11px #2168c8}.results-screen{background:var(--yellow);text-align:center;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;row-gap:clamp(18px,2.6vh,48px);display:grid;overflow:hidden}.results-header{min-height:72px}.results-copy{margin-top:clamp(12px,3.5vh,68px)}.results-copy h1{letter-spacing:-.06em;margin:20px 0 0;font-family:Georgia,serif;font-size:clamp(48px,8cqw,84px);line-height:.98}.final-score{border:8px solid var(--yellow);outline:5px solid var(--blue-dark);background:var(--blue-dark);color:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.1vh,16px);width:min(620px,100% - 48px);height:clamp(250px,30vh,365px);margin:0 auto;padding:34px;display:flex;position:relative;box-shadow:0 0 0 10px #183d7321,0 18px #183d731f}.final-score:before,.final-score:after{content:"✦";color:var(--yellow);font-size:clamp(20px,4cqw,38px);position:absolute;top:50%;transform:translateY(-50%)}.final-score:before{left:22px}.final-score:after{right:22px}.final-score span,.final-score small{z-index:1;letter-spacing:.17em;color:var(--yellow);font-size:15px;font-weight:900;line-height:1;position:relative}.final-score strong{z-index:1;font-family:Georgia,serif;font-size:clamp(84px,16cqw,154px);line-height:.72;position:relative}.compare-card{text-align:left;border:3px solid var(--blue-dark);background:var(--cream);width:min(720px,100%);box-shadow:var(--shadow-hard);border-radius:24px;grid-template-columns:72px 1fr;align-items:center;gap:22px;margin:0 auto;padding:clamp(18px,2.5vw,28px);display:grid}.compare-card__icon{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:68px;height:68px;font-size:32px;display:grid}.compare-card b{font-size:21px}.compare-card p{color:#596575;margin:7px 0 0;font-size:17px}.result-meta{letter-spacing:.14em;align-self:end;margin:0;font-size:14px;font-weight:900}.operator-overlay{align-items:start;position:fixed;overflow-y:auto}.operator-panel{background:var(--cream);width:min(690px,100%);color:var(--blue-dark);box-shadow:0 12px 0 var(--yellow);border-radius:30px;margin:auto;padding:38px}.operator-panel__header{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.operator-panel__header h2{letter-spacing:-.04em;margin:8px 0 0;font-family:Georgia,serif;font-size:40px}.operator-summary{gap:10px;margin-bottom:26px;display:flex}.operator-summary span{background:var(--yellow);letter-spacing:.08em;text-align:center;border-radius:12px;flex:1;padding:13px;font-size:13px;font-weight:800}.operator-summary b{font-size:17px}.operator-panel label{border-bottom:1px solid #dce1e8;grid-template-columns:1fr 160px;align-items:center;gap:18px;padding:16px 0;font-size:17px;font-weight:800;display:grid}.operator-panel input[type=number]{width:100%;height:55px;color:var(--blue-dark);text-align:center;background:#fff;border:2px solid #c9d1dc;border-radius:12px;font-weight:900}.operator-panel small{color:#6d7888;grid-column:1/-1;margin-top:-10px;font-size:13px;font-weight:500;line-height:1.4;display:block}.toggle-row span small{margin:5px 0 0}.toggle-row input{width:72px;height:38px;accent-color:var(--blue);justify-self:end}.operator-panel .primary-button{width:100%;margin-top:28px}@media (height<=1400px){.screen{padding-left:34px;padding-right:34px}.start-hero{margin-top:4px}.start-hero .event-mark{width:min(500px,74%)}.game-mode-pill{min-width:250px;min-height:46px}.start-card{padding:24px}.start-card .keyboard{margin:16px 0 20px}.start-card .key{height:45px}.group-name-input{height:66px}.game-stats{min-height:140px}.question-panel{min-height:130px}.countdown-stage{min-height:265px;padding:16px 0}.answer-input{min-height:60px}.key{height:48px}.results-screen{row-gap:14px;padding-top:22px;padding-bottom:24px}.results-copy{margin-top:0}.results-copy h1{margin-top:10px;font-size:clamp(44px,7cqw,68px)}.final-score{border-width:6px;outline-width:4px;gap:7px;width:min(560px,100% - 40px);height:clamp(220px,31vh,300px);padding:25px;box-shadow:0 0 0 7px #183d7321,0 12px #183d731f}.final-score strong{font-size:clamp(80px,15cqw,132px)}.final-score span,.final-score small{font-size:12px}.compare-card{padding-top:18px;padding-bottom:18px}.compare-card__icon{width:56px;height:56px;font-size:26px}.compare-card{grid-template-columns:56px 1fr;gap:16px}.compare-card b{font-size:18px}.compare-card p{font-size:15px}.results-screen>.primary-button--hero{min-height:72px}}@container (width<=560px){.screen{padding-left:22px;padding-right:22px}.brand-mark__logo{width:185px}.brand-mark--compact .brand-mark__logo{width:115px}.event-mark--compact{width:135px}.game-mode-pill{min-width:230px;min-height:52px;font-size:23px}.start-card{border-radius:25px;padding:22px}.primary-button--hero{min-height:76px;padding:0 25px;font-size:16px}.team-option{min-height:105px}.team-option strong{font-size:48px}.game-screen{padding-left:14px;padding-right:14px}.game-header{margin-left:-14px;margin-right:-14px;padding:0 14px}.game-header .brand-mark__logo{width:105px}.game-header__title{padding-left:12px;padding-right:12px;font-size:11px}.game-stats{grid-template-columns:1fr 160px 1fr}.score-orb{width:150px;height:96px}.score-orb__value{font-size:46px}.question-panel{padding:18px}.countdown-ring{width:min(74cqw,390px)}.key{border-radius:7px}.strikes{gap:4px}.strike{width:29px;height:29px;font-size:24px}.round-modal__score{min-height:125px}.final-score{width:calc(100% - 30px)}.final-score:before{left:14px}.final-score:after{right:14px}.compare-card{grid-template-columns:50px 1fr;gap:13px}.compare-card__icon{width:50px;height:50px}.operator-overlay{padding:18px}.operator-panel{padding:25px}.operator-panel label{grid-template-columns:1fr 110px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
