## Demo: client-only
### ClientOnly.svelte
```svelte
The animation runs on Scroll down — the island below is marked
Same browser-only mount as above, but deferred: an requestAnimationFrame with a live fps counter, scaled to window.devicePixelRatio — browser APIs read at the top of the component's
script. This paragraph, by contrast, sits outside the island — it ships with the SSR HTML and doesn't move when the component mounts.
mochi:clientOnly:visible, so it stays a fallback until it reaches the viewport, then mounts in the browser.Lazy client-only with
mochi:clientOnly:visibleIntersectionObserver holds off the mount() until the placeholder enters the viewport, and the component's
bundle and CSS load only then. Open the console to see it mount as you scroll.