/* p-iconos-anim.css · GENERADO por src/pages/sistema/iconos/_generar.py · no se edita a mano.
   Una vez y quieto: cada animación se dispara al poner .is-play en el SVG (la hoja de p-iconos.js lo hace al pasar el cursor o tocar).
   Con «reducir movimiento»: fundido de 200 ms, sin desplazamiento (los .stage conservan el movimiento real para poder verlo). */
@keyframes ic-trazo{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ic-fade{from{opacity:0}to{opacity:1}}
@keyframes ic-enc{0%{stroke:var(--control-apagado);transform:translateY(2px)}50%{stroke:var(--control-apagado);transform:none}100%{stroke:currentColor;transform:none}}
@keyframes ic-giro{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes ic-color{from{stroke:var(--control-apagado)}to{stroke:currentColor}}
@keyframes ic-llega{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.ic-svg.is-play.a-draw .t{stroke-dasharray:1 2;animation:ic-trazo var(--u,450ms) var(--mov-entrada) var(--d,0ms) both}
.ic-svg.is-play.a-draw .dot{animation:ic-fade 150ms var(--mov-micro) var(--d,330ms) both}
.ic-svg.is-play.a-enc .e{animation:ic-enc 300ms var(--mov-estado) both}
.ic-svg.is-play.a-check .k{stroke-dasharray:1 2;animation:ic-trazo var(--u,350ms) var(--mov-entrada) var(--d,0ms) both}
.ic-svg.is-play.a-giro .mano{transform-box:view-box;transform-origin:16px 16px;animation:ic-giro 700ms var(--mov-estado) both}
.ic-svg.is-play.a-reply .e0{animation:ic-color 300ms var(--mov-estado) 400ms both}
.ic-svg.is-play.a-reply .e1,.ic-svg.is-play.a-reply .e2{stroke-dasharray:1 2;animation:ic-trazo 300ms var(--mov-entrada) 100ms both,ic-color 300ms var(--mov-estado) 400ms both}
.ic-svg.is-play.a-asig .e1{stroke-dasharray:1 2;animation:ic-trazo 280ms var(--mov-entrada) both}
.ic-svg.is-play.a-asig .e0{stroke-dasharray:1 2;animation:ic-trazo 280ms var(--mov-entrada) 60ms both}
.ic-svg.is-play.a-asig .e2{stroke-dasharray:1 2;animation:ic-trazo 300ms var(--mov-entrada) 420ms both}
.ic-svg.is-play.a-aprob .e0{animation:ic-color 300ms var(--mov-estado) 300ms both}
.ic-svg.is-play.a-aprob .e1{stroke-dasharray:1 2;animation:ic-trazo 300ms var(--mov-entrada) 120ms both}
.ic-svg.is-play.a-llega .e0{animation:ic-llega 300ms var(--mov-entrada) both}
.ic-svg.is-play.a-llega .e1{animation:ic-fade 150ms var(--mov-micro) 300ms both}
.ic-svg.is-play.a-llega .e2{animation:ic-fade 150ms var(--mov-micro) 390ms both}
.ic-svg.is-play.a-llega .e3{animation:ic-fade 150ms var(--mov-micro) 480ms both}
.ic-svg.is-play.a-crono .e0{stroke-dasharray:1 2;animation:ic-trazo 250ms var(--mov-entrada) both}
.ic-svg.is-play.a-crono .e2{stroke-dasharray:1 2;animation:ic-trazo 450ms var(--mov-entrada) both}
.ic-svg.is-play.a-crono .e1{transform-box:view-box;transform-origin:12px 14px;animation:ic-fade 120ms linear 350ms both,ic-giro 600ms var(--mov-estado) 350ms both}
.ic-svg.is-play.a-reporte .e0{stroke-dasharray:1 2;animation:ic-trazo 300ms var(--mov-estado) both}
.ic-svg.is-play.a-reporte .e1{stroke-dasharray:1 2;animation:ic-trazo 500ms var(--mov-estado) 150ms both}
.ic-svg.is-play.a-reporte .e2{stroke-dasharray:1 2;animation:ic-trazo 500ms var(--mov-estado) 250ms both}
.ic-svg.is-play.a-reporte .e3{stroke-dasharray:1 2;animation:ic-trazo 500ms var(--mov-estado) 350ms both}
@media (prefers-reduced-motion:reduce){
  .ic-svg.is-play:not(.stage .ic-svg) *{animation:ic-fade 200ms linear 0ms both!important;stroke-dasharray:none!important;transform:none!important}
}
