/* Regla compartida: toda barra que comunica un delta usa estas clases. */
.stat-delta-track { transform-origin: center; }
.stat-delta-track.is-increasing { animation: stat-delta-rise 1.02s ease-in-out both; }
.stat-delta-track.is-decreasing { animation: stat-delta-fall .88s ease-in-out both; }
.stat-delta-track.is-unchanged { animation: stat-delta-unchanged .72s ease-out both; }
.stat-delta-fill { transition: width 1.12s cubic-bezier(.22, .61, .36, 1); }
.stat-delta-indicator { display: inline-block; scale: 1.8; transform-origin: center; }
.stat-delta-indicator.is-floating { animation: stat-delta-float 1.5s ease-out both; }
.stat-delta-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

@keyframes stat-delta-rise {
  0%, 100% { transform: scaleY(1); box-shadow: 0 0 0 rgba(91, 220, 118, 0); }
  36% { transform: scaleY(1.22); box-shadow: 0 0 8px rgba(91, 220, 118, .3); }
  72% { transform: scaleY(.96); box-shadow: 0 0 5px rgba(91, 220, 118, .16); }
}
@keyframes stat-delta-fall {
  0%, 100% { transform: translateX(0); box-shadow: 0 0 0 rgba(255, 92, 92, 0); }
  18%, 54% { transform: translateX(-1.5px); box-shadow: 0 0 5px rgba(255, 92, 92, .16); }
  36%, 72% { transform: translateX(1.5px); box-shadow: 0 0 7px rgba(255, 92, 92, .24); }
}
@keyframes stat-delta-unchanged {
  0%, 100% { box-shadow: 0 0 0 rgba(255, 255, 255, 0); }
  45% { box-shadow: 0 0 6px rgba(255, 255, 255, .2); }
}
@keyframes stat-delta-float {
  0%, 55% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-14px); }
}

@media (prefers-reduced-motion: reduce) {
  .stat-delta-fill { transition: none; }
  .stat-delta-track.is-increasing,
  .stat-delta-track.is-decreasing,
  .stat-delta-track.is-unchanged,
  .stat-delta-indicator.is-floating { animation: none; transform: none; }
  .stat-delta-track.is-increasing,
  .stat-delta-track.is-decreasing { box-shadow: none; }
  .stat-delta-track.is-unchanged { box-shadow: 0 0 4px rgba(255, 255, 255, .18); }
  .stat-delta-indicator.is-floating { opacity: 1; }
}
