@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#080b18;--panel:#11182b;--panel2:#17213a;--line:#293754;--text:#f5f7ff;--muted:#a1acc3;--cyan:#39e2e9;--purple:#bd7aff;--yellow:#ffcf5a;--green:#5be59a;--red:#ff7085;--mono:'DM Mono',monospace;--body:'Space Grotesk',Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 72% 0%,#18284a 0,transparent 42%),linear-gradient(155deg,#090d20,#090b16 72%);font-family:var(--body);overflow-x:hidden}
[hidden]{display:none!important}
.pixel-grid{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(80,120,180,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(80,120,180,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.topbar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;min-height:74px;padding:0 clamp(18px,5vw,64px);border-bottom:1px solid rgba(150,175,220,.12);background:rgba(8,11,24,.75)}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--cyan);color:var(--cyan);font:700 15px var(--mono);box-shadow:3px 3px 0 rgba(57,226,233,.15)}.brand b,.brand small{display:block}.brand b{font-size:12px;letter-spacing:.12em}.brand small{margin-top:4px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em}.top-link{color:var(--cyan);font:11px var(--mono);letter-spacing:.08em;text-decoration:none}
.page{position:relative;z-index:1;width:min(1100px,calc(100% - 32px));margin:clamp(32px,7vh,75px) auto 60px}
.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(20,29,51,.97),rgba(13,18,34,.97));box-shadow:0 20px 65px rgba(0,0,0,.27)}
.join-card,.login-card,.create-card{width:min(100%,520px);margin:0 auto;padding:clamp(22px,5vw,44px)}
.eyebrow{color:var(--cyan);font:700 10px var(--mono);letter-spacing:.14em}.join-card h1,.login-card h1,.host-heading h1{margin:14px 0;font-size:clamp(40px,8vw,68px);line-height:.93;letter-spacing:-.06em}.join-card h1 em,.login-card h1 em,.host-heading h1 em{color:var(--purple);font-style:normal}.join-card>p,.login-card>p{margin:0 0 26px;color:var(--muted);line-height:1.6}
label{display:block;margin:16px 0 7px;color:#dbe5fa;font:700 10px var(--mono);letter-spacing:.1em}
input{width:100%;min-height:48px;padding:0 14px;border:1px solid #354565;background:#090f21;color:var(--text);font:600 15px var(--body);outline:none}
input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,226,233,.1)}
#room-code{text-transform:uppercase;font:700 21px var(--mono);letter-spacing:.25em}
.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:0 18px;border:1px solid transparent;color:#08101d;font:700 11px var(--mono);letter-spacing:.07em;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
.button:hover{transform:translateY(-2px)}.button.primary{width:100%;margin-top:18px;background:var(--cyan);box-shadow:4px 4px 0 rgba(57,226,233,.13)}.button.quiet{border-color:#3c4d6b;background:#111a2e;color:var(--text)}.button.danger{border-color:rgba(255,112,133,.4);background:rgba(255,112,133,.08);color:#ff9bab}
.message{min-height:18px;margin:12px 0 0;color:#ff9bab;font-size:13px}
.game-card{max-width:820px;margin:auto;padding:clamp(20px,4vw,36px)}.game-top,.question-meta,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.timer{min-width:64px;padding:10px;border:1px solid var(--yellow);color:var(--yellow);text-align:center;font:700 16px var(--mono)}
.waiting{text-align:center;padding:68px 15px}.waiting h1{font-size:clamp(28px,5vw,44px)}.waiting p{color:var(--muted)}.pixel-icon{font-size:40px;color:var(--yellow)}
#player-prompt,.question-panel h2{margin:20px 0;font-size:clamp(24px,4vw,38px);line-height:1.15}
pre{overflow-x:auto;padding:16px;border:1px solid #30415f;background:#080e1d;color:#b5edff;font:14px/1.55 var(--mono);white-space:pre-wrap}
.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.answer-button,.host-option,.projector-option{display:flex;align-items:center;gap:14px;min-height:68px;padding:14px;border:1px solid #32415e;background:#111a2d;color:var(--text);text-align:left;font:500 15px/1.4 var(--body)}
.answer-button{cursor:pointer}.answer-button:hover:not(:disabled){border-color:var(--cyan);background:#16243a}.answer-button:disabled{cursor:default;opacity:.83}
.answer-button>b,.host-option>b,.projector-option>b{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #45607f;color:var(--cyan);font:700 13px var(--mono)}
.answer-button.correct,.host-option.correct{border-color:var(--green);background:rgba(91,229,154,.1)}.answer-button.correct>b,.host-option.correct>b{border-color:var(--green);color:var(--green)}.answer-button.incorrect{border-color:var(--red);background:rgba(255,112,133,.08)}
.host-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.host-heading h1{font-size:clamp(34px,6vw,52px)}
.notice{margin:0 0 18px;padding:13px 16px;border:1px solid rgba(255,207,90,.33);background:rgba(255,207,90,.06);color:#eadcab;font-size:13px;line-height:1.5}.notice b{color:var(--yellow);font:700 10px var(--mono)}
.create-card{width:100%}.create-card h2{font-size:22px}
.room-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:18px 22px}.room-bar strong,.room-bar small{display:block}.room-bar strong{margin:5px 0;font:700 clamp(26px,4vw,38px) var(--mono);letter-spacing:.13em;color:var(--yellow)}.room-bar small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.room-code-block{flex:1 1 190px;min-width:190px}.room-actions{display:flex;flex:1 1 330px;flex-wrap:wrap;gap:8px}
.qr-share{display:grid;grid-template-columns:152px minmax(0,1fr);align-items:center;gap:14px;flex:0 1 350px;min-width:0;padding:12px;border:1px solid rgba(57,226,233,.24);background:#0b1223}.qr-image-shell{display:grid;place-items:center;width:152px;height:152px;padding:8px;border-radius:4px;background:#fff}.join-qr-image{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.qr-placeholder{padding:9px;color:#26334a;text-align:center;font-size:11px;line-height:1.4}.qr-copy{min-width:0}.qr-copy .eyebrow{display:block;color:var(--cyan)}.qr-copy strong{margin:6px 0;color:var(--text);font:600 15px/1.25 var(--body);letter-spacing:normal}.qr-copy p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.4}.qr-copy .button{min-height:38px;margin-top:8px;padding:0 12px}
.host-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px}.question-panel,.player-panel{padding:22px}.status{color:var(--yellow);font:700 11px var(--mono);letter-spacing:.06em}.host-answers{grid-template-columns:1fr}.host-option{min-height:54px}.controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.controls .button{width:auto;margin:0}
.panel-heading{padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--muted);font:700 10px var(--mono);letter-spacing:.12em}.panel-heading b{color:var(--cyan)}.player-list{max-height:230px;overflow:auto;padding:10px 0}.player-row{padding:8px 0;border-bottom:1px solid rgba(120,145,180,.12);color:#e3eaff;font-size:13px}.leader-title{margin:15px 0 7px;color:var(--purple);font:700 10px var(--mono);letter-spacing:.12em}.leader-row{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(120,145,180,.12);font-size:12px}.leader-row .rank{color:var(--yellow);font:700 11px var(--mono)}.leader-row strong{color:var(--cyan);font:700 11px var(--mono)}.muted{color:var(--muted);font-size:12px}
.explanation{margin:15px 0 0;color:var(--green);font-size:14px;line-height:1.5}
.projector-shell{width:min(1300px,100%);margin:auto}.projector-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.projector-brand strong{color:var(--yellow);font:700 clamp(24px,4vw,38px) var(--mono);letter-spacing:.14em}.projector-content{padding:clamp(22px,5vw,48px)}.projector-content h1{max-width:1000px;margin:28px 0;font-size:clamp(32px,6vw,66px);line-height:1.08}.projector-answers{margin-bottom:20px}.projector-option{min-height:85px;font-size:clamp(14px,2vw,19px)}.bars{display:grid;gap:10px;margin:24px 0}.bar-row{display:grid;grid-template-columns:26px 1fr 34px;gap:12px;align-items:center;font:700 13px var(--mono)}.bar-row>b{color:var(--cyan)}.bar-track{height:14px;background:#090e1b}.bar-track i{display:block;height:100%;background:var(--purple);transition:width .25s}.bar-track i.right{background:var(--green)}.bar-row>span{text-align:right;color:var(--muted)}
footer{position:relative;z-index:1;padding:20px;text-align:center;color:#68758f;font:9px var(--mono);letter-spacing:.14em}
@media(max-width:760px){.topbar{min-height:62px;padding:0 14px}.brand-mark{width:34px;height:34px}.brand b{font-size:10px}.brand small{font-size:8px}.top-link{font-size:9px}.page{width:calc(100% - 22px);margin:28px auto 42px}.host-grid{grid-template-columns:1fr}.room-bar{align-items:flex-start;flex-direction:column}.room-actions{width:100%}.room-actions .button{flex:1 1 auto}.host-heading{align-items:center}.host-heading h1{font-size:34px}.projector-content{padding:18px}.projector-content h1{font-size:32px}}
@media(max-width:760px){.room-code-block,.qr-share{width:100%;flex-basis:auto}.qr-share{grid-template-columns:152px minmax(0,1fr)}}
@media(max-width:480px){.answers{grid-template-columns:1fr;gap:8px}.answer-button{min-height:57px;padding:10px}.join-card,.login-card{padding:23px 18px}.question-panel,.player-panel{padding:16px}.controls .button{flex:1 1 100%}.projector-option{min-height:62px}.projector-brand .eyebrow{font-size:8px}}
@media(max-width:480px){.qr-share{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:10px}.qr-image-shell{width:112px;height:112px;padding:6px}.qr-copy strong{font-size:13px}.qr-copy p{font-size:11px}.qr-copy .button{min-height:34px;padding:0 9px;font-size:9px}}

/* Neon bot crew and user-controlled arcade audio */
:root{--pink:#ff73d1;--lime:#a8f26c}
body{background:radial-gradient(ellipse at 12% 8%,rgba(57,226,233,.13),transparent 35%),radial-gradient(ellipse at 88% 38%,rgba(189,122,255,.14),transparent 38%),radial-gradient(ellipse at 50% 100%,rgba(255,115,209,.06),transparent 42%),linear-gradient(155deg,#090d20,#090b16 72%)}
.pixel-grid{opacity:.23}
.topbar{gap:clamp(12px,2vw,28px);border-bottom-color:rgba(57,226,233,.2);box-shadow:0 8px 32px rgba(7,10,24,.32)}
.brand-mark{background:linear-gradient(145deg,rgba(57,226,233,.09),rgba(189,122,255,.12));box-shadow:3px 3px 0 rgba(57,226,233,.2),0 0 22px rgba(57,226,233,.17)}
.robot-crew{display:flex;flex:0 0 auto;align-items:flex-end;justify-content:center;gap:4px;margin:0 auto;pointer-events:none;user-select:none}
.arcade-bot{width:clamp(36px,4vw,54px);height:clamp(42px,5vw,62px);overflow:visible;shape-rendering:crispEdges;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--robot-color) 42%,transparent));animation:robot-hover 3.2s ease-in-out infinite}
.arcade-bot:nth-child(2){animation-delay:-1.05s}.arcade-bot:nth-child(3){animation-delay:-2.1s}
.bot-cyan{--robot-color:#39e2e9}.bot-violet{--robot-color:#bd7aff}.bot-gold{--robot-color:#ffcf5a}
.robot-shell{fill:#17243d;stroke:var(--robot-color);stroke-width:2.2;stroke-linejoin:round}.robot-face{fill:#070d1c;stroke:var(--robot-color);stroke-width:1.5}.robot-line{fill:none;stroke:var(--robot-color);stroke-width:2.4;stroke-linecap:square}.robot-antenna,.robot-eye{fill:var(--robot-color)}.robot-mouth{fill:none;stroke:var(--robot-color);stroke-width:1.6}.robot-limb{fill:#1b2d49;stroke:var(--robot-color);stroke-width:2}.robot-panel{fill:var(--robot-color)}.robot-eye{transform-box:fill-box;transform-origin:center;animation:bot-blink 4.8s steps(1,end) infinite}
.header-actions{display:flex;flex:0 0 auto;align-items:center;gap:clamp(8px,1.4vw,18px)}
.sound-toggle{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid rgba(57,226,233,.5);background:linear-gradient(120deg,rgba(57,226,233,.1),rgba(189,122,255,.12));color:#d8fbff;font:700 9px var(--mono);letter-spacing:.08em;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}
.sound-toggle:hover{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 0 18px rgba(57,226,233,.15)}.sound-toggle:focus-visible,.button:focus-visible,.top-link:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.sound-toggle[aria-pressed="true"]{border-color:var(--lime);color:#eaffdd;box-shadow:0 0 18px rgba(168,242,108,.15)}.sound-glyph{color:var(--pink);font-size:17px;line-height:1}.sound-toggle[aria-pressed="true"] .sound-glyph{color:var(--lime)}
.music-bars{display:flex;height:14px;align-items:center;gap:2px}.music-bars i{display:block;width:2px;height:4px;background:var(--cyan)}.sound-toggle[aria-pressed="true"] .music-bars i{animation:eq-bounce .48s ease-in-out infinite alternate}.sound-toggle[aria-pressed="true"] .music-bars i:nth-child(2){animation-delay:-.24s}.sound-toggle[aria-pressed="true"] .music-bars i:nth-child(3){animation-delay:-.36s}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button.primary{background:linear-gradient(105deg,#39e2e9 0%,#78f3c7 42%,#c78bff 100%);background-size:180% 100%;box-shadow:4px 4px 0 rgba(189,122,255,.16),0 0 24px rgba(57,226,233,.08);animation:button-shift 7s ease-in-out infinite alternate}
.card{border-color:rgba(102,135,190,.47);box-shadow:0 22px 70px rgba(0,0,0,.3),0 0 34px rgba(57,226,233,.035)}
.join-card,.login-card,.podium-dashboard{position:relative}.join-card::after,.login-card::after{position:absolute;top:14px;right:14px;width:7px;height:7px;background:var(--pink);box-shadow:12px 0 var(--cyan),24px 0 var(--yellow);content:"";opacity:.85}
.podium-dashboard{border-color:rgba(189,122,255,.5);box-shadow:0 0 0 1px rgba(57,226,233,.08),0 0 48px rgba(189,122,255,.12),0 24px 80px rgba(0,0,0,.4)}
@keyframes robot-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes bot-blink{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.12)}}
@keyframes eq-bounce{from{height:4px}to{height:14px}}
@keyframes button-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:760px){.topbar{gap:9px;padding:0 12px}.arcade-bot{width:34px;height:42px}.robot-crew{gap:0}.header-actions{gap:7px}.sound-toggle{min-height:34px;padding:0 8px;font-size:8px}.top-link{font-size:8px;white-space:nowrap}}
@media(max-width:480px){.topbar{min-height:62px}.robot-crew{position:absolute;left:50%;transform:translateX(-50%)}.arcade-bot{width:34px;height:40px}.arcade-bot:nth-child(n+2){display:none}.brand{gap:8px}.brand b{font-size:9px}.brand small{font-size:7px}.sound-toggle{gap:5px;padding:0 7px}.sound-glyph{font-size:15px}}
@media(max-width:360px){.brand small{display:none}.sound-toggle #sound-label{display:none}.topbar{padding:0 9px}.header-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.arcade-bot,.robot-eye,.button.primary,.sound-toggle[aria-pressed="true"] .music-bars i{animation:none!important}.arcade-bot{transform:none!important}}

/* Player identity and score rows */
.player-profile{display:flex;align-items:center;gap:12px;min-width:0}.player-meta{display:grid;gap:5px;min-width:0}.player-meta #player-room{overflow-wrap:anywhere}
.player-avatar-chip,.avatar-badge{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid rgba(57,226,233,.5);background:linear-gradient(145deg,#182d4a,#13152c);box-shadow:3px 3px 0 rgba(57,226,233,.09)}
.player-avatar-chip{width:52px;height:52px}.avatar-badge{width:36px;height:36px}.avatar-badge.avatar-small{width:28px;height:28px;border-color:#384968;box-shadow:none}
.avatar-image{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.avatar-initial{color:var(--cyan);font:700 14px var(--mono)}
.player-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:7px 0;border-bottom:1px solid rgba(120,145,180,.12);color:#e3eaff;font-size:13px}.player-row>span:last-child,.leader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leader-row{grid-template-columns:24px 28px minmax(0,1fr) auto;gap:8px}.leader-row .avatar-small{width:26px;height:26px}

/* Final projector podium */
.podium-dashboard{max-width:1300px;margin:0 auto;padding:clamp(22px,4vw,48px);overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(102,82,185,.24),transparent 52%),linear-gradient(145deg,#111a31,#0c1121)}
.podium-heading{text-align:center}.podium-heading h1{margin:12px 0 8px;font-size:clamp(38px,7vw,76px);line-height:.94;letter-spacing:-.055em}.podium-heading h1 em{color:var(--yellow);font-style:normal}.podium-heading>p{margin:10px 0;color:var(--muted);font-size:clamp(13px,2vw,17px)}
.podium-sequence{display:inline-flex;align-items:center;gap:12px;margin-top:10px;padding:9px 13px;border:1px solid rgba(189,122,255,.35);background:rgba(189,122,255,.08);color:#c0cbe2;font:700 9px var(--mono);letter-spacing:.12em}.podium-sequence b{color:var(--purple);font-size:12px}
.podium-board{display:grid;grid-template-areas:"third first second";grid-template-columns:1fr 1.08fr 1fr;align-items:end;gap:clamp(10px,2vw,22px);max-width:1040px;margin:clamp(30px,5vw,58px) auto 0}
.podium-card{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;padding:clamp(16px,2.4vw,28px) 12px 0;border:1px solid rgba(144,165,200,.23);background:linear-gradient(155deg,rgba(27,37,63,.96),rgba(13,18,34,.98));text-align:center;opacity:0;transform:translateY(24px) scale(.97)}
.podium-third{grid-area:third;--podium-accent:#d89369;--podium-glow:rgba(216,147,105,.15)}.podium-second{grid-area:second;--podium-accent:#c2d3ed;--podium-glow:rgba(194,211,237,.16)}.podium-first{grid-area:first;--podium-accent:#ffcf5a;--podium-glow:rgba(255,207,90,.18);padding-top:clamp(22px,3vw,36px);border-color:rgba(255,207,90,.55);box-shadow:0 0 42px var(--podium-glow),0 20px 65px rgba(0,0,0,.25)}
.podium-reveal .podium-third{animation:podium-enter .7s cubic-bezier(.2,.8,.2,1) .25s forwards}.podium-reveal .podium-second{animation:podium-enter .7s cubic-bezier(.2,.8,.2,1) 1.15s forwards}.podium-reveal .podium-first{animation:podium-enter .8s cubic-bezier(.2,.8,.2,1) 2.05s forwards}
@keyframes podium-enter{to{opacity:1;transform:translateY(0) scale(1)}}
.podium-rank{display:flex;align-items:center;gap:8px;color:var(--podium-accent);font:700 19px var(--mono)}.podium-rank i{font-size:9px;font-style:normal;letter-spacing:.12em}
.podium-avatar{width:clamp(74px,10vw,112px);height:clamp(74px,10vw,112px);margin:18px 0 11px;border:2px solid var(--podium-accent);background:radial-gradient(circle,var(--podium-glow),#0d1428 72%);box-shadow:0 0 25px var(--podium-glow)}.podium-avatar .avatar-initial{font-size:25px}
.podium-card h2{max-width:100%;margin:5px 0 8px;overflow:hidden;color:var(--text);font-size:clamp(14px,2vw,21px);text-overflow:ellipsis;white-space:nowrap}.podium-card>strong{color:var(--podium-accent);font:700 clamp(24px,3.4vw,38px) var(--mono)}.podium-points{margin:3px 0 15px;color:var(--muted);font:700 8px var(--mono);letter-spacing:.18em}
.podium-base{display:flex;width:calc(100% + 24px);flex-direction:column;justify-content:center;gap:4px;margin-top:auto;background:linear-gradient(180deg,var(--podium-glow),rgba(10,14,26,.88));color:var(--podium-accent)}.podium-base b{font:700 28px var(--mono)}.podium-base span{font:700 8px var(--mono);letter-spacing:.1em}.podium-third .podium-base{height:76px}.podium-second .podium-base{height:105px}.podium-first .podium-base{height:138px}
.podium-empty{border-style:dashed;opacity:.62}
.page-projector{width:min(1440px,calc(100% - 48px));margin-top:clamp(26px,5vh,56px)}
@media(max-width:760px){.podium-dashboard{padding:24px 16px}.podium-board{grid-template-areas:"third" "second" "first";grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px}.podium-card,.podium-first{min-height:250px;padding-top:18px}.podium-avatar{width:72px;height:72px;margin:11px 0 7px}.podium-points{margin-bottom:9px}.podium-base,.podium-third .podium-base,.podium-second .podium-base,.podium-first .podium-base{height:52px}.podium-base b{font-size:20px}.podium-sequence{font-size:8px}}
@media(max-width:480px){.player-avatar-chip{width:44px;height:44px}.podium-heading h1{font-size:40px}.podium-rank{font-size:16px}.podium-card{min-height:230px}.podium-base span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.podium-card{opacity:1;transform:none}.podium-reveal .podium-card{animation:none}}

/* Larger character art for the join and host entry screens */
.join-card,.login-card{width:min(100%,650px)}
.join-intro{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:12px;margin:4px 0 26px}
.join-copy{min-width:0}
.join-copy h1{margin:13px 0 11px;font-size:clamp(38px,7vw,66px);line-height:.91;letter-spacing:-.065em}
.join-copy h1 em{color:var(--purple);font-style:normal;text-shadow:0 0 24px rgba(189,122,255,.22)}
.join-copy p{max-width:420px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.hero-mascot{position:relative;display:grid;place-items:center;min-width:0;height:150px;isolation:isolate}
.hero-mascot::before{position:absolute;inset:24px 9px 15px;border:1px solid rgba(189,122,255,.15);border-radius:50%;background:radial-gradient(ellipse,rgba(189,122,255,.16),rgba(57,226,233,.04) 52%,transparent 72%);content:"";z-index:-1}
.hero-bot{position:relative;width:116px;height:132px;animation:hero-float 3.6s ease-in-out infinite;filter:drop-shadow(0 0 11px rgba(189,122,255,.34))}
.hero-head{position:absolute;top:17px;left:18px;width:80px;height:57px;border:2px solid #c7a6ff;border-radius:12px 12px 8px 8px;background:linear-gradient(145deg,#27314d,#141b32);box-shadow:inset 0 -5px rgba(8,11,24,.4),3px 3px 0 rgba(189,122,255,.18)}
.hero-antenna{position:absolute;top:4px;left:55px;width:6px;height:16px;background:#bd7aff}
.hero-antenna::before{position:absolute;top:-5px;left:-3px;width:12px;height:8px;border:2px solid #bd7aff;border-radius:50%;background:#151b31;content:""}
.hero-eye{position:absolute;top:19px;left:18px;width:10px;height:13px;border-radius:2px;background:#39e2e9;box-shadow:0 0 9px rgba(57,226,233,.85);animation:bot-blink 4.8s ease-in-out infinite}
.hero-eye:nth-child(2){left:50px;animation-delay:.12s}
.hero-mouth{position:absolute;bottom:9px;left:32px;width:14px;height:4px;background:#ffcf5a;box-shadow:5px 0 #ffcf5a}
.hero-neck{position:absolute;top:73px;left:51px;width:15px;height:8px;border-left:3px solid #a6b8d9;border-right:3px solid #a6b8d9;background:#28334d}
.hero-body{position:absolute;top:81px;left:30px;width:57px;height:36px;border:2px solid #7c91b5;border-radius:8px 8px 4px 4px;background:linear-gradient(135deg,#293552,#151d33);box-shadow:inset 0 -5px rgba(8,11,24,.36)}
.hero-core{position:absolute;top:8px;left:20px;width:13px;height:13px;border:2px solid #39e2e9;border-radius:50%;background:#39e2e9;box-shadow:0 0 13px rgba(57,226,233,.8)}
.hero-arm{position:absolute;top:87px;width:10px;height:25px;border:2px solid #a68bd7;border-radius:5px;background:#252e49}
.hero-arm-left{left:18px;transform:rotate(13deg)}.hero-arm-right{right:17px;transform:rotate(-13deg)}
.hero-foot{position:absolute;top:116px;width:17px;height:10px;border-radius:3px 3px 6px 6px;background:#737fa1;box-shadow:0 3px 0 #353d59}
.hero-foot-left{left:34px}.hero-foot-right{right:34px}
.hero-spark{position:absolute;color:var(--yellow);font-family:var(--mono);text-shadow:0 0 12px rgba(255,207,90,.7);animation:spark-drift 2.8s ease-in-out infinite}
.hero-spark-one{top:22px;right:1px;font-size:19px}.hero-spark-two{bottom:23px;left:4px;color:var(--cyan);font-size:16px;animation-delay:-1.2s}
@keyframes hero-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes spark-drift{0%,100%{opacity:.55;transform:translateY(2px) scale(.9)}50%{opacity:1;transform:translateY(-4px) scale(1.08)}}
@media(max-width:560px){.join-intro{grid-template-columns:minmax(0,1fr) 100px;gap:2px;margin-bottom:22px}.hero-mascot{height:128px}.hero-bot{transform:scale(.82)}.join-copy h1{font-size:clamp(36px,10vw,52px)}.join-copy p{font-size:13px}}
@media(max-width:380px){.join-intro{grid-template-columns:minmax(0,1fr) 77px;gap:0}.hero-mascot{height:108px}.hero-bot{transform:scale(.67)}.hero-spark-one{right:-2px;font-size:15px}.hero-spark-two{left:-2px;font-size:13px}.join-copy h1{font-size:34px}.join-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-bot,.hero-eye,.hero-spark{animation:none!important}.hero-bot{transform:none}}

/* Olympic-style results screen and live player arrivals */
.results-action{border-color:rgba(255,207,90,.4)!important;color:#ffe4a0!important;background:linear-gradient(125deg,rgba(255,207,90,.09),rgba(189,122,255,.1))!important}
.panel-heading{align-items:flex-start}.panel-heading-copy{display:grid;gap:5px}.panel-subtitle{color:var(--muted);font:400 11px/1.4 var(--body);letter-spacing:normal}.panel-heading #player-count{padding:6px 8px;border:1px solid rgba(57,226,233,.3);background:rgba(57,226,233,.07);color:var(--cyan);font:700 9px var(--mono);white-space:nowrap}
.player-list{max-height:330px;padding:8px 0}.host-player-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:60px;padding:8px 5px}.host-player-avatar{width:42px;height:42px;border-color:rgba(57,226,233,.48);box-shadow:0 0 16px rgba(57,226,233,.11)}.host-player-name{overflow:hidden;color:#f3f6ff;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.new-player-flag{padding:5px 6px;border:1px solid rgba(168,242,108,.32);background:rgba(168,242,108,.08);color:var(--lime);font:700 7px var(--mono);letter-spacing:.06em;white-space:nowrap}.player-empty{padding:12px 4px;line-height:1.55}
.player-arriving{animation:arrival-slide .52s cubic-bezier(.2,.8,.2,1) both}.entrant-arriving{animation:arrival-pop .58s cubic-bezier(.16,1,.3,1) both}
@keyframes arrival-slide{from{opacity:0;transform:translateX(15px);background:rgba(57,226,233,.12)}to{opacity:1;transform:translateX(0);background:transparent}}
@keyframes arrival-pop{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.page-results{width:min(1500px,calc(100% - 48px));margin-top:clamp(22px,4vh,42px)}.results-shell{width:100%;margin:0 auto}.results-brand{margin-bottom:18px}.results-brand>div{display:grid;gap:5px}.results-brand strong{font-size:clamp(22px,3.5vw,34px)}.results-live-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(91,229,154,.34);background:rgba(91,229,154,.07);color:#a8f2c6;font:700 9px var(--mono);letter-spacing:.1em}.results-live-chip i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:live-pulse 1.5s ease-in-out infinite}
@keyframes live-pulse{50%{opacity:.42;transform:scale(.72)}}
.results-lobby{padding:clamp(22px,4vw,52px);overflow:hidden;background:radial-gradient(ellipse at 88% 8%,rgba(255,207,90,.13),transparent 28%),radial-gradient(ellipse at 4% 12%,rgba(57,226,233,.12),transparent 32%),linear-gradient(145deg,#121d36,#0c1223)}
.results-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid rgba(145,169,208,.17)}.results-copy{min-width:0}.results-copy h1{margin:12px 0 10px;font-size:clamp(42px,7vw,82px);line-height:.88;letter-spacing:-.07em}.results-copy h1 em{color:var(--yellow);font-style:normal;text-shadow:0 0 32px rgba(255,207,90,.22)}.results-copy p{max-width:590px;margin:0;color:var(--muted);font-size:clamp(13px,1.6vw,17px);line-height:1.55}.results-medal{position:relative;display:grid;place-items:center;flex:0 0 clamp(100px,15vw,172px);width:clamp(100px,15vw,172px);height:clamp(100px,15vw,172px);border:2px solid rgba(255,207,90,.75);border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff1bc,#ffcf5a 38%,#b77a2a 70%,#32233a 72%);box-shadow:0 0 0 9px rgba(255,207,90,.06),0 0 48px rgba(255,207,90,.2),inset 0 0 0 8px rgba(255,255,255,.14);color:#553a2c;transform:rotate(8deg)}.results-medal::before,.results-medal::after{position:absolute;top:80%;width:36%;height:53%;z-index:-1;background:linear-gradient(135deg,#bd7aff,#7046b2);content:"";clip-path:polygon(0 0,100% 0,75% 100%,50% 80%,25% 100%)}.results-medal::before{left:10%;transform:rotate(8deg)}.results-medal::after{right:10%;background:linear-gradient(135deg,#39e2e9,#227d9b);transform:rotate(-8deg)}.results-medal span{font-size:clamp(31px,5vw,54px);line-height:1;text-shadow:0 2px 0 rgba(100,58,20,.2)}.results-medal b{position:absolute;bottom:24%;font:700 8px var(--mono);letter-spacing:.1em}
.results-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 26px}.results-stats>div{display:grid;gap:7px;padding:13px 16px;border:1px solid rgba(145,169,208,.17);background:rgba(7,12,25,.4)}.results-stats span{color:var(--muted);font:700 8px var(--mono);letter-spacing:.1em}.results-stats strong{overflow:hidden;color:#f2f5ff;font:700 clamp(14px,2vw,20px) var(--mono);text-overflow:ellipsis;white-space:nowrap}.results-stats>div:first-child strong{color:var(--cyan);font-size:clamp(23px,3vw,32px)}
.entrant-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.entrant-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.entrant-count{padding:7px 9px;border:1px solid rgba(189,122,255,.34);color:#d3b5ff;font:700 9px var(--mono);white-space:nowrap}.entrant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;max-height:min(48vh,530px);min-height:108px;overflow:auto;padding:2px 3px 4px}.entrant-card{display:grid;justify-items:center;align-content:start;gap:8px;min-width:0;padding:14px 8px 13px;border:1px solid rgba(145,169,208,.19);background:linear-gradient(145deg,rgba(25,36,62,.88),rgba(11,17,32,.9));text-align:center}.entrant-card:nth-child(5n+1){--entrant-accent:#39e2e9}.entrant-card:nth-child(5n+2){--entrant-accent:#bd7aff}.entrant-card:nth-child(5n+3){--entrant-accent:#ffcf5a}.entrant-card:nth-child(5n+4){--entrant-accent:#ff73d1}.entrant-card:nth-child(5n){--entrant-accent:#a8f26c}.entrant-number{color:var(--entrant-accent);font:700 8px var(--mono);letter-spacing:.12em}.entrant-avatar{width:62px;height:62px;border-color:color-mix(in srgb,var(--entrant-accent) 65%,transparent);box-shadow:0 0 17px color-mix(in srgb,var(--entrant-accent) 22%,transparent)}.entrant-avatar .avatar-initial{font-size:20px}.entrant-name{max-width:100%;overflow:hidden;color:#f3f5ff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.entrant-empty{grid-column:1/-1;display:grid;min-height:108px;place-items:center;margin:0;border:1px dashed rgba(145,169,208,.26);color:var(--muted);font-size:14px;text-align:center}
@media(max-width:760px){.page-results{width:calc(100% - 24px)}.results-lobby{padding:23px 17px}.results-medal{flex-basis:102px;width:102px;height:102px}.entrant-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));max-height:58vh}.entrant-avatar{width:54px;height:54px}.results-stats>div{padding:11px 12px}}
@media(max-width:480px){.results-hero{gap:10px;padding-bottom:17px}.results-copy h1{font-size:42px}.results-copy p{font-size:12px}.results-medal{flex-basis:78px;width:78px;height:78px;box-shadow:0 0 0 5px rgba(255,207,90,.06),0 0 26px rgba(255,207,90,.17),inset 0 0 0 5px rgba(255,255,255,.14)}.results-medal b{font-size:6px}.results-stats{gap:6px;margin:14px 0 21px}.results-stats>div{gap:6px;padding:9px 7px}.results-stats span{font-size:7px;letter-spacing:.03em}.results-stats strong{font-size:12px}.results-stats>div:first-child strong{font-size:23px}.entrant-heading p{font-size:10px}.entrant-count{font-size:8px}.entrant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:60vh}.entrant-card{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;align-items:center;gap:3px 9px;padding:9px;text-align:left}.entrant-number{grid-column:2;align-self:end}.entrant-avatar{grid-column:1;grid-row:1/3;width:42px;height:42px}.entrant-name{grid-column:2;align-self:start;font-size:12px}}
@media(prefers-reduced-motion:reduce){.player-arriving,.entrant-arriving,.results-live-chip i{animation:none!important}}
.results-live-chip b{font:inherit}
