Use Shadow and Spacing Tokens as a System
Define a handful of elevation and spacing steps once, then reuse them everywhere.
Shadows and spacing drift faster than any other part of an interface, because each is a small decision made in isolation. Turning both into a short list of tokens removes the decision entirely.
Three to five elevation steps
Each step should be visibly different: increasing blur and offset while lowering opacity reads as height. More than five levels become indistinguishable and get applied inconsistently.
One base unit for spacing
A 4px or 8px base generates a scale that keeps gaps, padding, and layout rhythm on the same grid. Use the same tokens for all three so the page reads as one system.
Name by role, not by value
Tokens named for what they do outlive tokens named for what they currently are. A value can change once; every usage of a value-named token has to change with it.