/* Background Stars Animation */
.stars-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: linear-gradient(125deg, var(--primary) 0%, var(--secondary) 100%);
    overflow: hidden;
}

#stars, #stars2, #stars3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@keyframes animateStars {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-1000px);
    }
}

#stars {
    background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid slice"><g fill="%23FFFFFF"><circle cx="100" cy="100" r="1" opacity="0.5"/><circle cx="200" cy="150" r="1" opacity="0.3"/><circle cx="300" cy="200" r="1" opacity="0.7"/><circle cx="400" cy="250" r="1" opacity="0.4"/><circle cx="500" cy="300" r="1" opacity="0.6"/><circle cx="600" cy="350" r="1" opacity="0.5"/><circle cx="700" cy="400" r="1" opacity="0.3"/><circle cx="800" cy="450" r="1" opacity="0.7"/><circle cx="900" cy="500" r="1" opacity="0.4"/><circle cx="100" cy="550" r="1" opacity="0.6"/><circle cx="200" cy="600" r="1" opacity="0.5"/><circle cx="300" cy="650" r="1" opacity="0.3"/><circle cx="400" cy="700" r="1" opacity="0.7"/><circle cx="500" cy="750" r="1" opacity="0.4"/><circle cx="600" cy="800" r="1" opacity="0.6"/><circle cx="700" cy="850" r="1" opacity="0.5"/><circle cx="800" cy="900" r="1" opacity="0.3"/><circle cx="900" cy="950" r="1" opacity="0.7"/><circle cx="150" cy="120" r="1" opacity="0.6"/><circle cx="250" cy="170" r="1" opacity="0.5"/><circle cx="350" cy="220" r="1" opacity="0.3"/><circle cx="450" cy="270" r="1" opacity="0.7"/><circle cx="550" cy="320" r="1" opacity="0.4"/><circle cx="650" cy="370" r="1" opacity="0.6"/><circle cx="750" cy="420" r="1" opacity="0.5"/><circle cx="850" cy="470" r="1" opacity="0.3"/><circle cx="950" cy="520" r="1" opacity="0.7"/><circle cx="150" cy="570" r="1" opacity="0.4"/><circle cx="250" cy="620" r="1" opacity="0.6"/><circle cx="350" cy="670" r="1" opacity="0.5"/><circle cx="450" cy="720" r="1" opacity="0.3"/><circle cx="550" cy="770" r="1" opacity="0.7"/><circle cx="650" cy="820" r="1" opacity="0.4"/><circle cx="750" cy="870" r="1" opacity="0.6"/><circle cx="850" cy="920" r="1" opacity="0.5"/><circle cx="950" cy="970" r="1" opacity="0.3"/></g></svg>') repeat top center;
    animation: animateStars 150s linear infinite;
}

#stars2 {
    background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid slice"><g fill="%2332FFE3"><circle cx="120" cy="110" r="1.5" opacity="0.4"/><circle cx="220" cy="160" r="1.5" opacity="0.3"/><circle cx="320" cy="210" r="1.5" opacity="0.5"/><circle cx="420" cy="260" r="1.5" opacity="0.2"/><circle cx="520" cy="310" r="1.5" opacity="0.4"/><circle cx="620" cy="360" r="1.5" opacity="0.3"/><circle cx="720" cy="410" r="1.5" opacity="0.5"/><circle cx="820" cy="460" r="1.5" opacity="0.2"/><circle cx="920" cy="510" r="1.5" opacity="0.4"/><circle cx="120" cy="560" r="1.5" opacity="0.3"/><circle cx="220" cy="610" r="1.5" opacity="0.5"/><circle cx="320" cy="660" r="1.5" opacity="0.2"/><circle cx="420" cy="710" r="1.5" opacity="0.4"/><circle cx="520" cy="760" r="1.5" opacity="0.3"/><circle cx="620" cy="810" r="1.5" opacity="0.5"/><circle cx="720" cy="860" r="1.5" opacity="0.2"/><circle cx="820" cy="910" r="1.5" opacity="0.4"/><circle cx="920" cy="960" r="1.5" opacity="0.3"/><circle cx="170" cy="130" r="1.5" opacity="0.4"/><circle cx="270" cy="180" r="1.5" opacity="0.3"/><circle cx="370" cy="230" r="1.5" opacity="0.5"/><circle cx="470" cy="280" r="1.5" opacity="0.2"/><circle cx="570" cy="330" r="1.5" opacity="0.4"/><circle cx="670" cy="380" r="1.5" opacity="0.3"/><circle cx="770" cy="430" r="1.5" opacity="0.5"/><circle cx="870" cy="480" r="1.5" opacity="0.2"/><circle cx="970" cy="530" r="1.5" opacity="0.4"/><circle cx="170" cy="580" r="1.5" opacity="0.3"/><circle cx="270" cy="630" r="1.5" opacity="0.5"/><circle cx="370" cy="680" r="1.5" opacity="0.2"/><circle cx="470" cy="730" r="1.5" opacity="0.4"/><circle cx="570" cy="780" r="1.5" opacity="0.3"/><circle cx="670" cy="830" r="1.5" opacity="0.5"/><circle cx="770" cy="880" r="1.5" opacity="0.2"/><circle cx="870" cy="930" r="1.5" opacity="0.4"/><circle cx="970" cy="980" r="1.5" opacity="0.3"/></g></svg>') repeat top center;
    animation: animateStars 100s linear infinite;
}

#stars3 {
    background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid slice"><g fill="%23FF5ACD"><circle cx="130" cy="120" r="2" opacity="0.2"/><circle cx="230" cy="170" r="2" opacity="0.1"/><circle cx="330" cy="220" r="2" opacity="0.3"/><circle cx="430" cy="270" r="2" opacity="0.1"/><circle cx="530" cy="320" r="2" opacity="0.2"/><circle cx="630" cy="370" r="2" opacity="0.1"/><circle cx="730" cy="420" r="2" opacity="0.3"/><circle cx="830" cy="470" r="2" opacity="0.1"/><circle cx="930" cy="520" r="2" opacity="0.2"/><circle cx="130" cy="570" r="2" opacity="0.1"/><circle cx="230" cy="620" r="2" opacity="0.3"/><circle cx="330" cy="670" r="2" opacity="0.1"/><circle cx="430" cy="720" r="2" opacity="0.2"/><circle cx="530" cy="770" r="2" opacity="0.1"/><circle cx="630" cy="820" r="2" opacity="0.3"/><circle cx="730" cy="870" r="2" opacity="0.1"/><circle cx="830" cy="920" r="2" opacity="0.2"/><circle cx="930" cy="970" r="2" opacity="0.1"/><circle cx="180" cy="140" r="2" opacity="0.2"/><circle cx="280" cy="190" r="2" opacity="0.1"/><circle cx="380" cy="240" r="2" opacity="0.3"/><circle cx="480" cy="290" r="2" opacity="0.1"/><circle cx="580" cy="340" r="2" opacity="0.2"/><circle cx="680" cy="390" r="2" opacity="0.1"/><circle cx="780" cy="440" r="2" opacity="0.3"/><circle cx="880" cy="490" r="2" opacity="0.1"/><circle cx="980" cy="540" r="2" opacity="0.2"/><circle cx="180" cy="590" r="2" opacity="0.1"/><circle cx="280" cy="640" r="2" opacity="0.3"/><circle cx="380" cy="690" r="2" opacity="0.1"/><circle cx="480" cy="740" r="2" opacity="0.2"/><circle cx="580" cy="790" r="2" opacity="0.1"/><circle cx="680" cy="840" r="2" opacity="0.3"/><circle cx="780" cy="890" r="2" opacity="0.1"/><circle cx="880" cy="940" r="2" opacity="0.2"/><circle cx="980" cy="990" r="2" opacity="0.1"/></g></svg>') repeat top center;
    animation: animateStars 200s linear infinite;
}

/* Pulse Animation */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(50, 255, 227, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(50, 255, 227, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(50, 255, 227, 0);
    }
}

/* Button Glow Animation */
@keyframes buttonGlow {
    0% {
        box-shadow: 0 0 5px rgba(50, 255, 227, 0.5);
    }
    50% {
        box-shadow: 0 0 20px rgba(50, 255, 227, 0.8);
    }
    100% {
        box-shadow: 0 0 5px rgba(50, 255, 227, 0.5);
    }
}

.btn-primary {
    animation: buttonGlow 3s infinite;
}

/* Hover Animation for Cards */
@keyframes borderGlow {
    0% {
        border-color: rgba(50, 255, 227, 0.3);
    }
    50% {
        border-color: rgba(255, 90, 205, 0.5);
    }
    100% {
        border-color: rgba(50, 255, 227, 0.3);
    }
}

.game-card:hover {
    animation: borderGlow 2s infinite;
}

/* Comet Trail Animation */
@keyframes cometTrail {
    0% {
        transform: translateX(-100%) rotate(45deg);
    }
    100% {
        transform: translateX(100%) rotate(45deg);
    }
}

.glass-card:hover .comet-trail {
    animation: cometTrail 1.5s ease-in-out;
}

/* Logo Glow Animation */
@keyframes logoGlow {
    0% {
        text-shadow: 0 0 5px rgba(50, 255, 227, 0.5);
    }
    50% {
        text-shadow: 0 0 15px rgba(50, 255, 227, 0.8);
    }
    100% {
        text-shadow: 0 0 5px rgba(50, 255, 227, 0.5);
    }
}

.logo-text {
    animation: logoGlow 3s infinite;
}

/* Grid Line Animation */
@keyframes gridPulse {
    0% {
        opacity: 0.1;
    }
    50% {
        opacity: 0.3;
    }
    100% {
        opacity: 0.1;
    }
}

.grid-line {
    animation: gridPulse 4s infinite;
}

.grid-line:nth-child(even) {
    animation-delay: 2s;
}

/* Hamburger Menu Animation */
@keyframes hamburgerTop {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(9px);
    }
    100% {
        transform: translateY(9px) rotate(45deg);
    }
}

@keyframes hamburgerMiddle {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes hamburgerBottom {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-9px);
    }
    100% {
        transform: translateY(-9px) rotate(-45deg);
    }
}

.hamburger.active span:nth-child(1) {
    animation: hamburgerTop 0.3s forwards;
}

.hamburger.active span:nth-child(2) {
    animation: hamburgerMiddle 0.3s forwards;
}

.hamburger.active span:nth-child(3) {
    animation: hamburgerBottom 0.3s forwards;
}

/* Holographic Card Animation */
@keyframes holographicShimmer {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 0%;
    }
}

.card-inner::before {
    animation: holographicShimmer 6s linear infinite;
    background-size: 200% 200%;
}

/* Rank Badge Pulse */
@keyframes rankPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 10px rgba(255, 90, 205, 0.5);
    }
    50% {
        transform: scale(1.1);
        box-shadow: 0 0 15px rgba(255, 90, 205, 0.8);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 10px rgba(255, 90, 205, 0.5);
    }
}

.player-rank {
    animation: rankPulse 2s infinite;
}

/* Tournament Date Glow */
@keyframes dateGlow {
    0% {
        box-shadow: 0 0 10px rgba(255, 90, 205, 0.3);
    }
    50% {
        box-shadow: 0 0 20px rgba(255, 90, 205, 0.6);
    }
    100% {
        box-shadow: 0 0 10px rgba(255, 90, 205, 0.3);
    }
}

.tournament-date {
    animation: dateGlow 3s infinite;
}