/* ANIMATIONS & KEYFRAMES */

@keyframes twinkle {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.7; }
}

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

@keyframes floatOrb {
    0% { transform: translate(0, 0); }
    100% { transform: translate(30px, 50px); }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* FLICKER / GLITCH EFFECT */
@keyframes hologramFlicker {
    0% { opacity: 0.9; text-shadow: 2px 2px 0px var(--secondary); }
    5% { opacity: 0.8; text-shadow: -2px -2px 0px var(--primary); }
    10% { opacity: 0.9; text-shadow: 2px -2px 0px var(--secondary); }
    15% { opacity: 1; text-shadow: -2px 2px 0px var(--primary); }
    100% { opacity: 1; text-shadow: 0 0 0 transparent; }
}

.animate-slide-up {
    animation: slideUp 0.8s ease-out forwards;
}

.animate-fade-in {
    animation: fadeIn 1s ease-in forwards;
}

.hologram-effect {
    animation: hologramFlicker 3s infinite alternate;
}

/* Staggered delays for children */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
