/* Middendorf Game Night shared presentation layer. */
.gameArt svg,.modeIcon svg,.partyIcon svg,.controllerJoinIcon svg{display:block;width:1em;height:1em;color:currentColor;overflow:visible}
.gameArt{width:78px;height:78px;flex:0 0 78px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));color:var(--blue)}
.battleCard .gameArt{color:#78c9ff}.sportsCard .gameArt{color:#7ce3a5}.drawCard .gameArt{color:#ff8ed2}.charadesCard .gameArt{color:#c998ff}.circuitCard .gameArt{color:#35d6ff}.draftCard .gameArt{color:#ffcc67}
.gameArt svg{width:52px;height:52px}.modeIcon{display:block;color:#87e4ad}.soloMode .modeIcon{color:#75caff}.modeIcon svg{width:92px;height:92px}.partyIcon{display:grid;place-items:center;width:112px;height:112px;border:1px solid color-mix(in srgb,var(--party) 45%,transparent);background:color-mix(in srgb,var(--party2) 65%,#071019);color:var(--party)}.partyIcon svg{width:78px;height:78px}
.status,.modePill,.gameAction,.modeAction,.sportsMenuNote,.backLink{font-size:max(12px,.72rem)}
.sportsMenuNote{line-height:1.55}.sportsMenuNote span{color:#9fb0bd}

.controllerJoinBody{background:radial-gradient(circle at 50% -8%,rgba(66,149,224,.32),transparent 34rem),radial-gradient(circle at 100% 70%,rgba(111,73,185,.15),transparent 28rem),#03060a}
.universalController{max-width:620px;padding-top:18px}.controllerNav{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--line);margin-bottom:18px}.controllerNav>a:last-child{display:grid;place-items:center;min-height:44px;padding:0 10px;color:#91a3b3;font-size:12px;font-weight:900;letter-spacing:.1em}.controllerBrand{display:flex;align-items:center;gap:10px}.controllerBrand img{width:48px;height:48px;object-fit:contain}.controllerBrand span{display:grid}.controllerBrand small{font-size:9px;letter-spacing:.2em;color:#8aa3b8}.controllerBrand b{font-size:13px;letter-spacing:.11em}.controllerJoinCard{position:relative;overflow:hidden;margin:0;padding:34px;border-color:rgba(105,197,255,.32);background:linear-gradient(155deg,rgba(12,25,38,.98),rgba(5,10,16,.98));box-shadow:0 24px 70px rgba(0,0,0,.35)}.controllerJoinCard:after{content:"";position:absolute;width:310px;height:310px;right:-180px;top:-175px;border:1px solid rgba(105,197,255,.12);border-radius:50%;box-shadow:0 0 0 36px rgba(105,197,255,.025),0 0 0 72px rgba(105,197,255,.02);pointer-events:none}.controllerJoinIcon{width:72px;height:72px;display:grid;place-items:center;margin-bottom:22px;border:1px solid rgba(105,197,255,.35);background:linear-gradient(145deg,#173148,#09131e);color:var(--blue)}.controllerJoinIcon svg{width:47px;height:47px}.controllerJoinCard h1{font-size:clamp(44px,11vw,70px);line-height:.9;margin:8px 0 18px}.controllerJoinCard h1 span{display:block}.controllerJoinLead{max-width:470px;color:#9caebb;line-height:1.55}.controllerFields{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px;margin-top:24px}.controllerJoinCard label{font-size:12px;font-weight:900;letter-spacing:.1em}.controllerJoinCard input{min-height:56px;border-color:rgba(105,197,255,.32);font-size:18px;border-radius:4px}.controllerJoinCard #joinCode{font-size:25px;font-weight:900;letter-spacing:.22em;text-align:center}.controllerJoinCard input:focus{outline:2px solid rgba(105,197,255,.32);outline-offset:2px}.controllerHint{margin:10px 0 18px;color:#708494;font-size:12px}.controllerJoinButton{width:100%;min-height:54px;background:linear-gradient(90deg,#23669a,#16466d);border-color:#69c5ff;letter-spacing:.12em}.controllerJoinButton:hover,.controllerJoinButton:focus-visible{background:linear-gradient(90deg,#2f7db8,#1d5c89)}#joinError{min-height:20px;color:var(--red);font-size:13px;margin-bottom:0}

.soloHeroPanel h1{font-size:clamp(42px,5.6vw,72px);overflow-wrap:anywhere}.soloCategoryPick span svg{display:block;width:24px;height:24px;color:var(--sport)}.careerCard a{display:inline-grid;align-items:center;min-height:44px;font-size:12px}.iconButton{min-height:44px;font-size:12px}.hudLabel,.soloProgressMeta,.resultGrid span{font-size:12px}.soloDifficultyPick b,.soloModePick small,.soloCategoryPick b{font-size:12px}.soloDifficultyPick small{font-size:11px}.questionBroadcastTag span{font-size:12px}

@media(max-width:700px){.gameArt{width:64px;height:64px;flex-basis:64px}.gameArt svg{width:44px;height:44px}.controllerJoinCard{padding:24px}.controllerFields{grid-template-columns:1fr}.controllerJoinCard h1{font-size:clamp(42px,14vw,62px)}.controllerNav>a:last-child{font-size:11px}.modeIcon svg{width:70px;height:70px}.partyIcon{width:84px;height:84px}.partyIcon svg{width:58px;height:58px}.status,.modePill,.gameAction,.modeAction,.sportsMenuNote,.backLink{font-size:12px}}
@media(max-width:430px){.universalController{width:100%;padding:12px}.controllerJoinCard{padding:22px 18px}.controllerBrand img{width:42px;height:42px}.controllerJoinIcon{width:62px;height:62px}.controllerJoinIcon svg{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
