/* Animation and Transition Styles */

/* Flash animation for history items */
@keyframes flashOut {
    0% {
        background: oklch(from var(--color-white) l c h / 0.15);
    }
    100% {
        background: transparent;
    }
}

/* Pulse animation for feedback */
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.05);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Shake animation for errors */
@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(-5px);
    }
    75% {
        transform: translateX(5px);
    }
}

/* Fade animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

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

/* Slide animations */
@keyframes slideInDown {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Utility classes for animations */
.animate-pulse {
    animation: pulse 0.6s ease-in-out;
}

.animate-shake {
    animation: shake 0.5s ease-in-out;
}

.animate-fade-in {
    animation: fadeIn var(--animation-normal) ease-in-out;
}

.animate-fade-out {
    animation: fadeOut var(--animation-normal) ease-in-out;
}

.animate-slide-down {
    animation: slideInDown var(--animation-normal) ease-out;
}
