/* Animations */
@keyframes wag-tail {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(15deg); }
    75% { transform: rotate(-10deg); }
}

@keyframes walk-leg {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-2px); }
}

@keyframes bob {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-1px); }
}

@keyframes glitch {
    0%, 100% {
        transform: translateX(0px) translateY(0px);
        filter: hue-rotate(0deg);
    }
    20% {
        transform: translateX(-2px) translateY(1px);
        filter: hue-rotate(90deg);
    }
    40% {
        transform: translateX(2px) translateY(-1px);
        filter: hue-rotate(180deg);
    }
    60% {
        transform: translateX(-1px) translateY(2px);
        filter: hue-rotate(270deg);
    }
    80% {
        transform: translateX(1px) translateY(-2px);
        filter: hue-rotate(360deg);
    }
}

@keyframes pulse-glow {
    0%, 100% { opacity: 0.2; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.4; transform: translate(-50%, -50%) scale(1.1); }
}

@keyframes float-z {
    0% { opacity: 0; transform: translateY(0px); }
    50% { opacity: 1; transform: translateY(-10px); }
    100% { opacity: 0; transform: translateY(-20px); }
}

@keyframes particle-float {
    0% {
        opacity: 1;
        transform: translateY(0px) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-30px) scale(0.5);
    }
}

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

@keyframes matrix-rain {
    0% {
        transform: translateY(-100vh);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(100vh);
        opacity: 0;
    }
}
