/* Animations - Bouncy & Expressive */

@keyframes bounceIn {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    60% {
        transform: scale(1.05);
        opacity: 1;
    }

    100% {
        transform: scale(1);
    }
}

@keyframes slideUpFade {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes wiggle {

    0%,
    100% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-5deg);
    }

    75% {
        transform: rotate(5deg);
    }
}

/* Utilities */
.animate-bounce-in {
    animation: bounceIn 0.6s var(--ease-elastic) backwards;
}

.animate-slide-up {
    animation: slideUpFade 0.5s var(--ease-standard) backwards;
}

/* Staggered Delays (up to 10 items) */
.stagger-1 {
    animation-delay: 0.05s;
}

.stagger-2 {
    animation-delay: 0.1s;
}

.stagger-3 {
    animation-delay: 0.15s;
}

.stagger-4 {
    animation-delay: 0.2s;
}

.stagger-5 {
    animation-delay: 0.25s;
}

.stagger-6 {
    animation-delay: 0.3s;
}

.stagger-7 {
    animation-delay: 0.35s;
}

.stagger-8 {
    animation-delay: 0.4s;
}

.stagger-9 {
    animation-delay: 0.45s;
}

.stagger-10 {
    animation-delay: 0.5s;
}

@keyframes expandBounce {
    0% {
        transform: translateY(-10px);
        opacity: 0;
    }

    60% {
        transform: translateY(5px);
        opacity: 1;
    }

    100% {
        transform: translateY(0);
    }
}