@keyframes waves {
    0% {
        -webkit-transform: translate(-50%, -50%) scale(0.2, 0.2);
        transform: translate(-50%, -50%) scale(0.2, 0.2);
        opacity: 0;
    }
    75% {
        opacity: 0.6;
    }
    100% {
        -webkit-transform: translate(-50%, -50%) scale(1, 1);
        transform: translate(-50%, -50%) scale(1, 1);
        opacity: 0;
    }
}

@keyframes rainbowRotate {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes randomRotate {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(10deg);
    }
    50% {
        transform: rotate(-10deg);
    }
    75% {
        transform: rotate(5deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes randomTranslate {
    0%,
    100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(5px, -5px);
    }
    50% {
        transform: translate(-5px, 5px);
    }
    75% {
        transform: translate(10px, -10px);
    }
}

@keyframes randomScale {
    0%,
    100% {
        transform: scale(1);
    }
    25% {
        transform: scale(1.1);
    }
    50% {
        transform: scale(0.9);
    }
    75% {
        transform: scale(1.05);
    }
}

@keyframes drift {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(3px, -2px);
    }
    50% {
        transform: translate(-3px, 2px);
    }
    75% {
        transform: translate(1px, -1px);
    }
    100% {
        transform: translate(0, 0);
    }
}

@keyframes wavy {
    0%,
    100% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(8px);
    }
    50% {
        transform: translateX(-8px);
    }
    75% {
        transform: translateX(5px);
    }
}

@keyframes zigzag {
    0%,
    100% {
        transform: translateY(0);
    }
    25% {
        transform: translateY(-5px);
    }
    50% {
        transform: translateY(10px);
    }
    75% {
        transform: translateY(-5px);
    }
}

@keyframes chaoticWiggle {
    0% {
        transform: rotate(0deg) translate(0, 0);
    }
    20% {
        transform: rotate(15deg) translate(3px, -2px);
    }
    40% {
        transform: rotate(-10deg) translate(-3px, 2px);
    }
    60% {
        transform: rotate(8deg) translate(2px, -1px);
    }
    80% {
        transform: rotate(-5deg) translate(-2px, 1px);
    }
    100% {
        transform: rotate(0deg) translate(0, 0);
    }
}

@keyframes hoverFloat {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes randomPop {
    0%,
    100% {
        transform: scale(1);
    }
    25% {
        transform: scale(1.1);
    }
    50% {
        transform: scale(0.9);
    }
    75% {
        transform: scale(1.2);
    }
}

@keyframes tiltedDrift {
    0% {
        transform: rotate(0deg) translate(0, 0);
    }
    25% {
        transform: rotate(5deg) translate(3px, -3px);
    }
    50% {
        transform: rotate(-5deg) translate(-3px, 3px);
    }
    75% {
        transform: rotate(3deg) translate(2px, -2px);
    }
    100% {
        transform: rotate(0deg) translate(0, 0);
    }
}

@keyframes randomSkew {
    0%,
    100% {
        transform: skew(0deg, 0deg);
    }
    25% {
        transform: skew(5deg, 2deg);
    }
    50% {
        transform: skew(-5deg, -2deg);
    }
    75% {
        transform: skew(3deg, -3deg);
    }
}

@keyframes rotate3D {
    0% {
        transform: rotate3d(1, 1, 0, 0deg);
    }
    50% {
        transform: rotate3d(1, 1, 0, 180deg);
    }
    100% {
        transform: rotate3d(1, 1, 0, 360deg);
    }
}

@keyframes jitter {
    0%,
    100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(2px, -2px);
    }
    50% {
        transform: translate(-2px, 2px);
    }
    75% {
        transform: translate(1px, -1px);
    }
}

@keyframes scaleOpacity {
    0% {
        transform: scale(0.9);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.8;
    }
}

@keyframes diagonalMove {
    0%,
    100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(10px, 10px);
    }
    75% {
        transform: translate(-10px, -10px);
    }
}

@keyframes horizontalShake {
    0%,
    100% {
        transform: translateX(0);
    }
    20%,
    60% {
        transform: translateX(8px);
    }
    40%,
    80% {
        transform: translateX(-8px);
    }
}

@keyframes hoverLift {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

@keyframes zoomRotate {
    0% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(1.2) rotate(180deg);
    }
    100% {
        transform: scale(1) rotate(360deg);
    }
}

@keyframes floatOpacity {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    50% {
        transform: translateY(-10px);
        opacity: 0.7;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes swingScale {
    0% {
        transform: rotate(0deg) scale(1);
    }
    50% {
        transform: rotate(10deg) scale(1.1);
    }
    100% {
        transform: rotate(0deg) scale(1);
    }
}

@keyframes vibrate {
    0%,
    100% {
        transform: translate(0, 0);
    }
    20%,
    80% {
        transform: translate(2px, 0);
    }
    40%,
    60% {
        transform: translate(-2px, 0);
    }
}

@keyframes zigzagOpacity {
    0%,
    100% {
        transform: translateY(0);
        opacity: 1;
    }
    25% {
        transform: translateY(-10px);
        opacity: 0.8;
    }
    50% {
        transform: translateY(10px);
        opacity: 0.6;
    }
    75% {
        transform: translateY(-5px);
        opacity: 0.9;
    }
}

@keyframes fadeSpin {
    0% {
        opacity: 1;
        transform: rotate(0deg);
    }
    50% {
        opacity: 0.5;
        transform: rotate(180deg);
    }
    100% {
        opacity: 1;
        transform: rotate(360deg);
    }
}

@keyframes slideSkew {
    0% {
        transform: translateX(0) skew(0deg, 0deg);
    }
    50% {
        transform: translateX(20px) skew(5deg, 2deg);
    }
    100% {
        transform: translateX(0) skew(0deg, 0deg);
    }
}

@keyframes circularMove {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(10px, 10px);
    }
    50% {
        transform: translate(0, 20px);
    }
    75% {
        transform: translate(-10px, 10px);
    }
    100% {
        transform: translate(0, 0);
    }
}

@keyframes shrinkRotate {
    0% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(0.8) rotate(180deg);
    }
    100% {
        transform: scale(1) rotate(360deg);
    }
}

@keyframes rot360 {
    100% {
        transform: rotate(0deg);
    }

    0% {
        transform: rotate(360deg);
    }
}
