:root{
  /* Nothing snaps, nothing bounces hard, nothing flashes.
     SwiftUI springs translated to CSS curves. */
  --ease-out:cubic-bezier(.2,.8,.2,1); /* @kind other */          /* .spring(response:.3, damping:.6) */
  --ease-gentle:cubic-bezier(.4,0,.2,1); /* @kind other */        /* .easeInOut — charts, sheets */
  --ease-settle:cubic-bezier(.25,.9,.25,1); /* @kind other */     /* .spring(.4/.8) — sheets, toasts */

  --dur-press:100ms; /* @kind other */      /* transform on :active */
  --dur-hover:150ms; /* @kind other */      /* background/color on :hover */
  --dur-ui:200ms; /* @kind other */         /* chevrons, accordions */
  --dur-chart:400ms; /* @kind other */      /* chart re-render, period switch */
  --dur-sheet:400ms; /* @kind other */

  /* Press feedback: the app scales to 0.95, the web lifts 1–2px. */
  --press-scale:.95; /* @kind other */
  --hover-lift:-1px; /* @kind other */
  --hover-lift-lg:-2px; /* @kind other */
  --hover-opacity:.85; /* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{
    --dur-press:0ms; /* @kind other */
    --dur-hover:0ms; /* @kind other */
    --dur-ui:0ms; /* @kind other */
    --dur-chart:0ms; /* @kind other */
    --dur-sheet:0ms; /* @kind other */
  }
}
