/* ==========================================
   MODERN ANIMATIONS & MICRO-INTERACTIONS
   Smooth transitions, delightful feedback
   ========================================== */

/* ========== PAGE TRANSITIONS ========== */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

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

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Removed automatic page transitions - too much */

/* ========== DIALOG ANIMATIONS ========== */
@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

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

/* Removed dialog animations - keeping it simple */

/* Removed button press animations */

/* ========== LOADING ANIMATIONS ========== */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

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

@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }
    100% {
        background-position: 1000px 0;
    }
}

/* Spinner */
.mud-progress-circular-svg {
    animation: spin 1.4s linear infinite;
}

/* Progress bar indeterminate */
@keyframes progressIndeterminate {
    0% {
        left: -35%;
        right: 100%;
    }
    60% {
        left: 100%;
        right: -90%;
    }
    100% {
        left: 100%;
        right: -90%;
    }
}

.mud-progress-linear-indeterminate .mud-progress-linear-bar {
    animation: progressIndeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}

/* ========== SKELETON LOADING ========== */
@keyframes skeletonShimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.mud-skeleton-wave::before {
    animation: skeletonShimmer 2s linear infinite;
}

/* Removed icon animations */

/* Removed snackbar slide animations - using MudBlazor defaults */

/* Removed badge pulse - too distracting */

/* Removed checkbox animation */

/* ========== SUCCESS CHECKMARK ========== */
@keyframes drawCheckmark {
    0% {
        stroke-dashoffset: 100;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

.success-checkmark {
    stroke-dasharray: 100;
    animation: drawCheckmark 400ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Removed tooltip animation - using MudBlazor default */

/* Removed menu animation - using MudBlazor default */

/* Removed collapse animation - using MudBlazor default */

/* Removed hover lift animation */

/* Removed stagger animations */

/* Removed scroll animations */

/* Removed glow effect */

/* Removed shake animation - too distracting */

/* Removed heartbeat animation */

/* Removed typing indicator animation */

/* Removed global transition timing - too heavy */

/* Reduce motion for users with preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
