:root{--bg:#0b0d14;--surface:#151926;--surface-raised:#1e2335;--border:#2a3047;--text:#f4f1ea;--text-muted:#a6abbf;--amber:#f5a623;--amber-400:#ffbe4d;--amber-600:#d98c0f;--amber-soft:rgba(245,166,35,0.16);--teal:#1fb8a6;--teal-400:#4dd4c4;--teal-600:#148f81;--teal-soft:rgba(31,184,166,0.16);--rose:#e85d75;--rose-soft:rgba(232,93,117,0.16);--success:#4cc38a;--danger:#e85d5d;--font-display:"Space Grotesk","Mukta",system-ui,sans-serif;--font-body:"Inter","Mukta",system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2.25rem;--text-3xl:3.5rem;--text-4xl:5rem;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.1}button{cursor:pointer}button,input{font:inherit}.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--amber);border-color:var(--amber);color:#1a1200}.btn-teal{background:var(--teal);border-color:var(--teal);color:#04201c}.btn-danger{background:var(--rose-soft);border-color:var(--rose)}.field{width:100%;min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--text)}.card,.field{border:1px solid var(--border);background:var(--surface)}.card{border-radius:var(--radius-lg);padding:var(--space-5)}.pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-raised);font-size:var(--text-sm)}.status{position:fixed;top:8px;right:8px;font-size:var(--text-xs);color:var(--text-muted)}.status.bad{color:var(--danger)}.options{display:grid;grid-gap:var(--space-3);gap:var(--space-3);list-style:none;padding:0;margin:0}.option{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);padding:var(--space-4);text-align:left;width:100%;color:var(--text)}.option .bar{position:absolute;inset:0 auto 0 0;background:var(--teal-soft);transition:width .3s ease}.option .label{position:relative;display:flex;justify-content:space-between;gap:var(--space-3)}.option.correct{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-soft) inset}.option.mine{border-color:var(--teal)}.option.chosen{border-color:var(--rose)}.phone{max-width:480px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8);display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.stage{min-height:100vh;padding:var(--space-7);display:grid;grid-template-rows:auto 1fr auto;grid-gap:var(--space-6);gap:var(--space-6)}.stage-code{font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:.12em;color:var(--amber)}.stage-prompt{font-size:var(--text-3xl);max-width:24ch}.stage .options{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));font-size:var(--text-xl)}.roster{display:flex;flex-wrap:wrap;gap:var(--space-2)}.roster .chip{padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-raised);border:2px solid var(--chip,var(--border));font-size:var(--text-lg);animation:pop .3s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}}.scoreboard{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.scoreboard li{padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-md)}.scoreboard li,.stage-footer{display:flex;justify-content:space-between}.stage-footer{align-items:center;font-size:var(--text-xs)}.stage-footer .status{position:static}.lobby{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-8);gap:var(--space-8);align-items:start}.lobby-join{display:grid;grid-gap:var(--space-4);gap:var(--space-4);justify-items:start}.qr{background:var(--text);padding:12px;border-radius:var(--radius-md)}.qr svg{display:block;width:100%;height:100%}@media (max-width:900px){.lobby{grid-template-columns:1fr}}.fade-in{animation:fade-in .4s ease both}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}}.reveal-card{animation:card-in .5s cubic-bezier(.2,.9,.3,1.2) both}@keyframes card-in{0%{opacity:0;transform:scale(.7) rotate(-2deg)}}.pop{animation:pop-big .6s cubic-bezier(.2,.9,.3,1.3) both}@keyframes pop-big{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.15)}}.podium{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:end;max-width:900px}.podium-step{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-5);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-raised);border:1px solid var(--border);text-align:center;animation:rise .6s cubic-bezier(.2,.9,.3,1.1) both;transform-origin:bottom}.podium-step.place-1{min-height:240px;background:var(--amber-soft);border-color:var(--amber)}.podium-step.place-2{min-height:180px}.podium-step.place-3{min-height:140px}.podium-name{font-family:var(--font-display);font-size:var(--text-xl)}.podium-score{font-size:var(--text-3xl);color:var(--amber)}.podium-rank{color:var(--text-muted)}@keyframes rise{0%{opacity:0;transform:scaleY(.2)}}.subject-answers{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}.subject-answers .card{text-align:center;font-size:var(--text-2xl)}.match{font-size:var(--text-3xl);color:var(--teal-400);text-align:center}.match.no{color:var(--rose)}