/**
 * Mr Zero — premium motion library
 */
@keyframes mz-fade-up {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes mz-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mz-slide-down {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes mz-scale-in {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes mz-shimmer {
    0% { background-position: 200% center; }
    100% { background-position: -200% center; }
}

@keyframes mz-glow-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(6, 182, 212, 0),
                    0 4px 14px rgba(6, 182, 212, 0.12);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.08),
                    0 8px 24px rgba(6, 182, 212, 0.22);
    }
}

@keyframes mz-accent-slide {
    0% { transform: scaleX(0); transform-origin: left; }
    100% { transform: scaleX(1); transform-origin: left; }
}

@keyframes mz-mesh-drift {
    0% { transform: scale(1.02) translate(0, 0); }
    50% { transform: scale(1.05) translate(-0.8%, 0.5%); }
    100% { transform: scale(1.02) translate(0, 0); }
}

@keyframes mz-aurora {
    0% {
        opacity: 0.55;
        transform: translate(0, 0) scale(1);
    }
    33% {
        opacity: 0.85;
        transform: translate(2%, -1%) scale(1.03);
    }
    66% {
        opacity: 0.7;
        transform: translate(-1%, 2%) scale(0.98);
    }
    100% {
        opacity: 0.6;
        transform: translate(1%, 1%) scale(1.02);
    }
}

@keyframes mz-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes mz-float-slow {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-12px, 10px); }
}

@keyframes mz-logo-glow {
    0%, 100% {
        filter: drop-shadow(0 0 8px rgba(34, 211, 238, 0.45));
    }
    50% {
        filter: drop-shadow(0 0 18px rgba(34, 211, 238, 0.75));
    }
}

@keyframes mz-border-flow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes mz-btn-shine {
    0% { left: -120%; }
    100% { left: 120%; }
}

@keyframes mz-ripple {
    0% { transform: scale(0.8); opacity: 0.6; }
    100% { transform: scale(2.2); opacity: 0; }
}

@keyframes mz-text-glow {
    0%, 100% { text-shadow: 0 0 0 transparent; }
    50% { text-shadow: 0 0 16px rgba(34, 211, 238, 0.35); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
