:root{color-scheme:dark;--bg:#0b1220;--panel:#141f31;--line:#26364d;--text:#edf3ff;--muted:#9eacc2;--blue:#7c9cff;--cyan:#69e0d0;--red:#ff6d7d}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 15% 0%,#1b2b4b 0,transparent 42%),var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.shell{width:min(900px,calc(100% - 36px));margin:0 auto}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff14}.brand{font-size:15px;font-weight:900;letter-spacing:.12em;color:var(--text);text-decoration:none}.brand span{color:var(--cyan)}.quiet-link,.text-link{color:var(--blue);text-decoration:none;font-weight:650}.hero{padding:64px 0 34px}.hero.compact{padding:48px 0 28px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--cyan);margin:0 0 12px}.hero h1{font-size:clamp(42px,8vw,72px);line-height:1.02;letter-spacing:-.055em;margin:0}.hero h1 span{color:var(--blue)}.lede{color:var(--muted);max-width:610px;margin:18px 0 0}.panel{background:linear-gradient(145deg,#18253a,#111b2b);border:1px solid var(--line);border-radius:18px;padding:26px;margin:18px 0;box-shadow:0 18px 55px #0002}.panel h2{margin:0 0 18px;font-size:22px}label{display:block;font-size:13px;color:var(--muted);margin:0 0 8px}input{width:100%;min-width:0;background:#0b1423;color:var(--text);border:1px solid #344761;border-radius:10px;padding:14px;font:inherit;outline:none}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #7c9cff22}.join-row,.button-row{display:flex;gap:12px;align-items:center}.join-row input{flex:1}.button-row{margin-top:18px;flex-wrap:wrap}button{border:0;border-radius:10px;padding:13px 18px;font:700 14px system-ui;cursor:pointer}.primary{background:var(--blue);color:#101827}.secondary{background:#293a54;color:var(--text)}.danger{background:#542634;color:#ffdce1}.danger:disabled{opacity:.4;cursor:not-allowed}.message{font-size:13px;color:var(--muted)}.small{font-size:12px}.muted{color:var(--muted)}.hidden{display:none!important}.session-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.session-head h2{margin:0}.live-dot,.status-pill{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--cyan);border:1px solid #69e0d055;background:#69e0d012;padding:6px 10px;border-radius:99px}.notice{margin:22px 0;padding:18px;border-radius:12px;background:#0c1728;border:1px solid #2b3d57}.notice p{color:var(--muted);margin:6px 0 12px;font-size:13px}.game-frame{height:min(62vh,580px);min-height:340px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#080d16}.game-frame iframe{width:100%;height:100%;border:0;background:#080d16}.ended{text-align:center;padding:42px 26px}.end-icon{margin:0 auto 16px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#69e0d01c;color:var(--cyan);font-size:24px}.code-display{margin:24px 0;padding:18px;background:#0b1423;border:1px dashed #52698b;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.code-display span{font-size:11px;letter-spacing:.15em;color:var(--muted);font-weight:800}.code-display strong{font-size:28px;letter-spacing:.18em;color:var(--cyan)}footer{padding:38px 0 28px;text-align:center;color:#74839a;font-size:11px}@media(max-width:560px){.hero{padding-top:44px}.panel{padding:20px}.join-row{align-items:stretch;flex-direction:column}.join-row button{width:100%}.code-display{align-items:flex-start;flex-direction:column;gap:8px}.game-frame{min-height:280px}.session-head{align-items:flex-start}}