The original AI Studio export had a particle animation that looked dead. Elements were supposed to drift like a physics simulation — sinusoidal orbits, randomized phase offsets, the whole deal. Instead they just sat there. The bug: the animation was calculating positions with Date.now() on every render tick, which Framer Motion can't interpolate. You need keyframe arrays — five control points per axis that the spring solver can tween between. Once that switch happened, 75 elements started orbiting in independent elliptical paths with randomized amplitude (±400px horizontal, ±250px vertical), randomized phase rotation (±45°), and per-element durations between 6–12 seconds so nothing looks synchronized. The transition between grid mode (structured periodic table) and fluid mode (particles) uses a shared layoutId on every card, so Framer Motion morphs them through layout space instead of fading. That's the moment it went from "functional demo" to "thing you actually want to click around in."