Typography
Geist Sans for interface and prose, Geist Mono for code and data. Most of the dashboard reads at 13 and 14px.
In the Dashboard
App components set type with Tailwind sizes. One medium name per row; everything else ranks by gray.
Rank With Gray, Not Weight
A row holds one medium name and everything else at 400. Secondary text steps down in color before it steps down in size.
Headings
Geist Sans sets UI and prose; Geist Mono sets code, data, and tabular figures. Both are open-source. The `typography` tokens above carry concrete `fontFamily`, `fontSize`, `fontWeight`, `lineHeight`, and `letterSpacing`:
Labels
Copy
Buttons
Rules
- Headings,
heading-72throughheading-14, title pages and sections;letterSpacingtightens as the size grows. - Labels,
label-20throughlabel-12, carry single-line, scannable text: navigation, form labels, table headers, metadata. - Copy,
copy-24throughcopy-13, set multi-line body text with a tallerlineHeight. - Buttons,
button-16throughbutton-12, are medium-weight labels for buttons and compact controls.
copy-14 and label-14 cover most text. The -mono tokens pair Geist Mono with the same metrics; prefer tabular figures when numbers need to align.
A frame's band title stays at body size in medium, so the count or link beside it shares the line without a jump in size.