/* Daseb · animaciones compartidas por varias páginas */
@keyframes dslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@keyframes spin3d{from{transform:rotateX(-16deg) rotateY(0deg)}to{transform:rotateX(-16deg) rotateY(360deg)}}

@keyframes float3d{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

@keyframes wipeCell{0%,30%{background:#FF5C26;opacity:1}55%,80%{background:rgba(255,255,255,0.08);opacity:1}92%{background:rgba(255,255,255,0.08)}100%{background:#FF5C26}}

@keyframes mpiPulso{0%,100%{box-shadow:0 0 0 4px rgba(255,92,38,0.28)}50%{box-shadow:0 0 0 12px rgba(255,92,38,0)}}

@keyframes cesePulso{0%,100%{box-shadow:0 0 0 0 rgba(255,92,38,0.55)}60%{box-shadow:0 0 0 14px rgba(255,92,38,0)}}

@keyframes wipeScan{0%{top:14%;opacity:0}10%{opacity:1}70%{top:78%;opacity:1}80%{opacity:0}100%{top:14%;opacity:0}}


/* Quien pide menos movimiento en su sistema no ve marquesinas ni pulsos: todo queda quieto y legible. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  [data-marquee] { transform: none !important; }
}
