:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-top:#08081e;--bg-bottom:#02020c;--panel:#0f1423b8;--panel-strong:#0f1423db;--panel-border:#324664;--panel-glow:#0078ff;--text:#f0f0ff;--muted:#5a5a82;--cyan:#00dcff;--cyan-soft:#00dcff29;--cyan-dim:#005064;--orange:#ff6400;--orange-soft:#ff7a182e;--orange-dim:#642800;--danger:#ff3250;--success:#32ff50;--gold:gold;font-family:Avenir Next Condensed,DIN Condensed,Bahnschrift,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 11% 13%, #0078ff29, transparent 18rem), radial-gradient(circle at 88% 82%, #ff640021, transparent 22rem), linear-gradient(180deg, var(--bg-top), var(--bg-bottom));min-width:320px;min-height:100svh;color:var(--text);margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--success);outline-offset:4px}.app-shell{min-height:100svh;padding:clamp(1rem,3vw,2rem);position:relative;overflow-x:hidden}.app-shell:before{pointer-events:none;content:"";opacity:.9;background-image:radial-gradient(circle,#c8d2ffb8 0 1px,#0000 1.6px),radial-gradient(circle,#c8d2ff57 0 1px,#0000 1.4px);background-position:0 0,31px 47px;background-size:137px 149px,211px 181px;animation:4.4s ease-in-out infinite star-twinkle;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 0 58%,#0000 84%);mask-image:radial-gradient(circle at 50% 42%,#000 0 58%,#0000 84%)}.ambient{filter:blur(28px);opacity:.36;pointer-events:none;border-radius:999px;position:fixed}.ambient-one{background:var(--cyan);width:26rem;height:26rem;top:18rem;left:-10rem}.ambient-two{background:var(--orange);width:22rem;height:22rem;bottom:8rem;right:-7rem}.hero-card{z-index:1;background:linear-gradient(180deg, #ffffff0d, transparent 18%), var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #324664cc;border-radius:18px;flex-direction:column;width:min(1180px,100%);height:calc(100vh - clamp(2rem,6vw,4rem));min-height:calc(100svh - clamp(2rem,6vw,4rem));margin:0 auto;padding:clamp(1rem,3vw,2rem);display:flex;position:relative;box-shadow:0 0 0 1px #0078ff29,0 0 48px #0078ff38,0 24px 100px #00000080}.hero-card:after{content:"";background:var(--panel-glow);height:1px;box-shadow:0 0 4px var(--panel-glow), 0 0 14px var(--panel-glow);position:absolute;top:86px;left:0;right:0}.topbar,.cta-row,.audio-controls,.settings-strip{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.topbar{flex-shrink:0;justify-content:space-between;min-height:54px;margin-bottom:clamp(1rem,2vw,2rem)}.brand{color:var(--text);text-transform:uppercase;letter-spacing:.16em;text-shadow:0 0 8px #f0f0ff73,0 0 18px #0078ff47;background:0 0;border:0;align-items:baseline;gap:.45rem;font-weight:900;display:flex}.brand span:first-child{color:var(--cyan)}.brand span:last-child{color:var(--orange)}.landing-grid,.room-grid,.game-grid{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(1rem,3vw,2rem);min-height:0;display:grid}.final-panel{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.headline{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.landing-grid .headline{justify-content:space-between;gap:clamp(.6rem,1.8vh,1rem);overflow:hidden}.landing-grid .headline h1{font-size:clamp(3rem,6.2vw,5.3rem)}.landing-grid .headline .eyebrow{margin-bottom:clamp(.35rem,1vh,.65rem)}.landing-grid .headline .lede{margin:0;font-size:clamp(.98rem,1.5vw,1.15rem);line-height:1.35}.landing-grid .cta-row{background:linear-gradient(90deg,#00dcff17,#0000 36%),#0003;border:1px solid #ffffff14;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-self:flex-start;width:min(100%,520px);max-width:min(100%,720px);padding:.8rem;display:grid}.landing-grid .cta-row .primary-button,.landing-grid .cta-row .secondary-button,.landing-grid .cta-row .ghost-button{width:100%;min-height:60px;padding:.9rem 1.15rem;font-size:1.05rem}.landing-grid .cta-row .primary-button,.landing-grid .cta-row .secondary-button{min-height:74px;font-size:1.18rem}.landing-grid .cta-row .ghost-button:last-child{grid-column:1/-1}.headline h1,.setup-panel h1,.lobby-panel h1,.round-stage h1,.final-panel h1{letter-spacing:-.07em;text-transform:uppercase;max-width:12ch;margin:0;font-size:clamp(3rem,10vw,7.4rem);line-height:.84}.eyebrow{color:var(--success);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .8rem;font-size:.83rem;font-weight:900}.lede{max-width:58ch;color:var(--muted);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.5}.primary-button,.secondary-button,.ghost-button{min-height:48px;color:var(--text);letter-spacing:.04em;text-transform:uppercase;border-radius:12px;padding:.82rem 1.2rem;font-weight:900}.primary-button{background:linear-gradient(135deg, var(--cyan), #2077ff);border:0;box-shadow:0 0 18px #00dcff8c}.secondary-button{background:linear-gradient(135deg, var(--orange), #ff315f);border:0;box-shadow:0 0 18px #ff64007a}.ghost-button{background:#0f1423b8;border:1px solid #fff3}.choice-preview,.rules-panel,.setup-panel,.lobby-panel,.scoreboard,.round-stage,.final-panel{background:var(--panel-strong);border:2px solid #324664d1;border-radius:16px;padding:clamp(1rem,3vw,1.5rem)}.choice-preview{flex-direction:column;flex:1;min-height:0;display:flex}.rules-panel{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.rules-intro{text-align:center}.rules-intro h1{letter-spacing:-.07em;text-transform:uppercase;max-width:14ch;margin:0 auto;font-size:clamp(2.7rem,8vw,6rem);line-height:.86}.rules-intro .lede{margin-left:auto;margin-right:auto}.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2vw,1rem);margin:clamp(1rem,3vh,2rem) 0;display:grid}.rule-card{background:#0003;border:1px solid #ffffff1f;border-radius:16px;min-height:0;padding:clamp(.85rem,2vw,1.2rem)}.rule-card h2{text-transform:uppercase;letter-spacing:.08em;margin:.6rem 0 .35rem}.rule-card p{color:var(--muted);margin:0;line-height:1.45}.rule-number{letter-spacing:-.08em;text-shadow:0 0 14px;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:1000;line-height:.82;display:block}.cyan-rule{color:var(--cyan);background:var(--cyan-soft);border-color:#00dcff73}.orange-rule{color:var(--orange);background:var(--orange-soft);border-color:#ff7a1880}.gold-rule{color:var(--gold);background:#ffd7001a;border-color:#ffd70073}.rules-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.preview-card{text-transform:uppercase;border-radius:16px;flex-direction:column;flex:1;justify-content:flex-end;gap:.35rem;min-height:6rem;margin-bottom:1rem;padding:1.2rem;display:flex}.preview-card span,.vote-button span,.reveal-card h2{letter-spacing:-.08em;font-size:clamp(2.5rem,8vw,5.5rem);font-weight:1000;line-height:.82}.silicon-panel{background:var(--cyan-soft);color:var(--cyan);border:1px solid #00dcff66}.soul-panel{background:var(--orange-soft);color:var(--orange);border:1px solid #ff7a1873}.setup-panel,.lobby-panel{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow-y:auto}.setup-panel{max-width:620px;margin:0 auto}.solo-choice-panel{max-width:820px}.solo-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.5rem;display:grid}.mode-card{min-height:220px;color:var(--text);text-align:left;text-transform:uppercase;border-radius:18px;flex-direction:column;justify-content:flex-end;gap:.55rem;padding:clamp(1rem,3vw,1.35rem);transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.mode-card:hover{transform:translateY(-3px)}.mode-card span{letter-spacing:-.08em;font-size:clamp(2.4rem,7vw,4.8rem);font-weight:1000;line-height:.82}.mode-card strong{letter-spacing:.08em;font-size:1rem}.mode-card small{color:var(--muted);letter-spacing:.06em;font-size:.85rem;line-height:1.35}.mode-card-alone{background:radial-gradient(circle at 20% 18%,#00dcff38,#0000 12rem),#0000003d;border:1px solid #00dcff80;box-shadow:inset 0 0 24px #00dcff14}.mode-card-alone span{color:var(--cyan);text-shadow:0 0 14px #00dcff8c}.mode-card-random{background:radial-gradient(circle at 80% 18%,#ff64003d,#0000 12rem),#0000003d;border:1px solid #ff7a188a;box-shadow:inset 0 0 24px #ff640014}.mode-card-random span{color:var(--orange);text-shadow:0 0 14px #ff640085}label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;gap:.45rem;margin:1.25rem 0;font-weight:800;display:grid}input{min-height:54px;color:var(--text);background:#00000038;border:1px solid #ffffff2e;border-radius:16px;padding:.85rem 1rem}.notice{background:#ff315f1f;border:1px solid #ff315f73;border-radius:18px;margin-bottom:1rem;padding:.9rem 1rem}.invite-box{color:var(--cyan);white-space:nowrap;background:#00000047;border:1px solid #00dcff2e;border-radius:16px;margin:1rem 0;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:auto}.invite-box-copied{border-color:#32ff50a8;animation:.52s ease-out invite-copied-pulse;transform:translateY(-1px);box-shadow:inset 0 0 18px #32ff5024,0 0 26px #32ff503d}.copy-invite-button{transition:border-color .16s,color .16s,box-shadow .16s;position:relative;overflow:hidden}.copy-invite-button.copied{color:var(--success);border-color:#32ff5094;box-shadow:0 0 20px #32ff5033}.copy-invite-button.copied:after{content:"";background:linear-gradient(115deg,#0000 34%,#32ff5047 48%,#0000 62%);animation:.68s ease-out copy-sheen;position:absolute;inset:-35%}.copy-confirmation{width:fit-content;color:var(--success);letter-spacing:.12em;text-transform:uppercase;opacity:0;background:#32ff501a;border:1px solid #32ff506b;border-radius:999px;margin-left:.75rem;padding:.42rem .7rem;font-size:.78rem;font-weight:900;transition:opacity .16s,transform .16s;display:inline-flex;transform:translateY(6px)}.copy-confirmation.visible{opacity:1;transform:translateY(0)}.settings-strip{margin:1rem 0}.settings-strip span{color:var(--muted);background:#ffffff12;border-radius:999px;padding:.45rem .7rem}.round-stage{text-align:center;border-color:#0078ff99;flex-direction:column;justify-content:center;gap:clamp(.5rem,1.5vh,1rem);min-height:0;display:flex;position:relative;overflow-y:auto;box-shadow:inset 0 0 40px #0078ff0f,0 0 20px #0078ff2e}.round-stage .lede{text-align:center;margin-left:auto;margin-right:auto}.round-stage.phase-pre_reveal,.round-stage.phase-reveal,.round-stage.phase-intermission{overflow:hidden}.round-stage.phase-reveal{gap:clamp(.4rem,1vh,.75rem)}.round-stage.phase-intermission{justify-content:flex-start;gap:clamp(.35rem,.8vh,.6rem)}.round-stage.phase-reveal .timer-ring{width:clamp(6.5rem,10vw,8.2rem);height:clamp(6.5rem,10vw,8.2rem)}.round-stage.phase-intermission .timer-ring{width:clamp(4.8rem,8vw,6rem);height:clamp(4.8rem,8vw,6rem)}.round-stage.phase-reveal .timer-ring strong{font-size:clamp(2.8rem,5vw,3.4rem)}.round-stage.phase-intermission .timer-ring strong{font-size:clamp(2.1rem,4vw,2.7rem)}.round-stage.phase-reveal .timer-ring span{margin-top:-1.9rem}.round-stage.phase-intermission .timer-ring span{margin-top:-1.45rem;font-size:.72rem}.round-stage.phase-reveal h1{font-size:clamp(2.8rem,7vw,5.2rem)}.round-stage.phase-intermission h1{letter-spacing:-.08em;white-space:nowrap;max-width:none;font-size:clamp(2rem,4.4vw,3.5rem)}.round-stage.phase-reveal .reveal-card h2{font-size:clamp(2.8rem,7vw,5.2rem)}.round-stage.phase-intermission .reveal-card{flex:0 auto;padding:clamp(.7rem,1.4vh,.9rem)}.round-stage.phase-intermission .reveal-header{margin-bottom:.35rem}.round-stage.phase-intermission .reveal-card h2{font-size:clamp(2.4rem,6vw,4.1rem)}.round-stage.phase-intermission .reveal-details{flex:0 auto;padding:clamp(.65rem,1.4vh,.85rem);overflow:hidden}.round-stage.phase-intermission .reveal-details dl,.round-stage.phase-intermission .reveal-details p:not(.result-message){display:none}.waiting-next-card{background:radial-gradient(circle at 50% 0,#ffd70029,#0000 14rem),#0000003d;border:1px solid #ffd7006b;border-radius:18px;width:min(100%,680px);margin:0 auto;padding:clamp(1rem,3vw,1.5rem)}.waiting-next-card h2{color:var(--gold);text-transform:uppercase;margin:0}.round-meta{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-weight:900;display:flex}.timer-ring{background:radial-gradient(circle,#00dcff1f,#0000 64%);border:2px solid #00dcff94;border-radius:999px;place-self:center;place-items:center;width:10rem;height:10rem;display:grid;box-shadow:inset 0 0 28px #00dcff33}.timer-ring strong{font-size:3.8rem;line-height:.8}.timer-ring span{color:var(--muted);text-transform:uppercase;margin-top:-2.4rem}.timer-bar{background:#ffffff14;border:1px solid #ffffff14;border-radius:0;justify-self:center;width:min(100%,820px);height:12px;overflow:hidden}.timer-bar span{background:linear-gradient(90deg, var(--danger), var(--cyan));height:100%;transition:width .18s linear;display:block;box-shadow:0 0 14px}.vote-grid{flex:1;grid-template-columns:1fr 1fr;gap:1rem;min-height:0;display:grid}.vote-button{text-transform:uppercase;border-radius:16px;align-content:center;gap:.5rem;height:100%;min-height:120px;display:grid}.vote-button.silicon{color:var(--cyan);background:linear-gradient(#00dcff2e,#00000038);border:1px solid #00dcffa6}.vote-button.soul{color:var(--orange);background:linear-gradient(#ff7a1833,#00000038);border:1px solid #ff6400b8}.vote-button.locked{box-shadow:0 0 38px #40ff8a3d}.vote-button:disabled{cursor:not-allowed;opacity:.78}.scoreboard{flex-direction:column;min-height:0;display:flex}.scoreboard h2{color:var(--gold);text-transform:uppercase;margin-top:0}.score-row{background:#0f1423bf;border:2px solid #324664cc;border-radius:16px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.7rem;margin-bottom:.75rem;padding:.8rem;display:grid}.score-row.you{border-color:#32ff50bf;box-shadow:0 0 16px #32ff5038}.status-dot{background:var(--danger);border-radius:999px;width:.75rem;height:.75rem}.status-dot[data-connected=true]{background:var(--success)}.results-list{color:var(--muted);margin-top:1rem}.reveal-card{text-align:left;border-radius:16px;flex-direction:column;flex:1;min-height:0;padding:clamp(.85rem,2vh,1rem);display:flex;overflow:hidden}.reveal-card.silicon{background:var(--cyan-soft);border:1px solid #00dcff8c}.reveal-card.soul{background:var(--orange-soft);border:1px solid #ff7a1899}.reveal-card dl{gap:.7rem;margin:0;display:grid}.reveal-card dt{color:var(--muted);text-transform:uppercase;font-size:.78rem}.reveal-card dd{margin:0;font-size:1.2rem}.final-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:2rem 0;display:grid}.final-card{background:#ffffff0f;border:1px solid #ffffff24;border-radius:22px;padding:1rem}.final-card h2{margin-bottom:.3rem}.leaderboard-panel{flex:1;grid-template-columns:minmax(300px,.95fr) minmax(320px,1.05fr);gap:clamp(1rem,3vw,2rem);min-height:0;display:grid}.leaderboard-hero,.leaderboard-list{background:var(--panel-strong);border:2px solid #324664d1;border-radius:16px;padding:clamp(1rem,3vw,1.5rem)}.leaderboard-hero{background:radial-gradient(circle at 20% 10%, #ffd70029, transparent 14rem), radial-gradient(circle at 80% 80%, #00dcff24, transparent 16rem), var(--panel-strong);flex-direction:column;justify-content:center;display:flex;overflow:hidden}.leaderboard-hero h1{max-width:100%;color:var(--gold);letter-spacing:-.07em;text-transform:uppercase;text-shadow:0 0 18px #ffd70066;margin:0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.88}.leaderboard-champion{background:#ffd7001a;border:1px solid #ffd7006b;border-radius:18px;gap:.25rem;margin:1rem 0;padding:1rem;display:grid}.leaderboard-champion span,.leaderboard-champion b,.leaderboard-score span,.leaderboard-stat span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.leaderboard-champion strong{color:var(--gold);text-transform:uppercase;font-size:clamp(1.8rem,5vw,3.3rem);line-height:.95}.leaderboard-list{flex-direction:column;gap:.75rem;min-height:0;display:flex;overflow-y:auto}.leaderboard-row{background:linear-gradient(90deg,#00dcff1a,#0000 32%),#00000038;border:1px solid #ffffff1f;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:clamp(.75rem,2vw,1rem);padding:.9rem;display:grid}.leaderboard-row:first-of-type{border-color:#ffd7008c;box-shadow:0 0 22px #ffd7002e}.leaderboard-rank{min-width:3rem;color:var(--cyan);text-shadow:0 0 10px;font-size:1.4rem;font-weight:1000}.leaderboard-player{gap:.2rem;min-width:0;display:grid}.leaderboard-player strong{letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:1.15rem;overflow:hidden}.leaderboard-player span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.leaderboard-score,.leaderboard-stat{justify-items:end;gap:.12rem;display:grid}.leaderboard-score strong{color:var(--gold);text-shadow:0 0 10px #ffd7006b;font-size:2rem;line-height:.9}.leaderboard-stat strong{color:var(--success);font-size:1.35rem;line-height:.9}.leaderboard-empty{color:var(--muted);text-align:center;margin:auto;font-size:1.1rem}@media (width<=820px){.app-shell{padding:clamp(.6rem,2.5vw,1rem)}.hero-card{height:auto;min-height:calc(100svh - clamp(1.2rem,5vw,2rem));overflow:visible}.hero-card:after{top:72px}.landing-grid,.room-grid,.game-grid,.rules-grid,.leaderboard-panel,.solo-choice-grid,.vote-grid{grid-template-columns:1fr}.landing-grid,.room-grid,.game-grid,.leaderboard-panel{flex:initial;min-height:auto}.landing-grid .headline{justify-content:flex-start;overflow:visible}.landing-grid .headline h1{font-size:clamp(2.55rem,13vw,4.6rem)}.landing-grid .cta-row{grid-template-columns:1fr;width:100%;max-width:none;padding:.65rem}.landing-grid .cta-row .primary-button,.landing-grid .cta-row .secondary-button,.landing-grid .cta-row .ghost-button{min-height:54px;padding:.8rem 1rem;font-size:1rem}.choice-preview,.rules-panel,.setup-panel,.lobby-panel,.scoreboard,.round-stage,.final-panel,.leaderboard-hero,.leaderboard-list{min-height:auto;overflow:visible}.choice-preview{flex:initial}.preview-card{flex:initial;min-height:5.25rem;margin-bottom:.75rem}.preview-card span,.vote-button span,.reveal-card h2{font-size:clamp(2.15rem,12vw,4rem)}.setup-panel,.lobby-panel,.rules-panel,.round-stage{justify-content:flex-start}.solo-choice-panel{max-width:none}.mode-card{min-height:160px}.scoreboard{max-height:none}.player-cards-list{flex:initial;max-height:42svh}.leaderboard-row{grid-template-columns:auto minmax(0,1fr)}.leaderboard-score,.leaderboard-stat{justify-items:start}.round-stage{min-height:auto}.topbar{align-items:flex-start}.vote-shortcut{display:none}}@media (width<=520px){.brand{font-size:.8rem}.topbar{min-height:44px;margin-bottom:.75rem}.hero-card{border-radius:14px;padding:.75rem}.hero-card:after{top:58px}.headline h1,.setup-panel h1,.lobby-panel h1,.round-stage h1,.final-panel h1,.rules-intro h1{font-size:clamp(2.25rem,14vw,3.5rem)}.landing-grid{gap:.75rem}.landing-grid .headline{gap:.55rem}.landing-grid .headline h1{font-size:clamp(2.35rem,13vw,3.8rem);line-height:.86}.eyebrow{letter-spacing:.14em;font-size:.68rem}.lede,.landing-grid .headline .lede{font-size:.95rem;line-height:1.38}.choice-preview,.rules-panel,.setup-panel,.lobby-panel,.scoreboard,.round-stage,.final-panel,.leaderboard-hero,.leaderboard-list{border-radius:14px;padding:.8rem}.landing-grid .cta-row{border-radius:14px;gap:.5rem;padding:.5rem}.landing-grid .cta-row .primary-button,.landing-grid .cta-row .secondary-button,.landing-grid .cta-row .ghost-button{border-radius:10px;min-height:50px}.preview-card{border-radius:12px;min-height:4.6rem;padding:.9rem}.preview-card span{font-size:clamp(2rem,13vw,3rem)}.choice-preview p{margin:.35rem 0 0;font-size:.86rem;line-height:1.35}.rules-grid,.solo-choice-grid,.vote-grid{gap:.65rem}.game-grid{gap:.85rem}.round-stage.phase-voting{justify-content:center;gap:.85rem;min-height:320px}.round-stage.phase-voting h1{font-size:clamp(2.15rem,10vw,3rem);line-height:.9}.round-stage.phase-voting .lede{margin:.45rem auto .1rem;font-size:.92rem}.round-stage.phase-voting .timer-ring{width:6.6rem;height:6.6rem}.round-stage.phase-voting .timer-ring strong{font-size:2.75rem}.round-stage.phase-voting .timer-ring span{margin-top:-1.7rem;font-size:.65rem}.round-stage.phase-voting .timer-bar{height:10px}.round-stage.phase-voting .vote-grid{flex:initial;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:.35rem}.mode-card{min-height:132px}.mode-card span{font-size:clamp(2rem,13vw,3.5rem)}.timer-ring{width:7rem;height:7rem}.timer-ring strong{font-size:2.9rem}.vote-button{border-radius:14px;min-height:112px;padding:1.45rem .6rem .8rem}.vote-button span{font-size:clamp(1.7rem,8vw,2.55rem)}.vote-content{gap:.38rem}.vote-content small{letter-spacing:.06em;font-size:.68rem}.vote-indicator-circle{width:16px;height:16px;top:.35rem;right:.35rem}.round-meta{gap:.6rem;font-size:.75rem}.player-card{min-height:78px;padding:.65rem}.player-score{font-size:1.8rem}.scoreboard h2{margin:0 0 .65rem;font-size:1rem}.leaderboard-row{padding:.75rem}.leaderboard-score strong{font-size:1.55rem}}@media (prefers-reduced-motion:no-preference){.hero-card,.preview-card,.round-stage{animation:.56s both rise-in}.timer-ring{animation:1.8s ease-in-out infinite pulse}}@keyframes star-twinkle{50%{opacity:.45}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}@keyframes pulse{50%{transform:scale(1.03)}}@keyframes invite-copied-pulse{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-2px)scale(1.015)}}@keyframes copy-sheen{0%{transform:translate(-65%)}to{transform:translate(65%)}}.glow-text{text-shadow:0 0 10px}.glow-text.large{font-size:clamp(2rem,6vw,4rem)}.glow-text.massive{text-shadow:0 0 15px,0 0 30px;font-size:clamp(3rem,10vw,7rem)}.glow-text.gold{color:var(--gold)}.pulse-color{animation:6s infinite alternate color-pulse}@keyframes color-pulse{0%{color:var(--cyan)}to{color:var(--orange)}}.subtext{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:1.2rem}.choosing-phase{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:200px;display:flex}.pre-reveal-phase{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.tension{z-index:2;transition:transform .1s linear}.color-silicon{color:var(--cyan)}.color-soul{color:var(--orange)}.color-winner{color:var(--success)}.color-loser{color:var(--danger)}.color-muted{color:var(--muted)}.vignette-overlay{pointer-events:none;z-index:1;background:radial-gradient(circle,#0000 30%,#000c 70%);position:absolute;inset:0}.elastic-entrance{animation:.6s cubic-bezier(.175,.885,.32,1.275) both elastic-scale}@keyframes elastic-scale{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.fade-in-delayed{animation:.5s ease-out .3s both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.reveal-header{text-align:center;flex-shrink:0;margin-bottom:clamp(.65rem,2vh,1rem)}.reveal-header h2{margin:0}.reveal-details{background:#0003;border-radius:12px;flex:1;min-height:0;padding:clamp(.85rem,2vh,1.15rem);overflow:hidden}.result-message{text-align:center;margin:0 0 clamp(.6rem,1.5vh,1rem);font-size:clamp(1rem,2.5vw,1.35rem)}.reveal-details p:last-child{margin-bottom:0}.blackout-bg{position:relative}.blackout-bg:before{content:"";z-index:0;pointer-events:none;background:#0009;position:absolute;inset:-50vw}.game-over-title{z-index:10;text-align:center;opacity:0;justify-content:center;width:100%;margin-bottom:clamp(1rem,3vh,3rem);transition:all .8s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;transform:translateY(-50px)}.game-over-title.drop-in{opacity:1;transform:translateY(0)}.pedestals-container{z-index:5;flex:1;justify-content:center;align-items:flex-end;gap:2rem;width:100%;min-height:0;margin-bottom:2rem;display:flex;position:relative}.pedestal-wrapper{opacity:0;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;transition:all 1s cubic-bezier(.2,.8,.2,1);display:flex;transform:translateY(100%)}.pedestal-wrapper.rise-up{opacity:1;transform:translateY(0)}.pedestal-block{border:2px solid var(--panel-border);background:var(--panel);border-radius:12px 12px 0 0;justify-content:center;align-items:center;width:100%;min-width:120px;transition:all .5s;display:flex;position:relative;overflow:hidden}.pedestal-block:before{content:"";opacity:.5;background:currentColor;height:4px;position:absolute;top:0;left:0;right:0}.pedestal-block.rank-0{border-color:var(--gold);height:min(200px,20vh);color:var(--gold)}.pedestal-block.rank-1{border-color:var(--cyan);height:min(140px,14vh);color:var(--cyan)}.pedestal-block.rank-2{border-color:var(--orange);height:min(100px,10vh);color:var(--orange)}.pedestal-block.champion-glow{animation:2s infinite alternate champion-pulse;box-shadow:0 0 30px #ffd70066,inset 0 0 20px #ffd70033}@keyframes champion-pulse{0%{box-shadow:0 0 20px #ffd7004d,inset 0 0 10px #ffd7001a}to{box-shadow:0 0 40px #ffd70099,inset 0 0 30px #ffd7004d}}.rank-label{opacity:.8;font-size:2rem;font-weight:900}.player-info{text-align:center;margin-bottom:1rem;transition:opacity .5s}.player-info.hidden{opacity:0}.player-info h3{margin:0 0 .5rem;font-size:1.5rem}.score-counter{font-size:2.5rem;font-weight:900}.pedestal-wrapper.rank-0 .score-counter{color:var(--gold);font-size:3.5rem}.champion-crown{margin-bottom:1rem}.final-actions{z-index:10;text-align:center;flex-wrap:wrap;justify-content:center;gap:.8rem;width:100%;display:flex;position:relative}.vote-button{position:relative;overflow:hidden}.vote-shortcut{color:currentColor;width:28px;height:28px;font:inherit;background:#0000005c;border:1px solid;border-radius:8px;place-items:center;font-size:.85rem;font-weight:800;line-height:1;display:inline-grid;position:absolute;top:1rem;left:1rem;box-shadow:0 0 14px #ffffff14}.vote-indicator-circle{opacity:.5;background:#0006;border:2px solid;border-radius:50%;width:24px;height:24px;transition:all .3s;position:absolute;top:1rem;right:1rem}.vote-button.locked .vote-indicator-circle{opacity:1;box-shadow:0 0 15px}.inner-highlight{background:#fff3;border-radius:50%;position:absolute;inset:4px}.vote-button.locked .inner-highlight{background:#fffc}.vote-content{flex-direction:column;align-items:center;gap:.5rem;display:flex}@media (width<=820px){.vote-shortcut{display:none}}@media (width<=520px){.round-stage.phase-voting{padding-top:1.9rem}.round-stage.phase-voting .round-meta{letter-spacing:.1em;pointer-events:none;font-size:.64rem;position:absolute;top:.75rem;left:.8rem;right:.8rem}}.locked-label{color:var(--success);text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem;animation:2s infinite pulse}.player-cards-list{flex-direction:column;flex:1;gap:.5rem;min-height:0;margin-top:1rem;display:flex;overflow-y:auto}.glass-panel{background:var(--panel-strong);border:2px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;transition:all .3s}.player-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity score""vote vote";align-items:center;gap:.55rem .75rem;min-height:86px;padding:.75rem;display:grid}.player-card.border-default{border-color:var(--panel-border)}.player-card.border-you{border-color:var(--success);box-shadow:0 0 15px #32ff5033}.player-card.border-voted{border-color:var(--cyan);box-shadow:0 0 15px #00dcff33}.player-card.border-winner{border-color:var(--success);box-shadow:0 0 20px #32ff504d}.player-card.border-loser{border-color:var(--danger);box-shadow:0 0 15px #ff325033}.player-card.border-waiting{border-color:#ffd7008f;box-shadow:0 0 15px #ffd70029}.player-card-left{grid-area:identity;align-items:center;gap:.65rem;min-width:0;display:flex}.player-badge{border:2px solid var(--panel-glow);width:34px;height:34px;color:var(--text);background:#0078ff33;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex;box-shadow:inset 0 0 10px #0078ff80}.player-name-status{flex-direction:column;gap:.25rem;min-width:0;display:flex}.player-name{text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.status-indicator{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.68rem;display:flex}.player-card-center{min-width:0;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#00000038;border-radius:999px;grid-area:vote;justify-content:flex-start;align-items:center;padding:.28rem .5rem;font-size:.68rem;font-weight:900;display:flex}.vote-status,.vote-reveal{min-width:0}.vote-status span,.vote-reveal span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pulse-opacity{animation:1.5s infinite alternate pulse-opacity}@keyframes pulse-opacity{0%{opacity:.4}to{opacity:1}}.player-card-right{grid-area:score;justify-content:flex-end;align-items:center;display:flex}.player-score{text-align:right;min-width:2ch;font-size:2.2rem;font-weight:900;line-height:1}
