:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#eef4ff;background:#07112b;color-scheme:dark;font-synthesis:none;--bg:#07112b;--surface:#0c224e;--border:#335c9a;--blue:#1e65c1;--bright:#3ca6ff;--gold:#ffcb53;--white:#f4f7ff;--dim:#a1bcdf;--good:#27d38f;--bad:#fb5b73}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 50% -10%,#214d9a 0,#102858 36%,#070f25 82%);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{touch-action:manipulation}a{color:#7ed6ff}h1,h2,h3,p{margin-top:0}.shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,env(safe-area-inset-right));border-bottom:1px solid #4173b454;background:linear-gradient(90deg,#08132e,#132f68 50%,#08152f);box-shadow:0 4px 22px #0007}.brand{display:flex;gap:10px;align-items:center;border:0;background:none;color:white;font-weight:1000;font-style:italic;letter-spacing:.08em;font-size:22px;padding:7px 0}.brand em{color:var(--gold);font-style:normal}.brand-icon{font-style:normal;color:var(--gold);font-size:26px}.version{font-size:11px;letter-spacing:.12em;color:var(--dim)}.main{width:min(100%,920px);margin:0 auto;padding:22px max(16px,env(safe-area-inset-right)) 40px;flex:1}.main.narrow{max-width:680px}.footer{font-size:10px;color:#8da7c8;text-align:center;letter-spacing:.18em;padding:15px 10px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #31548440}.footer span{color:var(--gold);margin:0 7px}.btn{border:1px solid #719de5;background:#2758a7;color:white;border-radius:10px;padding:12px 18px;font-weight:850;letter-spacing:.045em;transition:transform .13s ease,background .13s ease,box-shadow .15s ease;box-shadow:0 2px 10px #0003;min-height:45px}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{border-color:#fff3a8;background:linear-gradient(#ffdc77,#eead32);color:#171c2b;box-shadow:0 3px 14px #b87c2159}.btn-secondary{background:linear-gradient(#183669,#10264c);border-color:#426aa1;color:#f2f6ff}.btn-danger{background:linear-gradient(#c3415b,#952637);border-color:#ff7080;color:#fff}.btn-large{width:100%;padding:16px;min-height:55px}.btn-mini{font-size:12px;min-height:38px;padding:8px 12px;white-space:nowrap}.btn-selected{background:var(--gold);border-color:white;color:#16233c}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row .btn{flex:1}.page-title{font-size:clamp(26px,5vw,38px);letter-spacing:.04em;margin:15px 0 7px;text-transform:uppercase}.subheading{color:var(--dim);line-height:1.55;margin-bottom:22px}.text-back{border:0;background:none;color:#d4e9ff;padding:9px 0;display:block;font-weight:650}.text-back:hover{text-decoration:underline}.panel{background:linear-gradient(145deg,#142d5d,#09172f);border:1px solid #4669a0;border-radius:16px;padding:22px;box-shadow:0 12px 32px #0004}.text-field{min-height:46px;width:100%;border:1px solid #6086c6;border-radius:9px;color:white;background:#0a1b39;padding:10px 13px;outline-color:var(--gold)}.text-field::placeholder{color:#9ab0d0}select.text-field{color-scheme:dark}.eyebrow{font-size:11px;color:var(--gold);font-weight:900;letter-spacing:.16em}.small{font-size:12px;color:var(--dim)}.toast{position:fixed;z-index:99;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));max-width:min(90vw,540px);padding:11px 16px;border-radius:12px;background:#183767;color:#fff;border:1px solid #79b5ec;box-shadow:0 8px 30px #0008;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-weight:750;text-align:center}.toast.shown{transform:translate(-50%,0);opacity:1}.toast.award{border-color:var(--gold);color:var(--gold)}.load-error,.loading-screen{text-align:center;padding:25vh 20px;color:white}.loading-screen{font-size:36px;font-weight:950}.loading-screen span{color:var(--gold)}.loading-screen p{font-size:14px;color:var(--dim)}body.high-contrast{--surface:#061025;--border:#a1d7ff;--dim:#d7e7ff;--blue:#2056cc;--gold:#ffe16a;--good:#2bfca4;--bad:#ff7897}

/* v1.3.0: stage lighting, restrained and non-obscuring */
body[data-show-phase="SPEED_CHAIN"] .shell,body[data-show-phase="BONUS_ROUND"] .shell {background-image:radial-gradient(ellipse at 50% 12%,rgba(242,190,58,.13),transparent 55%);}
body[data-show-phase="WAGER_SELECTION"] .action-panel {box-shadow:0 0 0 1px rgba(244,191,66,.38),0 0 30px rgba(244,191,66,.12);}
body[data-show-phase="MATCH_COMPLETE"] .hero,body[data-show-phase="ROUND_COMPLETE"] .action-panel {filter:drop-shadow(0 0 10px rgba(243,196,67,.16));}
#countdown.critical {color:#ff6c60;text-shadow:0 0 14px rgba(255,78,67,.6);animation:wc-urgent .7s ease-in-out infinite alternate;}
@keyframes wc-urgent {from{opacity:1}to{opacity:.7}}
@media(prefers-reduced-motion:reduce){#countdown.critical{animation:none}}
body.fast-motion #countdown.critical{animation:none}

/* v2.0.0 broadcast presentation */
.broadcast-progress{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:8px 0 12px;overflow:hidden}
.broadcast-stage{padding:7px 2px;text-align:center;border:1px solid rgba(139,176,235,.18);border-radius:6px;background:rgba(11,32,78,.72);font-size:clamp(8px,1.7vw,11px);font-weight:800;letter-spacing:.02em;color:#b2c6e9;white-space:nowrap}
.broadcast-stage.finished{background:rgba(25,106,91,.4);color:#b3f9e1;border-color:rgba(66,204,157,.4)}
.broadcast-stage.current{background:linear-gradient(140deg,#bd8c2d,#f2ce68);color:#18254b;border-color:#fff0ae;box-shadow:0 0 15px rgba(242,206,104,.4)}
.broadcast-status{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 13px;margin-bottom:9px;border:1px solid rgba(118,162,238,.25);border-radius:9px;background:linear-gradient(95deg,rgba(19,53,117,.85),rgba(6,19,50,.8));font-size:12px;letter-spacing:.06em}
.broadcast-status strong{font-size:clamp(11px,2.8vw,15px);color:#fff}
.broadcast-status>span:last-child{color:#b7ccef;text-align:right}
.broadcast-live{font-size:10px;font-weight:800;color:#ffb1ac;white-space:nowrap;animation:wcOnAir 2.2s ease-in-out infinite}
@keyframes wcOnAir{50%{opacity:.48}}
body[data-show-phase="ROUND_INTRO"] .game-toolbar,body[data-show-phase="ROUND_COMPLETE"] .game-toolbar{animation:wcShowReveal .42s ease-out}
@keyframes wcShowReveal{from{opacity:.35;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:420px){.broadcast-progress{gap:2px}.broadcast-stage{font-size:7px;padding:7px 0}.broadcast-status{gap:5px;padding:7px;font-size:10px}.broadcast-live{font-size:9px}}
@media(prefers-reduced-motion:reduce){.broadcast-live,body[data-show-phase] .game-toolbar{animation:none}}
body.fast-motion .broadcast-live,body.fast-motion .game-toolbar{animation:none!important}

/* v2.1.0 — compact contestant camera */
.contestant-reaction{display:flex;align-items:center;gap:12px;margin:9px 0;padding:10px 13px;border:1px solid rgba(245,194,75,.35);border-radius:12px;background:linear-gradient(105deg,rgba(20,47,106,.95),rgba(11,27,65,.9));color:#fff;min-height:52px}
.reaction-avatar{font-size:26px;flex:none}.contestant-reaction strong{font-size:13px;color:#ffdb75}.reaction-tag{font-size:11px;opacity:.75;margin-left:6px}.contestant-reaction small{display:block;font-size:13px;margin-top:3px;line-height:1.3;color:#f1f4ff}
@media(max-width:390px){.contestant-reaction{padding:8px 10px;gap:8px}.reaction-tag{display:none}}
