@keyframes orbite{to{transform:rotate(360deg)}}
@keyframes descend{0%,100%{transform:translateY(-3px);opacity:.6}50%{transform:translateY(3px);opacity:1}}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes tourne{to{transform:rotate(360deg)}}
@keyframes tourne-quart{from{transform:rotate(-90deg)}to{transform:rotate(0)}}
@keyframes visse{0%,100%{transform:rotate(0)}25%{transform:rotate(-20deg)}60%{transform:rotate(12deg)}}
@keyframes onde-pi{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.9);opacity:0}}
@keyframes clignote{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes scrute{0%,100%{transform:translate(0,0)}35%{transform:translate(13px,3px)}70%{transform:translate(6px,-2px)}}
@keyframes vers-droite{50%{transform:translateX(5px)}}
@keyframes vers-gauche{50%{transform:translateX(-5px)}}
@keyframes trace{to{stroke-dashoffset:0}}
@keyframes trace-boucle{0%{stroke-dashoffset:1}45%,100%{stroke-dashoffset:0}}
@keyframes pulse-ecu{50%{transform:scale(1.06)}}
@keyframes pousse{0%{transform:scaleY(.2)}60%,100%{transform:scaleY(1)}}
@keyframes trace-inverse{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
@keyframes tampon{0%{transform:scale(0) rotate(-30deg)}30%,100%{transform:scale(1) rotate(0)}}
@keyframes parcourt{0%,100%{transform:translate(0,0)}35%{transform:translate(-9px,-7px)}70%{transform:translate(-3px,-12px)}}
@keyframes onde{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.6);opacity:0}}
@keyframes flux{from{stroke-dasharray:.012 .028;stroke-dashoffset:0}to{stroke-dasharray:.012 .028;stroke-dashoffset:-.04}}
@keyframes tourne-inverse{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes monte{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes pulse-n{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes etincelle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.35) rotate(45deg)}}
@keyframes saute{0%,100%{transform:translateY(0)}35%{transform:translateY(-2.5px)}}
@keyframes rebond{0%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}60%{transform:translateY(0)}80%{transform:translateY(-1.5px)}}
@keyframes derive{to{transform:translate(40px,20px) scale(1.08)}}
@keyframes remplit{to{width:100%}}
@keyframes apparait{to{opacity:1;transform:none}}
@keyframes bascule{from{left:2px}}
@keyframes bascule-fond{from{background:#cfd9e2}}
@keyframes transite{from{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:calc(100% - 12px);opacity:0}}
@keyframes parle{0%,100%{box-shadow:0 0 0 0 rgba(79,195,234,.6)}50%{box-shadow:0 0 0 10px rgba(79,195,234,0)}}
@keyframes disparait{to{opacity:0;visibility:hidden}}
@keyframes ecrit{to{width:var(--w)}}
@keyframes balance{0%,100%{transform:rotate(0)}30%{transform:rotate(14deg)}70%{transform:rotate(-10deg)}}
@keyframes glisse{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes pulse-rouge{0%{box-shadow:0 0 0 0 rgba(229,83,75,.6)}100%{box-shadow:0 0 0 12px rgba(229,83,75,0)}}
@keyframes entre{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes impulsion{0%{left:-60px;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
@keyframes battement{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes silo-pile{0%,100%{transform:translateY(0)}40%{transform:translateY(-3px)}}
@keyframes silo-ecran{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes jauge{0%{transform:rotate(-80deg)}55%{transform:rotate(10deg)}75%{transform:rotate(-4deg)}100%{transform:rotate(0)}}
@keyframes flotte-drapeau{0%,100%{transform:skewY(0)}40%{transform:skewY(-12deg)}70%{transform:skewY(6deg)}}
@keyframes onde-tel{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes sonne{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
@keyframes e4-tourne{to{transform:rotate(360deg)}}
@keyframes e4-coeur{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes e4-flux{to{stroke-dashoffset:-32}}
@keyframes e4-etincelle{0%,70%{opacity:0;transform:scale(.3)}78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
