@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

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

.bouncing-button {
    animation: bounce 1s infinite;
}

.spinning-logo {
    animation: spin 2s linear infinite;
}

.hacker-mode {
    animation: float 2s ease-in-out infinite;
}

.vibrate:hover {
    animation: vibrate 0.1s infinite alternate;
}

@keyframes vibrate {
    0% { transform: translate(0); }
    25% { transform: translate(-1px, 1px); }
    50% { transform: translate(-1px, -1px); }
    75% { transform: translate(1px, 1px); }
    100% { transform: translate(1px, -1px); }
}

.grow:hover {
    animation: grow 0.5s forwards;
}

@keyframes grow {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.2);
    }
}

.spin:hover {
    animation: spin 0.5s linear forwards;
}