/* Animations d'entrée choisies par la rédaction (assets/lib/animations.js). */

[data-anim-cible].anim-arme:not(.anim-joue) {
    opacity: 0;
}

[data-anim-cible="cascade"].anim-arme:not(.anim-joue) {
    opacity: 1;
}

[data-anim-cible="cascade"].anim-arme:not(.anim-joue) > * {
    opacity: 0;
}

[data-anim-cible].anim-joue {
    animation: 0.95s cubic-bezier(0.16, 1, 0.3, 1) both;
}

[data-anim-cible="fondu"].anim-joue { animation-name: anim-fondu; }
[data-anim-cible="montee"].anim-joue { animation-name: anim-montee; }
[data-anim-cible="zoom"].anim-joue { animation-name: anim-zoom; }
[data-anim-cible="gauche"].anim-joue { animation-name: anim-gauche; }
[data-anim-cible="droite"].anim-joue { animation-name: anim-droite; }

[data-anim-cible="cascade"].anim-joue {
    animation: none;
}

[data-anim-cible="cascade"].anim-joue > * {
    animation: anim-montee 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: calc(var(--anim-rang, 0) * 90ms);
}

@keyframes anim-fondu { from { opacity: 0; } }
@keyframes anim-montee { from { opacity: 0; transform: translateY(48px); } }
@keyframes anim-zoom { from { opacity: 0; transform: scale(0.9); } }
@keyframes anim-gauche { from { opacity: 0; transform: translateX(-72px); } }
@keyframes anim-droite { from { opacity: 0; transform: translateX(72px); } }

@media (prefers-reduced-motion: reduce) {
    [data-anim-cible] {
        animation: none !important;
        opacity: 1 !important;
    }
}
