:root{--bg: #1e1b2e;--card: #2a2540;--ink: #f4f1ff;--muted: #a79ec7;--accent: #8b5cf6;--accent2: #ec4899}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 800px at 20% -10%,#3b2f6b 0%,var(--bg) 55%) fixed;color:var(--ink);min-height:100vh}.shell{max-width:960px;margin:0 auto;padding:16px;min-height:100vh}.card{background:var(--card);border:1px solid #3d3560;border-radius:20px;padding:28px;margin:16px 0;box-shadow:0 12px 40px #00000059}.card.center{text-align:center}.card.wide{padding:32px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 4px}.brand{font-weight:700;font-size:1.05rem}.logo{font-size:3.5rem}.big-emoji{font-size:3rem}h1{font-size:2.4rem;margin:8px 0}h2{margin:8px 0 16px}.tagline{color:var(--muted);margin-bottom:24px}.muted{color:var(--muted)}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.home-grid{grid-template-columns:1fr}}.panel{background:#241f3a;border:1px solid #3d3560;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}.panel h2{margin:0;font-size:1.2rem}.panel p{color:var(--muted);font-size:.95rem;margin:0 0 6px}.btn{border:none;border-radius:12px;padding:12px 20px;font-size:1rem;font-weight:700;cursor:pointer;color:#fff;transition:transform .08s ease,filter .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.big{font-size:1.15rem;padding:14px 24px;margin-top:12px}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2))}.btn.secondary{background:#3d3560}.btn.ghost{background:transparent;border:1px solid #3d3560;font-size:.9rem;padding:8px 14px}.input{border-radius:12px;border:1px solid #3d3560;background:#1a1628;color:var(--ink);padding:12px 14px;font-size:1rem;width:100%}.input.code{font-size:1.6rem;letter-spacing:.5em;text-align:center;font-weight:800;text-transform:uppercase}.error{background:#4c1d1d;border:1px solid #7f2d2d;color:#fca5a5;border-radius:12px;padding:12px}.roomcode{font-size:4.5rem;font-weight:900;letter-spacing:.35em;margin:8px 0 16px;color:#fff;text-shadow:0 0 24px var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}.chip{background:#3d3560;border-radius:999px;padding:8px 16px;font-weight:600}.qmeta{color:var(--muted);font-size:.95rem;margin-bottom:8px}.question{font-size:2rem;line-height:1.3}.question.small{font-size:1.35rem}.tally{display:flex;flex-direction:column;gap:12px;margin-top:20px}.tally-row{display:flex;align-items:center;gap:10px}.swatch{width:18px;height:18px;border-radius:6px;flex-shrink:0}.tally-choice{flex:0 0 32%;text-align:left}.bar{flex:1;height:22px;background:#1a1628;border-radius:8px;overflow:hidden}.fill{height:100%;transition:width .4s ease}.count{width:2ch;text-align:right;font-weight:700}.answers{display:grid;gap:12px;margin-top:16px}.answer-btn{border:none;border-radius:14px;padding:18px;font-size:1.15rem;font-weight:700;color:#fff;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.3)}.answer-btn:active{transform:scale(.98)}.answer-reveal{font-size:1.8rem;font-weight:800;border:3px solid;border-radius:16px;padding:18px;margin:12px 0}.scores{list-style:none;padding:0;margin:16px auto;max-width:420px;text-align:left}.scores li{display:flex;align-items:center;gap:12px;background:#241f3a;border-radius:12px;padding:10px 16px;margin-bottom:8px;font-size:1.1rem}.rank{width:2.5ch}.sname{flex:1;font-weight:600}.spts{font-weight:800;color:#fbbf24}
