/* ===========================================================================
   销售 AI · Motion tokens & keyframes
   Calm, functional motion. Quick ease for taps; gentle infinite loops only
   on live-state affordances (waveform, recording dot, generation spinner).
   No bounce, no spring, no decorative parallax.
   =========================================================================== */
:root {
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);    /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);        /* @kind other */
  --ease-in-out: ease-in-out;                       /* @kind other */

  --dur-fast: 120ms;  /* @kind other */  /* taps, hovers, opacity      */
  --dur-base: 200ms;  /* @kind other */  /* most state transitions      */
  --dur-slow: 320ms;  /* @kind other */  /* sheet rise, page change      */

  --press-scale: 0.97;  /* @kind other */  /* active/press shrink        */
}

/* ---- Live-state loops (used by Waveform, RecordButton, ProgressRing) ---- */
@keyframes scPulse { 0%, 100% { transform: scaleY(0.45); } 50% { transform: scaleY(1); } }
@keyframes scGlow  { 0%, 100% { opacity: 0.55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes scSpin  { to { transform: rotate(360deg); } }
