:root{--bg-deep: #0a0e1a;--bg-card: #141a2e;--bg-card-hover: #1c2440;--accent-gold: #ffd700;--accent-red: #ff3b5c;--accent-green: #00e676;--accent-blue: #00b4ff;--accent-purple: #b388ff;--accent-orange: #ff9100;--accent-pink: #ff4081;--text-primary: #ffffff;--text-secondary: #8892b0;--text-muted: #4a5578;--font-display: "Bangers", cursive;--font-body: "Outfit", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 20%,rgba(255,215,0,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,180,255,.03) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(179,136,255,.02) 0%,transparent 70%);pointer-events:none;z-index:0}#root{position:relative;z-index:1;min-height:100vh}button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.1)}button:not(:disabled):active{transform:translateY(0);filter:brightness(.95)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px) rotate(-1deg)}75%{transform:translate(5px) rotate(1deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 20px #ffd7004d}50%{box-shadow:0 0 40px #ffd70099,0 0 60px #ffd7004d}}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-slideUp{animation:slideUp .5s ease-out forwards}.animate-slideIn{animation:slideIn .5s ease-out forwards}.animate-scaleIn{animation:scaleIn .4s ease-out forwards}.animate-glow{animation:glow 2s ease-in-out infinite}@keyframes pathPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes bracketGlow{0%,to{filter:drop-shadow(0 0 8px var(--accent-gold))}50%{filter:drop-shadow(0 0 20px var(--accent-gold))}}@keyframes trophyFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}@keyframes advanceUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.bracket-path-container{perspective:800px;perspective-origin:center bottom}.bracket-path-track{transform-style:preserve-3d;transform:rotateX(15deg)}.path-node{transition:all .4s cubic-bezier(.4,0,.2,1)}.path-node:hover{transform:scale(1.05)}.path-connector{animation:pathPulse 2s ease-in-out infinite}.trophy-destination{animation:trophyFloat 3s ease-in-out infinite,bracketGlow 2s ease-in-out infinite}@keyframes vsClash{0%,to{transform:scale(1)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(.9)}75%{transform:scale(1.15) rotate(5deg)}}@keyframes vsPulse{0%,to{text-shadow:0 0 10px var(--accent-red),0 0 20px var(--accent-red)}50%{text-shadow:0 0 20px var(--accent-gold),0 0 40px var(--accent-gold),0 0 60px var(--accent-orange)}}@keyframes winnerCelebrate{0%{transform:scale(1)}25%{transform:scale(1.1) rotate(-2deg)}50%{transform:scale(1.15)}75%{transform:scale(1.1) rotate(2deg)}to{transform:scale(1.1)}}@keyframes loserFade{0%{opacity:1;transform:scale(1)}to{opacity:.4;transform:scale(.95)}}@keyframes entrantEnter{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes votePopIn{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.vs-badge{animation:vsClash 2s ease-in-out infinite,vsPulse 1.5s ease-in-out infinite}.entrant-card{animation:entrantEnter .5s ease-out forwards}.entrant-winner{animation:winnerCelebrate .6s ease-out forwards}.entrant-loser{animation:loserFade .5s ease-out forwards}.vote-pop{animation:votePopIn .2s ease-out}@keyframes lockPulse{0%,to{box-shadow:0 4px 15px #00e6764d}50%{box-shadow:0 4px 25px #00e67680,0 0 40px #00e67633}}.lock-in-btn{animation:lockPulse 2s ease-in-out infinite}
