/* Pieza de espera común de Duxels (waiting.js): los pilares saltan en ola y la estela de píxeles corre a la derecha.
   Solo clases dx-wait* y dxw-*: no toca nada más de la página. Sin movimiento con prefers-reduced-motion. */
.dx-wait { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 24px auto; max-width: 30rem; text-align: center; }
.dx-wait-title { margin: 0; font-size: 1.2rem; font-weight: 700; letter-spacing: -.01em; }
.dx-wait-line { margin: 0; opacity: .78; font-size: .95rem; }
.dx-wait .dxw-art { display: block; width: min(100%, 280px); height: auto; overflow: visible; margin-bottom: 4px; }
.status-wait .dxw-art { width: min(100%, 380px); margin: 0 auto; } /* la página de respuesta `redirecting`: el dibujo más grande */

.dxw-pillar { transform-box: fill-box; transform-origin: 50% 100%; animation: dxw-hop 1.4s cubic-bezier(.45, 0, .25, 1) infinite; }
.dxw-shadow { transform-box: fill-box; transform-origin: 50% 50%; animation: dxw-shadow 1.4s cubic-bezier(.45, 0, .25, 1) infinite; }
.dxw-d2 { animation-delay: .16s; } /* pilar y su sombra, en ola */
.dxw-d3 { animation-delay: .32s; }
.dxw-px { transform-box: fill-box; animation: dxw-flow 1.4s linear infinite; opacity: 0; }
.dxw-p2 { animation-delay: .35s; }
.dxw-p3 { animation-delay: .7s; }
.dxw-p4 { animation-delay: 1.05s; }
.dxw-arrow { animation: dxw-arrow 1.4s ease-in-out infinite; }

@keyframes dxw-hop {
  0%, 62%, 100% { transform: translateY(0) scale(1, 1); }
  10% { transform: translateY(0) scale(1.08, .9); }
  30% { transform: translateY(-18px) scale(.95, 1.06); }
  48% { transform: translateY(0) scale(1.05, .94); }
}
@keyframes dxw-shadow { 0%, 62%, 100% { transform: scale(1); opacity: .3; } 30% { transform: scale(.7); opacity: .15; } }
@keyframes dxw-flow { 0% { transform: translateX(-14px); opacity: 0; } 25%, 70% { opacity: 1; } 100% { transform: translateX(22px); opacity: 0; } }
@keyframes dxw-arrow { 0%, 100% { transform: translateX(0); opacity: .75; } 50% { transform: translateX(5px); opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .dxw-pillar, .dxw-shadow, .dxw-px, .dxw-arrow { animation: none; }
  .dxw-px { opacity: .85; }
}
