Tune a spring by feel, watch it drive real UI, copy pure CSS.

Copy
:root {
  --ease-spring: linear(0, 0.007 1.25%, 0.028 2.5%, 0.059 3.75%, 0.115 5.42%, 0.164 6.67%, 0.236 8.33%, 0.51 14.17%, 0.621 16.67%, 0.722 19.17%, 0.809 21.67%, 0.882 24.17%, 0.95 27.08%, 0.993 29.58%, 1.03 32.5%, 1.047 34.58%, 1.06 37.08%, 1.067 39.58%, 1.068 42.08%, 1.059 47.5%, 1.016 61.67%, 1.002 70%, 0.995 81.67%, 1);
}

.thing {
  transition: transform 550ms var(--ease-spring);
}

@supports not (transition-timing-function: linear(0, 1)) {
  :root {
    --ease-spring: cubic-bezier(0.2, 0, 0, 1);
  }
}
Show
Bottom sheet~120px travel
Modalscale + fade
Toast~40px travel
List stagger55ms apart
Card flip-inrotate + lift
Toggle~20px travel