/* Animations */
@keyframes heroFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes heroTitleEntrance {
    0% {
        opacity: 0;
        transform: translateY(-80px) scale(0.8);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* @keyframes kingdomGlowEffect removed per user request */

@keyframes titleGlow {
    from {
        text-shadow: 3px 3px 6px var(--shadow-dark);
    }
    to {
        text-shadow: 3px 3px 6px var(--shadow-dark), 0 0 20px rgba(212, 175, 55, 0.6);
    }
}

@keyframes starShine {
    0%, 100% {
        text-shadow: 
            3px 3px 6px var(--shadow-dark),
            0 0 5px rgba(212, 175, 55, 0.8),
            0 0 10px rgba(212, 175, 55, 0.6),
            0 0 15px rgba(212, 175, 55, 0.4);
    }
    25% {
        text-shadow: 
            3px 3px 6px var(--shadow-dark),
            0 0 10px rgba(212, 175, 55, 1),
            0 0 30px rgba(212, 175, 55, 0.8),
            0 0 50px rgba(212, 175, 55, 0.6),
            0 0 70px rgba(255, 255, 255, 0.3);
    }
    50% {
        text-shadow: 
            3px 3px 6px var(--shadow-dark),
            0 0 15px rgba(212, 175, 55, 0.9),
            0 0 30px rgba(212, 175, 55, 0.7),
            0 0 45px rgba(212, 175, 55, 0.5),
            0 0 60px rgba(255, 255, 255, 0.2);
    }
    75% {
        text-shadow: 
            3px 3px 6px var(--shadow-dark),
            0 0 15px rgba(212, 175, 55, 1),
            0 0 40px rgba(212, 175, 55, 0.8),
            0 0 65px rgba(212, 175, 55, 0.6),
            0 0 80px rgba(255, 255, 255, 0.4);
    }
}

@keyframes ripple {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

@keyframes slowFloat {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    25% {
        transform: translateY(-20px) rotate(1deg);
    }
    50% {
        transform: translateY(0px) rotate(0deg);
    }
    75% {
        transform: translateY(-15px) rotate(-1deg);
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-20px) rotate(5deg);
    }
}

@keyframes questShine {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes sparkle {
    0%, 100% {
        opacity: 0.6;
        transform: translateY(0px);
    }
    25% {
        opacity: 1;
        transform: translateY(-3px);
    }
    50% {
        opacity: 0.8;
        transform: translateY(-1px);
    }
    75% {
        opacity: 1;
        transform: translateY(-2px);
    }
}

@keyframes fireSpark {
    0% {
        transform: translateY(0px) translateX(0px) scale(1);
        opacity: 1;
    }
    25% {
        transform: translateY(-60px) translateX(-8px) scale(0.8);
        opacity: 0.9;
    }
    50% {
        transform: translateY(-120px) translateX(12px) scale(0.6);
        opacity: 0.7;
    }
    75% {
        transform: translateY(-180px) translateX(-15px) scale(0.4);
        opacity: 0.4;
    }
    100% {
        transform: translateY(-250px) translateX(20px) scale(0.2);
        opacity: 0;
    }
}

@keyframes sparkFloat {
    0% {
        transform: translateY(0px) translateX(0px) scale(1);
        opacity: 0.8;
    }
    20% {
        transform: translateY(-50px) translateX(-5px) scale(0.9);
        opacity: 1;
    }
    40% {
        transform: translateY(-100px) translateX(8px) scale(0.7);
        opacity: 0.8;
    }
    60% {
        transform: translateY(-150px) translateX(-12px) scale(0.5);
        opacity: 0.6;
    }
    80% {
        transform: translateY(-200px) translateX(15px) scale(0.3);
        opacity: 0.3;
    }
    100% {
        transform: translateY(-280px) translateX(-18px) scale(0.1);
        opacity: 0;
    }
}

@keyframes mysticFloat {
    0% {
        transform: translateY(0px) translateX(0px) scale(0.3);
        opacity: 0;
    }
    15% {
        transform: translateY(-40px) translateX(-5px) scale(0.7);
        opacity: 0.8;
    }
    25% {
        transform: translateY(-80px) translateX(-10px) scale(1);
        opacity: 1;
    }
    40% {
        transform: translateY(-160px) translateX(15px) scale(0.8);
        opacity: 0.9;
    }
    60% {
        transform: translateY(-240px) translateX(-20px) scale(0.6);
        opacity: 0.7;
    }
    80% {
        transform: translateY(-320px) translateX(25px) scale(0.3);
        opacity: 0.4;
    }
    100% {
        transform: translateY(-400px) translateX(-30px) scale(0.1);
        opacity: 0;
    }
}