Typography
Typography
The scale is a density decision and the faces are a fonts one: this page shows what a shape reads, not what it is worth today. Switch the fonts axis in the debug panel and everything below is set in another face without a rule changing.
Families
Three, because that is what a page tells apart: what it is written in, what it is titled in, and what is meant to be read as typed rather than said. A set may give the same face to all three — the system one does.
--font-family-base
The quick brown fox jumps over the lazy dog — 0123456789
--font-family-heading
The quick brown fox jumps over the lazy dog — 0123456789
--font-family-mono
The quick brown fox jumps over the lazy dog — 0123456789
Weights
Named by how much they insist, never by number. A face whose 500 does not exist maps it onto what it does have, and the shapes that ask for a medium go on asking for a medium.
--font-weight-normal — The quick brown fox jumps over the lazy dog — 0123456789
--font-weight-medium — The quick brown fox jumps over the lazy dog — 0123456789
--font-weight-strong — The quick brown fox jumps over the lazy dog — 0123456789
--font-weight-bold — The quick brown fox jumps over the lazy dog — 0123456789
Type scale
Design System — Building blocks for great interfaces
Used once per page. Sets the primary context. Paired with a short lead paragraph.
Typography establishes hierarchy and rhythm
Section-level heading. Groups related content. Usually followed by body text or sub-sections.
Spacing and proportion shape readability
Sub-section heading. Introduces a focused topic within a section.
Color and contrast guide the eye
Used for card titles, sidebar sections, or minor groupings.
Interactive states need to be obvious
Labels, metadata headers, small groupings. Subtle but distinct from body text.
Accessibility is a feature, not an afterthought
The smallest heading level. Use sparingly — for footnotes, legal blocks, or auxiliary labels.