All loaders
Geometric6s loop

Pebble

One shape flexing, with an outline running behind it.

Pauses off screen

The prompt

Build a fullscreen preloader called Pebble.

Centre a square about 44% of the stage's smaller dimension on a near-black background. Fill it with a 140-degree linear gradient running from white at 15% to a saturated accent at 115%, so the light on the shape shifts as it turns.

Animate it over 6s on ease-in-out through four keyframes, changing the full eight-value border-radius and the rotation together. Start at 42% 58% 62% 38% / 46% 42% 58% 54% with no rotation and scale 1; at 25% go to 64% 36% 33% 67% / 62% 57% 43% 38% with 90deg and scale 0.88; at 50% to 33% 67% 58% 42% / 37% 63% 37% 63% with 180deg and scale 1.06; at 75% to 58% 42% 46% 54% / 55% 33% 67% 45% with 270deg and scale 0.92; then home. Rotating while the corners travel is what makes it read as one solid object flexing rather than an amorphous blob wobbling in place.

Behind it, place a copy with no fill and a one-pixel white border at 25% opacity, inset slightly larger, running the exact same animation with a -0.5s delay. That single negative delay gives you a wake trailing the shape for free, with no second set of keyframes to maintain.

Loop forever. Under prefers-reduced-motion, hold both shapes on one frame.
Made with Modulify