/* MOTION — calm and precise. Fades and short slides; never bounce. */
:root {
  --dur-fast:  120ms;
  --dur-base:  180ms;
  --dur-slow:  280ms;
  --dur-slower:480ms;

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:   cubic-bezier(0.65, 0, 0.35, 1);

  /* the gentle accent flash a metric plays when it updates */
  --flash-in: var(--dur-fast) var(--ease-out);
}

@keyframes xz-flash {
  0%   { background: var(--accent-soft); }
  100% { background: transparent; }
}
@keyframes xz-spin {
  to { transform: rotate(360deg); }
}
@keyframes xz-pulse {
  0%, 100% { opacity: 0.35; transform: scale(0.6); }
  50%      { opacity: 1;    transform: scale(1); }
}
@keyframes xz-rise {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
