:root{--navy:#07142d;--cyan:#13d9ff;--gold:#ffcb28;--white:#f7f9ff;--muted:#b8c8e2}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,Segoe UI,sans-serif;color:var(--white);background:radial-gradient(ellipse at 50% 15%,#12356e,#091b3c 55%,#06132b)}body{min-height:100dvh}button,input{font:inherit}.brand-logo{display:block;width:min(42vw,220px);height:auto;margin:0 auto 12px;object-fit:contain}.panel{background:linear-gradient(145deg,#0b2149ef,#07152fee);border:1px solid var(--cyan);border-radius:22px;box-shadow:0 0 22px #00cfff44;padding:20px}.button{border:0;border-radius:16px;padding:15px 18px;min-height:52px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(110deg,#ffdf42,#ffb900);color:#08132b}.danger{background:#a5223e;color:white}.full{width:100%}.hidden{display:none!important}.fine-print{color:var(--muted);font-size:.86rem;text-align:center}.error{color:#ff9ba6}.fullscreen{min-height:100dvh;padding:3vh 4vw}.mobile-wrap{width:min(100%,620px);margin:auto;padding:clamp(14px,4vw,28px);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:14px}.mobile-wrap .brand-logo{width:min(45vw,210px)}h1,h2,p{margin-top:0}.mobile-wrap h1{text-align:center;font-size:clamp(1.5rem,7vw,2.15rem)}.lead{text-align:center;color:#d3dcee;line-height:1.45}.panel label{display:block;font-weight:700;margin:12px 0}.panel input{width:100%;margin-top:7px;padding:14px;border-radius:13px;border:1px solid #afc8ea;background:#0b1c3b;color:white}.tabs{display:flex;border:1px solid var(--cyan);border-radius:13px;overflow:hidden;margin-bottom:16px}.tab{flex:1;padding:12px 6px;border:0;background:#10264b;color:white}.tab.active{background:#0dbde9;color:#05172e}.text-button{display:block;margin:0 0 12px auto;background:none;border:0;color:#aeeeff;text-decoration:underline}.join-page{justify-content:flex-start;padding-top:7vh}.join-card{padding:22px}.wait-card{text-align:center;padding:28px}.player-chip,.code-pill{display:inline-block;border:1px solid var(--gold);border-radius:24px;padding:8px 14px}.pulse-dots{display:flex;justify-content:center;gap:10px;margin:28px}.pulse-dots i{width:12px;height:12px;border-radius:50%;background:var(--gold);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.35;transform:scale(.7)}}.host-page{justify-content:flex-start;gap:10px;padding-top:12px;padding-bottom:18px}.host-header{text-align:center}.host-header .brand-logo{width:135px}.host-players{padding:12px}.host-players h2,.host-games h2{text-align:center;margin:0 0 8px}.host-players p{text-align:center;margin:8px 0 0}.host-player{display:inline-block;background:#102b54;border-radius:20px;padding:6px 9px;font-size:.8rem;margin:3px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-card{min-height:78px;border:1px solid #7587a4;background:#526078;color:white;border-radius:14px;padding:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px}.game-card strong{font-size:.9rem}.game-card small{font-size:.73rem}.game-card.selected{background:linear-gradient(145deg,#0a6ca2,#092a5a);border:2px solid var(--gold);box-shadow:0 0 14px #ffca2877}.game-card.locked{opacity:.68}.tv-screen{overflow:hidden}.tv-home{display:grid;place-content:center;gap:2vh;text-align:center}.tv-home .brand-logo{width:min(28vw,300px)}.home-host{width:min(72vw,780px);margin:auto}.qr-box{background:white;padding:8px;border-radius:12px;width:max-content;margin:12px auto;min-width:180px;min-height:180px;display:grid;place-items:center}.digit-inputs{display:flex;justify-content:center;gap:12px}.digit-inputs input{width:62px;height:66px;text-align:center;font-size:2rem;background:#0a2044;color:white;border:2px solid var(--cyan);border-radius:14px}.tv-lobby{padding:16px 3vw;display:flex;flex-direction:column;gap:12px}.tv-lobby header{text-align:center}.tv-lobby .brand-logo{width:130px;margin-bottom:5px}.tv-lobby h1{font-size:clamp(1.3rem,3vw,2.4rem);margin:0}.tv-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;flex:1}.tv-join,.tv-players{text-align:center}.tv-join{display:flex;flex-direction:column;align-items:center;justify-content:center}.tv-join .qr-box{width:clamp(180px,27vh,300px);height:clamp(180px,27vh,300px)}.tv-player{padding:9px;border:1px solid var(--cyan);border-radius:12px;margin:7px 0}.tv-games{text-align:center}.tv-game-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tv-game-tile{background:#536177;border-radius:13px;padding:10px;color:white;opacity:.7;border:2px solid #adb9cc}.tv-game-tile.active{opacity:1;border-color:var(--gold);background:#0a3970}.tv-code{position:absolute;bottom:10px;left:10px}.tv-game{text-align:center;padding:3vh 5vw}.answer-grid,.answer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-option,.answer-buttons button{padding:18px;border:2px solid var(--cyan);border-radius:14px;background:#0b2854;color:white}.buzz{width:100%;height:40vh;border-radius:50%;font-size:2rem;background:radial-gradient(circle at 35% 28%,#ff6262,#d50d32);color:white;border:8px solid var(--gold)}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:12px;border-radius:12px;background:#11294b;display:none}.toast.show{display:block}@media(max-width:650px){.tv-layout{grid-template-columns:1fr}.tv-players{display:none}.tv-lobby{overflow:auto}.tv-game-row{grid-template-columns:repeat(2,1fr)}.tv-code{position:static;align-self:flex-start}}

.test-bypass{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;margin:8px auto 0;padding-inline:24px}
/* Host account menu and account pages */
.account-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;margin-bottom:10px;text-align:left;position:relative;z-index:20}.account-bar>span{max-width:65%;overflow-wrap:anywhere;font-size:.95rem}.account-menu summary{list-style:none;cursor:pointer;padding:10px 15px;border:1px solid #29d9f7;border-radius:12px;background:#102b50;font-weight:700}.account-menu summary::-webkit-details-marker{display:none}.account-menu nav{position:absolute;right:0;top:100%;width:min(280px,90vw);padding:8px;background:#091a36;border:1px solid var(--cyan);border-radius:16px;box-shadow:0 12px 35px #0009;display:flex;flex-direction:column;gap:4px}.account-menu nav a,.account-menu nav button{display:block;width:100%;text-align:left;border:0;background:none;border-radius:9px;padding:12px;color:#fff;text-decoration:none;font:inherit;cursor:pointer}.account-menu nav a:hover,.account-menu nav a[aria-current=page]{background:#123f64;color:#7defff}.account-menu nav form{border-top:1px solid #29405d;margin-top:4px;padding-top:4px}.account-menu nav button{color:#ffb3bd}.account-menu:focus-within summary{border-color:var(--gold)}.account-page{justify-content:flex-start;padding-top:20px;gap:12px}.account-page .panel{padding:24px 20px}.account-page .brand-logo{width:150px}.account-page h1{font-size:1.7rem;margin:0 0 12px}.account-page form .primary{margin-top:16px}.account-page label small{font-weight:400;color:var(--muted)}.muted{color:var(--muted);line-height:1.55}.success{color:#8cffc2;background:#116d4c40;padding:12px;border:1px solid #35cf78;border-radius:12px}.empty-state{text-align:center;padding:24px 8px}.empty-state>span{font-size:2.2rem}.empty-state h2{font-size:1.2rem;margin:12px 0}.empty-state .button{display:inline-block;text-decoration:none;margin-top:12px}.result-row{border:1px solid #38587a;border-radius:14px;padding:14px;margin:12px 0;background:#0c2345}.result-row summary{cursor:pointer}.result-row summary span{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}.score-list{padding:0;list-style-position:inside}.score-list li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #284363}.score-list strong{white-space:nowrap}.purchase-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid #284363}.purchase-row strong,.purchase-row small{display:block}.purchase-row small{color:var(--muted);margin-top:6px}.status-pill{font-size:.75rem;white-space:nowrap;background:#263958;padding:7px 9px;border-radius:20px}.status-pill.owned{background:#125337;color:#97ffc8}.host-empty .panel{text-align:center}.account-page input:focus-visible,.account-menu a:focus-visible,.account-menu button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
