:root{color-scheme:dark;--bg:#04070b;--panel:#0a121b;--line:rgba(104,195,255,.24);--text:#eef7ff;--muted:#8799aa;--blue:#69c5ff;--red:#ff667a;--green:#75e2a2;--gold:#ffd36a;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(33,97,157,.24),transparent 35%),#04070b;color:var(--text)}a{color:inherit;text-decoration:none}.shell,.hub,.phone{width:min(1450px,calc(100% - 28px));margin:auto;padding:22px}.phone{max-width:560px}.hub{max-width:1250px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}h1,h2{margin:.2em 0;text-transform:uppercase}h1 span,.eyebrow{color:var(--blue)}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800}.hidden{display:none!important}.card,.panel{border:1px solid var(--line);background:rgba(8,14,22,.95);padding:22px;margin:16px 0}.hero{max-width:760px;margin:80px auto}.roomBadge{border:1px solid var(--line);padding:10px 14px}.bigcode{font-size:72px;font-weight:900;letter-spacing:.14em;color:var(--blue)}button{border:1px solid rgba(104,195,255,.5);background:#0d2334;color:var(--text);padding:12px 15px;min-height:46px;font-weight:800;cursor:pointer}button:disabled{opacity:.35}.lobbyTop{display:grid;grid-template-columns:1fr 1.5fr auto;gap:18px;align-items:center}.mode.active{border-color:var(--gold)}.small{font-size:11px;color:var(--muted)}.players,.scores,.choices,.stats,.classChoices,.phoneChoices,#moveButtons,#targets{display:grid;gap:10px}.players{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.scores{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));margin:14px 0}.choices{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}.classChoices{grid-template-columns:repeat(2,1fr)}.playerCard,.scoreCard,.choice,.stat,.classChoice{border:1px solid var(--line);background:#09121c;padding:12px}.classChoice.selected{border-color:var(--gold);background:#19180f}.classChoice b{display:block}.classChoice small{color:var(--muted)}.arena{position:relative;min-height:430px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(rgba(3,8,14,.05),rgba(1,5,9,.68)),linear-gradient(#091827,#112b42 55%,#07111b);isolation:isolate}.moon{position:absolute;right:11%;top:8%;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9dc,#bddfff 58%,rgba(120,184,255,.15) 72%,transparent 74%);box-shadow:0 0 40px rgba(127,192,255,.35)}.ruin{position:absolute;bottom:27%;width:31%;height:58%;background:linear-gradient(#142230,#060b11);opacity:.48}.ruin.left{left:0;clip-path:polygon(0 35%,18% 28%,18% 8%,25% 8%,25% 27%,52% 34%,52% 100%,0 100%)}.ruin.right{right:0;clip-path:polygon(48% 34%,73% 27%,73% 8%,81% 8%,81% 28%,100% 35%,100% 100%,48% 100%)}.floor{position:absolute;left:-10%;right:-10%;bottom:-11%;height:42%;background:repeating-linear-gradient(90deg,rgba(90,169,220,.06) 0 2px,transparent 2px 90px),linear-gradient(#0c1d29,#05090d);transform:perspective(600px) rotateX(58deg);transform-origin:bottom}.fighters{position:absolute;z-index:4;left:3%;right:3%;bottom:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}.fighter{text-align:center;transition:.25s;padding-bottom:8px;border-bottom:2px solid transparent}.fighter.A{border-color:#5eb6ff}.fighter.B{border-color:#ff667a}.sprite{font-size:72px;filter:drop-shadow(0 0 14px rgba(104,195,255,.25))}.fighter .meta{font-size:10px;color:var(--muted)}.fighter.attack{animation:attack .7s}.fighter.hit{animation:hit .6s}.fighter.heal{animation:heal .9s}.fighter.shield{animation:shield .9s}.fighter.ko{animation:ko 1s}.battleFx{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}.fx{position:absolute;left:0;top:0}.slash{width:46px;height:9px;border-radius:10px;background:linear-gradient(90deg,#fff,#76caff,transparent);box-shadow:0 0 20px #70c7ff;animation:fly .55s forwards}.burst{width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 0 0 14px rgba(255,92,112,.25),0 0 38px 18px rgba(255,70,95,.5);animation:burst .7s forwards}.healFx{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#e1ffe8,#72e99c 18%,rgba(80,230,140,.2) 50%,transparent 72%);box-shadow:0 0 32px rgba(90,240,150,.5);animation:rise .9s forwards}.shieldFx{width:100px;height:120px;border:3px solid #75cfff;border-radius:50%;box-shadow:inset 0 0 24px rgba(80,190,255,.35),0 0 26px rgba(90,190,255,.45);background:rgba(70,180,255,.08);animation:shieldFx .9s forwards}.spinner{width:42px;height:42px;border:3px solid rgba(104,195,255,.14);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes attack{50%{transform:translateX(28px) scale(1.08)}}@keyframes hit{30%{transform:translateX(-12px);filter:brightness(3)}}@keyframes heal{50%{filter:drop-shadow(0 0 28px #75e2a2);transform:translateY(-8px)}}@keyframes shield{50%{filter:drop-shadow(0 0 32px #68c3ff);transform:scale(1.06)}}@keyframes ko{50%{transform:rotate(-13deg) scale(.8);filter:grayscale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fly{to{transform:translate(var(--x),var(--y)) rotate(-20deg);opacity:.2}}@keyframes burst{50%{transform:scale(3)}100%{opacity:0;transform:scale(.3)}}@keyframes rise{to{transform:translateY(-80px) scale(1.2);opacity:0}}@keyframes shieldFx{to{transform:scale(1.12);opacity:0}}.phone label{display:block;margin:14px 0;color:var(--muted)}.phone input{width:100%;min-height:50px;margin-top:6px;background:#050a10;border:1px solid var(--line);color:var(--text);padding:0 12px;font-size:18px}.teamBadge{padding:8px 12px;margin:10px 0;border:1px solid var(--line);font-weight:900}.gameGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gameCard{border:1px solid var(--line);background:#09121c;padding:20px;min-height:250px;display:flex;gap:16px;align-items:flex-start}.gameCard.live:hover{border-color:var(--gold);transform:translateY(-2px)}.gameCard.coming{opacity:.45}.gameArt{font-size:58px}.status{font-size:9px;letter-spacing:.14em;color:var(--green)}.joinLink{display:inline-block;margin-top:20px;border:1px solid var(--line);padding:12px 15px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);padding:10px 14px;background:#132131;border:1px solid var(--line);z-index:30}.mute{position:fixed;right:14px;bottom:14px}@media(max-width:850px){.lobbyTop{grid-template-columns:1fr}.choices,.gameGrid{grid-template-columns:1fr}.fighters{grid-template-columns:repeat(2,1fr)}}
/* Sports Trivia v0.3.0 */
.sportsBody{background:radial-gradient(circle at 50% -10%,rgba(14,113,78,.35),transparent 40%),#030806}.sportsHero{text-align:center;border-color:rgba(107,255,188,.35)}.sportsLogo{font-size:76px;filter:drop-shadow(0 0 18px rgba(255,211,106,.35))}.sportsEyebrow,.sportsCard .status{color:#75e2a2}.sportChoices{display:flex;flex-wrap:wrap;gap:7px}.sportPick{padding:8px 10px;min-height:36px;font-size:11px}.sportPick.active{border-color:#ffd36a;background:#29240d}.sportsBoard{position:relative;overflow:hidden;border:1px solid rgba(117,226,162,.32);background:linear-gradient(180deg,#07140f,#06100c);padding:18px;margin-bottom:15px}.stadiumGlow{position:absolute;inset:-40% 15% 65%;background:radial-gradient(circle,rgba(117,226,162,.16),transparent 65%)}.boardTop{position:relative;display:flex;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.12em;color:#75e2a2;margin-bottom:15px}.raceLanes{position:relative;display:grid;gap:13px}.raceLane{padding:10px 12px;border:1px solid rgba(117,226,162,.15);background:rgba(4,12,8,.78)}.laneMeta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}.laneMeta span{color:#9ab5a7}.track{height:28px;position:relative;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 10%);border:1px solid rgba(255,255,255,.08);overflow:visible}.trackFill{height:100%;background:linear-gradient(90deg,rgba(82,202,138,.18),rgba(117,226,162,.5));transition:width .55s}.runner{position:absolute;top:1px;font-size:21px;transition:left .55s}.finishFlag{position:absolute;right:1px;top:1px;font-size:20px}.roundGains{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.gainCard{display:flex;justify-content:space-between;border:1px solid var(--line);padding:10px}.sportsPhoneHeader{margin-bottom:12px}.sportsMiniTrack{height:12px;border:1px solid rgba(117,226,162,.3);background:#050b08;margin:8px 0 12px}.sportsMiniFill{height:100%;width:0;background:linear-gradient(90deg,#2e8b63,#75e2a2);transition:width .4s}@media(max-width:700px){.laneMeta{font-size:10px}.sportChoices{display:grid;grid-template-columns:1fr 1fr}}

/* Sports Trivia Solo v0.3.1 foundation */
.soloDifficulties{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.soloDifficultyPick{min-height:50px;padding:8px 5px;background:#071019;border-color:rgba(255,255,255,.09)}.soloDifficultyPick b,.soloDifficultyPick small{display:block}.soloDifficultyPick b{font-size:9px;letter-spacing:.05em}.soloDifficultyPick small{font-size:7px;color:var(--muted);margin-top:4px}.soloDifficultyPick.active{border-color:var(--sport);background:linear-gradient(135deg,var(--sport2),#071019);box-shadow:inset 0 -3px 0 var(--sport)}@media(max-width:850px){.soloDifficulties{grid-template-columns:repeat(2,1fr)}}
.backLink{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted);display:inline-flex;align-items:center;min-height:34px}.backLink:hover{color:var(--text)}.sportsMenuBody{background:radial-gradient(circle at 15% 0,rgba(44,127,203,.22),transparent 35%),radial-gradient(circle at 85% 0,rgba(38,184,115,.18),transparent 32%),#020507}.sportsMenuShell{max-width:1180px}.sportsMenuSub{margin:5px 0 0;color:var(--muted)}.sportsModeGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sportsModeCard{position:relative;overflow:hidden;min-height:390px;border:1px solid rgba(255,255,255,.12);padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#071017;transition:.22s}.sportsModeCard:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.35)}.sportsModeCard:before{content:"";position:absolute;inset:0;pointer-events:none}.championshipMode:before{background:radial-gradient(circle at 80% 0,rgba(117,226,162,.25),transparent 44%)}.soloMode:before{background:radial-gradient(circle at 80% 0,rgba(105,197,255,.27),transparent 45%)}.modeVisual{position:relative;display:flex;justify-content:space-between;align-items:start}.modeIcon{font-size:92px;filter:drop-shadow(0 0 25px rgba(255,255,255,.12))}.modePill{font-size:9px;letter-spacing:.15em;font-weight:900;border:1px solid rgba(255,255,255,.18);padding:8px 10px;background:rgba(0,0,0,.25)}.sportsModeCard h2{font-size:32px}.sportsModeCard p{color:#9fb0bd;max-width:580px}.modeAction{display:inline-block;margin-top:16px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.1em}.sportsMenuNote{margin-top:18px;padding:14px 18px;border:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.sportsMenuNote b{color:var(--text)}
.soloSportsBody{--sport:#69c5ff;--sport2:#245c9c;--sportGlow:rgba(105,197,255,.24);background:radial-gradient(circle at 50% -20%,var(--sportGlow),transparent 42%),#020508;transition:background .4s}.soloSportsBody[data-theme="Football"]{--sport:#83d56b;--sport2:#254f22;--sportGlow:rgba(85,187,70,.23)}.soloSportsBody[data-theme="Basketball"]{--sport:#ffad66;--sport2:#8b4318;--sportGlow:rgba(255,135,48,.24)}.soloSportsBody[data-theme="Baseball"]{--sport:#f16d78;--sport2:#6b2028;--sportGlow:rgba(229,72,86,.22)}.soloSportsBody[data-theme="Hockey"]{--sport:#8ddcff;--sport2:#275a79;--sportGlow:rgba(111,211,255,.25)}.soloSportsBody[data-theme="Soccer"]{--sport:#76e0a1;--sport2:#246341;--sportGlow:rgba(80,205,128,.22)}.soloSportsBody[data-theme="Golf"]{--sport:#b9e66e;--sport2:#49651e;--sportGlow:rgba(167,219,85,.20)}.soloSportsBody[data-theme="Olympics"]{--sport:#ffd36a;--sport2:#80641e;--sportGlow:rgba(255,206,85,.22)}.soloSportsBody[data-theme="Motorsports"]{--sport:#ff6a73;--sport2:#7a2028;--sportGlow:rgba(255,80,91,.22)}.soloShell{width:min(1120px,calc(100% - 28px));margin:auto;padding:20px}.soloTop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.soloBrand{font-size:11px;letter-spacing:.14em}.liveDot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sport);box-shadow:0 0 14px var(--sport);margin-right:8px}.iconButton{justify-self:end;min-height:34px;padding:7px 10px;background:transparent;border-color:rgba(255,255,255,.12);font-size:9px;letter-spacing:.1em}.soloSetup{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch;margin-top:36px}.soloHeroPanel,.soloConfigPanel{border:1px solid rgba(255,255,255,.11);background:rgba(5,11,17,.9);padding:30px;position:relative;overflow:hidden}.soloHeroPanel:before{content:"";position:absolute;width:370px;height:370px;border-radius:50%;right:-170px;top:-150px;background:radial-gradient(circle,var(--sportGlow),transparent 68%)}.soloHeroPanel h1{font-size:clamp(44px,7vw,82px);line-height:.87;margin:22px 0}.soloHeroPanel h1 span{display:block;color:var(--sport)}.soloLead{max-width:500px;color:#96a7b5;font-size:15px;line-height:1.6}.broadcastStripes{display:flex;gap:7px;margin-top:45px}.broadcastStripes i{display:block;height:5px;background:var(--sport);transform:skewX(-28deg)}.broadcastStripes i:nth-child(1){width:90px}.broadcastStripes i:nth-child(2){width:45px;opacity:.65}.broadcastStripes i:nth-child(3){width:20px;opacity:.35}.configBlock{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}.configHeading{display:flex;gap:12px;align-items:center;margin-bottom:12px}.configHeading>span{font-size:10px;font-weight:900;color:var(--sport);border:1px solid rgba(255,255,255,.15);padding:5px}.configHeading b{font-size:12px;letter-spacing:.08em}.configHeading small{display:block;color:var(--muted);margin-top:3px}.soloCategories{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.soloCategoryPick{min-height:58px;padding:8px;background:#071019;border-color:rgba(255,255,255,.09);display:flex;gap:7px;align-items:center;justify-content:flex-start}.soloCategoryPick span{font-size:20px}.soloCategoryPick b{font-size:9px;letter-spacing:.05em}.soloCategoryPick.active{border-color:var(--sport);background:linear-gradient(135deg,var(--sport2),#071019)}.soloModes,.soloLengths{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.soloModePick,.soloLengths button{background:#071019;border-color:rgba(255,255,255,.09)}.soloModePick b,.soloModePick small{display:block}.soloModePick small{color:var(--muted);font-size:9px;margin-top:4px}.soloModePick.active,.soloLengths button.active{border-color:var(--sport);box-shadow:inset 0 -3px 0 var(--sport)}.soloModePick.locked{opacity:.35}.soloPrimary{width:100%;margin-top:18px;background:linear-gradient(90deg,var(--sport2),#071019);border-color:var(--sport);font-size:12px;letter-spacing:.1em}.soloHud{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);margin-top:18px}.soloHud>div{background:#060d13;padding:12px 14px}.soloHud b{display:block;font-size:19px}.hudMain b{color:var(--sport);font-size:24px}.hudLabel{font-size:8px;letter-spacing:.14em;color:var(--muted)}.soloProgress{margin:12px 0 18px}.soloProgressMeta{display:flex;justify-content:space-between;font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.soloProgressTrack{height:4px;background:rgba(255,255,255,.08);margin-top:7px}.soloProgressTrack i{display:block;height:100%;width:0;background:var(--sport);box-shadow:0 0 12px var(--sport);transition:width .4s}.soloStage{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);min-height:560px;padding:42px;background:linear-gradient(180deg,rgba(8,18,27,.95),rgba(3,8,13,.98))}.soloStage:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 48%,var(--sportGlow) 49%,transparent 50% 100%);opacity:.35;pointer-events:none}.stadiumLights{position:absolute;top:0;left:0;right:0;height:80px;display:flex;justify-content:space-around;opacity:.15}.stadiumLights i{width:1px;height:130px;background:linear-gradient(var(--sport),transparent);transform:rotate(16deg);transform-origin:top}.questionBroadcastTag{position:relative;display:flex;gap:8px;margin-top:38px}.questionBroadcastTag span{font-size:9px;font-weight:900;letter-spacing:.1em;border:1px solid rgba(255,255,255,.13);padding:7px 9px}.questionBroadcastTag span:first-child{color:var(--sport)}.soloStage h2{position:relative;font-size:clamp(25px,4vw,42px);max-width:880px;line-height:1.15;margin:24px 0 30px;text-transform:none}.soloAnswers{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px}.soloAnswers button{min-height:76px;text-align:left;background:#08121b;border-color:rgba(255,255,255,.1);display:flex;align-items:center;gap:14px;padding:14px 18px;transition:.18s}.soloAnswers button:hover:not(:disabled){border-color:var(--sport);transform:translateY(-1px)}.soloAnswers button span{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);font-size:11px;color:var(--sport)}.soloAnswers button b{font-size:14px}.soloAnswers button.correct{border-color:#75e2a2;background:rgba(53,137,88,.25)}.soloAnswers button.wrong{border-color:#ff667a;background:rgba(160,48,62,.22)}.soloFeedback{position:relative;margin-top:22px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.feedbackBurst{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:900}.feedbackBurst.good{background:rgba(72,190,119,.18);color:#75e2a2;border:1px solid #75e2a2}.feedbackBurst.bad{background:rgba(200,55,73,.16);color:#ff667a;border:1px solid #ff667a}.soloFeedback h3{margin:2px 0}.soloFeedback p{margin:4px 0;color:var(--muted);font-size:11px}.soloFeedback button{background:transparent;border-color:var(--sport)}.soloResults{position:relative;overflow:hidden;text-align:center;border:1px solid rgba(255,255,255,.12);background:#050c12;padding:42px;margin:45px auto;max-width:900px}.resultsSpotlight{position:absolute;inset:-30% 15% 55%;background:radial-gradient(circle,var(--sportGlow),transparent 65%)}.soloMedal{position:relative;margin:12px auto;width:max-content;border:1px solid var(--gold);color:var(--gold);padding:9px 14px;font-size:11px;letter-spacing:.18em;font-weight:900}.soloMedal[data-medal="platinum"]{color:#dcecff;border-color:#dcecff}.soloMedal[data-medal="silver"]{color:#c5d0da;border-color:#c5d0da}.soloMedal[data-medal="bronze"]{color:#d59668;border-color:#d59668}.soloResults h1{position:relative;font-size:46px}.soloResults h1 span{color:var(--sport)}.resultCategory{color:var(--muted);letter-spacing:.12em;font-size:10px}.resultScore{margin:28px 0}.resultScore span{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted)}.resultScore b{font-size:68px;color:var(--sport)}.resultGrid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.08)}.resultGrid div{padding:16px 8px;border-right:1px solid rgba(255,255,255,.08)}.resultGrid div:last-child{border-right:0}.resultGrid span{display:block;font-size:8px;color:var(--muted);letter-spacing:.08em}.resultGrid b{display:block;margin-top:5px;font-size:18px}.resultActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;margin-top:22px}.resultActions .soloPrimary{margin:0}.resultActions a{border:1px solid rgba(255,255,255,.12);min-height:46px;display:grid;place-items:center;font-size:11px;font-weight:900}@media(max-width:850px){.sportsModeGrid,.soloSetup{grid-template-columns:1fr}.sportsModeCard{min-height:320px}.soloTop{grid-template-columns:1fr auto}.soloBrand{display:none}.soloCategories{grid-template-columns:repeat(2,1fr)}.soloHud{grid-template-columns:repeat(3,1fr)}.soloAnswers{grid-template-columns:1fr}.soloStage{padding:25px;min-height:520px}.soloFeedback{grid-template-columns:auto 1fr}.soloFeedback button{grid-column:1/-1}.resultGrid{grid-template-columns:repeat(2,1fr)}.resultGrid div{border-bottom:1px solid rgba(255,255,255,.08)}.resultScore b{font-size:52px}.sportsMenuNote{display:block}.sportsMenuNote span{display:block;margin-top:5px}}
