Typography
One typeface, one scale, used consistently. Manrope, set light by default (200), with specific weights called out where the design needs more presence.
Typeface
Section titled “Typeface”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.
Large numeric readouts on the How page's flight cards: the "LHR"/"CDG" airport codes and the departure/arrival times.
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.
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.
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.
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.
The date, time and duration text under a flight's big H1 airport code: "Sat 6 Mar", "08:45 GMT", "1h 35m".
The size most paragraphs use: onboarding and sign-in body copy, a stay's secondary name line, the calendar's own date labels.
Always semibold, never lighter: status-chip labels ("Voted"), calendar weekday letters, a task's context line.
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).
Weight rule
Section titled “Weight rule”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.