The traveling band read cheap because it's a generic skeleton shimmer laid over the button. These three build the pending state from the system's actual signature — the procedural edge, the corner brackets, the halftone — nothing foreign.
Click any button to toggle rest ⇄ busy. Same azure-house colour flip, brackets stay in the console language throughout.
Edge-boil
The procedural feDisplacement edge — the primitive nothing else has — churns deeper & faster (#edgeWork). The console's own boundary visibly works. Most distinctive; hardest to mistake for anyone else's loader.
Bracket-breathe
The four corner ticks — the system's mark — pulse outward and brighten on a slow rhythm (inset 0↔-4px). Edge stays calm. Quietest; leans on the geometry that already signals "focus/active" on hover.
Halftone-pulse
The dot-matrix fill breathes — dots scale from centre (background-size wave). The button's texture "processes." Uses the halftone primitive; reads as a filling/working surface, not a moving light.