:root{--bg-dark: #05060f;--bg-card: #0d0e1f;--neon-magenta: #ff2d78;--neon-cyan: #00f5ff;--neon-gold: #ffd700;--neon-purple: #9d00ff;--neon-green: #39ff14;--text-primary: #e8e8ff;--text-muted: #7b7b9a;--border-glow: rgba(0, 245, 255, .3);--font-pixel: "Press Start 2P", monospace;--font-ui: "Rajdhani", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:9999}a{color:var(--neon-cyan);text-decoration:none}button{cursor:pointer;font-family:var(--font-ui)}.glow-magenta{text-shadow:0 0 10px var(--neon-magenta),0 0 20px var(--neon-magenta)}.glow-cyan{text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan)}.glow-gold{text-shadow:0 0 10px var(--neon-gold),0 0 20px var(--neon-gold)}.card{background:var(--bg-card);border:1px solid var(--border-glow);border-radius:8px;box-shadow:0 0 20px #00f5ff1a,inset 0 0 20px #00000080;padding:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;font-family:var(--font-ui);font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:all .15s ease}.btn-primary{background:var(--neon-magenta);color:#fff;box-shadow:0 0 12px var(--neon-magenta)}.btn-primary:hover{box-shadow:0 0 24px var(--neon-magenta),0 0 48px #ff2d7866;transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--neon-cyan);border:2px solid var(--neon-cyan);box-shadow:0 0 8px #00f5ff4d}.btn-secondary:hover{background:#00f5ff1a;box-shadow:0 0 20px var(--neon-cyan)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.1)}.btn-ghost:hover{color:var(--text-primary);border-color:#ffffff4d}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.input{width:100%;padding:.75rem 1rem;background:#ffffff0a;border:1px solid rgba(0,245,255,.25);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--neon-cyan);box-shadow:0 0 12px #00f5ff33}.input::placeholder{color:var(--text-muted)}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem}.page-top{min-height:100vh;display:flex;flex-direction:column;padding:1.5rem}.logo{font-family:var(--font-pixel);font-size:clamp(1.2rem,4vw,2rem);color:var(--neon-magenta);text-shadow:0 0 20px var(--neon-magenta),0 0 60px rgba(255,45,120,.5);letter-spacing:.05em}.badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.badge-cyan{background:#00f5ff26;color:var(--neon-cyan);border:1px solid var(--neon-cyan)}.badge-magenta{background:#ff2d7826;color:var(--neon-magenta);border:1px solid var(--neon-magenta)}.badge-gold{background:#ffd70026;color:var(--neon-gold);border:1px solid var(--neon-gold)}.game-code{font-family:var(--font-pixel);font-size:clamp(2rem,8vw,4rem);color:var(--neon-gold);text-shadow:0 0 20px var(--neon-gold),0 0 40px rgba(255,215,0,.4);letter-spacing:.3em}.player-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#00f5ff14;border:1px solid rgba(0,245,255,.2);border-radius:20px;font-size:.9rem;font-weight:600;color:var(--text-primary)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.6}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-slide-up{animation:slide-up .3s ease forwards}@keyframes flicker{0%,95%,to{opacity:1}96%{opacity:.4}97%{opacity:1}98%{opacity:.2}99%{opacity:1}}@keyframes bounce-in{0%{opacity:0;transform:scale(.85) translateY(12px)}60%{transform:scale(1.03) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes score-pop{0%{transform:scale(1)}40%{transform:scale(1.45);color:var(--neon-gold);text-shadow:0 0 16px var(--neon-gold)}to{transform:scale(1)}}@keyframes winner-flash{0%,to{text-shadow:0 0 20px var(--neon-gold),0 0 40px var(--neon-gold)}50%{text-shadow:0 0 40px var(--neon-gold),0 0 80px var(--neon-gold),0 0 120px rgba(255,215,0,.6)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes urgent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}@keyframes neon-border-pulse{0%,to{box-shadow:0 0 8px #00f5ff33}50%{box-shadow:0 0 20px #00f5ff80,0 0 40px #00f5ff33}}.animate-flicker{animation:flicker 6s ease-in-out infinite}.animate-bounce-in{animation:bounce-in .4s cubic-bezier(.34,1.56,.64,1) forwards}.animate-score-pop{animation:score-pop .5s ease forwards}.animate-winner-flash{animation:winner-flash 1.2s ease-in-out infinite}.animate-urgent{animation:urgent-pulse .5s ease-in-out infinite}.animate-neon-border{animation:neon-border-pulse 2s ease-in-out infinite}.btn-primary{background:linear-gradient(90deg,var(--neon-magenta) 0%,#ff6fa8 40%,var(--neon-magenta) 60%,#c4005a 100%);background-size:200% auto;animation:shimmer 3s linear infinite}.btn-primary:hover{animation:shimmer 1s linear infinite}
