Move across the panel and photographs spring up along the path, each one popping in at the pointer with a slight tilt and sinking away a moment later, so a sweep of the hand leaves a short-lived fan of images behind it. The pool cycles, so the trail never repeats two in a row.
Placeholder photos by Anders Norrback Bornholm, Job Savelsberg, Lukas Gächter, Jan Kronies, Denise Schuld, Anton Volnuhin, Niels Baars and Venti Views on Unsplash. Replace them with your own before launch.
The script tracks distance travelled; every 40 px it takes the next node from a ring of eight, places it at the pointer with a random tilt (−12° to 12°) and starts the `pop` animation: scale 0.6 → 1 with overshoot over 0.4 s, hold, then translateY(+20px) with fade over 0.6 s. The node is free again on `animationend`.
From prompt to a block in your page.
The preview is the shipped element inside a neutral demo page. Hover, click, focus: the one interaction it is about is live.
Token sets re-tint it live. The prompt carries the one you chose.
A paste-in snippet, or a component for Next.js, React, Vue, Astro, WordPress, Shopify or Webflow.
It quotes the markup, styles and script verbatim with the tokens and the rules that keep it self-contained.
It inherits your page's font and width; the tokens live on :root; several instances share one script.