@keyframes rotateGlow {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}

@keyframes pulseGlow {
    0% { box-shadow: 0 0 10px rgba(168, 85, 247, 0.2); }
    50% { box-shadow: 0 0 25px rgba(34, 211, 238, 0.5); }
    100% { box-shadow: 0 0 10px rgba(168, 85, 247, 0.2); }
}

.float-anim {
    animation: float 6s ease-in-out infinite;
}

/* Scroll Reveal Classes */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* Fill progress bar animation */
.fill-anim.active {
    width: 85%;
    transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1) 0.5s;
}