Six ink blobs built as rings of Verlet-integrated points: distance constraints keep each ring taut, area preservation keeps it plump, and a ten-iteration constraint solver lets them squash against the walls and stack on each other without exploding. Grab one and fling it.
No libraries, no WebGL — Catmull–Rom splines through the point rings so they read as ink blobs rather than polygons, rendered in the site design tokens. The dragged blob flashes primary; everything else is ink. With prefers-reduced-motion the blobs sit at rest and remain draggable (direct manipulation is user-initiated, not autoplay).