:root{color:#f8fafc;background:#08111f;font-family:Segoe UI,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button,.screen-link{border:0;border-radius:10px;padding:13px 20px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.primary{color:#fff;background:#2563eb;font-weight:700}.brand{display:flex;flex-direction:column;align-items:center;letter-spacing:-.02em}.brand strong{font-size:1.05em;font-weight:700}.brand span{margin-top:2px;color:#94a3b8;font-size:.68em;font-weight:500;letter-spacing:.03em}.center-panel,.player-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:24px;text-align:center;background:#08111f}.center-panel form,.player-entry form{width:min(420px,100%);margin-top:24px;padding:28px;border:1px solid #334155;border-radius:18px;background:#111c2e}label,legend{display:block;margin:14px 0 7px;color:#cbd5e1;text-align:left}input,select{width:100%;min-height:48px;padding:8px 12px;border:1px solid #64748b;border-radius:8px;color:#0f172a;background:#fff}fieldset{margin:16px 0;border:0;padding:0}.avatars{display:flex;flex-wrap:wrap}.avatars label{width:25%;margin:0;padding:4px}.avatars input{position:absolute;opacity:0}.avatars span{display:block;padding:10px;border:2px solid transparent;border-radius:10px;text-align:center;font-size:26px;background:#1e293b}.avatars input:checked+span{border-color:#60a5fa;background:#334155}.form-error,.error-panel,.offline{color:#fecaca}.player-game{position:relative;width:100%;height:100vh;background:#08111f}.player-meta{display:flex;align-items:center;justify-content:space-between;height:70px;padding:12px 16px}.player-status{display:flex;align-items:center;justify-content:center;height:calc(100vh - 70px);padding:24px;text-align:center;font-size:28px;font-weight:700}.offline{position:absolute;z-index:5;top:8px;right:8px;left:8px;padding:9px;border-radius:7px;text-align:center;background:#7f1d1d}.answer-buttons,.player-game[data-phase=question] .player-meta,.player-game[data-phase=question] .player-status{display:none}.player-game[data-phase=question] .answer-buttons{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100vh}.answer-button{min-width:0;min-height:0;margin:5px;border:5px solid rgba(255,255,255,.2);border-radius:18px;color:#fff;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}.answer-button span{font-size:min(25vw,22vh);font-weight:900;text-shadow:0 3px 12px rgba(0,0,0,.35);pointer-events:none}.answer-button.selected{border-color:#fff;transform:scale(.96)}.answer-blue{background:#075bb5}.answer-magenta{background:#b51168}.answer-amber{background:#bd6500}.answer-green{background:#087a44}.screen-shell{position:relative;width:100%;height:100vh;padding:2.2vh 2vw;background:#08111f}.screen-shell>.brand{height:6vh;font-size:1.4vw}.screen-main{width:75%;height:89vh;padding-right:2vw}.leaderboard{position:absolute;top:2vh;right:2vw;width:23%;height:95vh;padding:1.4vw;border:1px solid #334155;border-radius:16px;background:#0f172adb}.leaderboard h2{margin:0 0 1.5vh;color:#93c5fd;font-size:1.5vw}.leaderboard ul,.result-list,.podium{margin:0;padding:0;list-style:none}.leaderboard li{display:grid;grid-template-columns:2.2vw 1fr auto;align-items:center;margin-bottom:.8vh;font-size:1.22vw}.leaderboard .rank{color:#94a3b8}.leaderboard li strong{color:#fbbf24}.leaderboard>p{position:absolute;right:1.4vw;bottom:1vh;left:1.4vw;padding:1vh;border-radius:8px;text-align:center;background:#172554}.lobby-stage{display:flex;align-items:center;justify-content:center;height:82vh}.qr-card{width:30vw;height:30vw;max-width:56vh;max-height:56vh;margin-right:4vw;padding:1.2vw;border-radius:20px;background:#fff}.qr-card img{width:100%;height:100%}.eyebrow{margin:0;color:#93c5fd;font-size:2vw}.room-code{margin:1vh 0;color:#fff;font-size:6.7vw;font-weight:900;letter-spacing:.12em}.join-url{max-width:30vw;color:#cbd5e1;font-size:1.1vw;overflow-wrap:anywhere}.countdown-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;height:82vh;font-size:4vw}.countdown-stage strong{color:#fbbf24;font-size:16vw;line-height:1}.question-stage{height:100%}.question-stage header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;height:8vh;font-size:1.8vw}.question-stage header b{color:#fbbf24;text-align:center}.question-stage time{color:#fbbf24;text-align:right;font-size:3.2vw;font-weight:900}.question-stage h1{display:flex;align-items:center;justify-content:center;height:23vh;margin:0;padding:1vh 2vw;text-align:center;font-size:clamp(28px,3.2vw,62px);line-height:1.12}.screen-answers{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:52vh}.screen-answer{display:grid;grid-template-columns:4vw 1fr;align-items:center;margin:.45vw;padding:1vw;border-radius:14px;font-size:1.7vw}.screen-answer span{font-size:3vw;font-weight:900}.reveal-stage{display:grid;grid-template-columns:30% 70%;grid-template-rows:10vh 1fr;height:82vh}.reveal-stage>p{grid-column:1 / 3;margin:1vh 0;text-align:center;font-size:2.8vw}.correct-number{display:flex;align-items:center;justify-content:center;width:17vw;height:17vw;align-self:center;justify-self:center;border:7px solid white;border-radius:50%;font-size:9vw;font-weight:900}.result-list{align-self:center;padding:1vw 3vw}.result-list li{display:flex;justify-content:space-between;margin:1vh 0;padding:1.2vh 1.4vw;border-radius:10px;font-size:1.6vw}.result-correct{background:#14532d}.result-wrong{background:#3f1d2e}.explanation{margin:1vh 3vw;color:#e2e8f0;font-size:1.1vw}.source-link{margin:0 3vw;color:#93c5fd;font-size:.9vw}.final-stage{height:82vh;text-align:center}.final-stage>p{margin:1vh 0;color:#fbbf24;font-size:3vw;font-weight:800}.winners{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;max-height:39vh}.winner{display:flex;flex-direction:column;justify-content:center;min-width:15vw;margin:1vh .6vw;padding:1vw;border:3px solid #fbbf24;border-radius:18px;background:#172554}.winner span{font-size:5vw}.winner strong{font-size:2vw}.winner b{margin-top:1vh;color:#fbbf24;font-size:1.6vw}.podium{max-width:52vw;margin:2vh auto 0}.podium li{display:grid;grid-template-columns:3vw 1fr auto;margin:.6vh 0;padding:.8vh 1vw;border-radius:8px;text-align:left;font-size:1.25vw;background:#1e293b}.facilitator{width:100%;min-height:100vh;padding:30px;color:#0f172a;background:#e2e8f0;overflow-y:auto}.facilitator>.brand{color:#0f172a;margin-bottom:24px}.fac-card{max-width:820px;margin:0 auto 18px;padding:24px;border-radius:14px;background:#fff;box-shadow:0 6px 25px #0f172a1f}.create-card label{display:inline-block;width:29%;margin-right:2%;color:#334155}.create-card .primary{width:35%}.screen-link{display:inline-block;margin:10px 0;color:#fff;text-decoration:none;background:#0f766e}.fac-actions{margin-top:14px}.fac-actions button{margin:4px 6px 4px 0;color:#0f172a;background:#cbd5e1}.fac-actions .primary{color:#fff;background:#2563eb}@media(max-width:640px){.brand{font-size:14px}.player-entry{justify-content:flex-start;padding-top:24px;overflow-y:auto}.create-card label,.create-card .primary{display:block;width:100%}}@media(prefers-reduced-motion:no-preference){.winner{animation:winner-in .5s ease-out both}@keyframes winner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
