Radii & shadows

Tight rectangles by default, true circles only when intended. Hard-offset shadows — never blurred — so every elevated surface reads as ink-stamped paper.

Five steps

--radius-full: 2 px is the system default. Lab DS uses "full" for a tight rectangle (rubber-stamp aesthetic) — true circles use the wrapper-only --radius-pill.

--radius-sm
4 px
--radius-md
6 px
--radius-lg
8 px
--radius-full
2 px (default)
--radius-pill
9999 px

Hard-offset library

No blur. Every shadow uses solid offsets in pixels — that's the look. The widget bar and step bar have the most pronounced ones (5–6 px) so they hover above the canvas.

--shadow-button
--shadow-panel
--shadow-panel-hover
--shadow-hard
--widget-bar-shadow

Two transition tokens

--transition-fast

150ms ease-out

Hover, press, toggle. Buttons + indicator dots + step-bar segment fills.

--transition-normal

250ms ease-out

Larger surface entrances (modal in, completion fade), settle animations.