checkpoints.ds

Search the design system

Jump to a page or component

FOUNDATIONS

Typography

Five font tokens, a scale that runs from 8px to 72px, and one face — Departure Mono — under every role. The previous Geist Pixel + JetBrains pairing is kept on file so it can be swapped back.

FONT TOKENS
0

Declared in @theme

SCALE STEPS
13

2 declared here

IN USE
13

Steps referenced in either app

THEMES
12

9 reassign a face

Families

Each role is a token, not a font name. Components ask for font-header; every theme currently resolves that to Departure Mono. Values below are read out of the @theme block at build time.

--font-header—

Headers and display type. Departure Mono — the same face as body, just larger.

Departure Mono. The same face as body — display type is a size and tracking change, not a family change.

--font-subheader—

Labels, eyebrows and buttons. Uppercased and letter-spaced.

Uppercased and letter-spaced. Same face as body; the grid still keeps labels aligned at small sizes.

--font-body—

Body copy and UI text. Monospace, so scores, playtime and dates stay aligned.

Monospace body text is an unusual choice and a deliberate one — it keeps numeric data (scores, playtime, dates) aligned everywhere it appears.

--font-sans—

Tailwind's default sans, remapped onto the body face so an un-tokenised class can't import a foreign font.

Remapped onto the body face. Tailwind applies it by default, so pointing it at the same font stops an un-tokenised class importing a foreign one.

--font-mono—

Tailwind's default mono, remapped the same way.

Remapped the same way, for the same reason.

The scale

Every step available, rendered at its own size, with how many times each is referenced across both apps. Usage is the honest measure of a scale: a step nothing uses is dead weight, and a step used 500 times is load-bearing.

SAMPLESTEPSIZEWEBMOBILE
Checkpointstext-3xsOURS8px3616
Checkpointstext-2xsOURS10px229177
Checkpointstext-xs12px541353
Checkpointstext-sm14px284302
Checkpointstext-base16px2176
Checkpointstext-lg18px1747
Checkpointstext-xl20px3035
Checkpointstext-2xl24px2320
Checkpointstext-3xl30px1110
Checkpointstext-4xl36px2—
Checkpointstext-5xl48px42
Checkpointstext-6xl60px—1
Checkpointstext-7xl72px—2

THE TWO WE DECLARE

--text-2xs — 10px. The app's small-label size — by far the most used step below body.

--text-3xs — 8px. Dense metadata inside compact cards and tier tiles.

Tailwind stops at text-xs (12px). The pixel UI needs to go smaller, and these two steps carry nearly every such use. Anything written as text-2xs is the same size with none of the meaning — it is an ESLint error on web for that reason.

Roles

Which step to reach for. The scale above is what exists; this is what each step is for.

Displayfont-header · text-3xl

Page title on landing-style routes. Never more than one per page.

Heading 1font-header · text-xl

Section headers inside a page.

Heading 2font-header · text-base

Nested headings inside a Section — sparingly.

LABELfont-subheader · text-xs · tracked

Eyebrows, badges, table column headers. Always uppercase, always letter-spaced.

Bodyfont-body · text-sm

Default paragraph size — reviews, descriptions, comments.

Body smallfont-body · text-xs

Dense data — inventory rows, chip labels, metadata.

Captionfont-body · text-2xs · tertiary

Timestamps, secondary counts, table footnotes.

Themes that reassign type

Most themes only change color. These change the typeface too, which is the point at which a theme stops being a palette and starts being a different product skin.

TERMINAL

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

AMBER

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

MONOCHROME

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

NEBULA

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

RPG

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

PLAYSTATION

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

XBOX 360

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

WII

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace

MS-DOS

THE QUICK BROWN FOX

Jumped over 13 lazy dogs at 09:41.

--font-sans
var(--font-departure-mono), monospace
--font-mono
var(--font-departure-mono), monospace
--font-header
var(--font-departure-mono), monospace
--font-subheader
var(--font-departure-mono), monospace
--font-body
var(--font-departure-mono), monospace