A consent banner that rises from the bottom corner, with Accept, Reject and a Preferences toggle that expands the card in place to show three category switches with the card's height animating. The choice is stored for a year and the banner never returns; a small 'Cookie settings' link reopens it.
Entry: `translateY(24px) → 0` with fade over 0.45 s `cubic-bezier(.2,.8,.2,1)` after a 600 ms delay. Preferences: the script measures the collapsed and expanded heights and transitions `height` 0.35 s between them while the panel fades in. Accept/Reject/Save write `{necessary:true, analytics, marketing, ts}` and animate the card out (`translateY(24px)`, fade 0.3 s).
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.