Skip to content

Design Tokens

The single source of truth for all visual decisions. Defined in tokens.css.

Colors

Every color token has independently tuned light and dark values. Dark mode is not an inversion — it is a separate palette.

--color-bg

Page background

light
dark

--color-bg-subtle

Alternating sections

light
dark

--color-fg

Primary text

light
dark

--color-fg-muted

Secondary text

light
dark

--color-muted

Tertiary text

light
dark

--color-border

Quiet borders (decorative only)

light
dark

--color-border-bold

Functional borders

light
dark

--color-surface

Card surfaces

light
dark

--color-accent

Links, one interactive

light
dark

--color-accent-hover

Accent hover

light
dark

--color-code-bg

Code background

light
dark

Dataviz

6 categorical marks (--color-viz-1 through --color-viz-6), bridge-derived from the upstream dataset's dataviz.categorical block and golden-gated like the rest of the default palette. Each clears 3:1 against --color-bg — Carbon's mark-on-background line, not text's 4.5:1 — and pairs with a non-color redundancy (shape here) rather than standing alone. See REMARQUE.md "Dataviz Tokens".

--color-viz-1

Series 1

light 4.74:1
dark 7.53:1

--color-viz-2

Series 2

light 4.73:1
dark 7.54:1

--color-viz-3

Series 3

light 5.35:1
dark 7.55:1

--color-viz-4

Series 4

light 5.32:1
dark 7.55:1

--color-viz-5

Series 5

light 5.33:1
dark 7.53:1

--color-viz-6

Series 6

light 4.74:1
dark 7.57:1

Palette Deck

The colors above are the default palette. remarque-tokens/deck switches at runtime between palettes generated by remarque-theme --scope — generation and contrast validation are the theme provider's job, this module only switches, persists, and restores. Try one:

Contrast Ratios

Computed WCAG 2.x compliance for key color pairings. Text pairings meet AA or better; --color-border is decorative-only (functional boundaries use --color-border-bold, which meets the 3:1 non-text minimum).

PairingLightDarkWCAG
fg on bg17.5:114.4:1AAA
fg-muted on bg7.5:17.3:1AAA
muted on bg4.7:14.9:1AA
muted on surface4.6:14.7:1AA
accent on bg5.6:16.8:1AA
fg on surface17.0:113.7:1AAA
border-bold on bg3.4:13.2:1Non-text

Spacing Scale

Deliberately generous. The upper values provide the breathing room that distinguishes editorial layouts from dashboard UIs.

--space-1
4px
--space-2
8px
--space-3
12px
--space-4
16px
--space-5
24px
--space-6
32px
--space-7
48px
--space-8
64px
--space-9
96px
--space-10
128px

Content Widths

The three content widths are the most critical layout tokens. Prose is always constrained to the reading width.

--content-reading: 46rem (~740px) — prose, essays, articles
--content-standard: 72rem (~1152px) — project pages, wider layouts
--content-wide: 88rem (~1408px) — outer container, navigation

Borders, Radius & Motion

Border Radius

--radius-sm
0.25rem

--radius-md
0.5rem (max)

--radius-none
0

Motion

--motion-fast120mshover, focus
--motion-normal180mstheme transitions
--motion-easingease-outall transitions