/* Animations pour tout le jeu */

@keyframes popUp {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

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

@keyframes shake {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(5deg); }
    50% { transform: rotate(0deg); }
    75% { transform: rotate(-5deg); }
    100% { transform: rotate(0deg); }
}

@keyframes critical-shake {
    0% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(10deg) scale(1.2); }
    50% { transform: rotate(0deg) scale(1.4); }
    75% { transform: rotate(-10deg) scale(1.2); }
    100% { transform: rotate(0deg) scale(1); }
}

@keyframes float-random {
    0% {
        transform: translate(0, 0) rotate(0deg);
        opacity: 0.3;
    }
    25% {
        opacity: 0.4;
    }
    50% {
        transform: translate(var(--tx), var(--ty)) rotate(var(--tr));
        opacity: 0.5;
    }
    75% {
        opacity: 0.4;
    }
    100% {
        transform: translate(0, 0) rotate(0deg);
        opacity: 0.3;
    }
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(76, 175, 80, 0); }
    100% { box-shadow: 0 0 0 0 rgba(76, 175, 80, 0); }
}

@keyframes twinkling {
    0% { opacity: 0.1; }
    50% { opacity: 0.5; }
    100% { opacity: 0.1; }
}

@keyframes golden-pulse {
    0% { filter: drop-shadow(0 0 5px gold); }
    50% { filter: drop-shadow(0 0 20px gold); }
    100% { filter: drop-shadow(0 0 5px gold); }
}

@keyframes golden-explosion {
    0% { transform: scale(1); filter: brightness(1) drop-shadow(0 0 0px gold); }
    50% { transform: scale(1.5); filter: brightness(2) drop-shadow(0 0 30px gold); }
    100% { transform: scale(1); filter: brightness(1) drop-shadow(0 0 0px gold); }
}

@keyframes boost-icon-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes combo-decay {
    0% { transform: scaleX(1); }
    100% { transform: scaleX(0); }
}

@keyframes badge-appear {
    0% { opacity: 0; transform: translateX(50px); }
    100% { opacity: 1; transform: translateX(0); }
}