Typography

Inter at twelve sizes and five weights, tuned for dense tables of readings.

Live React portSource file: src/assets/css/tokens.css

Scale

Twelve sizes, from 9 to 36px, all in Inter (--font-family-base). Half of them sit under 14px.

--font-size-5xl · 36pxSoil moisture 300 mm
--font-size-4xl · 30pxSoil moisture 300 mm
--font-size-3xl · 24pxSoil moisture 300 mm
--font-size-2xl · 20pxSoil moisture 300 mm
--font-size-xl · 18pxSoil moisture 300 mm
--font-size-lg · 16pxSoil moisture 300 mm
--font-size-base · 14pxSoil moisture 300 mm
--font-size-md · 13pxSoil moisture 300 mm
--font-size-sm · 12pxSoil moisture 300 mm
--font-size-xs · 11pxSoil moisture 300 mm
--font-size-2xs · 10pxSoil moisture 300 mm
--font-size-3xs · 9pxSoil moisture 300 mm

Weights

Five weights. The names run one step light: semibold is 500 and bold is 600.

Ag
400 · normal
Bore 12 · 4.2 m
Ag
475 · medium
Bore 12 · 4.2 m
Ag
500 · semibold
Bore 12 · 4.2 m
Ag
600 · bold
Bore 12 · 4.2 m
Ag
700 · extrabold
Bore 12 · 4.2 m
475 is the house medium. It stays open at 11px, where 500 fills in, and holds a row apart better than 400.

Roles

The size and weight each part of the interface uses.

RoleSizeWeight
Metrics tile figure5xl · 36700
Gauge reading3xl–4xl · 24–30600
Inline edit title2xl · 20500
Dialog and empty-state titlelg · 16600
Body text, checkbox and radio labelsbase · 14400
Button labelbase · 14475
Field valuebase · 14500; placeholder 400
Table cellmd · 13400; numbers 475
Table header, field label, badgesm · 12475
Helper and error textxs · 11400
Tooltip2xs · 10500
Menu group label2xs · 10600, capitals

Usage

  • Use 14px for body text, and 13px inside tables.
  • Set numbers in a table at 475 with tabular figures, so the columns line up.
  • Use 475 (--font-weight-medium) for button labels, field labels, badges and table headers.