/* Animation Utilities */

/* Fade Up Animation */
.animate-fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}

.animate-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Scale Up Animation (for icons) */
.animate-scale-up {
    opacity: 0;
    transform: scale(0.5);
    transform-origin: center;
    transition: opacity 0.5s ease-out,
                transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    will-change: opacity, transform;
}

.animate-scale-up.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Staggered Delays */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* Skill Bar Animation */
.skill-progress {
    width: 0;
    transition: width 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}
