: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}html.facilitator-route,html.facilitator-route body,html.facilitator-route #app{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}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}.player-entry{height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:calc(24px + env(safe-area-inset-top));padding-right:calc(24px + env(safe-area-inset-right));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:calc(24px + env(safe-area-inset-left))}.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}.avatars .avatar-taken{display:none}.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}.question-layout,.answer-buttons,.question-progress,.player-game[data-phase=question] .player-meta,.player-game[data-phase=question] .player-status{display:none}.player-game[data-phase=question] .question-layout{display:flex;flex-direction:column;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;width:100%;height:100vh}.player-game[data-phase=question] .question-progress{display:flex;flex:0 0 10vh;align-items:center;justify-content:center;padding-top:env(safe-area-inset-top);color:#fff;font-size:24px;font-weight:800;background:#08111f}.player-game[data-phase=question] .answer-buttons{display:grid;flex:1 1 auto;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:0;padding-bottom:env(safe-area-inset-bottom)}.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}.player-countdown,.player-game[data-phase=countdown] .player-status{display:none}.player-game[data-phase=countdown] .player-countdown{display:flex;align-items:center;justify-content:center;height:calc(100vh - 70px);color:#fbbf24;font-size:min(58vw,58vh);font-weight:900;line-height:1}.player-final{display:none}.player-game[data-phase=final]{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.player-game[data-phase=final] .player-meta,.player-game[data-phase=final] .player-status{display:none}.player-game[data-phase=final] .player-final{display:block;min-height:100%;padding-top:calc(20px + env(safe-area-inset-top));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(28px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left));text-align:center}.player-final h1{margin:0;color:#fbbf24;font-size:32px}.your-rank{margin:8px 0 18px;color:#bfdbfe;font-size:20px;font-weight:800}.player-final-podium{display:flex;flex-wrap:wrap;justify-content:center}.player-podium-place{position:relative;display:grid;grid-template-columns:34px 52px 1fr auto;align-items:center;width:calc(50% - 8px);min-width:280px;margin:4px;padding:12px;border:3px solid #94a3b8;border-radius:14px;text-align:left;background:#172554}.player-podium-1{border-color:#facc15;background:#422006}.player-podium-2{border-color:#d1d5db;background:#1f2937}.player-podium-3{border-color:#fb923c;background:#431407}.player-final-rank{font-size:22px;font-weight:900}.player-final-avatar{font-size:34px}.player-podium-place strong{overflow:hidden;text-overflow:ellipsis}.player-podium-place b{color:#fbbf24}.player-final-standings{max-width:680px;margin:18px auto 0;padding:0;list-style:none}.player-final-standings li{display:grid;grid-template-columns:36px 42px 1fr auto;align-items:center;margin:5px 0;padding:10px 12px;border-radius:10px;text-align:left;background:#1e293b}.player-final-standings i{font-size:26px;font-style:normal}.player-final-standings b{color:#fbbf24}.current-player{outline:4px solid #60a5fa;outline-offset:-4px;background:#1e3a8a}.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}.tv-pairing,.tv-waiting{display:flex;align-items:center;justify-content:center;height:86vh;text-align:center}.tv-pairing>div:last-child{width:38vw;text-align:left}.tv-pairing h1{margin:1vh 0 2vh;font-size:4vw}.tv-pairing p:last-child,.tv-waiting p{color:#cbd5e1;font-size:1.7vw;line-height:1.4}.tv-waiting{flex-direction:column}.tv-waiting h1{margin:0;font-size:5vw}.tv-repair{position:absolute;right:1.5vw;bottom:1.5vh;padding:.7vw 1vw;color:#cbd5e1;font-size:.9vw;background:#1e293b}.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%}.pair-qr{width:30vw;margin-right:4vw}.pair-qr .qr-card{width:100%;margin-right:0}.pair-url{margin:1.2vh 0 0;color:#cbd5e1;font-size:1vw;line-height:1.35;overflow-wrap:anywhere}.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;overflow-wrap:break-word;overflow:hidden}.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{position:relative;height:84vh}.reveal-stage header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;height:5vh;font-size:1.25vw}.reveal-stage header b{color:#fbbf24;text-align:center}.reveal-stage h1{display:flex;align-items:center;justify-content:center;height:13vh;margin:0;padding:.5vh 1.5vw;text-align:center;font-size:3vw;line-height:1.08;overflow-wrap:break-word;overflow:hidden}.reveal-answers{height:39vh}.reveal-answer{position:relative;grid-template-columns:3vw 1fr 4vw;grid-template-rows:1fr auto;padding:.55vw .8vw;font-size:1.35vw}.reveal-answer>span{font-size:2.4vw}.correct-check{width:3.4vw;height:3.4vw;border-radius:50%;color:#047857;text-align:center;font-size:2.7vw;line-height:3.2vw;background:#fff;box-shadow:0 0 0 .25vw #22c55e}.screen-answer.correct-answer{border:.45vw solid #4ade80;box-shadow:inset 0 0 0 .2vw #052e16,0 0 1.2vw #4ade80cc}.answer-avatars{grid-column:1 / 4;min-height:3.2vh;overflow:hidden}.answer-avatars i{display:inline-block;margin:0 .22vw .2vh 0;font-size:1.45vw;font-style:normal;line-height:1}.correct-player-list{display:flex;flex-wrap:wrap;align-content:flex-start;height:10vh;margin:.6vh 0 0;padding:0;list-style:none;overflow:hidden}.correct-player-list li{display:flex;justify-content:space-between;width:31.8%;height:4.2vh;margin:.3vh .5%;padding:.55vh .7vw;border-radius:8px;font-size:1.05vw;background:#14532d}.correct-player-list .none-correct{width:100%;justify-content:center;color:#cbd5e1;background:#1e293b}.no-response-list{height:2.5vh;margin:0;color:#94a3b8;font-size:.85vw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reveal-stage footer{position:absolute;right:0;bottom:0;left:0;height:9vh;padding:.6vh 1vw;border-top:1px solid #334155;color:#cbd5e1;font-size:.88vw;line-height:1.2;overflow:hidden}.reveal-stage footer p{margin:0 0 .4vh}.reveal-stage footer a{color:#93c5fd}.final-stage{display:grid;grid-template-rows:8vh minmax(0,43vh) minmax(0,31vh);height:84vh;text-align:center}.final-stage>p{margin:0;color:#fbbf24;font-size:3vw;font-weight:800}.final-screen .screen-main{width:100%;height:89vh;padding-right:0}.final-podium{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;overflow:hidden}.podium-place{position:relative;display:grid;grid-template-rows:2.5vw 4.4vw 2vw 1.7vw;align-items:center;width:18%;height:18vh;margin:1vh .5%;padding:.6vw;border:.3vw solid #94a3b8;border-radius:18px;overflow:hidden;background:#1f2937}.podium-place-1{border-color:#facc15;background:linear-gradient(180deg,#713f12,#172554)}.podium-place-2{border-color:#d1d5db;background:linear-gradient(180deg,#374151,#172554)}.podium-place-3{border-color:#fb923c;background:linear-gradient(180deg,#7c2d12,#172554)}.podium-rank{font-size:1.8vw;font-weight:900}.podium-avatar{font-size:3.7vw;line-height:1}.podium-place strong{font-size:1.45vw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.podium-place b{color:#fbbf24;font-size:1.2vw}.final-podium.crowded .podium-place{grid-template-rows:1.5vw 2vw 1.4vw 1.2vw;width:15.4%;height:9.5vh;margin:.3vh .3%;padding:.2vw;border-width:.18vw;border-radius:10px}.final-podium.crowded .podium-rank{font-size:1.1vw}.final-podium.crowded .podium-avatar{font-size:1.7vw}.final-podium.crowded .podium-place strong{font-size:1vw}.final-podium.crowded .podium-place b{font-size:.9vw}.remaining-results{min-height:0;padding:0 1vw}.remaining-results h2{height:3vh;margin:0;color:#93c5fd;font-size:1.25vw}.remaining-results ol{display:grid;grid-auto-flow:column;grid-template-rows:repeat(11,minmax(0,1fr));grid-template-columns:1fr 1fr;height:27vh;margin:0;padding:0;list-style:none}.remaining-results li{display:grid;grid-template-columns:2vw 2vw 1fr auto;align-items:center;min-height:0;margin:.15vh .3vw;padding:.1vh .7vw;border-radius:6px;text-align:left;font-size:.95vw;background:#1e293b}.remaining-results i{font-size:1.2vw;font-style:normal}.remaining-results strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.remaining-results b{color:#fbbf24}.facilitator{width:100%;min-height:100vh;padding:30px;padding-top:calc(30px + env(safe-area-inset-top));padding-right:calc(30px + env(safe-area-inset-right));padding-bottom:calc(30px + env(safe-area-inset-bottom));padding-left:calc(30px + env(safe-area-inset-left));color:#0f172a;background:#e2e8f0;overflow:visible}.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 .auto-advance{width:32%;vertical-align:middle}.create-card .auto-advance input{width:auto;min-height:0;margin-right:7px}.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}.create-card .danger{margin-top:14px;color:#fff;background:#b91c1c}.unbound-card{text-align:center}@media(max-width:640px){.brand{font-size:14px}.player-entry{justify-content:flex-start;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom))}.create-card label,.create-card .primary{display:block;width:100%}.facilitator{padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left))}}@media(prefers-reduced-motion:no-preference){.podium-place{animation:winner-in .5s ease-out both}@keyframes winner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
