checkpoints.ds

Search the design system

Jump to a page or component

FOUNDATIONS

Spacing & shape

Tailwind's default 4px scale, unmodified — and a radius system that turns out to be more interesting than the pixel aesthetic suggests.

Shape is a themed token, not a constant

The base layer sets every radius to 0px, and components reference the tokens (rounded-[var(--radius-button)]) rather than hard-coding rounded-none. That indirection looked like future-proofing. It isn't — it's load-bearing.

--radius
--radius-button
--radius-input
--radius-card
--radius-badge
--radius-avatar

5 of 12 themes are fully square. TERMINAL, AMBER, MONOCHROME, PHOSPHOR, MS-DOS keep every radius at 0px. The remaining 7 — the console and OS homages — adopt the shape language of the hardware they reference: Xbox 360 and Wii use pill buttons, PlayStation and Nebula soften to 8px, the Super Nintendo themes sit at 6px.

That is a deliberate decision, not drift — but it means “Checkpoints has no rounded corners” is not a true statement about the system, only about its default. Any component that hard-codes rounded-none instead of the token silently opts out of seven themes.

Radius by theme

Parsed from each theme file. Square themes in green, shaped themes in amber.

THEMEBASEBUTTONINPUTCARDBADGEAVATAR
TERMINAL0px0px0px0px0px0px
AMBER0px0px0px0px0px0px
MONOCHROME0px0px0px0px0px0px
NEBULA0.5rem0.5rem0.5rem0.75rem9999px9999px
SUPER NES0.375rem0.375rem0.375rem0.375rem0.375rem9999px
SUPER FAMICOM0.375rem0.375rem0.375rem0.375rem0.375rem9999px
PHOSPHOR0px0px0px0px0px0px
RPG0.375rem0.5rem0.375rem0.25rem9999px9999px
PLAYSTATION0.5rem0.5rem0.5rem0.75rem9999px9999px
XBOX 3600.75rem9999px0.5rem0.75rem9999px9999px
WII1rem9999px9999px1rem9999px9999px
MS-DOS0px0px0px0px0px0px

Spacing scale

Standard Tailwind spacing, 4px per step. The system doesn't extend it — restraint here is what keeps dense, data-heavy screens from drifting.

14px

Hairline padding — inline chip innards, icon-to-text gaps at small sizes.

28px

Tight vertical rhythm — dense lists, form rows.

312px

Default gap between an icon and its label; padding on small buttons.

416px

Comfortable paragraph gap, most card padding.

624px

Section-to-section rhythm inside a card.

832px

Page-level padding — between a Section and the next Section on desktop.

1248px

Between top-level regions on wide layouts (hero above table).

1664px

Rare — only for the biggest breathing rooms on landing-style pages.

Layout constraint

The authenticated app is capped at 1024px and centered, with 16px gutters. Navigation shares the same cap so the content column and the nav never disagree.

max-w-[1024px] mx-auto px-4