.team-A{--c: var(--accent);--c-rgb: 255, 60, 111}.team-B{--c: var(--cyan);--c-rgb: 0, 212, 255}.aud{--c: var(--gold);--c-rgb: 255, 194, 68}.play{--team: var(--gold);--team-rgb: 255, 194, 68;position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:12px;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(120% 55% at 50% -5%,rgba(var(--team-rgb),.2),transparent 60%),radial-gradient(90% 40% at 50% 105%,rgba(var(--team-rgb),.1),transparent 70%),var(--bg);color:var(--text);font-family:Rajdhani,sans-serif;font-weight:500;line-height:1.35;-webkit-tap-highlight-color:transparent;overflow-x:hidden;max-width:560px;margin:0 auto}.play[data-role=A]{--team: var(--accent);--team-rgb: 255, 60, 111}.play[data-role=B]{--team: var(--cyan);--team-rgb: 0, 212, 255}.play[data-role=none]{--team: #8b7bff;--team-rgb: 139, 123, 255}.play button{font-family:inherit}.play button:hover{filter:none}.pl-banner{position:fixed;top:0;left:0;right:0;z-index:20;padding:calc(6px + env(safe-area-inset-top)) 12px 6px;text-align:center;font-weight:700;letter-spacing:.06em;font-size:.85rem;background:#ffc244f2;color:#1a1300}.pl-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:30;transform:translate(-50%);max-width:calc(100% - 32px);width:max-content;padding:12px 18px;border-radius:14px;font-weight:700;font-size:1rem;text-align:center;background:#1d2033;border:1px solid var(--border);color:var(--text-heading);box-shadow:0 12px 40px #00000080;animation:plToast 3.5s ease forwards}.pl-toast.error{border-color:#ff3c6f99}@keyframes plToast{0%{opacity:0;transform:translate(-50%,12px)}8%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.pl-logo{font-family:Bangers,cursive;font-size:2.4rem;letter-spacing:.05em;line-height:1;text-align:center}.pl-logo .a{color:var(--accent);text-shadow:0 0 18px rgba(255,60,111,.55)}.pl-logo .b{color:var(--cyan);text-shadow:0 0 18px rgba(0,212,255,.55)}.pl-h1{font-family:Bangers,cursive;font-weight:400;font-size:clamp(2rem,9vw,2.6rem);letter-spacing:.04em;color:var(--text-heading);line-height:1.05;text-align:center}.pl-h2{font-family:Bangers,cursive;font-weight:400;font-size:clamp(1.7rem,7.5vw,2.1rem);letter-spacing:.04em;color:var(--text-heading);text-align:center}.pl-sub{color:var(--text-muted);font-size:1.08rem;font-weight:600;text-align:center;max-width:34ch;margin:0 auto}.pl-sub .gold,.gold{color:var(--gold)}.pl-fine{color:var(--text-muted);font-size:.92rem;text-align:center;max-width:36ch;margin:4px auto 0}.pl-label{font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-top:6px}.pl-error{color:#ff7a9a;font-weight:700;text-align:center;font-size:1rem}.pl-chip{display:inline-block;margin:6px auto 0;padding:6px 14px;border-radius:999px;border:1px solid rgba(var(--team-rgb),.4);color:var(--team);font-weight:700}.pl-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:12px 4px}.pl-spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(var(--team-rgb),.2);border-top-color:var(--team);animation:plSpin .8s linear infinite}@keyframes plSpin{to{transform:rotate(360deg)}}.pl-btn{width:100%;min-height:56px;border:0;border-radius:16px;font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:.04em;color:#0b0c14;background:var(--team);box-shadow:0 8px 28px rgba(var(--team-rgb),.35);touch-action:manipulation}.pl-btn:disabled{opacity:.4;box-shadow:none}.pl-btn.ghost{background:transparent;color:var(--text-heading);border:1px solid var(--border);box-shadow:none}.pl-field{display:flex;flex-direction:column;gap:6px;width:100%}.pl-field span{font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.pl-field input,.pl-guess-form input{width:100%;min-height:58px;padding:0 16px;border-radius:16px;border:2px solid var(--border);background:var(--bg-card);color:var(--text-heading);font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.3rem;outline:none}.pl-field input:focus,.pl-guess-form input:focus{border-color:var(--team);box-shadow:0 0 0 4px rgba(var(--team-rgb),.18)}.pl-code-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.pl-code-input{width:100%;min-height:76px;text-align:center;border-radius:18px;border:2px solid var(--border);background:var(--bg-card);color:var(--text-heading);font-family:Space Mono,monospace;font-weight:700;font-size:2.4rem;letter-spacing:.35em;padding-left:.35em;outline:none;text-transform:uppercase}.pl-code-input:focus{border-color:var(--team)}.pl-join{flex:1;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:8px 0}.pl-join .pl-logo{margin-bottom:6px}.side-card{display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:14px 16px;border-radius:20px;text-align:left;border:2px solid rgba(var(--c-rgb),.5);background:linear-gradient(135deg,rgba(var(--c-rgb),.2),rgba(var(--c-rgb),.04));color:var(--text-heading);box-shadow:0 6px 24px rgba(var(--c-rgb),.12);touch-action:manipulation;transition:transform .1s ease}.side-card:active{transform:scale(.98)}.side-card:disabled{opacity:.38;filter:saturate(.4)}.side-icon{font-size:2rem;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(var(--c-rgb),.15);flex:none}.side-text{display:flex;flex-direction:column;min-width:0}.side-text b{font-family:Bangers,cursive;font-weight:400;font-size:1.75rem;letter-spacing:.04em;color:var(--c);line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-text small{color:var(--text-muted);font-weight:600;font-size:.98rem}.pl-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.pl-who{display:flex;flex-direction:column;min-width:0}.pl-side{font-family:Bangers,cursive;font-size:1.45rem;letter-spacing:.05em;color:var(--team);text-shadow:0 0 14px rgba(var(--team-rgb),.5);line-height:1.05;overflow-wrap:anywhere}.pl-name{color:var(--text-muted);font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-switch{flex:none;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--text);font-weight:700;font-size:.95rem}.pl-round{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--border)}.pl-q{font-family:Space Mono,monospace;font-weight:700;font-size:1.05rem;color:var(--text-heading)}.pl-q small{color:var(--text-muted);font-weight:400}.pl-clues{display:flex;gap:5px;flex:1;justify-content:center}.pl-clues i{width:12px;height:12px;border-radius:4px;background:var(--border);transition:all .3s ease}.pl-clues i.on{background:var(--team);box-shadow:0 0 10px rgba(var(--team-rgb),.6)}.pl-pts{font-family:Space Mono,monospace;font-size:.78rem;font-weight:700;padding:3px 8px;border-radius:8px;border:1px solid currentColor}.pl-pts.t1{color:var(--green)}.pl-pts.t2{color:var(--gold)}.pl-pts.t3{color:var(--accent)}.pl-timer{font-family:Space Mono,monospace;font-weight:700;color:var(--gold);min-width:3.2ch;text-align:right}.pl-timer.hot{color:var(--accent);animation:pulse .5s infinite alternate}.pl-buzz-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:6px 0}.play .buzzer{--size: min(76vw, 46dvh, 340px);position:relative;width:var(--size);height:var(--size);flex:none;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:Bangers,cursive;font-size:calc(var(--size) * .25);letter-spacing:.05em;text-shadow:0 4px 0 rgba(0,0,0,.22),0 0 24px rgba(255,255,255,.3);background:radial-gradient(circle at 32% 26%,#fff9,#fff0 30%),radial-gradient(circle at 50% 62%,rgb(var(--team-rgb)),rgba(var(--team-rgb),.85) 58%,rgba(var(--team-rgb),.55));box-shadow:0 0 0 10px rgba(var(--team-rgb),.16),0 0 0 22px rgba(var(--team-rgb),.06),0 20px 60px rgba(var(--team-rgb),.45),inset 0 -20px 34px #00000052,inset 0 6px 16px #ffffff4d;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .08s ease,filter .35s ease,box-shadow .35s ease}.play .buzzer-label{position:relative;z-index:1;line-height:1}.play .buzzer:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid rgba(var(--team-rgb),.7);opacity:0;pointer-events:none}.play .buzzer.armed{animation:buzzBreath 1.6s ease-in-out infinite;cursor:pointer}.play .buzzer.armed:after{animation:buzzRipple 1.6s ease-out infinite}.play .buzzer.armed:active,.play .buzzer.sending{transform:scale(.9);animation:none}.play .buzzer.sending{filter:brightness(1.25)}.play .buzzer.idle,.play .buzzer.locked{filter:saturate(0) brightness(.4);box-shadow:0 0 0 10px #ffffff0a,inset 0 -20px 34px #0006;cursor:default}.play .buzzer.locked .buzzer-label{font-size:1.4em}.play .buzzer.other{filter:saturate(.2) brightness(.5);cursor:default}.play .buzzer.mate{cursor:default}.play .buzzer.me{--team-rgb: 255, 194, 68;color:#2a1800;text-shadow:0 2px 0 rgba(255,255,255,.4);animation:buzzWin .9s ease-in-out infinite;cursor:default}.play .buzzer.me:after{animation:buzzRipple .9s ease-out infinite}@keyframes buzzBreath{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes buzzRipple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}@keyframes buzzWin{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.pl-status{text-align:center;min-height:86px;display:flex;flex-direction:column;gap:4px;align-items:center}.pl-status h2{font-family:Bangers,cursive;font-weight:400;font-size:clamp(1.8rem,8vw,2.3rem);letter-spacing:.04em;color:var(--text-heading);line-height:1.05}.pl-status p{color:var(--text-muted);font-size:1.08rem;font-weight:600;max-width:30ch}.pl-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pl-score{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:14px;background:rgba(var(--c-rgb),.07);border:1px solid rgba(var(--c-rgb),.25)}.pl-score span{font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-score b{font-family:Space Mono,monospace;font-size:1.35rem;color:var(--c)}.pl-score.mine{border-color:rgba(var(--c-rgb),.7);box-shadow:0 0 18px rgba(var(--c-rgb),.2)}.pl-reveal{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;animation:fadeIn .4s ease}.pl-result{text-align:center;padding:20px 16px;border-radius:22px;border:2px solid var(--border);background:var(--bg-card)}.pl-result.good{border-color:#3ddc8499;background:linear-gradient(160deg,#3ddc842e,#3ddc8408)}.pl-result.bad{border-color:#ff3c6f80;background:linear-gradient(160deg,#ff3c6f24,#ff3c6f05)}.pl-result-big{font-family:Bangers,cursive;font-size:4.2rem;line-height:1;color:var(--text-heading)}.pl-result.good .pl-result-big{color:var(--green);text-shadow:0 0 24px rgba(61,220,132,.5)}.pl-result.bad .pl-result-big{color:var(--accent)}.pl-result-title{font-family:Bangers,cursive;font-size:1.9rem;letter-spacing:.04em;color:var(--text-heading)}.pl-result-sub{color:var(--text-muted);font-weight:600;margin-top:4px}.pl-answer{text-align:center;padding:14px;border-radius:18px;background:#ffffff08;border:1px solid var(--border)}.pl-answer span{display:block;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.pl-answer b{font-family:Bangers,cursive;font-weight:400;font-size:2rem;letter-spacing:.03em;color:var(--gold);line-height:1.1}.pl-guess{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}.pl-guess-form{display:flex;flex-direction:column;gap:10px}.pl-locked{text-align:center;padding:18px;border-radius:20px;border:2px solid rgba(var(--team-rgb),.55);background:rgba(var(--team-rgb),.08)}.pl-locked span{display:block;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--team)}.pl-locked b{font-family:Bangers,cursive;font-weight:400;font-size:2.1rem;letter-spacing:.03em;color:var(--text-heading);word-break:break-word;line-height:1.1}.pl-aud-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:16px;background:rgba(var(--team-rgb),.07);border:1px solid rgba(var(--team-rgb),.25)}.pl-aud-foot span{font-weight:700;color:var(--text-muted)}.pl-aud-foot b{font-family:Space Mono,monospace;font-size:1.4rem;color:var(--team)}.pl-final{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;animation:fadeUp .5s ease}.pl-final-emoji{font-size:4rem;line-height:1;animation:float 2.4s ease-in-out infinite}.pl-final-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.pl-final-team{padding:14px 10px;border-radius:18px;border:2px solid rgba(var(--c-rgb),.3);background:rgba(var(--c-rgb),.06)}.pl-final-team span{display:block;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-final-team b{font-family:Bangers,cursive;font-weight:400;font-size:2.8rem;color:var(--c);line-height:1}.pl-final-team.win{border-color:var(--c);box-shadow:0 0 26px rgba(var(--c-rgb),.35)}.pl-aud-score{font-family:Bangers,cursive;font-size:5.5rem;line-height:1;color:var(--gold);text-shadow:0 0 30px rgba(255,194,68,.5)}.pl-me-card{width:100%;padding:16px;border-radius:20px;border:2px solid rgba(255,194,68,.5);background:#ffc24414;display:flex;flex-direction:column;gap:2px}.pl-me-card span{color:var(--text-muted);font-weight:700}.pl-me-card b{font-family:Bangers,cursive;font-weight:400;font-size:2.4rem;color:var(--text-heading);line-height:1.05}.pl-me-card small{color:var(--gold);font-weight:700;font-size:1rem}@media(prefers-reduced-motion:reduce){.play .buzzer,.play .buzzer:after,.pl-final-emoji,.pl-timer.hot{animation:none!important}}@media(max-height:640px){.pl-logo{font-size:2rem}.pl-status{min-height:70px}.side-card{min-height:72px}}:root{--bg: #07080f;--bg-card: #0e1019;--bg-elevated: #141621;--bg-panel: #0d0d22;--surface: #1a1d2e;--border: #232640;--border-glow: #ff3c6f30;--text: #d8dae6;--text-muted: #6b6f8d;--text-heading: #eef0ff;--accent: #ff3c6f;--accent-glow: #ff3c6f40;--cyan: #00d4ff;--cyan-glow: #00d4ff30;--gold: #ffc244;--green: #3ddc84}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Outfit,sans-serif;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}input::placeholder{color:var(--text-muted)}button{cursor:pointer}button:hover{filter:brightness(1.2)}button:active{transform:scale(.97)}a{color:inherit;text-decoration:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 0 30px var(--accent-glow),0 0 80px #ff3c6f15}50%{box-shadow:0 0 50px var(--accent-glow),0 0 120px #ff3c6f20}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%{opacity:1}to{opacity:.5}}.splash{min-height:100vh;min-height:100dvh;display:grid;place-items:center;font-family:Space Mono,monospace;color:var(--text-muted);letter-spacing:.15em;font-size:.85rem}.gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(70% 50% at 50% 0%,rgba(255,60,111,.14),transparent 70%),radial-gradient(60% 40% at 50% 100%,rgba(0,212,255,.1),transparent 70%),var(--bg)}.gate-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:28px 24px;border-radius:22px;background:#0e1019e6;border:1px solid var(--border);box-shadow:0 30px 80px #00000080;font-family:Rajdhani,sans-serif;animation:fadeUp .5s ease}.gate-logo{text-align:center;line-height:1}.gate-title{text-align:center;font-family:Rajdhani,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.gate-note{text-align:center;color:var(--gold);font-weight:600}.gate-field{display:flex;flex-direction:column;gap:6px}.gate-field span{font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.gate-field input{min-height:52px;padding:0 14px;border-radius:12px;border:2px solid var(--border);background:var(--bg-card);color:var(--text-heading);font-size:1.15rem;font-family:Rajdhani,sans-serif;font-weight:700;outline:none}.gate-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.gate-error{color:#ff7a9a;font-weight:700;text-align:center}.gate-btn{min-height:52px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-family:Rajdhani,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.06em;box-shadow:0 10px 30px var(--accent-glow)}.gate-btn:disabled{opacity:.45;box-shadow:none}.gate-alt{text-align:center;color:var(--cyan);font-weight:600;font-size:.95rem}
