:root{--bg-1: #1d0f52;--bg-2: #0b0820;--panel: rgba(255, 255, 255, .07);--panel-strong: rgba(255, 255, 255, .12);--text: #ffffff;--muted: #b9b3d9;--gold: #ffd23f;--accent: #ff3d8b;--ok: #3ddc84;--bad: #ff5c6c;--font: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg-2);color:var(--text);font-family:var(--font);cursor:default}.viewport{position:relative;width:100%;height:100%;overflow:hidden}.stage{position:absolute;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;font-size:36px}.backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 50% 0%,var(--bg-1) 0%,var(--bg-2) 70%)}.safe{position:absolute;top:54px;bottom:54px;left:96px;right:96px}.screen{position:absolute;top:0;left:0;right:0;bottom:140px;display:flex;flex-direction:column}.screen.center{align-items:center;justify-content:center;text-align:center}.center-text{text-align:center}.muted{color:var(--muted)}.logo{font-weight:900;letter-spacing:-2px;color:var(--gold);text-shadow:0 8px 0 var(--accent),0 16px 40px rgba(0,0,0,.5)}.logo-xl{font-size:200px;line-height:1}.tagline{margin-top:40px;font-size:48px;color:var(--muted)}.hint{margin-top:40px;font-size:30px;color:var(--muted)}.section-title{font-size:44px;font-weight:800;margin-bottom:24px}.section-title.big{font-size:64px}.error-box{margin-top:32px;padding:20px 32px;border-radius:16px;background:#ff5a6e33;border:3px solid #ff5a6e;font-size:32px}.home-actions{margin-top:80px}.btn{font-family:var(--font);font-size:44px;font-weight:800;padding:28px 64px;border-radius:999px;border:6px solid transparent;color:#1a1033;background:var(--gold);margin:0 16px;transition:transform .15s ease-out}.btn-secondary{background:var(--panel-strong);color:var(--text)}.btn.focused{transform:scale(1.08);border-color:#fff;box-shadow:0 0 0 6px var(--accent),0 12px 40px #00000080}.btn:disabled{opacity:.5}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;border:6px solid #fff;background:#ffffff1a;box-sizing:border-box;flex-shrink:0;line-height:1}.player-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px}.player-card,.player-slot{height:220px;border-radius:24px;box-sizing:border-box}.player-card{background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:pop .4s ease-out both}.player-card.offline{opacity:.4}.player-card-name{margin-top:14px;font-size:36px;font-weight:800;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card-tag{height:30px;font-size:24px;color:var(--gold)}.player-slot{border:4px dashed rgba(255,255,255,.15)}.lobby{flex-direction:row}.lobby-join{width:560px;margin-right:64px;padding:32px;box-sizing:border-box;border-radius:32px;background:var(--panel);display:flex;flex-direction:column;align-items:center;text-align:center}.lobby-join-title{font-size:40px;font-weight:800;margin-bottom:24px}.qr{width:380px;height:380px;padding:16px;background:#fff;border-radius:20px}.qr svg{width:100%;height:100%;display:block}.lobby-join-alt{margin-top:24px;font-size:28px;color:var(--muted);line-height:1.4}.lobby-join-alt b{color:var(--text)}.room-code{margin-top:20px;display:flex}.room-code span{display:block;width:96px;height:120px;line-height:120px;margin:0 6px;border-radius:16px;background:var(--gold);color:#1a1033;font-size:92px;font-weight:900}.lobby-side{flex:1;display:flex;flex-direction:column}.lobby-settings{margin-top:32px;font-size:34px;color:var(--muted)}.lobby-settings span{margin-right:48px}.lobby-settings b{color:var(--text)}.lobby-status{margin-top:24px;font-size:40px;font-weight:700;color:var(--gold)}.round-kicker{font-size:56px;color:var(--muted);font-weight:700}.round-title{margin-top:16px;font-size:150px;font-weight:900;color:var(--gold)}.round-rules{margin-top:40px;font-size:44px}.q-header{display:flex;align-items:center;justify-content:space-between;height:96px}.q-progress{font-size:38px;font-weight:700;color:var(--muted)}.timer-number{width:96px;height:96px;line-height:96px;border-radius:50%;text-align:center;font-size:56px;font-weight:900;background:var(--panel-strong)}.timer-number.urgent{background:var(--accent)}.timer-track{margin-top:12px;height:16px;border-radius:8px;background:var(--panel);overflow:hidden}.timer-track.empty{opacity:0}.timer-fill{height:100%;background:var(--gold);transform-origin:0 50%}.q-text{margin:20px 0;min-height:120px;font-size:60px;line-height:1.15;font-weight:800;display:flex;align-items:center}.option{position:relative;height:78px;margin-bottom:12px;padding:0 24px 0 12px;border-radius:20px;display:flex;align-items:center;animation:fade-up .4s ease-out both;transition:opacity .4s,transform .4s}.option-letter{width:58px;height:58px;line-height:58px;border-radius:14px;text-align:center;font-size:40px;font-weight:900;background:#14102b2e;flex-shrink:0;margin-right:24px}.option-text{flex:1;font-size:42px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option.dim,.option.correct{animation:none}.option.dim{opacity:.22}.option.correct{transform:scale(1.02);box-shadow:0 0 0 6px #fff,0 10px 40px #00000080}.option-check{margin-left:16px;font-size:48px;font-weight:900}.option-pickers{display:flex;margin-left:20px}.option-pickers .avatar{margin-left:-10px;border-width:4px;background:#1d1450}.answer-row{margin-top:16px;display:flex;justify-content:center}.answer-chip{position:relative;margin:0 14px;opacity:.45;transition:opacity .2s,transform .2s}.answer-chip.done{opacity:1;transform:translateY(-8px)}.answer-chip.offline{opacity:.15}.answer-check{position:absolute;right:-8px;bottom:-8px;width:34px;height:34px;line-height:34px;text-align:center;font-size:24px;font-weight:900;border-radius:50%;background:var(--ok);color:#10301f}.answer-chip:not(.done) .answer-check{display:none}.ranking-head{display:flex;align-items:center;height:96px}.ranking-answer{margin-left:24px;padding:10px 24px;border-radius:16px;font-size:38px;font-weight:800}.ranking-answer b{margin-right:12px}.ranking-list{flex:1}.rank-row{height:62px;margin-bottom:8px;padding:0 24px;border-radius:18px;background:var(--panel-strong);display:flex;align-items:center}.rank-row.wrong{background:var(--panel);opacity:.55}.rank-pos{width:56px;font-size:40px;font-weight:900;color:var(--gold)}.rank-name{flex:1;margin-left:20px;font-size:38px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-time{width:320px;text-align:right;font-size:34px;color:var(--muted)}.rank-points{width:180px;text-align:right;font-size:40px;font-weight:900;color:var(--ok)}.rank-row.wrong .rank-points{color:var(--muted)}.rank-row.wrong .rank-points.minus{color:var(--bad)}.overlay.standings{background:#08051af0}.standings-panel{width:1100px}.standing-row{height:80px;margin-bottom:10px;padding:0 28px;border-radius:20px;background:var(--panel-strong);display:flex;align-items:center}.standing-rank{width:60px;font-size:44px;font-weight:900;color:var(--gold)}.standing-name{flex:1;margin-left:20px;font-size:42px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.standing-score{font-size:46px;font-weight:900}.fact{margin-top:12px;font-size:28px;line-height:1.3;padding:18px 24px;border-radius:18px;background:#ffffff0f;color:var(--muted)}.score-list{position:relative}.score-row{position:absolute;top:0;left:0;right:0;height:84px;padding:0 28px;border-radius:20px;background:var(--panel);display:flex;align-items:center;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.score-rank{width:72px;font-size:44px;font-weight:900;color:var(--gold)}.score-name{flex:1;margin-left:24px;font-size:44px;font-weight:800}.score-gain{margin-right:40px;font-size:36px;font-weight:800;color:var(--ok);opacity:0;transform:translateY(12px);transition:opacity .4s .6s,transform .4s .6s}.score-gain.show{opacity:1;transform:none}.score-points{width:220px;text-align:right;font-size:48px;font-weight:900}.podium-stage{flex:1;display:flex;align-items:flex-end;justify-content:center}.podium-col{width:380px;margin:0 20px;display:flex;flex-direction:column;align-items:center}.podium-name{margin-top:12px;font-size:46px;font-weight:900}.podium-score{margin-bottom:16px;font-size:36px;color:var(--muted)}.podium-block{width:100%;border-radius:24px 24px 0 0;text-align:center;font-size:110px;font-weight:900;color:#1a1033;padding-top:20px;box-sizing:border-box}.podium-block.place-1{background:var(--gold)}.podium-block.place-2{background:#d9dbe8}.podium-block.place-3{background:#e3a06b}.podium-rest{margin-top:24px;text-align:center;font-size:32px;color:var(--muted)}.podium-rest span{margin:0 20px}.podium .hint{text-align:center;margin-top:16px}.caption{position:absolute;left:96px;right:96px;bottom:54px;height:116px;padding:0 36px;box-sizing:border-box;border-radius:28px;background:#0f0828eb;border:3px solid rgba(255,210,63,.5);display:flex;align-items:center;opacity:0;transform:translateY(24px);transition:opacity .35s,transform .35s}.caption.show{opacity:1;transform:none}.caption-speaker{font-size:28px;font-weight:900;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-right:32px;white-space:nowrap}.caption-text{font-size:40px;font-weight:600;line-height:1.2}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#050312d9;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fade .25s ease-out both}.overlay-title{font-size:160px;font-weight:900;color:var(--gold)}.overlay-sub{font-size:44px;color:var(--muted)}.dialog{padding:64px 80px;border-radius:40px;background:#22164f;text-align:center}.dialog-title{font-size:64px;font-weight:900}.dialog-text{margin:20px 0 48px;font-size:38px;color:var(--muted)}.net-banner{position:absolute;top:54px;left:50%;width:900px;margin-left:-450px;padding:16px;border-radius:16px;text-align:center;font-size:32px;font-weight:700;background:#ff5a6e}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(300px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.pop{animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}.fade-up{animation:fade-up .5s ease-out both}.fade-up.delay{animation-delay:.5s}.rise{animation:rise .8s cubic-bezier(.2,.9,.3,1) both}.audio-hint{position:absolute;right:96px;bottom:54px;padding:14px 26px;border-radius:999px;background:var(--gold);color:#14102b;font-size:26px;font-weight:800;z-index:5;animation:hint-pulse 1.6s ease-in-out infinite}@keyframes hint-pulse{50%{opacity:.6}}
