@import url('data:text/css,');
:root{color-scheme:dark;--bg:#090d19;--panel:#121a2d;--edge:#27334e;--accent:#9b82ff;--glow:#6544d8;--gold:#ffd278;--text:#edf1ff;--muted:#a7b1cb;font-family:Inter,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#39266555,transparent 45%),var(--bg);min-height:100vh}body[data-theme=blue]{--accent:#59c9ff;--glow:#116a9c}body[data-theme=gold]{--accent:#ffd278;--glow:#8d6526}a{color:var(--accent)}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--edge);border-radius:10px;background:#1b2740;color:var(--text);padding:11px 16px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,transform .15s}button:hover,.button:hover{background:#2a3b5b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--glow);border-color:var(--accent)}.danger{background:#5b2138}.good{background:#145640}.muted,small{color:var(--muted)}[hidden]{display:none!important}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 4vw;border-bottom:1px solid var(--edge);background:#0b1020bb}.brand{text-decoration:none;font-size:25px;font-weight:900;letter-spacing:1px;color:var(--text)}.brand span{color:var(--accent)}.brand small{display:block;font-size:9px;letter-spacing:4px;margin-top:5px}nav{display:flex;gap:8px}nav button{background:transparent;border:none}#account{font-size:14px}main{max-width:1520px;margin:auto;padding:36px 4vw;min-height:72vh}.hero{max-width:850px;padding:40px 0 45px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--accent);font-weight:700}h1{font-size:clamp(36px,5vw,64px);line-height:1.08;margin:12px 0 20px;letter-spacing:-2px}h2{font-size:25px;margin-top:0}h3{margin-top:0}.hero p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.7}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.panel,.room-card{border:1px solid var(--edge);border-radius:18px;background:linear-gradient(145deg,#172139dd,#101729ee);padding:24px}.room-card{display:flex;flex-direction:column;gap:12px}.room-card .button{margin-top:auto}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:grid;gap:15px}label{display:grid;gap:7px;font-size:14px;color:var(--muted)}input,select,textarea{border:1px solid var(--edge);background:#0b1224;border-radius:8px;padding:11px;color:var(--text);width:100%}input[type=checkbox]{width:auto}input[type=range]{width:100px;padding:0}textarea{min-height:90px;resize:vertical}.check{display:flex;align-items:center}.badge{display:inline-block;border:1px solid var(--edge);border-radius:30px;padding:5px 11px;font-size:12px;color:var(--accent)}.game-head{margin-bottom:24px}.game-head h1{font-size:36px;letter-spacing:-1px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.board{display:grid;gap:10px;align-items:stretch}.category{text-align:center;padding:18px 8px;font-size:14px;background:#222945;border-radius:10px;font-weight:700;overflow-wrap:anywhere}.cell{min-height:85px;font-size:28px;font-weight:800;color:var(--gold);border:1px solid #42426b;background:linear-gradient(145deg,#252a50,#18203b);box-shadow:inset 0 1px #ffffff08}.cell:disabled{opacity:.3}.cell.used{color:transparent;background:#0e1526;border-color:#1c263a}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px}.player{border:2px solid var(--edge);border-radius:14px;padding:18px;text-align:center;background:var(--panel);position:relative;overflow:hidden}.player.active{border-color:var(--gold);box-shadow:0 0 22px #ffd27855;animation:pulse 1s infinite alternate}.player.correct{border-color:#59e3a5}.player.wrong{border-color:#ff6d8e}.avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--glow),#25395d);font-size:23px;font-weight:800;margin-bottom:10px}.score{font-size:30px;color:var(--gold);font-weight:800;margin:8px 0}.question{border:1px solid #7461b8;border-radius:18px;padding:32px;background:linear-gradient(140deg,#282147,#151e34);margin-bottom:20px;animation:appear .25s ease-out}.question h2{font-size:clamp(24px,3vw,38px);line-height:1.4}.answer{padding:20px;background:#13372e;border:1px solid #39755f;border-radius:12px;margin:20px 0}.answer h3{color:#8af3bc}.timer{font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;color:var(--gold)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls button{padding:14px 8px}.buzzer{display:block;width:100%;padding:28px;border-radius:16px;background:linear-gradient(135deg,#bc314b,#7c1d37);font-size:23px;font-weight:800;margin-top:18px;border-color:#ed7296}.buzzer:not(:disabled){box-shadow:0 0 30px #c8314c33}.event-log{max-height:230px;overflow:auto;font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px}.preview{max-height:600px;overflow:auto}.preview details{border-bottom:1px solid var(--edge);padding:12px 0}.preview summary{cursor:pointer;font-weight:600}.preview p{line-height:1.6}.notice{border-left:3px solid var(--gold);background:#ffd2780b;padding:15px 20px;color:#d1c5aa;font-size:14px;line-height:1.7;margin:20px 0}.teams{margin:16px 0;display:flex;gap:12px;flex-wrap:wrap}.team{border:1px solid var(--edge);border-left:4px solid var(--team);padding:15px;border-radius:10px}.finished{text-align:center;padding:55px 20px}.finished h1{color:var(--gold)}table{width:100%;border-collapse:collapse}td,th{padding:14px;border-bottom:1px solid var(--edge);text-align:left}th{color:var(--muted);font-weight:500}.scroll{overflow:auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 24px;border:1px solid var(--accent);background:#202b45;border-radius:12px;z-index:50;display:none;max-width:90vw}.error{color:#ff9ab3}footer{padding:24px 4vw;border-top:1px solid var(--edge);display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px}footer label{display:flex;align-items:center}footer select{width:auto}body.overlay{background:transparent}body.overlay header,body.overlay footer{display:none}body.overlay main{padding:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes pulse{to{box-shadow:0 0 35px #ffd27888}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1200px){.players.show{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.players.show .avatar{width:100px;height:100px}}@media(max-width:1000px){.game-layout{grid-template-columns:1fr}.side{order:-1}.side .event-log{display:none}.cell{min-height:65px;font-size:22px}}@media(max-width:600px){header{flex-wrap:wrap;padding:18px}nav{order:3;width:100%}main{padding:24px 16px}.board{gap:5px}.category{font-size:10px;padding:12px 3px}.cell{padding:8px 2px;min-height:52px;font-size:18px}.panel{padding:18px}.question{padding:20px}.players{grid-template-columns:repeat(2,1fr)}.game-head h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Embedded existing account login; the quiz page remains open. */
#loginDialog{width:min(720px,calc(100vw - 24px));max-width:none;height:min(850px,92dvh);max-height:92dvh;padding:0;border:1px solid var(--edge);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 25px 100px #0009;overflow:hidden}
#loginDialog::backdrop{background:#050916cc;backdrop-filter:blur(6px)}
#loginDialog[open]{display:flex;flex-direction:column}
.login-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--edge)}
.login-heading h2{font-size:21px;margin:0 0 8px}
.login-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
#closeLogin{flex:none;padding:8px 12px}
#loginFrame{display:block;width:100%;flex:1;min-height:0;border:0;background:#0b1020}
@media(max-width:600px){#loginDialog{width:calc(100vw - 16px);height:94dvh;max-height:94dvh;border-radius:12px}.login-heading{padding:16px}.login-heading h2{font-size:18px}}
