An endless wall of the menu you can drag in any direction — tiles recycle by modular wrap so it never ends. Release to throw it (position-damped glide, friction 0.92); scrolling the page nudges it; it drifts gently when idle. DOM + CSS transforms recycled by modulo — no WebGL, no Three.js.
14 tiles · drag/throw with inertia (friction 0.92 · lerp 0.085) · recycles by modulo wrap · scroll-nudges · auto-drifts 14 px/s when idle
On a phone (≤390px), any touch device, reduced-motion, or with JS off this is a plain, fully-tappable static gallery grid — the infinite canvas + GSAP are never initialised (0 resident rAF).