@keyframes bounce {
    0%, 100% { 
        transform: translate(-50%, -50%) scale(1); 
    }
    50% { 
        transform: translate(-50%, -48%) scale(1.05); 
    }
}

@keyframes wiggle {
    0%, 100% { 
        transform: translate(-50%, -50%) rotate(0deg); 
    }
    25% { 
        transform: translate(-50%, -50%) rotate(-3deg); 
    }
    75% { 
        transform: translate(-50%, -50%) rotate(3deg); 
    }
}

@keyframes emoji-float {
    0% {
        opacity: 1;
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-10px) scale(1.2);
    }
    100% {
        opacity: 0;
        transform: translateY(-30px) scale(0.8);
    }
}

@keyframes emoji-bounce {
    0%, 100% { 
        transform: translateY(0px); 
    }
    50% { 
        transform: translateY(-8px); 
    }
}

@keyframes pulse {
    0%, 100% { 
        transform: scale(1); 
    }
    50% { 
        transform: scale(1.1); 
    }
}

@keyframes fade-in {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes slide-up {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-bounce {
    animation: bounce 2s infinite ease-in-out;
}

.animate-emoji-float {
    animation: emoji-float 2s ease-out forwards;
}

.animate-emoji-bounce {
    animation: emoji-bounce 1s infinite ease-in-out;
}

.animate-fade-in {
    animation: fade-in 0.5s ease-in;
}

.animate-slide-up {
    animation: slide-up 0.5s ease-out;
}
