Typography
Token-driven font stack, type scale, weights, and color — every value pulled from design tokens.
Type scale
Nine steps from --text-xs (12 px) to --text-5xl (48 px). Each step maps a CSS custom property to a Tailwind utility of the same name.
--text-5xl48px·Display herotext-5xl--text-4xl36px·Display headingtext-4xl--text-3xl30px·Page headingtext-3xl--text-2xl24px·Subheadingtext-2xl--text-xl20px·Card headingtext-xl--text-lg18px·Section leadtext-lg--text-md16px·Default prosetext-md--text-sm14px·UI labels, form fieldstext-sm--text-xs12px·Badges, captionstext-xsFont family
Two families defined as tokens. Never hardcode font stack strings in component code — reference the token.
--font-sansfont-sansInter — the UI workhorse
Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto …
--font-monofont-monoJetBrains Mono — for code
"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas …
Weight conventions
Four weights — --fw-regular through --fw-bold. Match weight to hierarchy, not decoration.
--fw-regularfont-normal--fw-mediumfont-medium--fw-semiboldfont-semibold--fw-boldfont-boldColor
Always use semantic foreground tokens. Raw scale values (gray-900, brand-600) do not flip in dark mode — semantic aliases do.
text-fg·Primary·Main contenttext-fg-secondary·Secondary·Supporting texttext-fg-tertiary·Tertiary·Placeholders, captions, labelstext-fg-quaternary·Quaternary·Disabled-adjacent hintstext-fg-brand·Brand·Brand-colored text, active iconstext-fg-error·Error·Validation errors, destructive copytext-fg-success·Success·Confirmation messagesLine height
Leading tokens pair with size tokens of the same step. Use the matched pair — mixing sizes and leadings from different steps breaks vertical rhythm.
--leading-xs1.125rem / 18pxPaired with --text-xs
--leading-sm1.25rem / 20pxPaired with --text-sm
--leading-md1.5rem / 24pxPaired with --text-md
--leading-lg1.75rem / 28pxPaired with --text-lg
--leading-xl1.875rem / 30pxPaired with --text-xl
Combinations
Common size + weight + color pairings used across the system. Copy the class string directly — no raw values needed.
text-3xl font-semibold text-fg·Top of every doc or settings pagetext-xl font-semibold text-fg·h2 inside prose contenttext-lg font-semibold text-fg·Card titles, panel headerstext-md font-normal text-fg-secondary·Default prose, descriptionstext-sm font-medium text-fg·Form labels, nav items, table headerstext-xs font-normal text-fg-tertiary·Input hints, timestamps, metadatatext-xs font-medium text-fg-brand·Status chips, tag labels