Build a spring-animation playground for a designer choosing how a card returns to its resting position. Save a self-contained index.html that opens offline, with no external fonts or dependencies.

Make the motion itself the lesson: a large draggable rounded card, its resting-position marker, a short fading trail, and Replay. Drag and release the card to feel its return. Include three presets: Snappy (stiffness 360, damping 30, mass 1), Floaty (90, 8, 1), and Overdamped (180, 36, 1). A Compare view should release all three together so the difference is visible. Keep labels large and the composition calm, with a warm paper background, dark ink, and a different restrained accent for each preset. Avoid a generic dashboard.

Expose stiffness, damping and mass as keyboard-accessible controls with live values. Explain each in one short sentence. Use the same deterministic damped-spring calculation for every preview, starting release with zero velocity. Preserve settings across refreshes, respect reduced motion, and work at 342px width. Offer Copy settings and Download settings as JSON. Do not contact an AI model when controls change.

Use one shared spring function that can also be sampled at exact frame times for a later MP4. Save readable source and a short README. Check dragging, replay, presets, persistence, and narrow-screen layout.
