Tooltips that know where they are: each one appears above its trigger with a centred arrow, flips below when there is no room, and slides its arrow along the edge when the tooltip has to shift to stay on screen. A short delay stops them flashing as you pass by, and focus shows them too.
Placement: above if `triggerTop − tipHeight − 10 ≥ 0`, else below; `left` = trigger centre − tip width / 2, clamped to [8, vw − 8 − width]; the arrow's `left` = trigger centre − clamped left. Show after 120 ms with `translateY(4px → 0)` and fade 0.15 s; hide immediately. `aria-describedby` points at the tooltip while shown.
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.