/* Shared colour choreography. Native runtimes own values, timing and accessible final text. */
.azul-count-colour {
  --azul-count-from:#041f35;
  --azul-count-blue:#0261a2;
  --azul-count-cyan:#007c91;
  --azul-count-final:#0261a2;
  --azul-count-duration:1400ms;
}
.azul-count-colour-dark {
  --azul-count-from:#c7dffa;
  --azul-count-blue:#8bcaff;
  --azul-count-cyan:#64eff3;
  --azul-count-final:#fff;
}
@media(prefers-reduced-motion:no-preference) {
  :root .azul-count-colour [data-vibe-count-started="true"],
  :root .azul-count-colour [data-vibe-stat-target]:has([data-vibe-stat-animated]:not([hidden])) {
    animation:azul-count-colour var(--vibe-motion-duration,var(--azul-count-duration)) linear both;
    animation-timeline:auto;
    animation-range:normal;
  }
  @keyframes azul-count-colour {
    from { color:var(--azul-count-from); }
    30% { color:var(--azul-count-blue); }
    65% { color:var(--azul-count-cyan); }
    to { color:var(--azul-count-final); }
  }
}
@media(prefers-reduced-motion:reduce) {
  .azul-count-colour :is([data-vibe-count-to],[data-vibe-stat-target]) { animation:none!important; }
}
@media(forced-colors:active) {
  .azul-count-colour :is([data-vibe-count-to],[data-vibe-stat-target]) { animation:none!important; color:CanvasText!important; }
}
