Foundations
Spacing
4px base scale with denser steps at small sizes and sparser steps past 32px. Containers bracket the layout from comfortable reading to wide desktop. Source of truth lives in packages/ui/tokens.css.
Scale
Bars are rendered at their actual pixel size, so the eye learns what each token feels like.
Radii
A fixed corner scale. Small controls (a checkbox-sized box, ≤20px) take --radius-xs; everything else small (buttons, inputs, chips, avatars) takes --radius-sm. Values above that are for surfaces, not controls. Swatches render at their actual radius.
Container widths
Max-widths for centred layouts. Bars are scaled to --container-xl (1280px = 100%). A fifth value, --container-prose (65ch), exists for long-form reading and adapts to the typeface in use rather than to a fixed pixel width.
--container-sm40rem · 640pxNarrow column — quick reads, forms, modal bodies.
--container-md48rem · 768pxDefault content column — most marketing sections live here.
--container-lg64rem · 1024pxStandard product layout — dashboard width.
--container-xl80rem · 1280pxWide desktop — full marketing hero, full dashboard.
--container-prose65chSidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is. This paragraph is rendered inside a 65ch column — the comfortable reading width that
--container-prosetargets.Width adapts to the body font. Use for articles, long-form policies, and documentation.