Skip to content

Typography

One typeface, one scale, used consistently. Manrope, set light by default (200), with specific weights called out where the design needs more presence.

Manrope is used for everything: headings, body copy, buttons and labels. There’s no second typeface anywhere in the app today. It’s served from the app itself.

Each sample below uses the app’s own text-* class, and the sizes are read live from index.css.

H132px / 400
Flight times & IATA codes

Large numeric readouts on the How page's flight cards: the "LHR"/"CDG" airport codes and the departure/arrival times.

H228px / 200
Not currently used

Only exists inside an old card-header component (CardHeader) that nothing in the app renders any more. It was replaced everywhere by the title pill. Defined, but not live, like Cream.

H324px / 200
Matt

Not really a "title" size despite its name. It's for a short, prominent value: your name in the home greeting pill, weather temperatures ("16°"), a city name, and the big date/time value inside the Calendar and Time picker modals.

H420px / 400
Page title

Your page titles ("Where", "When") via the large title pill. One of the most reused sizes in the app (50+ spots): leg/segment names in How, "Make admin", "Select travel mode", the "Documents: N" band heading, and more.

H518px / 400
Poll

The small title pills: category labels like "Poll" and date-range pills (the title pill's default, non-large size). Also vote-count numbers and a stay's name on accommodation cards.

H616px / 200
Sat 6 Mar

The date, time and duration text under a flight's big H1 airport code: "Sat 6 Mar", "08:45 GMT", "1h 35m".

BODY 116px / 400
Primary reading text

The size most paragraphs use: onboarding and sign-in body copy, a stay's secondary name line, the calendar's own date labels.

BODY 214px / 600
Secondary text

Always semibold, never lighter: status-chip labels ("Voted"), calendar weekday letters, a task's context line.

LABEL12px / 200*
SMALL CAPS LABEL

Weather captions like "Avg Daily"/"Avg Nightly". Most real Labels add their own medium weight where they're used, rather than the bare 200 default (see the note below).

The page’s default is extra-light (200). Most headings ride on that.

H1, H4, H5 and Body 1 are the exception. They’re pinned to 400, because at those sizes 200 reads as too thin to anchor a page.

Body 2 is always 600. It’s doing a label’s job (counts, captions, status text), not a paragraph’s.

* Label has no pinned weight of its own, so it really does default to 200. But most real Labels in the app (like the “Avg Daily”/“Avg Nightly” weather captions) add their own font-medium (500) where they’re used, rather than relying on the default. If a Label looks heavier than 200, check where it’s used, not just the token.