:root{--ink:#f7f7ff;--muted:#b7b9cf;--panel:#1a1d36;--panel2:#222642;--bg:#0d0f20;--purple:#8b5cf6;--cyan:#38d9f2;--pink:#ff5fa2;--green:#43e29b;--danger:#ff6376;--line:#343854;--shadow:0 22px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 15% -10%,#30215e 0,transparent 38rem),var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.topbar{height:72px;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1080px)/2));border-bottom:1px solid rgba(255,255,255,.08)}.brand{color:var(--ink);font-weight:900;letter-spacing:.05em;text-decoration:none;font-size:1.35rem}.brand span{color:var(--cyan)}.shell{width:min(100% - 32px,1080px);margin:0 auto;padding:32px 0 70px}.card{background:linear-gradient(160deg,rgba(35,38,69,.96),rgba(22,25,49,.96));border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:clamp(22px,4vw,42px)}.hero{max-width:720px;margin:4vh auto;text-align:center}.hero h1{font-size:clamp(2.2rem,7vw,4.8rem);line-height:1;margin:.1em 0 .35em;letter-spacing:-.05em}.hero p{color:var(--muted);font-size:1.1rem}.eyebrow{color:var(--cyan)!important;font-size:.78rem!important;font-weight:850;text-transform:uppercase;letter-spacing:.18em}.button,button{appearance:none;border:0;border-radius:14px;padding:14px 20px;background:linear-gradient(135deg,var(--purple),#6d4df4);color:white;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:52px}.button--secondary{background:var(--panel2);border:1px solid var(--line)}.button--random{background:linear-gradient(135deg,var(--pink),#dd3d8a)}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stack{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:750}input,select{width:100%;border:1px solid var(--line);border-radius:13px;background:#11142a;color:var(--ink);padding:14px 15px;font:inherit;min-height:52px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--cyan) 65%,transparent);outline-offset:2px}.hint,.muted{color:var(--muted);font-size:.92rem}.notice{padding:13px 16px;border-radius:12px;margin:0 0 18px;background:var(--panel2);border:1px solid var(--line)}.notice--error{border-color:var(--danger)}.notice--success{border-color:var(--green)}@media(max-width:700px){.grid{grid-template-columns:1fr}.shell{padding-top:20px}.topbar{height:60px}.card{border-radius:19px}.button,button{width:100%}}
.join-code{margin:34px auto 0;max-width:440px;text-align:left}.join-code>div{display:grid;grid-template-columns:1fr auto;gap:8px}.join-code input{text-align:center;text-transform:uppercase;letter-spacing:.2em;font-weight:900}.form-card{max-width:850px;margin:auto}.form-card h1,.game-head h1{font-size:clamp(2rem,5vw,3.5rem);margin:.1em 0}fieldset{border:1px solid var(--line);border-radius:16px;padding:18px}legend{font-weight:850;padding:0 8px}.genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.check{display:flex;align-items:center;gap:9px;background:#11142a;border-radius:11px;padding:10px;font-weight:650}.check input{width:20px;min-height:auto}.option-grid{padding-top:16px}summary{cursor:pointer;font-weight:800}.join-form{max-width:420px;margin:24px auto}.game-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.my-lives{font-size:1.7rem;color:var(--pink);letter-spacing:.08em}.code{font-size:clamp(3rem,10vw,6rem);font-weight:950;letter-spacing:.12em;line-height:1}.qr{margin:18px auto;width:240px;max-width:100%;background:white;padding:10px;border-radius:16px;min-height:160px}.qr img{display:block;width:100%;height:auto}.player-list{display:grid;gap:9px;margin:18px 0}.player-list>div{display:flex;justify-content:space-between;background:#11142a;border-radius:12px;padding:12px 14px}.turn{max-width:820px;margin:auto;text-align:center}.turn h2{font-size:clamp(1.6rem,5vw,3rem)}.timer{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:#11142a;border:3px solid var(--cyan);font-size:1.7rem;font-weight:900}.answers,.targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.answers button,.targets button{min-height:70px}.result--correct{color:var(--green)}.result--incorrect,.result--timeout{color:var(--danger)}.players-strip{display:flex;gap:10px;overflow:auto;padding:18px 2px;margin-top:15px}.player-chip{min-width:130px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid}.player-chip span{color:var(--pink)}.player-chip.is-out{opacity:.48}.organiser{margin:12px auto;max-width:820px;padding:15px;background:var(--panel);border-radius:14px}.organiser form{margin-top:12px}.screen-shell{min-height:100vh;display:grid;place-items:center;padding:4vw}.screen-game{text-align:center;width:min(1200px,100%)}.screen-game h1{font-size:clamp(3rem,7vw,7rem);margin:.1em}.screen-game h2{font-size:clamp(2rem,5vw,5rem)}.screen-question{font-size:clamp(2rem,4vw,4rem)}.screen-answer{color:var(--green);font-size:clamp(2rem,4vw,4rem);font-weight:900}button:disabled{opacity:.38;cursor:not-allowed}@media(max-width:700px){.genre-grid{grid-template-columns:1fr 1fr}.answers,.targets{grid-template-columns:1fr}.game-head{align-items:flex-start}.join-code>div{grid-template-columns:1fr}}
.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.admin-head h1{font-size:3rem;margin:.1em 0}.table-card{overflow:auto;padding:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted);margin-top:4px}.status{display:inline-block;padding:4px 9px;border-radius:99px;background:var(--panel2)}.status--approved{color:var(--green)}textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#11142a;color:var(--ink);padding:14px 15px;font:inherit;resize:vertical}@media(max-width:700px){.admin-head{display:block}.table-card{padding:0}th:nth-child(2),td:nth-child(2),th:nth-child(5),td:nth-child(5){display:none}}
.mini-button{min-height:30px;padding:5px 9px;border-radius:8px;font-size:.78rem;margin-top:7px}
.status--warning{color:#ffd166;border:1px solid rgba(255,209,102,.35)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#11142a;border:1px solid var(--line);border-radius:6px;padding:2px 5px}
.brand img{display:block;max-width:180px;max-height:50px}.admin-nav{display:flex;gap:8px;overflow:auto;margin-bottom:24px;padding:7px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.admin-nav a{white-space:nowrap;color:var(--muted);text-decoration:none;font-weight:750;padding:9px 12px;border-radius:9px}.admin-nav a:hover{background:var(--panel2);color:var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stats-grid .card{padding:24px;display:grid}.stats-grid strong{font-size:2.5rem;color:var(--cyan)}.stats-grid span{color:var(--muted)}.quick-actions{margin-top:20px}.colour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.colour-grid input{height:60px;padding:5px}.logo-preview{display:block;max-width:260px;max-height:100px;object-fit:contain;background:#fff;border-radius:12px;padding:10px;margin:8px 0}@media(max-width:700px){.stats-grid,.colour-grid{grid-template-columns:1fr 1fr}.admin-nav{margin-inline:-8px}}
.admin-body{background:#090b16}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;background:#101326;border-right:1px solid #2a2e48;display:flex;flex-direction:column}.admin-brand{padding:0 10px}.admin-product{margin:9px 10px 28px;color:#7f849e;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a{display:grid;padding:11px 12px;border-radius:11px;text-decoration:none;color:var(--ink);border:1px solid transparent}.admin-sidebar nav a:hover{background:#1a1e36;border-color:#303550}.admin-sidebar nav b{font-size:.92rem}.admin-sidebar nav small{color:#858aa5}.admin-account{margin-top:auto;border-top:1px solid #2a2e48;padding:18px 10px 0;display:grid}.admin-account span{font-weight:800}.admin-account small{color:#858aa5}.admin-account button{margin-top:12px;min-height:38px;padding:7px 10px;background:#1c2038;border:1px solid #303550}.admin-main{width:100%;max-width:1500px;padding:36px clamp(24px,4vw,64px);overflow:hidden}.admin-main .card{box-shadow:0 12px 35px rgba(0,0,0,.22);border-radius:16px}.admin-main .admin-head h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em}.admin-mobile-header{display:none}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{margin:.1em 0}.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#8990ad;background:#14172a;position:sticky;top:0}.admin-table tr:hover td{background:rgba(255,255,255,.018)}.metric-pill{display:inline-block;padding:5px 9px;border-radius:8px;background:#171a30;border:1px solid #303550;font-weight:800}.audio-previews{display:grid;gap:5px;margin-top:8px}.audio-previews audio{width:180px;height:30px}.narration-play{width:auto!important;margin:0 auto 16px}.admin-main .notice a{color:var(--cyan)}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;z-index:20;left:0;transform:translateX(-102%);width:280px;transition:transform .2s}.admin-menu-open .admin-sidebar{transform:none;box-shadow:20px 0 60px #000}.admin-main{padding:20px}.admin-mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-mobile-header button{width:auto;min-height:42px;padding:8px 13px}}@media(max-width:700px){.admin-table th:nth-child(5),.admin-table td:nth-child(5){display:table-cell}.audio-previews audio{width:150px}}
img,video,audio,canvas,svg{max-width:100%}.shell,.card,.grid,.stack,form,fieldset,label,.turn,.lobby>*,.game-head>*,.players-zone{min-width:0}input,select,textarea,button{max-width:100%}select{white-space:nowrap;text-overflow:ellipsis}h1,h2,h3,p,strong,span,a,button,td{overflow-wrap:anywhere}.player-game{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--purple) 38%,transparent),transparent 28rem),var(--bg)}.player-game .topbar{background:rgba(9,11,25,.72);backdrop-filter:blur(12px);position:sticky;top:0;z-index:8}.player-game .shell{padding-top:20px}.player-hud{flex:0 0 auto;text-align:right;background:rgba(17,20,42,.86);border:1px solid var(--line);border-radius:14px;padding:8px 12px}.hud-label{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.turn-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-18px -18px 24px;padding:12px 16px;border-radius:14px;background:#11142a;border:1px solid var(--line);font-size:.8rem;letter-spacing:.07em}.turn-banner--active{background:linear-gradient(100deg,color-mix(in srgb,var(--purple) 75%,#11142a),#2d205e);border-color:color-mix(in srgb,var(--purple) 72%,white)}.turn-number{color:var(--muted);font-weight:750}.question-text{max-width:720px;margin:18px auto!important;line-height:1.18}.timer-wrap{display:grid;justify-items:center;margin:15px 0 24px}.timer-wrap .timer{margin:0;box-shadow:0 0 28px color-mix(in srgb,var(--cyan) 30%,transparent)}.timer-wrap>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:5px}.answers button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;text-align:left;justify-content:stretch;background:linear-gradient(145deg,#292e52,#1e223f);border:1px solid #3b4169;box-shadow:0 6px 0 #11142a;padding:13px 15px}.answers button:active{transform:translateY(4px);box-shadow:0 2px 0 #11142a}.answer-key{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:var(--cyan);font-size:.78rem}.spectator-pulse{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.spectator-pulse span{width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 color-mix(in srgb,var(--cyan) 45%,transparent);animation:pulse 1.7s infinite}.players-zone{margin-top:16px}.players-zone__title{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:0 4px}.players-zone__title small{text-transform:none;letter-spacing:0}.player-chip.is-me{border-color:var(--cyan);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 38%,transparent)}@keyframes pulse{70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(max-width:700px){html,body{width:100%;max-width:100%;overflow-x:hidden}.shell{width:100%;padding:14px 12px calc(32px + env(safe-area-inset-bottom));overflow:hidden}.player-game .topbar{height:52px;padding:0 14px}.player-game .brand{font-size:1.05rem}.game-head{gap:10px;margin-bottom:14px}.game-identity{min-width:0}.game-head h1{font-size:clamp(1.35rem,7vw,2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64vw}.game-head .eyebrow{font-size:.62rem!important}.player-hud{padding:6px 9px;max-width:34vw}.hud-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-lives{font-size:1.15rem;white-space:nowrap}.card{width:100%;max-width:100%;padding:18px 14px;border-radius:18px}.turn{padding:18px 14px 20px}.turn-banner{margin:-8px -4px 18px}.question-text{font-size:clamp(1.35rem,6vw,1.9rem)!important}.timer{width:60px;height:60px;font-size:1.5rem}.answers,.targets{width:100%;gap:10px}.answers button,.targets button{width:100%;min-width:0;min-height:62px;padding:11px 12px}.answers button span:last-child{min-width:0}.players-strip{margin:4px -12px 0;padding:10px 12px 4px;scroll-snap-type:x proximity}.player-chip{min-width:112px;max-width:140px;scroll-snap-align:start;padding:9px 10px}.player-chip strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby{width:100%}.code{font-size:clamp(2.5rem,16vw,4.2rem);letter-spacing:.08em}.qr{width:min(220px,100%);min-height:0}.actions{width:100%}.actions>*{max-width:100%}fieldset{width:100%;padding:13px}.genre-grid{grid-template-columns:minmax(0,1fr)}.join-form{width:100%;max-width:100%}.join-code{width:100%;max-width:100%}.organiser{width:100%;max-width:100%}}
.pwa-install,.pwa-status{position:fixed;z-index:1200;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.2);border-radius:999px;background:linear-gradient(135deg,#c012fd,#7447ff);color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.42);font-weight:800}.pwa-install{padding:12px 18px}.pwa-status{left:max(14px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100vw - 28px);margin:auto;padding:11px 14px;background:#171a35}.pwa-status[hidden],.pwa-install[hidden]{display:none}.pwa-status button{width:auto;padding:7px 12px;font-size:.82rem}@media(display-mode:standalone){body{min-height:100dvh}.topbar{padding-top:env(safe-area-inset-top)}.pwa-install{display:none!important}}@media(max-width:700px){.player-game .pwa-install,.player-game .pwa-status{bottom:calc(74px + env(safe-area-inset-bottom))}}
.player-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.player-nav a{padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#d8d9e8;font-size:.82rem;font-weight:750;text-decoration:none}.player-nav a:hover{border-color:var(--purple);color:#fff}.profile-card{max-width:900px;margin:30px auto}.profile-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-auth-grid form{padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(8,10,28,.35)}.profile-identity{display:flex;align-items:center;gap:16px}.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--purple),var(--pink));font-size:1.7rem;font-weight:900}.profile-identity h2,.profile-identity p{margin:0}.leaderboard-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:24px 0}.period-tabs{display:flex;gap:8px;margin-bottom:14px}.period-tabs a{padding:10px 15px;border-radius:999px;background:#171a35;color:#c8cadb;text-decoration:none}.period-tabs a.is-active{background:var(--purple);color:#fff}.leaderboard-table-wrap{overflow-x:auto}.leaderboard-table{min-width:760px}.leaderboard-table td:nth-child(2) small,.admin-table-wrap td small{display:block;color:#858aa7}.leaderboard-note{text-align:center;color:#858aa7}.empty-state{text-align:center;padding:30px}.challenge-standings{margin-top:18px}.standings-list{display:grid;gap:8px}.standing-row{display:grid;grid-template-columns:52px minmax(150px,1fr) repeat(5,minmax(70px,.6fr));gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(9,11,31,.38)}.standing-row.is-me{border-color:var(--cyan);box-shadow:inset 3px 0 var(--cyan)}.standing-row>span:not(.standing-player){text-align:center}.standing-row small{display:block;color:#858aa7;font-size:.72rem}.standing-position{font-size:1.25rem;color:var(--cyan)}.claim-result{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px;border-radius:14px;background:rgba(192,18,253,.12)}.claim-result button{width:auto}.screen-podium{display:flex;justify-content:center;gap:18px;margin:18px auto}.screen-podium>div{min-width:190px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(12,14,39,.78)}.screen-podium span{display:block;color:#aeb1ca;font-size:.8em}.admin-table-wrap{overflow-x:auto}.admin-table-wrap table{min-width:800px}@media(max-width:700px){.player-nav{gap:4px}.player-nav a{padding:6px 8px;font-size:.7rem}.profile-auth-grid{grid-template-columns:1fr}.leaderboard-head{align-items:start;flex-direction:column}.standing-row{grid-template-columns:42px minmax(120px,1fr) repeat(2,65px)}.standing-row>span:nth-last-child(-n+3){display:none}.claim-result{align-items:stretch;flex-direction:column}.claim-result button{width:100%}.screen-podium{flex-direction:column}.screen-podium>div{min-width:0}}
.timer--urgent{border-color:var(--danger)!important;color:#fff;background:color-mix(in srgb,var(--danger) 36%,#11142a)!important;animation:urgentBeat .8s infinite}.answers button.is-selected{border-color:var(--cyan);background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 70%,#292e52),#252b54)}@keyframes urgentBeat{50%{transform:scale(1.08);box-shadow:0 0 35px color-mix(in srgb,var(--danger) 48%,transparent)}}
.admin-table .status,.admin-table .mini-button{white-space:nowrap;overflow-wrap:normal;word-break:normal}.admin-table th:nth-child(4),.admin-table td:nth-child(4){min-width:110px}.admin-table th:nth-child(5),.admin-table td:nth-child(5){min-width:205px}.admin-table .mini-button{width:auto;display:inline-flex}.admin-table .audio-previews{min-width:180px}
@media(max-width:700px){.admin-table th:nth-child(4),.admin-table td:nth-child(4){min-width:105px}.admin-table th:nth-child(5),.admin-table td:nth-child(5){min-width:190px}.admin-table .audio-previews{min-width:160px}.admin-table .audio-previews audio{width:160px}}
.question-bank-table .question-cell{min-width:310px;max-width:480px}.option-list{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.option-list li{display:flex;gap:6px;padding:5px 8px;border-radius:7px;background:#15182d;color:#b9bdd2;font-size:.8rem}.option-list li>span{flex:0 0 auto}.option-list .is-correct{color:var(--green);background:color-mix(in srgb,var(--green) 10%,#15182d);font-weight:800}.row-actions{min-width:92px}.row-actions form{margin-top:6px}.edit-link{text-decoration:none;color:#fff;background:var(--purple)}.delete-button{background:transparent;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);color:#ff9aa7}@media(max-width:700px){.question-bank-table .question-cell{min-width:280px}.option-list{grid-template-columns:1fr}.row-actions{min-width:88px}}
.life-count,.chip-lives{display:none}.live-state{display:none!important}.player-game .turn{position:relative;isolation:isolate;overflow:hidden}.player-game .turn:before{content:"";position:absolute;z-index:-1;width:180px;height:180px;border-radius:50%;right:-80px;top:-95px;background:color-mix(in srgb,var(--purple) 24%,transparent);filter:blur(2px)}
@media(max-width:700px){.player-game{background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--purple) 45%,transparent),transparent 21rem),linear-gradient(180deg,#11142a 0,var(--bg) 48%)}.player-game .topbar{height:68px;justify-content:center;background:linear-gradient(180deg,rgba(22,25,51,.98),rgba(11,13,29,.9));border-bottom-color:color-mix(in srgb,var(--purple) 40%,transparent);box-shadow:0 8px 28px rgba(0,0,0,.28)}.player-game .topbar .brand{font-size:1.5rem;letter-spacing:.08em}.player-game .topbar .brand img{max-width:230px;max-height:58px}.life-hearts,.chip-hearts{display:none}.life-count,.chip-lives{display:inline-flex;align-items:baseline;white-space:nowrap}.life-count{font-size:1.25rem;font-weight:950;color:#fff}.life-count small{font-size:.64rem;margin-left:3px;color:var(--cyan);text-transform:uppercase;letter-spacing:.06em}.player-hud{background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 34%,#12152b),#11142a);border-color:color-mix(in srgb,var(--purple) 55%,var(--line));box-shadow:0 7px 18px rgba(0,0,0,.25)}.player-game .turn{background:linear-gradient(160deg,rgba(39,43,78,.98),rgba(20,23,48,.99));border-color:color-mix(in srgb,var(--purple) 45%,var(--line));box-shadow:0 18px 42px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05)}.turn-banner{border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.turn-banner--active{box-shadow:0 8px 22px color-mix(in srgb,var(--purple) 24%,transparent),inset 0 0 0 1px rgba(255,255,255,.12)}.answers button:nth-of-type(1){border-left:4px solid #38d9f2}.answers button:nth-of-type(2){border-left:4px solid #ff5fa2}.answers button:nth-of-type(3){border-left:4px solid #ffd166}.answers button:nth-of-type(4){border-left:4px solid #43e29b}.answers button{border-radius:16px;background:linear-gradient(135deg,#30365f,#202443);box-shadow:0 7px 0 #101326,0 10px 20px rgba(0,0,0,.2);font-size:1rem}.answer-key{border-radius:50%;background:#12152c;font-weight:950}.timer-wrap .timer{background:radial-gradient(circle,#202544,#11142a);border-width:4px}.players-zone{background:rgba(13,15,32,.56);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:10px 0 8px}.players-zone__title{padding:0 12px 4px}.player-chip{background:linear-gradient(145deg,#222744,#171a30);border-radius:13px;border-color:#343a5d;box-shadow:0 5px 14px rgba(0,0,0,.22)}.player-chip.is-me{background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 45%,#222744),#191d38);border-color:var(--cyan)}.chip-lives{font-size:.72rem;color:var(--cyan)!important;text-transform:uppercase;font-weight:850;letter-spacing:.04em}.player-chip.is-out .chip-lives{color:var(--muted)!important}.targets button{border-radius:15px;box-shadow:0 6px 0 #101326}.button--random{background:linear-gradient(135deg,var(--pink),var(--purple))!important}}
.ambient{position:fixed;z-index:-2;border-radius:50%;pointer-events:none;filter:blur(8px);opacity:0}.landing-page .ambient{opacity:.6}.ambient--one{width:340px;height:340px;left:-150px;top:12%;background:radial-gradient(circle,color-mix(in srgb,var(--purple) 48%,transparent),transparent 68%);animation:ambientFloat 9s ease-in-out infinite}.ambient--two{width:300px;height:300px;right:-140px;bottom:5%;background:radial-gradient(circle,color-mix(in srgb,var(--cyan) 38%,transparent),transparent 68%);animation:ambientFloat 11s ease-in-out -4s infinite reverse}.landing-page:before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.landing-page .topbar{height:86px;background:linear-gradient(180deg,rgba(20,23,48,.86),rgba(13,15,32,.38));backdrop-filter:blur(14px)}.landing-page .topbar .brand{font-size:1.7rem;text-shadow:0 0 24px color-mix(in srgb,var(--cyan) 48%,transparent)}.landing-page .topbar .brand img{max-width:260px;max-height:68px;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--cyan) 34%,transparent))}.landing-page .hero{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--purple) 40%,var(--line));box-shadow:0 28px 80px rgba(0,0,0,.48),0 0 60px color-mix(in srgb,var(--purple) 12%,transparent);animation:heroArrive .7s cubic-bezier(.2,.8,.2,1) both}.landing-page .hero:before{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.08) 45%,transparent 62%);transform:translateX(-120%);animation:heroShine 5s 1.2s ease-in-out infinite}.landing-logo{position:relative;display:flex;align-items:center;justify-content:center;gap:.08em;width:min(420px,90%);min-height:84px;margin:0 auto 22px;font-size:clamp(2.8rem,9vw,5.8rem);font-weight:950;line-height:1;letter-spacing:-.055em;filter:drop-shadow(0 8px 22px rgba(0,0,0,.42));animation:logoHover 4s ease-in-out infinite}.landing-logo img{display:block;max-width:100%;max-height:130px;object-fit:contain;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--cyan) 38%,transparent))}.landing-logo span{color:var(--cyan);text-shadow:0 0 30px color-mix(in srgb,var(--cyan) 55%,transparent)}.landing-logo b{color:#fff}.landing-page .hero>.actions .button{position:relative;overflow:hidden;box-shadow:0 12px 30px color-mix(in srgb,var(--purple) 28%,transparent);transition:transform .2s,box-shadow .2s}.landing-page .hero>.actions .button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 38px color-mix(in srgb,var(--purple) 38%,transparent)}.landing-page .hero>.actions .button:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22),transparent 75%);transform:translateX(-120%);animation:buttonShine 3.6s 2s infinite}.create-page .form-card,.join-page .hero{animation:heroArrive .65s cubic-bezier(.2,.8,.2,1) both}@keyframes ambientFloat{50%{transform:translate3d(24px,-28px,0) scale(1.08)}}@keyframes heroArrive{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:none}}@keyframes heroShine{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}@keyframes logoHover{50%{transform:translateY(-6px);filter:drop-shadow(0 14px 28px rgba(0,0,0,.48))}}@keyframes buttonShine{0%,58%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}
@media(max-width:700px){.landing-page .topbar{height:96px;justify-content:center;padding:8px 12px}.landing-page .topbar .brand{font-size:2rem}.landing-page .topbar .brand img{width:min(300px,86vw);max-width:300px;max-height:80px}.landing-page .shell{padding-top:18px}.landing-page .hero{margin:0 auto;padding-top:26px}.landing-logo{width:min(330px,96%);min-height:90px;margin-bottom:18px;font-size:clamp(3rem,17vw,5rem)}.landing-logo img{width:100%;max-height:120px}.landing-page .hero h1{font-size:clamp(2.55rem,13vw,4rem)}.ambient--one{width:260px;height:260px}.ambient--two{width:240px;height:240px}}
@media(prefers-reduced-motion:reduce){.ambient,.landing-page .hero,.landing-logo,.landing-page .hero:before,.landing-page .hero>.actions .button:after{animation:none!important}.landing-page .hero>.actions .button{transition:none}}

.home-page .landing-title{display:grid;gap:.04em;margin:.12em 0 .38em;padding:.08em .04em .16em;font-weight:950;font-style:italic;letter-spacing:-.065em;line-height:.88;transform:perspective(700px) rotateX(2deg);filter:drop-shadow(0 14px 13px rgba(0,0,0,.38))}.home-page .landing-title>span{display:block;position:relative;-webkit-text-stroke:clamp(1px,.055em,4px) #160537;paint-order:stroke fill;transform:skewX(-3deg)}.home-page .landing-title>.landing-title__answer{color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 1px 0 #fff,0 2px 0 #d7d8e2,0 3px 0 #a5a7b6,0 5px 0 #685181,0 7px 0 #382052,0 9px 0 #190a31,0 13px 18px rgba(0,0,0,.52)}.home-page .landing-title>.landing-title__bat{color:#c012fd;-webkit-text-fill-color:#c012fd;-webkit-text-stroke-color:#240047;text-shadow:0 -1px 0 #f5a5ff,0 1px 0 #e96cff,0 3px 0 #9a0cdb,0 5px 0 #7200b8,0 7px 0 #4b0084,0 9px 0 #290052,0 0 17px rgba(192,18,253,.6),0 14px 20px rgba(0,0,0,.58)}@media(max-width:700px){.home-page .landing-title{font-size:clamp(2.7rem,13.4vw,4.15rem);gap:.08em}.home-page .landing-title>span{-webkit-text-stroke-width:clamp(1px,.045em,3px)}}

.home-page .hero>*:not(.quiz-floaters){position:relative;z-index:2}.quiz-floaters{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.quiz-floater{position:absolute;display:grid;place-items:center;width:clamp(42px,7vw,72px);height:clamp(42px,7vw,72px);border:2px solid rgba(255,255,255,.14);border-radius:45% 55% 52% 48%;background:linear-gradient(145deg,rgba(192,18,253,.2),rgba(56,217,242,.08));color:rgba(235,158,255,.56);font-size:clamp(2rem,5vw,4.2rem);font-weight:950;font-style:italic;line-height:1;text-shadow:0 0 14px rgba(192,18,253,.75),0 4px 0 rgba(35,0,69,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 24px rgba(192,18,253,.15);animation:questionDrift 7s ease-in-out infinite}.quiz-floater--one{left:4%;top:18%;transform:rotate(-14deg);animation-delay:-1s}.quiz-floater--two{right:4%;top:39%;transform:rotate(12deg) scale(.78);animation-delay:-4.2s;color:rgba(89,221,255,.46);background:linear-gradient(145deg,rgba(56,217,242,.15),rgba(192,18,253,.09))}.quiz-floater--three{left:8%;bottom:13%;transform:rotate(9deg) scale(.62);animation-delay:-5.7s;opacity:.72}.quiz-swoosh{position:absolute;width:clamp(150px,28vw,260px);height:clamp(65px,12vw,115px);border-top:3px solid rgba(192,18,253,.22);border-radius:50%;filter:drop-shadow(0 0 8px rgba(192,18,253,.35));animation:swooshPulse 5s ease-in-out infinite}.quiz-swoosh:after{content:"";position:absolute;right:5px;top:-8px;width:12px;height:12px;border-top:3px solid rgba(192,18,253,.3);border-right:3px solid rgba(192,18,253,.3);transform:rotate(29deg)}.quiz-swoosh--one{left:-4%;top:31%;transform:rotate(16deg)}.quiz-swoosh--two{right:-7%;bottom:20%;transform:rotate(196deg);animation-delay:-2.5s;border-color:rgba(56,217,242,.17)}@keyframes questionDrift{0%,100%{translate:0 0}45%{translate:10px -15px;rotate:4deg}70%{translate:-4px -7px;rotate:-3deg}}@keyframes swooshPulse{0%,100%{opacity:.45;scale:.96}50%{opacity:.9;scale:1.04}}@media(max-width:700px){.quiz-floater{opacity:.48}.quiz-floater--one{left:-10px;top:23%}.quiz-floater--two{right:-14px;top:43%}.quiz-floater--three{left:3%;bottom:15%}.quiz-swoosh--one{left:-20%;top:32%}.quiz-swoosh--two{right:-24%;bottom:21%}}@media(prefers-reduced-motion:reduce){.quiz-floater,.quiz-swoosh{animation:none!important}}

/* Keep uploaded branding proportional and show only the hero logo on landing pages. */
.brand img{width:auto!important;height:auto!important;object-fit:contain}
.home-page .topbar{display:none!important}
.screen-brand{position:fixed;z-index:5;top:clamp(14px,2vw,28px);left:clamp(16px,2.5vw,36px);display:block}
.screen-brand img{width:auto;height:auto;max-width:min(240px,28vw);max-height:80px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
@media(max-width:700px){.screen-brand img{max-width:180px;max-height:60px}}

/* Admin navigation, themes, filtering and pagination. */
.admin-sidebar nav a.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 24%,#171a30),#1a1e36);border-color:color-mix(in srgb,var(--purple) 55%,#303550);box-shadow:inset 3px 0 0 var(--cyan)}
.admin-sidebar nav a.is-active small{color:color-mix(in srgb,var(--cyan) 70%,#fff)}
.theme-toggle{width:100%;min-height:38px;padding:7px 10px;margin:0 0 14px;background:transparent;border:1px solid #303550;color:inherit}
.admin-mobile-actions{display:flex;align-items:center;gap:8px}.admin-mobile-actions .theme-toggle{width:auto;margin:0}
.admin-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(125px,1fr)) auto;gap:12px;align-items:end;margin-bottom:18px;padding:18px}
.admin-filters label{font-size:.78rem;color:#8990ad}.admin-filters input,.admin-filters select{min-height:44px;padding:9px 11px}.filter-actions{display:flex;gap:8px}.filter-actions .button,.filter-actions button{width:auto;min-height:44px;padding:9px 14px}
.empty-state{text-align:center!important;color:var(--muted);padding:48px!important}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0}.page-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--panel)}.page-link.is-disabled{pointer-events:none;opacity:.4}
html[data-admin-theme="light"]{color-scheme:light}html[data-admin-theme="light"] .admin-body{--ink:#16182a;--muted:#62677e;--panel:#fff;--panel2:#f1f3f9;--line:#d8dce8;--shadow:0 18px 45px rgba(31,39,70,.1);background:#f4f6fb;color:var(--ink)}
html[data-admin-theme="light"] .admin-sidebar{background:#fff;border-color:#dfe3ed}html[data-admin-theme="light"] .admin-sidebar nav a{color:#202338}html[data-admin-theme="light"] .admin-sidebar nav a:hover{background:#f2f4fa;border-color:#d8ddea}html[data-admin-theme="light"] .admin-sidebar nav a.is-active{background:color-mix(in srgb,var(--purple) 10%,#fff);border-color:color-mix(in srgb,var(--purple) 35%,#d8ddea)}html[data-admin-theme="light"] .admin-sidebar nav a.is-active small{color:#4f5470}html[data-admin-theme="light"] .admin-account{border-color:#dfe3ed}html[data-admin-theme="light"] .admin-account button,html[data-admin-theme="light"] .theme-toggle{background:#f1f3f8;border-color:#d6dae7;color:#24273b}html[data-admin-theme="light"] .admin-main .card{background:#fff;border-color:#dfe3ed}html[data-admin-theme="light"] input,html[data-admin-theme="light"] select,html[data-admin-theme="light"] textarea{background:#fff;color:#181b2d;border-color:#cfd4e2}html[data-admin-theme="light"] .admin-table th{background:#f1f3f8;color:#626981}html[data-admin-theme="light"] .admin-table tr:hover td{background:#f8f9fc}html[data-admin-theme="light"] .metric-pill,html[data-admin-theme="light"] .status,html[data-admin-theme="light"] code{background:#eef1f7;border-color:#d6dbe8}html[data-admin-theme="light"] .page-link{background:#fff;color:#202338;border-color:#d8ddea}html[data-admin-theme="light"] .option-list li{color:#525870}html[data-admin-theme="light"] .option-list li.is-correct{color:#08784e}
@media(max-width:1250px){.admin-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-search{grid-column:span 2}}
@media(max-width:700px){.admin-filters{grid-template-columns:1fr 1fr;padding:14px}.filter-search{grid-column:1/-1}.filter-actions{grid-column:1/-1}.filter-actions>*{flex:1}.pagination{justify-content:space-between;gap:8px}.pagination span{font-size:.85rem;text-align:center}.admin-mobile-actions .theme-toggle span{font-size:0}.admin-mobile-actions .theme-toggle span:after{content:"Theme";font-size:.8rem}}

/* Light-mode question bank contrast and control polish. */
html[data-admin-theme="light"] .question-bank-table td{color:#1c2033;border-bottom-color:#d8ddea}
html[data-admin-theme="light"] .question-bank-table .question-cell>strong{color:#101326}
html[data-admin-theme="light"] .option-list li{background:#f2f4f9;border:1px solid #dce1ec;color:#454b64}
html[data-admin-theme="light"] .option-list li>span{color:#737991}
html[data-admin-theme="light"] .option-list li.is-correct{background:#e5f7ef;border-color:#a8dfc8;color:#096540}
html[data-admin-theme="light"] .option-list li.is-correct>span{color:#078554}
html[data-admin-theme="light"] .status--approved{background:#e3f7ee;color:#08734a;border:1px solid #b6e5d2}
html[data-admin-theme="light"] .status--draft{background:#fff5d9;color:#765500;border:1px solid #ead89f}
html[data-admin-theme="light"] .status--suspended{background:#fde8ec;color:#9c3042;border:1px solid #efbec7}
html[data-admin-theme="light"] .edit-link{background:var(--purple);color:#fff}
html[data-admin-theme="light"] .delete-button{background:#fff;color:#b4233a;border-color:#e99ca8}
html[data-admin-theme="light"] .audio-previews audio{color-scheme:light;filter:none}
html[data-admin-theme="light"] .admin-table .mini-button:not(.delete-button):not(.edit-link){color:#fff}
.admin-head .actions form{margin:0}.button--narration{background:linear-gradient(135deg,var(--pink),#d63d91)}.narration-progress{display:flex;align-items:center;gap:14px;border-color:color-mix(in srgb,var(--cyan) 45%,var(--line));margin-bottom:18px}.narration-progress div{flex:1}.narration-progress p{margin:2px 0 0;color:var(--muted)}.narration-progress .button{width:auto}.progress-spinner{width:26px;height:26px;flex:0 0 26px;border:3px solid color-mix(in srgb,var(--cyan) 25%,transparent);border-top-color:var(--cyan);border-radius:50%;animation:narrationSpin .8s linear infinite}@keyframes narrationSpin{to{transform:rotate(360deg)}}
html[data-admin-theme="light"] .narration-progress{background:#eef8fb;color:#172436;border-color:#b9dce5}
@media(max-width:700px){.narration-progress{align-items:flex-start;flex-wrap:wrap}.narration-progress div{min-width:calc(100% - 44px)}.narration-progress .button{margin-left:40px}}
@media(prefers-reduced-motion:reduce){.progress-spinner{animation:none}}
.voice-preview{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.voice-preview audio{width:min(420px,100%);height:38px}.voice-preview .hint{min-width:180px;flex:1}html[data-admin-theme="light"] .voice-preview{background:#f4f6fa;border-color:#d8ddea}@media(max-width:700px){.voice-preview{align-items:stretch;flex-direction:column}.voice-preview audio{width:100%}}
.shield-rail{display:flex;gap:8px;overflow:auto;margin:0 0 16px;padding:4px 1px}.shield-rail>span{white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-weight:750}.shield-rail small{color:var(--muted);font-weight:650}.shield-rail .is-shielded{border-color:#65c7ff;background:linear-gradient(135deg,rgba(56,217,242,.18),rgba(139,92,246,.2));box-shadow:0 0 18px rgba(56,217,242,.16)}.shield-rail .is-shielded small{color:var(--cyan)}.shield-bounce{max-width:820px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;text-align:left;border:1px solid var(--cyan);border-radius:16px;background:linear-gradient(135deg,rgba(56,217,242,.18),rgba(139,92,246,.22));box-shadow:0 0 28px rgba(56,217,242,.14)}.shield-bounce>span{font-size:2rem}.shield-bounce p{margin:2px 0 0;color:var(--muted)}
.player-chip.has-shield{border-color:var(--cyan);box-shadow:0 0 18px rgba(56,217,242,.18)}.player-chip small{color:var(--muted)}
.button--approve-all{background:linear-gradient(135deg,#16885a,#25b879)}
.invite-hint{text-align:center;margin:10px 0 0}.invite-actions{margin-top:14px}.share-invite{background:linear-gradient(135deg,var(--cyan),#168fbe);color:#07131c}.invite-actions>*{flex:1 1 180px}@media(max-width:700px){.invite-actions{display:grid;grid-template-columns:1fr 1fr}.invite-actions>*{width:100%;min-width:0}.invite-actions .share-invite{grid-column:1/-1}}
.player-game .play-tools{display:none}.topbar-how-to{position:fixed;z-index:30;right:max(14px,env(safe-area-inset-right));top:max(14px,calc(env(safe-area-inset-top) + 8px));width:auto;min-height:42px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--cyan) 65%,white);border-radius:999px;background:linear-gradient(135deg,var(--purple),#6745e8);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 18px color-mix(in srgb,var(--purple) 22%,transparent);font-size:.82rem}.topbar-how-to span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.16);font-weight:950}@media(max-width:700px){.topbar-how-to{right:max(10px,env(safe-area-inset-right));top:max(8px,calc(env(safe-area-inset-top) + 6px));min-height:38px;padding:6px 10px;font-size:.75rem}.home-page .topbar-how-to{top:max(10px,calc(env(safe-area-inset-top) + 8px))}}
.play-tools{display:flex;justify-content:flex-end;margin:-8px 0 10px}.how-to-button{width:auto;min-height:38px;padding:7px 13px;background:var(--panel);border:1px solid var(--line);font-size:.84rem}.how-to-dialog{width:min(680px,calc(100% - 24px));max-height:min(82vh,760px);padding:0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#232645,#151831);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.7);overflow:hidden}.how-to-dialog::backdrop{background:rgba(4,5,15,.78);backdrop-filter:blur(6px)}.how-to-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.how-to-head h2,.how-to-head p{margin:0}.dialog-close{width:42px;min-height:42px;padding:0;border-radius:50%;background:var(--panel2);font-size:1.65rem}.how-to-content{padding:20px 24px 26px;overflow:auto;max-height:calc(82vh - 82px)}.how-to-content h3{margin:1.35em 0 .25em;color:var(--cyan)}.how-to-content p{color:var(--muted)}.how-to-content li{margin:.4em 0}.how-to-rule{text-align:center;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--purple) 18%,var(--panel));color:var(--ink)!important}.site-footer{text-align:center;padding:18px 16px 24px;color:color-mix(in srgb,var(--muted) 72%,transparent);font-size:.72rem;letter-spacing:.025em}.admin-footer{margin-top:42px;padding-bottom:4px}.screen-footer{position:fixed;right:16px;bottom:8px;z-index:4;padding:0;color:rgba(255,255,255,.38)}html[data-admin-theme="light"] .site-footer{color:#858ba0}@media(max-width:700px){.play-tools{margin-top:-4px}.how-to-content{padding:17px 18px 24px}.how-to-dialog{max-height:88vh}.how-to-content{max-height:calc(88vh - 78px)}}

.player-game .play-tools{display:flex}.screen-view-button{width:auto;min-height:40px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--cyan) 48%,var(--line));background:linear-gradient(135deg,rgba(56,217,242,.17),rgba(139,92,246,.2));font-size:.86rem}.screen-view-button span{margin-right:5px;color:var(--cyan)}.screen-share-dialog{width:min(620px,calc(100% - 24px));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#232645,#151831);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.72);overflow:hidden}.screen-share-dialog::backdrop{background:rgba(4,5,15,.8);backdrop-filter:blur(6px)}.screen-share-content{padding:20px 24px 26px;overflow:auto;max-height:calc(90vh - 82px);text-align:center}.screen-share-content>p{color:var(--muted)}.screen-share-qr{width:220px;margin:16px auto}.screen-url-label{display:block;text-align:left;font-weight:800}.screen-url-label input{margin-top:7px;font-size:.82rem}.screen-share-actions{margin-top:16px}.screen-share-actions>*{flex:1 1 160px}.screen-share-content .hint{font-size:.82rem}@media(max-width:700px){.play-tools{justify-content:center}.screen-view-button{width:100%}.screen-share-content{padding:17px 16px 22px}.screen-share-actions{display:grid;grid-template-columns:1fr}.screen-share-actions>*{width:100%}}

/* Landing arena: the animation demonstrates the core bat-it-on mechanic. */
.home-page .shell{width:min(100% - 24px,980px);padding-top:clamp(12px,3vh,30px)}.arena-hero{max-width:940px;margin:0 auto;padding:clamp(25px,4vw,48px) clamp(18px,5vw,58px) 30px;background:radial-gradient(circle at 50% 32%,rgba(98,38,171,.32),transparent 35%),linear-gradient(165deg,rgba(34,38,75,.98),rgba(13,15,35,.99));border-color:rgba(192,18,253,.48);box-shadow:0 32px 100px rgba(0,0,0,.62),0 0 85px rgba(192,18,253,.18),inset 0 1px 0 rgba(255,255,255,.08)}.arena-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:0;pointer-events:none;background:linear-gradient(rgba(192,18,253,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(56,217,242,.06) 1px,transparent 1px);background-size:30px 30px;transform:perspective(380px) rotateX(62deg) scale(1.45);transform-origin:bottom;mask-image:linear-gradient(to top,black,transparent)}.arena-hero>*:not(.arena-atmosphere){position:relative;z-index:3}.arena-atmosphere{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.arena-atmosphere i{position:absolute;width:260px;height:5px;border-radius:50%;background:linear-gradient(90deg,transparent,#c012fd,transparent);filter:blur(1px);opacity:.34;animation:arenaStreak 5s linear infinite}.arena-atmosphere i:nth-child(1){left:-30%;top:27%;rotate:-11deg}.arena-atmosphere i:nth-child(2){right:-28%;top:45%;rotate:13deg;animation-delay:-2.4s;background:linear-gradient(90deg,transparent,#38d9f2,transparent)}.arena-atmosphere i:nth-child(3){left:-24%;bottom:24%;rotate:7deg;animation-delay:-3.6s}.arena-atmosphere span{position:absolute;color:rgba(192,18,253,.13);font-size:10rem;font-weight:950;font-style:italic;filter:blur(.5px);animation:arenaGlyph 7s ease-in-out infinite}.arena-atmosphere span:nth-of-type(1){left:-15px;top:25%}.arena-atmosphere span:nth-of-type(2){right:-10px;top:9%;animation-delay:-3s;color:rgba(56,217,242,.1)}.arena-hero .landing-logo{width:min(350px,78%);min-height:62px;margin-bottom:10px}.arena-hero .landing-logo img{max-height:105px}.arena-kicker{margin:4px 0}.arena-hero .landing-title{font-size:clamp(3rem,8vw,5.7rem);margin:.06em 0 .28em}.arena-proposition{margin:0 auto 22px!important;color:#d3d5e5!important;font-size:clamp(1rem,2.1vw,1.3rem)!important;line-height:1.45}.arena-proposition strong{color:#fff;font-size:1.12em}.bat-flight{position:relative;width:min(720px,100%);height:190px;margin:6px auto 22px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(192,18,253,.15),transparent 55%),rgba(8,10,27,.55);box-shadow:inset 0 0 35px rgba(0,0,0,.35);overflow:hidden}.arena-player{position:absolute;top:30px;width:74px;display:grid;justify-items:center;gap:2px;z-index:3}.arena-player>span{display:grid;place-items:center;width:58px;height:58px;border:2px solid #38d9f2;border-radius:50%;background:linear-gradient(145deg,#303867,#161a37);color:#fff;font-size:1.4rem;font-weight:950;box-shadow:0 0 22px rgba(56,217,242,.28)}.arena-player small{font-weight:850;color:#fff}.arena-player b{font-size:.7rem;color:#ff5fa2;letter-spacing:-.08em}.arena-player em{position:absolute;right:-2px;top:-10px;z-index:4;font-style:normal;filter:drop-shadow(0 0 8px #38d9f2);animation:shieldFlash 6s infinite}.arena-player--one{left:6%}.arena-player--two{left:calc(50% - 37px)}.arena-player--three{right:6%}.arena-player--two>span{border-color:#c012fd;box-shadow:0 0 25px rgba(192,18,253,.35)}.arena-player--three>span{border-color:#ffd166}.flight-path{position:absolute;top:49px;height:50px;border-top:2px dashed rgba(192,18,253,.45);border-radius:50%;z-index:1}.flight-path--one{left:15%;width:35%;rotate:-5deg}.flight-path--two{right:15%;width:35%;rotate:5deg;border-color:rgba(56,217,242,.35)}.flying-question{position:absolute;z-index:5;left:13%;top:39px;width:48px;height:48px;display:grid;place-items:center;border:2px solid #f09aff;border-radius:16px 16px 16px 5px;background:linear-gradient(145deg,#c012fd,#5a0da6);box-shadow:0 0 28px rgba(192,18,253,.75),-14px 3px 18px rgba(192,18,253,.26);animation:batQuestion 6s cubic-bezier(.45,.03,.55,.97) infinite}.flying-question span{color:#fff;font-size:1.8rem;font-weight:950;line-height:1}.flying-question i{position:absolute;left:-31px;width:27px;height:3px;background:linear-gradient(90deg,transparent,#c012fd)}.flight-caption{position:absolute;left:5%;right:5%;bottom:18px;display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,28px);font-size:clamp(.62rem,1.8vw,.82rem);font-weight:900;letter-spacing:.12em;color:#afb3cb}.flight-caption strong{color:#e26cff}.flight-caption i{color:#38d9f2;font-size:1.4rem}.arena-actions{display:flex;justify-content:center;align-items:stretch;gap:12px;flex-wrap:wrap}.arena-primary{min-width:min(100%,310px);display:grid;gap:0;padding:13px 28px;background:linear-gradient(135deg,#c012fd,#7049f6);box-shadow:0 0 0 1px rgba(255,255,255,.13),0 12px 32px rgba(192,18,253,.38);animation:ctaPulse 2.8s ease-in-out infinite}.arena-primary span{font-size:1.06rem}.arena-primary small{font-size:.69rem;font-weight:650;opacity:.82}.arena-how{width:auto;background:#202441;border:1px solid #434a70;padding-inline:22px}.arena-join{margin:18px auto 0;max-width:520px}.arena-join label{text-align:center;font-size:.85rem;color:#c7cadb}.arena-join>div{grid-template-columns:1fr 145px}.feature-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px auto 12px}.feature-badges span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(21,24,49,.8);font-size:.76rem;font-weight:750;color:#d4d6e5}.feature-badges b{color:#c74aff;font-size:1rem}.trust-strip{display:flex;justify-content:center;gap:10px 25px;flex-wrap:wrap;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);color:#858ba8;font-size:.72rem;font-weight:750}.trust-strip span:before{content:"✓";margin-right:5px;color:#43e29b}@keyframes batQuestion{0%,8%{left:13%;top:39px;transform:rotate(-8deg) scale(.9)}38%,48%{left:calc(50% - 24px);top:25px;transform:rotate(8deg) scale(1.08)}54%{left:calc(50% - 24px);top:25px;transform:rotate(-15deg) scale(1.16)}82%,94%{left:79%;top:42px;transform:rotate(8deg) scale(.92)}100%{left:13%;top:39px;opacity:.2}}@keyframes shieldFlash{0%,35%,65%,100%{transform:scale(1)}45%,55%{transform:scale(1.35);filter:drop-shadow(0 0 17px #38d9f2)}}@keyframes arenaStreak{0%{translate:-80px 0;opacity:0}30%,65%{opacity:.35}100%{translate:900px 0;opacity:0}}@keyframes arenaGlyph{50%{translate:0 -15px;rotate:5deg}}@keyframes ctaPulse{50%{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 14px 42px rgba(192,18,253,.55);transform:translateY(-2px)}}
@media(max-width:700px){.arena-hero{padding:22px 13px 24px}.arena-hero .landing-logo{width:min(285px,80%);margin-bottom:7px}.arena-hero .landing-title{font-size:clamp(2.8rem,14vw,4.25rem)}.arena-proposition br{display:none}.bat-flight{height:175px;border-radius:18px}.arena-player{top:25px;width:58px}.arena-player>span{width:48px;height:48px;font-size:1.1rem}.arena-player--one{left:3%}.arena-player--two{left:calc(50% - 29px)}.arena-player--three{right:3%}.arena-player b{font-size:.57rem}.flying-question{width:40px;height:40px}.flight-caption{bottom:14px;gap:6px;letter-spacing:.04em}.flight-caption i{font-size:1rem}.arena-actions{display:grid}.arena-actions>*{width:100%}.arena-join>div{grid-template-columns:1fr 112px}.feature-badges{grid-template-columns:1fr 1fr}.feature-badges span{font-size:.7rem}.trust-strip{gap:6px 13px}.arena-atmosphere span{font-size:7rem}}@media(prefers-reduced-motion:reduce){.flying-question,.arena-player em,.arena-atmosphere i,.arena-atmosphere span,.arena-primary{animation:none!important}}

.winner-celebration{position:relative;isolation:isolate;overflow:hidden;min-height:320px;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 50% 43%,rgba(255,209,102,.27),transparent 30%),linear-gradient(155deg,rgba(69,25,115,.98),rgba(18,20,45,.99));border-color:#ffd166!important;box-shadow:0 0 0 1px rgba(255,255,255,.09),0 25px 75px rgba(0,0,0,.5),0 0 55px rgba(255,209,102,.22)!important}.winner-celebration>*:not(.confetti-field):not(.winner-rays){position:relative;z-index:4}.winner-celebration h1,.winner-celebration h2{margin:.08em 0;text-shadow:0 3px 0 #7b4510,0 7px 18px rgba(0,0,0,.55)}.winner-trophy{font-size:clamp(4.5rem,12vw,8rem);line-height:1;filter:drop-shadow(0 0 20px rgba(255,209,102,.7));animation:winnerTrophy 1.15s cubic-bezier(.2,.9,.2,1) both,winnerFloat 2.8s 1.15s ease-in-out infinite}.winner-rays{position:absolute;z-index:0;width:520px;height:520px;left:50%;top:45%;translate:-50% -50%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,209,102,.13) 0 8deg,transparent 8deg 18deg);animation:winnerRays 18s linear infinite;mask-image:radial-gradient(circle,black,transparent 69%)}.confetti-field{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.confetti-field i{position:absolute;left:var(--x);top:-20px;width:9px;height:16px;border-radius:2px;background:var(--confetti);box-shadow:0 0 7px color-mix(in srgb,var(--confetti) 65%,transparent);animation:confettiFall var(--duration) var(--delay) linear infinite}.confetti-field i.is-round{width:10px;height:10px;border-radius:50%}.screen-winner{min-height:min(70vh,650px);border:1px solid #ffd166;border-radius:32px;padding:5vw}.screen-winner h2{font-size:clamp(3.5rem,8vw,7rem)}@keyframes confettiFall{0%{translate:0 -30px;rotate:0;opacity:0}8%{opacity:1}100%{translate:var(--drift) calc(100vh + 50px);rotate:var(--spin);opacity:.85}}@keyframes winnerTrophy{from{opacity:0;scale:.25;rotate:-18deg}65%{scale:1.18;rotate:7deg}to{opacity:1;scale:1;rotate:0}}@keyframes winnerFloat{50%{translate:0 -8px;scale:1.04}}@keyframes winnerRays{to{rotate:360deg}}@media(max-width:700px){.winner-celebration{min-height:290px}.winner-rays{width:400px;height:400px}.confetti-field i:nth-child(3n){display:none}}@media(prefers-reduced-motion:reduce){.confetti-field i,.winner-trophy,.winner-rays{animation:none!important}.confetti-field{display:none}}

.venue-video-background{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 50% 30%,#25124d,#080a18 70%);pointer-events:none}.venue-video-background video{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.15) contrast(1.08)}.venue-video-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(8,10,24,.38),rgba(5,7,18,.72) 76%),linear-gradient(180deg,rgba(5,7,18,.48),rgba(5,7,18,.68))}.screen{background:#080a18}.screen .screen-game{position:relative;z-index:1;padding:clamp(22px,3vw,44px);border:1px solid rgba(255,255,255,.12);border-radius:clamp(22px,3vw,38px);background:rgba(10,12,30,.62);box-shadow:0 24px 80px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(7px)}.screen .screen-question{text-shadow:0 3px 16px rgba(0,0,0,.9)}@media(prefers-reduced-motion:reduce){.venue-video-background video{display:none}}

.mobile-game-rail,.mobile-game-dock,.mobile-sheet{display:none}.game-stage-focus{animation:stageFocus 1.5s ease-out}@keyframes stageFocus{0%{box-shadow:0 0 0 0 rgba(56,217,242,.9),0 18px 42px rgba(0,0,0,.42)}45%{box-shadow:0 0 0 7px rgba(56,217,242,.22),0 0 45px rgba(192,18,253,.48)}100%{box-shadow:0 0 0 0 transparent,0 18px 42px rgba(0,0,0,.42)}}
@media(max-width:700px){.player-game .shell{padding:6px 10px calc(82px + env(safe-area-inset-bottom));overflow:visible}.player-game .topbar{height:54px}.player-game .topbar .brand img{max-height:46px;max-width:174px}.player-game .topbar-how-to{display:none}.player-game .game-head{position:sticky;top:54px;z-index:7;min-height:48px;margin:0 -10px;padding:5px 10px;background:rgba(10,12,29,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(13px)}.player-game .game-identity{display:flex;align-items:center;gap:7px;min-width:0;max-width:58%}.player-game .game-identity .eyebrow{margin:0!important;font-size:.55rem!important;white-space:nowrap}.player-game .game-identity h1{margin:0;font-size:.85rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-game .player-hud{display:flex;align-items:center;gap:7px;max-width:42%;padding:4px 6px;border-radius:10px}.player-game .hud-label{max-width:64px;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-game .my-lives{font-size:.9rem}.player-game .life-count{font-size:1rem}.player-game .narration-toggle{width:34px;min-width:34px;min-height:34px;height:34px;padding:0;border-radius:50%}.player-game .narration-toggle [data-narration-label]{display:none}.mobile-game-rail{position:sticky;top:102px;z-index:6;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin:0 -10px 8px;padding:6px 11px;background:linear-gradient(90deg,rgba(192,18,253,.92),rgba(79,53,182,.94));box-shadow:0 7px 18px rgba(0,0,0,.28);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em}.mobile-game-rail span{opacity:.72}.mobile-game-rail b{text-align:right;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-game .play-tools,.player-game .shield-rail,.player-game .players-zone,.player-game>.organiser,.player-game .shell>.organiser{display:none!important}.player-game .bonus-life-banner,.player-game .shield-bounce{margin:5px 0 8px}.player-game .turn{scroll-margin-top:158px;padding:13px 11px 15px;min-height:calc(100svh - 210px);display:flex;flex-direction:column;justify-content:flex-start}.player-game .turn-banner{flex:0 0 auto;margin:-3px -1px 9px;padding:8px 10px;min-height:38px}.player-game .turn-banner strong{padding-right:54px}.player-game .question-text{margin:8px auto 10px!important;font-size:clamp(1.18rem,5.7vw,1.65rem)!important;line-height:1.14}.player-game .timer-wrap{position:absolute;right:12px;top:8px;margin:0;z-index:3}.player-game .timer-wrap .timer{width:48px;height:48px;border-width:3px;font-size:1.1rem}.player-game .timer-wrap>span{display:none}.player-game .answers{gap:8px;margin-top:4px}.player-game .answers button{min-height:54px;padding:9px 10px;border-radius:13px}.player-game .targets{gap:8px}.player-game .targets button{min-height:52px}.mobile-game-dock{position:fixed;z-index:25;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(13,15,34,.94);box-shadow:0 12px 38px rgba(0,0,0,.58);backdrop-filter:blur(14px)}.mobile-game-dock button{display:grid;justify-items:center;gap:1px;width:100%;min-height:48px;padding:5px;background:transparent;border-radius:13px;color:#c8cada;font-size:.65rem}.mobile-game-dock button span{color:var(--cyan);font-size:.9rem}.mobile-game-dock button:active{background:rgba(139,92,246,.22)}.mobile-sheet{display:none;position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:78vh;margin:0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));border:1px solid #3b4163;border-bottom:0;border-radius:24px 24px 0 0;background:linear-gradient(165deg,#252946,#12152d);color:var(--ink);box-shadow:0 -20px 60px rgba(0,0,0,.58);overflow:auto}.mobile-sheet[open]{display:block;animation:sheetUp .25s ease-out}.mobile-sheet::backdrop{background:rgba(3,4,12,.66);backdrop-filter:blur(3px)}.mobile-sheet__handle{width:46px;height:4px;margin:0 auto 9px;border-radius:99px;background:#646a88}.mobile-sheet__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.mobile-sheet__head h2,.mobile-sheet__head p{margin:0}.mobile-sheet__head button{width:38px;min-height:38px;padding:0;border-radius:50%;background:#303553}.mobile-player-list{display:grid;gap:7px;padding-top:12px}.mobile-player-list>div{display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#171a32}.mobile-player-list>div.is-me{border-color:var(--cyan)}.mobile-player-list small{grid-column:1/-1;color:var(--muted)}.mobile-player-list span{color:var(--pink);font-weight:800}.mobile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0}.mobile-info-grid>div{display:grid;padding:10px;border-radius:12px;background:#171a32}.mobile-info-grid small{color:var(--muted)}.screen-share-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:88vh;margin:0;border-radius:24px 24px 0 0}.screen-share-dialog[open]{animation:sheetUp .25s ease-out}@keyframes sheetUp{from{translate:0 100%}to{translate:0 0}}}@media(prefers-reduced-motion:reduce){.game-stage-focus,.mobile-sheet[open],.screen-share-dialog[open]{animation:none!important}}

/* Fade out at Jamie and reset invisibly, avoiding a visible backwards flight. */
@keyframes batQuestion{0%{left:13%;top:39px;transform:rotate(-8deg) scale(.9);opacity:0}3%,8%{left:13%;top:39px;transform:rotate(-8deg) scale(.9);opacity:1}38%,48%{left:calc(50% - 24px);top:25px;transform:rotate(8deg) scale(1.08);opacity:1}54%{left:calc(50% - 24px);top:25px;transform:rotate(-15deg) scale(1.16);opacity:1}82%,91%{left:79%;top:42px;transform:rotate(8deg) scale(.92);opacity:1}95%{left:79%;top:42px;transform:rotate(8deg) scale(.92);opacity:0}96%,100%{left:13%;top:39px;transform:rotate(-8deg) scale(.9);opacity:0}}

/* Persistent mobile navigation for public pages. */
.mobile-site-nav{display:none}.empty-state-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.empty-state-actions .button{width:auto}
@media(max-width:700px){body:not(.player-game) .shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}body:not(.player-game) .site-footer,body:not(.player-game) .footer-nav{margin-bottom:70px}.mobile-site-nav{position:fixed;z-index:35;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:5px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(13,15,34,.96);box-shadow:0 12px 38px rgba(0,0,0,.58);backdrop-filter:blur(14px)}.mobile-site-nav a{display:grid;justify-items:center;gap:2px;min-width:0;padding:6px 2px;border-radius:12px;color:#b9bdd3;font-size:.66rem;font-weight:800;text-decoration:none}.mobile-site-nav a span{color:var(--cyan);font-size:1.05rem;line-height:1}.mobile-site-nav a.is-active{background:linear-gradient(135deg,rgba(192,18,253,.42),rgba(103,69,232,.42));color:#fff}.mobile-site-nav a.is-active span{color:#fff}.player-game .mobile-site-nav{display:none}.leaderboard-page .topbar-how-to,.profile-page .topbar-how-to{display:none}.leaderboard-page .period-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.leaderboard-page .period-tabs a{min-width:0;padding:10px 5px;text-align:center;font-size:.78rem}.leaderboard-empty{padding:30px 14px!important}.leaderboard-empty .empty-state-actions{display:grid}.leaderboard-empty .button{width:100%}}
@media(max-width:700px){body:not(.player-game) .footer-nav{display:none;margin:0}body:not(.player-game) .site-footer{margin-bottom:70px}body:not(.player-game) .pwa-install,body:not(.player-game) .pwa-status{bottom:calc(82px + env(safe-area-inset-bottom))}}

/* Keep the landing proposition as two deliberate, readable lines on mobile. */
@media(max-width:700px){.home-page .arena-proposition{margin:5px auto 24px!important;line-height:1.4!important}.home-page .arena-proposition br{display:block}.home-page .arena-proposition strong{display:inline-block;margin-top:4px;line-height:1.25}}
@media(max-width:700px){.home-page .arena-proposition>span{display:block}.home-page .arena-proposition>span+span{margin-top:1px}.home-page .arena-proposition br{display:none}.home-page .arena-proposition strong{display:block;margin-top:4px}}

/* Finished-game rematch and next-challenge controls. */
.rematch-card{max-width:900px;margin:18px auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px}.rematch-card h2,.rematch-card p{margin:.15em 0}.rematch-card>div:first-child{max-width:560px}.rematch-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.rematch-actions form{margin:0}.rematch-actions .button,.rematch-actions button{width:auto}.screen-rematch{display:flex;align-items:center;justify-content:center;gap:30px;width:min(760px,100%);margin:22px auto;padding:18px 28px;border:1px solid rgba(56,217,242,.35);border-radius:20px;background:rgba(12,15,39,.8)}.screen-rematch h3{margin:.1em 0;font-size:2rem}.screen-rematch p{margin:.2em}.screen-rematch .qr{width:150px;min-height:120px;margin:0}.screen-rematch-waiting{margin:24px auto;color:#c7cadb;font-size:1.15rem}@media(max-width:700px){.rematch-card{align-items:stretch;flex-direction:column;padding:20px 16px}.rematch-actions{display:grid;justify-content:stretch}.rematch-actions form,.rematch-actions .button,.rematch-actions button{width:100%}.screen-rematch{flex-direction:column}.screen-rematch .qr{width:130px}}

/* Colour-coded landing actions make the next step immediately recognisable. */
.home-page .arena-join-button{border:1px solid #70efff;background:linear-gradient(135deg,#12bcd4,#087aa9);color:#fff;box-shadow:0 8px 24px rgba(18,188,212,.3),inset 0 1px 0 rgba(255,255,255,.3);text-shadow:0 1px 2px rgba(0,0,0,.35)}.home-page .arena-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px;margin:18px auto 0}.home-page .arena-secondary-actions .button{position:relative;min-height:54px;border-width:1px;border-style:solid;box-shadow:0 9px 25px rgba(0,0,0,.3);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.home-page .arena-secondary-actions .button span{font-size:1.05rem}.home-page .arena-leaderboard-button{border-color:#ffe29a;background:linear-gradient(135deg,#e8a928,#b5690d);color:#fff;text-shadow:0 1px 2px rgba(74,36,0,.6)}.home-page .arena-profile-button{border-color:#f58aff;background:linear-gradient(135deg,#c012fd,#7546e8);color:#fff;text-shadow:0 1px 2px rgba(46,0,72,.6)}.home-page .arena-join-button:hover,.home-page .arena-secondary-actions .button:hover{transform:translateY(-2px);filter:brightness(1.1)}.home-page .arena-join-button:active,.home-page .arena-secondary-actions .button:active{transform:translateY(1px);filter:brightness(.96)}.home-page .arena-leaderboard-button:hover{box-shadow:0 12px 30px rgba(232,169,40,.34)}.home-page .arena-profile-button:hover{box-shadow:0 12px 30px rgba(192,18,253,.35)}@media(max-width:700px){.home-page .arena-secondary-actions{grid-template-columns:1fr;gap:10px;width:100%}.home-page .arena-join-button{min-width:112px;padding-inline:10px}.home-page .arena-secondary-actions .button{min-height:58px;font-size:1rem}}

/* Clear return actions on secondary player pages. */
.page-return-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.profile-page-return{display:flex;justify-content:flex-end;max-width:900px;margin:22px auto -16px}.button--home-return{width:auto;border:1px solid var(--cyan);background:linear-gradient(135deg,rgba(56,217,242,.2),rgba(117,70,232,.28));color:#fff;box-shadow:0 7px 20px rgba(56,217,242,.12)}@media(max-width:700px){.page-return-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.page-return-actions .button{width:100%;padding-inline:8px}.profile-page-return{justify-content:stretch;margin:12px 0 -16px}.profile-page-return .button{width:100%}}

/* Keep the How to header visible while allowing Chrome to scroll every rule into view. */
.how-to-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);height:min(760px,calc(100vh - 48px));height:min(760px,calc(100dvh - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}.how-to-head{flex:none}.how-to-content{min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}@media(max-width:700px){.how-to-dialog[open]{height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}

/* Prominent but compact advanced setup control. */
.game-options{border:1px solid color-mix(in srgb,var(--cyan) 52%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 9%,var(--panel)),color-mix(in srgb,var(--purple) 16%,var(--panel)));box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);overflow:hidden}.game-options>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:70px;padding:12px 16px;list-style:none;color:var(--ink);transition:background .2s,border-color .2s}.game-options>summary::-webkit-details-marker{display:none}.game-options>summary:hover{background:color-mix(in srgb,var(--cyan) 8%,transparent)}.game-options>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--cyan) 72%,white);outline-offset:-3px}.game-options__icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid color-mix(in srgb,var(--cyan) 65%,white);border-radius:13px;background:linear-gradient(135deg,var(--cyan),#6078ff);color:#07101f;font-size:1.35rem;box-shadow:0 0 20px color-mix(in srgb,var(--cyan) 26%,transparent)}.game-options__label{display:grid;gap:2px}.game-options__label strong{font-size:1.05rem}.game-options__label small{color:var(--muted);font-size:.8rem;font-weight:650}.game-options__toggle{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);position:relative}.game-options__toggle:before,.game-options__toggle:after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;border-radius:2px;background:var(--cyan);transition:transform .22s}.game-options__toggle:after{transform:rotate(90deg)}.game-options[open] .game-options__toggle:after{transform:rotate(0)}.game-options[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--purple) 9%,transparent)}.game-options .option-grid{padding:18px 16px 10px}.game-options>.hint{margin:0;padding:4px 16px 18px}@media(max-width:520px){.game-options>summary{gap:10px;padding:10px 12px}.game-options__icon{width:39px;height:39px}.game-options__label small{line-height:1.3}.game-options .option-grid{padding-inline:12px}.game-options>.hint{padding-inline:12px}}

/* Condensed leaderboard rows keep player identity visible without sideways scrolling. */
.leaderboard-table-wrap{overflow-x:hidden}.leaderboard-table{width:100%;min-width:680px}.leaderboard-table th,.leaderboard-table td{padding-inline:12px}@media(max-width:700px){.leaderboard-table-wrap{padding:10px 12px}.leaderboard-table{display:block;min-width:0}.leaderboard-table thead,.leaderboard-table tbody{display:block}.leaderboard-table tr{display:grid;grid-template-columns:38px minmax(92px,1fr) 58px 64px 60px;align-items:center}.leaderboard-table th,.leaderboard-table td{min-width:0;padding:10px 5px;border-bottom:1px solid var(--line);font-size:.78rem}.leaderboard-table th{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.035em}.leaderboard-table th:nth-child(5),.leaderboard-table td:nth-child(5),.leaderboard-table th:nth-child(7),.leaderboard-table td:nth-child(7),.leaderboard-table th:nth-child(8),.leaderboard-table td:nth-child(8){display:none}.leaderboard-table td:nth-child(1) strong{color:var(--cyan);font-size:.95rem}.leaderboard-table td:nth-child(2){overflow:hidden}.leaderboard-table td:nth-child(2) strong,.leaderboard-table td:nth-child(2) small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-table td:nth-child(2) small{font-size:.65rem}.leaderboard-table td:nth-child(n+3){text-align:center;font-variant-numeric:tabular-nums}.leaderboard-table .metric-pill{padding:5px 7px}.leaderboard-note{margin-inline:8px;font-size:.78rem;line-height:1.5}}

/* Explicit leaderboard identity cell avoids native-table column collapse. */
.leaderboard-player{display:flex;align-items:center;gap:10px;min-width:170px}.leaderboard-player>span{display:grid;min-width:0}.leaderboard-player b,.leaderboard-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-rank{display:grid;place-items:center;flex:0 0 38px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--cyan) 12%,var(--panel));color:var(--cyan)}@media(max-width:700px){.leaderboard-table tr{grid-template-columns:minmax(125px,1fr) 56px 62px 58px}.leaderboard-table th:nth-child(5),.leaderboard-table td:nth-child(5){display:block}.leaderboard-table .leaderboard-secondary{display:none!important}.leaderboard-table th:first-child{text-align:left}.leaderboard-player{min-width:0;gap:7px}.leaderboard-rank{flex-basis:32px;height:30px;font-size:.82rem}.leaderboard-player b{font-size:.78rem}.leaderboard-player small{font-size:.62rem}.leaderboard-table td:nth-child(n+2){text-align:center;font-variant-numeric:tabular-nums}}

/* Mobile rankings use native cards instead of browser-dependent table reflow. */
.leaderboard-mobile{display:none}@media(max-width:700px){.leaderboard-table{display:none}.leaderboard-mobile{display:grid}.leaderboard-mobile__head,.leaderboard-mobile__row{display:grid;grid-template-columns:minmax(130px,1fr) 54px 62px 58px;gap:6px;align-items:center}.leaderboard-mobile__head{padding:7px 5px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.025em}.leaderboard-mobile__head span:not(:first-child){text-align:center}.leaderboard-mobile__row{padding:11px 5px;border-bottom:1px solid var(--line)}.leaderboard-mobile__row:last-child{border-bottom:0}.leaderboard-mobile__player{display:flex;align-items:center;gap:7px;min-width:0}.leaderboard-mobile__player>strong{display:grid;place-items:center;flex:0 0 32px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--cyan) 13%,var(--panel));color:var(--cyan)}.leaderboard-mobile__player>span{display:grid;min-width:0}.leaderboard-mobile__player b,.leaderboard-mobile__player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-mobile__player b{font-size:.78rem}.leaderboard-mobile__player small{color:var(--muted);font-size:.62rem}.leaderboard-mobile__row>div:not(:first-child){display:grid;justify-items:center;font-variant-numeric:tabular-nums}.leaderboard-mobile__row>div:not(:first-child) b{font-size:.76rem}.leaderboard-mobile__row>div:not(:first-child) small{display:none}}

/* Question-bank coverage summary and genre filter shortcuts. */
.genre-counts{margin:0 0 18px;padding:18px}.genre-counts__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px}.genre-counts__head h2,.genre-counts__head p{margin:0}.genre-counts__head>strong{color:var(--cyan);font-size:1.05rem}.genre-counts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.genre-count{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--ink);font-size:.76rem;font-weight:750;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.genre-count span{min-width:0;line-height:1.2}.genre-count strong{display:grid;place-items:center;min-width:30px;height:25px;padding:0 6px;border-radius:8px;background:rgba(255,255,255,.07);color:var(--cyan);font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}.genre-count:hover{transform:translateY(-1px);border-color:var(--cyan)}.genre-count.is-active{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,var(--panel));box-shadow:inset 3px 0 var(--cyan)}@media(max-width:700px){.genre-counts{padding:14px}.genre-counts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-counts__head{align-items:center}.genre-count{padding:8px;font-size:.7rem}}

/* Desktop and mobile already provide primary navigation; suppress the redundant legacy footer links. */
.footer-nav{display:none!important}

/* Compact numbered pagination for growing administration datasets. */
.game-pagination{flex-wrap:wrap}.pagination-pages{display:flex;align-items:center;gap:5px}.pagination-pages i{color:var(--muted);font-style:normal}.page-number{display:grid;place-items:center;min-width:38px;height:38px;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-weight:800;text-decoration:none}.page-number.is-current{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 15%,var(--panel));color:var(--cyan)}.pagination-summary{color:var(--muted)}@media(max-width:700px){.game-pagination{justify-content:center}.pagination-summary{order:3;width:100%}.pagination-pages{order:2}.game-pagination>.page-link:last-child{order:2}}

/* Keep platform rankings reachable while the full player navigation is hidden in-game. */
@media(max-width:700px){.mobile-game-dock{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-game-dock button,.mobile-game-dock a{display:grid;justify-items:center;align-content:center;gap:1px;width:100%;min-width:0;min-height:48px;padding:5px;border:0;border-radius:13px;background:transparent;color:#c8cada;font-size:.62rem;font-weight:800;line-height:1.1;text-align:center;text-decoration:none}.mobile-game-dock button span,.mobile-game-dock a span{color:var(--cyan);font-size:.9rem}.mobile-game-dock button:active,.mobile-game-dock a:active{background:rgba(139,92,246,.22)}.mobile-game-dock a{background:rgba(192,18,253,.14)}}

.lobby-start-card{scroll-margin:90px}.lobby-ready-message{display:block;margin:0 0 9px;color:var(--muted);font-size:.82rem}.start-game-attention{position:relative;z-index:1;animation:startGameAttention 1.05s ease-in-out 4;background:linear-gradient(135deg,#16c79a,#16a4d8)!important;box-shadow:0 0 0 0 rgba(56,217,242,.7),0 12px 28px rgba(22,199,154,.34)!important}@keyframes startGameAttention{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(56,217,242,.65),0 12px 28px rgba(22,199,154,.3)}50%{transform:scale(1.035);box-shadow:0 0 0 13px rgba(56,217,242,0),0 16px 36px rgba(22,199,154,.48)}}@media(max-width:700px){.lobby-start-card{scroll-margin:118px}.lobby-start-card form{position:sticky;bottom:72px;padding:10px;border:1px solid rgba(56,217,242,.28);border-radius:15px;background:rgba(13,15,34,.94);box-shadow:0 12px 32px rgba(0,0,0,.38);backdrop-filter:blur(12px)}}@media(prefers-reduced-motion:reduce){.start-game-attention{animation:none!important;outline:4px solid var(--cyan);outline-offset:4px}}

/* Shields stay private until a bounce becomes a shared game event. */
.shield-earned-impact.is-showing,.shield-impact.is-showing{pointer-events:auto}.shield-earned-impact.is-leaving,.shield-impact.is-leaving{pointer-events:none!important}.shield-earned-impact[hidden],.shield-impact[hidden]{display:none!important;pointer-events:none!important}
.private-shield-status{display:flex;align-items:center;gap:11px;max-width:820px;margin:0 auto 12px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(18,21,45,.82);color:var(--muted)}.private-shield-status>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#202541;color:#7c829f;font-size:1.15rem}.private-shield-status>div{display:grid}.private-shield-status strong{color:var(--ink);font-size:.84rem}.private-shield-status small{color:var(--muted)}.private-shield-status.is-active{border-color:#55dff5;background:linear-gradient(135deg,rgba(56,217,242,.16),rgba(139,92,246,.2));box-shadow:0 0 24px rgba(56,217,242,.17)}.private-shield-status.is-active>span{background:rgba(56,217,242,.2);filter:drop-shadow(0 0 8px #38d9f2);animation:privateShieldPulse 1.8s ease-in-out infinite}.private-shield-badge{display:grid;place-items:center;width:28px;height:28px;border:1px solid #5ce0f4;border-radius:50%;background:rgba(56,217,242,.18);filter:drop-shadow(0 0 7px #38d9f2);animation:privateShieldPulse 1.8s ease-in-out infinite}.shield-earned-impact,.shield-impact{position:fixed;z-index:1500;inset:0;display:grid;place-content:center;justify-items:center;padding:28px;text-align:center;background:radial-gradient(circle at center,rgba(56,217,242,.26),rgba(7,9,26,.97) 55%);opacity:0;pointer-events:none}.shield-earned-impact.is-showing,.shield-impact.is-showing{animation:shieldOverlayIn .35s ease-out forwards}.shield-earned-impact.is-leaving,.shield-impact.is-leaving{animation:shieldOverlayOut .4s ease-in forwards}.shield-earned-impact h2,.shield-impact h2{margin:.12em 0;font-size:clamp(2.4rem,9vw,5.8rem);text-transform:uppercase;text-shadow:0 0 30px rgba(56,217,242,.7)}.shield-earned-impact>p:last-child,.shield-impact>p:last-child{max-width:680px;margin:.35em auto;color:#e5e8f8;font-size:clamp(1.05rem,3vw,1.65rem)}.shield-earned-icon,.shield-impact-flash{font-size:clamp(5rem,18vw,11rem);filter:drop-shadow(0 0 35px #38d9f2);animation:shieldImpactHit .75s cubic-bezier(.2,.9,.25,1) both}.shield-impact:after{content:"";position:absolute;inset:8%;border:4px solid rgba(56,217,242,.65);border-radius:50%;animation:shieldShockwave 1.1s ease-out infinite}.screen-shield-impact h2{font-size:clamp(3rem,8vw,7rem)}@keyframes privateShieldPulse{50%{transform:scale(1.12);filter:drop-shadow(0 0 14px #38d9f2)}}@keyframes shieldOverlayIn{to{opacity:1}}@keyframes shieldOverlayOut{from{opacity:1}to{opacity:0}}@keyframes shieldImpactHit{0%{transform:scale(.2) rotate(-18deg);opacity:0}55%{transform:scale(1.22) rotate(6deg)}100%{transform:scale(1)}}@keyframes shieldShockwave{from{transform:scale(.4);opacity:.9}to{transform:scale(1.15);opacity:0}}@media(max-width:700px){.private-shield-status{margin:4px 0 8px;padding:7px 10px}.private-shield-status>span{width:30px;height:30px}.private-shield-status small{font-size:.68rem}.shield-earned-impact,.shield-impact{padding:20px}.shield-earned-impact h2,.shield-impact h2{font-size:clamp(2.2rem,12vw,4rem)}}@media(prefers-reduced-motion:reduce){.private-shield-status.is-active>span,.private-shield-badge,.shield-earned-icon,.shield-impact-flash,.shield-impact:after{animation:none!important}}

/* Server-synchronised question countdown for phones and venue screens. */
.countdown-progress{--countdown-progress:100%;position:relative;width:min(680px,100%);height:14px;margin:0 auto 22px;overflow:hidden;border:1px solid color-mix(in srgb,var(--cyan) 58%,var(--line));border-radius:999px;background:#0c0f24;box-shadow:inset 0 2px 6px rgba(0,0,0,.5),0 0 18px color-mix(in srgb,var(--cyan) 12%,transparent)}.countdown-progress__fill{display:block;width:var(--countdown-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#1ebad2,var(--cyan));box-shadow:0 0 18px color-mix(in srgb,var(--cyan) 58%,transparent);transition:width .12s linear,background-color .2s,box-shadow .2s}.countdown-progress.is-warning{border-color:#ffd166}.countdown-progress.is-warning .countdown-progress__fill{background:linear-gradient(90deg,#f29f2f,#ffd166);box-shadow:0 0 18px rgba(255,209,102,.48)}.countdown-progress.is-urgent{border-color:var(--danger);box-shadow:0 0 20px color-mix(in srgb,var(--danger) 36%,transparent)}.countdown-progress.is-urgent .countdown-progress__fill{background:linear-gradient(90deg,#ff304f,var(--danger));box-shadow:0 0 22px color-mix(in srgb,var(--danger) 65%,transparent);animation:countdownUrgent .65s ease-in-out infinite}.countdown-progress.is-expired .countdown-progress__fill{box-shadow:none}.countdown-progress.is-frozen{opacity:.72}.screen-countdown{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;width:min(1000px,92%);margin:20px auto 32px}.screen-countdown .timer{flex:none;margin:0;width:86px;height:86px;font-size:2.2rem;background:rgba(10,13,32,.9)}.countdown-progress--screen{width:100%;height:24px;margin:0;border-width:2px}@keyframes countdownUrgent{50%{filter:brightness(1.35)}}@media(max-width:700px){.player-game .countdown-progress{flex:0 0 auto;width:100%;height:11px;margin:0 0 11px}.screen-countdown{gap:12px;width:100%}.screen-countdown .timer{width:62px;height:62px;font-size:1.5rem}.countdown-progress--screen{height:16px}}@media(prefers-reduced-motion:reduce){.countdown-progress__fill{transition:none}.countdown-progress.is-urgent .countdown-progress__fill{animation:none}}

/* Privacy policy, persistent legal links and optional-preference consent. */
.setup-card{position:relative;overflow:visible;border-color:color-mix(in srgb,var(--purple) 48%,var(--line));background:radial-gradient(circle at 88% 7%,rgba(192,18,253,.12),transparent 25%),var(--panel)}.setup-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin:-4px 0 24px;color:#858ba8;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.setup-progress strong{padding:6px 11px;border:1px solid var(--cyan);border-radius:999px;background:rgba(56,217,242,.1);color:var(--cyan)}.setup-progress i{color:#505672;font-style:normal}.setup-progress b{font-weight:850}.setup-heading{text-align:center;margin-bottom:25px}.setup-heading .eyebrow{margin-bottom:6px}.setup-heading h1{display:grid;justify-items:center;margin:0!important;line-height:.84;text-transform:uppercase}.setup-heading h1 small{color:#fff;font-size:.42em;font-style:italic;letter-spacing:.02em;text-shadow:0 3px 0 #3f285c,0 8px 18px rgba(0,0,0,.4)}.setup-heading h1 span{color:#c012fd;font-size:1.32em;font-style:italic;letter-spacing:-.055em;-webkit-text-stroke:2px #300054;paint-order:stroke fill;text-shadow:0 2px 0 #e76bff,0 5px 0 #8100c4,0 8px 0 #4b007c,0 12px 22px rgba(192,18,253,.4)}.setup-heading p:last-child{margin:17px 0 0}.challenge-name-input{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:7px}.challenge-name-input input{min-width:0}.challenge-name-input button{display:grid;place-items:center;min-height:0;padding:0;border:1px solid var(--cyan);border-radius:12px;background:linear-gradient(145deg,#252b50,#151932);color:var(--cyan);font-size:1.45rem;box-shadow:0 0 16px rgba(56,217,242,.12)}.challenge-name-field.is-empty .challenge-name-input{padding:3px;border:1px solid #c012fd;border-radius:15px;box-shadow:0 0 20px rgba(192,18,253,.2)}.challenge-name-field.is-empty .challenge-name-input input{border-color:transparent}.game-options{border-color:color-mix(in srgb,var(--cyan) 70%,var(--line));box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 24px color-mix(in srgb,var(--cyan) 10%,transparent),inset 0 1px rgba(255,255,255,.04)}.game-options__toggle{animation:gameOptionCue 1.8s ease-in-out infinite}.game-options[open] .game-options__toggle{animation:none}.setup-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,310px);align-items:center;gap:15px;padding:13px;border:1px solid color-mix(in srgb,var(--purple) 55%,var(--line));border-radius:18px;background:linear-gradient(135deg,#171a34,#25204b);box-shadow:0 16px 38px rgba(0,0,0,.35)}.setup-launch>div{display:grid;gap:3px;padding-left:5px}.setup-launch>div strong{font-size:1.02rem}.setup-launch>div span{color:var(--muted);font-size:.72rem;line-height:1.3}.setup-launch button{display:grid;gap:1px;width:100%;background:linear-gradient(135deg,#c012fd,#7049f6);box-shadow:0 10px 28px rgba(192,18,253,.3)}.setup-launch button span{font-size:1.02rem}.setup-launch button small{font-size:.66rem;opacity:.82}.setup-launch.is-ready button{animation:setupLaunchReady 2s ease-out infinite}@keyframes gameOptionCue{50%{background:rgba(56,217,242,.2);box-shadow:0 0 0 7px rgba(56,217,242,0)}}@keyframes setupLaunchReady{55%{transform:translateY(-2px);box-shadow:0 0 0 9px rgba(192,18,253,0),0 14px 34px rgba(192,18,253,.45)}}@media(max-width:700px){.create-page .shell{padding-bottom:190px}.setup-card{padding:20px 14px 28px}.setup-progress{gap:6px;margin-bottom:20px;font-size:.63rem;letter-spacing:.04em}.setup-progress strong{padding:5px 8px}.setup-heading h1{font-size:clamp(2.25rem,10vw,3.2rem)}.setup-heading h1 span{-webkit-text-stroke-width:1.5px}.setup-heading p:last-child{margin-top:14px}.setup-launch{position:fixed;z-index:24;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));width:min(470px,calc(100vw - 16px));grid-template-columns:minmax(0,1fr) minmax(154px,42%);gap:8px;padding:8px;transform:translateX(-50%);border-color:rgba(192,18,253,.7);background:rgba(18,20,45,.96);box-shadow:0 -8px 32px rgba(0,0,0,.55);backdrop-filter:blur(14px)}.setup-launch>div{padding-left:4px}.setup-launch>div strong{font-size:.82rem}.setup-launch>div span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.6rem}.setup-launch button{min-height:52px;padding:7px 9px}.setup-launch button span{font-size:.86rem}.setup-launch button small{font-size:.56rem}}@media(max-width:360px){.setup-launch{grid-template-columns:1fr}.setup-launch>div{display:none}.setup-launch button{width:100%}}@media(prefers-reduced-motion:reduce){.game-options__toggle,.setup-launch.is-ready button{animation:none!important}}

/* Privacy policy, persistent legal links and optional-preference consent. */
@media(max-width:700px){.home-page .arena-actions{display:grid;width:100%;max-width:none;grid-template-columns:minmax(0,1fr)}.home-page .arena-actions>.arena-primary{display:grid;width:100%!important;min-width:0;max-width:none}}

/* Privacy policy, persistent legal links and optional-preference consent. */
.organiser-critical-actions{justify-content:center;margin-top:16px}.organiser-critical-actions form{margin:0}.quiz-ended{border-color:rgba(255,209,102,.55)}@media(max-width:700px){.mobile-game-dock.has-end-action{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-game-dock>form{margin:0}.mobile-game-dock>form button{height:100%}.mobile-game-dock .mobile-end-quiz{color:#ff9aaa}.mobile-game-dock .mobile-end-quiz span{color:#ff637d}}

/* Privacy policy, persistent legal links and optional-preference consent. */
.home-page .arena-join label{display:block;margin-bottom:11px;color:#eef0ff;font-size:.9rem;font-weight:850}.home-page .arena-join input{min-height:58px;border:2px solid rgba(56,217,242,.78);background:linear-gradient(145deg,#171b38,#0e1129);color:#fff;letter-spacing:.14em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 22px rgba(56,217,242,.14);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.home-page .arena-join input::placeholder{color:#aeb4cf;font-size:.78rem;letter-spacing:.11em;opacity:1}.home-page .arena-join input:focus{outline:0;border-color:#7cefff;background:#1b2041;box-shadow:0 0 0 4px rgba(56,217,242,.17),0 0 28px rgba(56,217,242,.3)}

/* Privacy policy, persistent legal links and optional-preference consent. */
.legal-document{width:min(920px,100%);margin:18px auto;padding:clamp(24px,5vw,56px)}.legal-document__head{padding-bottom:24px;border-bottom:1px solid var(--line)}.legal-document h1{margin:.15em 0;font-size:clamp(2.2rem,6vw,4rem);line-height:1}.legal-document section{padding-top:24px;scroll-margin-top:90px}.legal-document h2{margin:0 0 10px;color:var(--cyan);font-size:clamp(1.35rem,3vw,1.8rem)}.legal-document h3{margin:20px 0 7px;font-size:1.08rem}.legal-document p,.legal-document li{color:#d0d2e2}.legal-document li+li{margin-top:5px}.legal-document address{padding:14px 16px;border-left:3px solid var(--cyan);background:rgba(56,217,242,.06);font-style:normal}.legal-document a,.legal-footer-nav a,.screen-privacy-link{color:var(--cyan)}.cookie-table{max-width:100%;overflow:auto;margin:18px 0;border:1px solid var(--line);border-radius:14px}.cookie-table table{min-width:680px}.cookie-table th{background:#11142a}.privacy-cookie-button{width:auto}.legal-footer-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin:-54px auto 70px;color:var(--muted);font-size:.8rem}.legal-footer-nav button{width:auto;min-height:0;padding:0;border:0;background:none;color:var(--cyan);font-size:inherit}.screen-privacy-link{position:fixed;z-index:5;right:18px;bottom:12px;font-size:.78rem}.cookie-consent[hidden]{display:none!important}.cookie-consent{position:fixed;z-index:2200;left:50%;bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;width:min(940px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:22px;border:1px solid color-mix(in srgb,var(--cyan) 48%,var(--line));border-radius:20px;background:linear-gradient(150deg,rgba(31,35,67,.99),rgba(12,15,34,.99));box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 36px rgba(56,217,242,.12);transform:translate(-50%,20px);opacity:0;overflow:auto}.cookie-consent.is-visible{transform:translate(-50%,0);opacity:1;transition:transform .22s ease,opacity .22s ease}.cookie-consent h2,.cookie-consent p{margin:.12em 0 .45em}.cookie-consent__copy>a{color:var(--cyan);font-weight:750}.cookie-consent__current{color:var(--muted);font-size:.84rem}.cookie-consent__actions{display:grid;align-content:center;gap:9px;min-width:190px}.cookie-consent__actions button{width:100%;min-height:46px;padding:10px 14px}.cookie-consent__close{background:transparent;border:1px solid var(--line);color:var(--muted)}@media(max-width:700px){.legal-document{margin:4px auto;padding:22px 16px}.legal-document section{scroll-margin-top:65px}.legal-footer-nav{margin:-48px auto 86px}.cookie-consent{bottom:78px;grid-template-columns:1fr;gap:14px;max-height:calc(100dvh - 92px);padding:17px}.cookie-consent__actions{grid-template-columns:1fr 1fr;min-width:0}.cookie-consent__close{grid-column:1/-1}.privacy-cookie-button{width:100%}}@media(prefers-reduced-motion:reduce){.cookie-consent.is-visible{transition:none}}
/* Keep the mobile launch bar anchored to the viewport: transformed ancestors
   otherwise become the containing block for position: fixed descendants. */
.create-page .form-card{animation:none!important;transform:none!important}

/* Rankings are presented as a competitive arena rather than a utility table. */
.leaderboard-page{background:radial-gradient(circle at 50% 12%,rgba(192,18,253,.22),transparent 32rem),radial-gradient(circle at 10% 40%,rgba(56,217,242,.1),transparent 24rem),var(--bg)}.leaderboard-hero{position:relative;isolation:isolate;overflow:hidden;align-items:center;padding:26px 28px;border:1px solid rgba(255,214,59,.35);border-radius:24px;background:linear-gradient(125deg,rgba(41,28,91,.94),rgba(18,22,53,.9));box-shadow:0 18px 50px rgba(0,0,0,.3),0 0 40px rgba(192,18,253,.12)}.leaderboard-hero:after{content:"★  ?  ★";position:absolute;z-index:-1;right:5%;top:50%;translate:0 -50%;color:rgba(255,255,255,.045);font-size:5rem;font-weight:950;letter-spacing:.18em;rotate:-8deg}.leaderboard-hero h1{margin:.12em 0;font-size:clamp(2.25rem,6vw,4.2rem);line-height:1;text-shadow:0 4px 0 rgba(67,27,105,.9),0 0 24px rgba(255,214,59,.24)}.leaderboard-hero h1 span{filter:drop-shadow(0 0 12px rgba(255,214,59,.6))}.leaderboard-hero p:last-child{max-width:580px;margin-bottom:0;color:#d9d8e9}.leaderboard-page .period-tabs{padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(8,10,29,.62)}.leaderboard-page .period-tabs a{position:relative;font-weight:800}.leaderboard-page .period-tabs a.is-active{background:linear-gradient(135deg,#c012fd,#6c55f4);box-shadow:0 5px 20px rgba(192,18,253,.38)}.leaderboard-arena{border-color:rgba(56,217,242,.24);background:linear-gradient(160deg,rgba(29,33,67,.98),rgba(13,16,43,.98));box-shadow:0 20px 55px rgba(0,0,0,.36)}
@media(max-width:700px){.leaderboard-hero{display:block;margin-top:4px;padding:20px 18px;text-align:center}.leaderboard-hero:after{right:-10%;font-size:3.2rem}.leaderboard-hero h1{font-size:2.35rem}.leaderboard-hero p:last-child{font-size:.92rem}.leaderboard-page .leaderboard-head .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.leaderboard-page .leaderboard-head .button{min-width:0;padding:10px 8px;font-size:.83rem}.leaderboard-arena{padding:8px!important;overflow:visible}.leaderboard-mobile{gap:10px}.leaderboard-mobile__head{display:none}.leaderboard-mobile__row{position:relative;grid-template-columns:minmax(116px,1fr) repeat(3,minmax(48px,.52fr));gap:4px;overflow:hidden;padding:14px 8px 19px;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px;background:linear-gradient(110deg,rgba(38,42,80,.96),rgba(18,21,53,.96));box-shadow:0 8px 22px rgba(0,0,0,.22)}.leaderboard-mobile__row--rank-1{border-color:rgba(255,214,59,.7)!important;background:radial-gradient(circle at 10% 0,rgba(255,214,59,.16),transparent 45%),linear-gradient(110deg,#34305e,#171b42);box-shadow:0 9px 28px rgba(255,198,31,.12),inset 0 0 24px rgba(255,214,59,.04)}.leaderboard-mobile__row--rank-2{border-color:rgba(179,210,230,.5)!important}.leaderboard-mobile__row--rank-3{border-color:rgba(218,137,80,.5)!important}.leaderboard-mobile__player>strong{position:relative;display:flex;gap:1px;flex-basis:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#273158,#12162f);border:2px solid var(--cyan);box-shadow:0 0 16px rgba(56,217,242,.25);font-size:.9rem}.leaderboard-mobile__player>strong span{font-size:.7rem}.leaderboard-mobile__row--rank-1 .leaderboard-mobile__player>strong{border-color:#ffd63b;color:#ffe36b;background:linear-gradient(145deg,#66531c,#211d2d);box-shadow:0 0 20px rgba(255,214,59,.35)}.leaderboard-mobile__row--rank-2 .leaderboard-mobile__player>strong{border-color:#bfd6e5;color:#e7f5ff}.leaderboard-mobile__row--rank-3 .leaderboard-mobile__player>strong{border-color:#db8950;color:#ffc28e}.leaderboard-mobile__player b{font-size:.9rem}.leaderboard-mobile__row>div:not(:first-child) b{font-size:.82rem;color:#fff}.leaderboard-mobile__row>div:not(:first-child) small{display:block;color:#858aa7;font-size:.54rem;text-transform:uppercase;letter-spacing:.05em}.leaderboard-mobile__energy{position:absolute;left:8px;right:8px;bottom:7px;height:3px;border-radius:99px;background:rgba(255,255,255,.08)}.leaderboard-mobile__energy:after{content:"";display:block;width:var(--rank-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),#c012fd,#ffd63b);box-shadow:0 0 8px rgba(192,18,253,.65)}.leaderboard-note{margin-top:18px;padding:12px 14px;border-radius:14px;background:rgba(8,10,29,.45);font-size:.72rem}}
.leaderboard-hero:after{content:"\2605  ?  \2605"}.leaderboard-hero .page-return-actions{position:relative;z-index:1}@media(max-width:700px){.leaderboard-hero .page-return-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.leaderboard-hero .page-return-actions .button{min-width:0;padding:10px 8px;font-size:.83rem}}
.leaderboard-mobile__player>strong{align-items:center;justify-content:center;text-align:center}
.question-bank-table .question-genre-cell{min-width:132px;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.targets button{display:flex;justify-content:space-between;text-align:left}.target-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-life-badge{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,10,30,.3);font-size:.72rem;letter-spacing:.02em}.targets .button--random{display:grid;justify-content:center;text-align:center}.targets .button--random small{font-size:.65rem;opacity:.78}
.topbar-how-to--art{width:72px;height:72px;min-height:0;padding:0;overflow:hidden;border:0;border-radius:18px;background:transparent;box-shadow:0 8px 26px rgba(0,0,0,.38),0 0 20px rgba(192,18,253,.28);transition:transform .18s ease,filter .18s ease}.topbar-how-to--art img{display:block;width:100%;height:100%;object-fit:contain}.topbar-how-to--art:hover{transform:translateY(-2px) scale(1.04);filter:brightness(1.08)}.topbar-how-to--art:active{transform:scale(.96)}@media(max-width:700px){.topbar-how-to--art{width:58px;height:58px;padding:0;border-radius:14px}}
/* Light admin surfaces need a darker accent than the configurable game cyan/yellow. */
html[data-admin-theme="light"] .admin-main .eyebrow,html[data-admin-theme="light"] .admin-main .stats-grid strong,html[data-admin-theme="light"] .admin-main .maintenance-policy dd,html[data-admin-theme="light"] .admin-main .genre-counts__head>strong{color:#6d28d9!important}html[data-admin-theme="light"] .admin-main .button--secondary,html[data-admin-theme="light"] .admin-account button,html[data-admin-theme="light"] .theme-toggle,html[data-admin-theme="light"] .admin-mobile-actions button{background:#eef1f7!important;border-color:#cfd5e4!important;color:#272b43!important;text-shadow:none!important}html[data-admin-theme="light"] .admin-main .button--secondary:hover,html[data-admin-theme="light"] .admin-account button:hover,html[data-admin-theme="light"] .theme-toggle:hover{background:#e2e6f0!important;border-color:#aeb7cd!important;color:#171a2d!important}
