:root{--bg-primary:#080a12;--bg-secondary:#111522;--panel:#151a2a;--panel-2:#1d2337;--accent:#c8ff37;--purple:#8b5cff;--cyan:#37d7ff;--success:#29e37d;--danger:#ff455e;--warning:#ffd34d;--text:#f7f8fc;--muted:#9199af;--line:#ffffff1a;--shadow:0 28px 80px #00000061}*{box-sizing:border-box}html,body{background:var(--bg-primary);min-height:100%;color:var(--text);margin:0}body{background-image:radial-gradient(circle at 12% 0,#8b5cff29,#0000 31rem),radial-gradient(circle at 88% 90%,#37d7ff17,#0000 30rem);font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100svh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.wide{max-width:1440px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:20px;min-height:58px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-weight:900;display:flex}.brand-mark{width:32px;height:32px;color:var(--bg-primary);background:var(--accent);border-radius:9px;place-items:center;font-weight:950;display:grid;transform:rotate(-4deg)}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:900}.muted{color:var(--muted)}.display{text-transform:uppercase;letter-spacing:-.035em;margin:0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(3.2rem,8vw,8.5rem);font-weight:950;line-height:.92}.display-sm{font-size:clamp(2.4rem,5vw,5.5rem)}.lede{color:#c7cbda;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.45}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#1d2337f2,#0e121dfa);border-radius:24px}.panel-pad{padding:clamp(18px,3vw,34px)}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.btn{background:var(--panel-2);min-height:52px;color:var(--text);text-transform:uppercase;letter-spacing:.04em;border:0;border-radius:14px;padding:0 20px;font-weight:900;transition:transform .18s,filter .18s,background .18s}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#0b0d12}.btn-purple{background:var(--purple)}.btn-danger{background:var(--danger)}.btn-success{background:var(--success);color:#07130d}.btn-ghost{border:1px solid var(--line);background:0 0}.btn:disabled{opacity:.38;cursor:not-allowed}.input{border:1px solid var(--line);width:100%;min-height:58px;color:var(--text);background:#ffffff0d;border-radius:14px;outline:none;padding:0 18px;font-size:1.05rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #c8ff371f}.status{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:inline-flex}.status:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px}.status.online:before{background:var(--success)}.pill{background:#ffffff12;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.stage-chip{color:var(--bg-primary);background:var(--accent)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;min-height:calc(100svh - 110px);display:grid}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.game-code{letter-spacing:.15em;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.team-list{gap:12px;display:grid}.team-card{border:1px solid var(--line);background:#ffffff0e;border-radius:16px;align-items:center;gap:15px;min-height:70px;padding:12px 17px;animation:.35s both card-in;display:flex}.team-index{color:var(--accent);font-family:ui-monospace,monospace;font-weight:900}.team-name{text-transform:uppercase;flex:1;font-size:1.08rem;font-weight:900}.score{font-family:ui-monospace,monospace;font-size:1.4rem;font-weight:900}.screen{grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(22px,3vw,50px);display:grid;position:relative;overflow:hidden}.screen:after{content:"";pointer-events:none;opacity:.3;background:linear-gradient(#ffffff05 1px,#0000 1px) 0 0/100% 5px;position:absolute;inset:0}.screen-main{z-index:1;align-items:center;display:grid;position:relative}.screen-top{z-index:2;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.clock{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:clamp(2rem,5vw,5rem);font-weight:950}.clock.warning{color:var(--warning)}.clock.danger{color:var(--danger);animation:.8s infinite heartbeat}.question{text-align:center;max-width:1500px;margin:auto}.question-text{max-width:1200px;margin:22px auto 0;font-size:clamp(2rem,4.2vw,5.2rem);font-weight:900;line-height:1.08}.question-media{object-fit:contain;border:1px solid var(--line);width:auto;max-width:min(1100px,88vw);height:auto;max-height:55vh;box-shadow:var(--shadow);border-radius:22px;margin:28px auto 0;display:block}.question-audio{width:min(720px,88vw);accent-color:var(--accent);margin:30px auto 0;display:block}.winner-card{text-align:center;animation:.55s cubic-bezier(.2,.9,.2,1.2) winner}.winner-name{color:var(--accent);text-shadow:0 0 50px #c8ff3740}.answer{color:var(--cyan)}.leaderboard{border-collapse:collapse;width:min(1050px,100%);margin:25px auto}.leaderboard th,.leaderboard td{border-bottom:1px solid var(--line);text-align:left;padding:14px 18px}.leaderboard th{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.leaderboard td:last-child,.leaderboard th:last-child{text-align:right}.join{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));place-items:center;display:grid}.join-card{width:min(520px,100%)}.buzzer-wrap{min-height:100svh;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));touch-action:manipulation;-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr;gap:14px;display:grid;overflow:hidden}.buzzer{background:radial-gradient(circle at 50% 38%, #edff8d, var(--accent) 44%, #8cae12);color:#080a12;letter-spacing:-.04em;text-transform:uppercase;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:34px;width:100%;min-height:72svh;font-family:Impact,Arial Black,sans-serif;font-size:clamp(4rem,22vw,9rem);box-shadow:inset 0 -18px #0000002e,0 20px 80px #c8ff372e}.buzzer:active{transform:translateY(10px);box-shadow:inset 0 -8px #0000002e}.buzzer:disabled{background:var(--panel-2);color:#677087;box-shadow:none}.phone-state{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:34px;place-items:center;min-height:72svh;padding:30px;display:grid}.phone-state.success{color:var(--success);background:linear-gradient(150deg,#0c4429,#122619)}.phone-state.danger{color:#ff8c9b;background:linear-gradient(150deg,#4a1420,#211217)}.admin-layout{grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding-bottom:115px;display:grid}.admin-main{min-height:55vh}.sticky-actions{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#080a12e0;gap:10px;padding:13px max(16px,50vw - 720px);display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.sticky-actions .btn{white-space:nowrap}.action-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.studio-grid{grid-template-columns:330px minmax(0,1fr);gap:22px;display:grid}.stage-nav{align-self:start;position:sticky;top:20px}.stage-nav button{text-align:left;width:100%;min-height:45px;color:var(--text);background:0 0;border:0;border-radius:12px;margin-top:7px;padding:0 12px;font-weight:750}.stage-nav button.active{background:var(--accent);color:var(--bg-primary)}.question-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 0;display:grid}.media-ready{color:var(--success)}.media-required{color:var(--warning)}.media-review{color:#ff9a52}.media-generate{color:var(--cyan)}.toast{z-index:30;background:var(--danger);color:#fff;max-width:360px;box-shadow:var(--shadow);border-radius:12px;padding:14px 18px;font-weight:800;position:fixed;bottom:100px;right:20px}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes winner{0%{opacity:0;transform:scale(.7)}65%{transform:scale(1.05)}}@keyframes heartbeat{50%{opacity:.75;transform:scale(1.06)}}@media (max-width:880px){.grid-2,.grid-3,.hero,.admin-layout,.studio-grid{grid-template-columns:1fr}.hero{padding:50px 0}.stage-nav{position:static}.display{font-size:clamp(3rem,15vw,6rem)}.screen{padding:20px}.admin-layout{padding-bottom:130px}}@media (max-width:440px){.topbar{flex-wrap:wrap}.topbar>div:last-child{max-width:100%}.topbar .btn{min-height:46px;padding-inline:14px;font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
