Chapter 26 / 29 · Editorial
Design tokens.
The atomic vocabulary of the brand — colours, type, spacing, radii, motion, shadows. 47 CSS variables. Same values at /api/brand.json for AI agents.
26.1 Colours
Click any swatch to copy its hex value. Pink-700 is the brand accent — every other colour orbits it.
Accent
Neutrals
Warm cream scale
pink
yellow
green
blue
Semantic
26.2 Typography
Four faces. Display + body + mono + serif italic accent.
Bricolage Grotesque
headlines, display, big numbers
DM Sans
body, UI, paragraphs
JetBrains Mono
code, tokens, hex values, technical
Serif
—
26.3 Spacing
A 4px grid. Click any value to copy.
26.4 Radius
Corner curvature, named small to extra-large. Click to copy.
26.5 Motion
Four duration buckets. House easing curve below.
26.6 Shadows
Elevation + the brand's pink halo + focus ring.
26.7 Minimum sizes
Brand-protection rules — never render the marks below these sizes.
- Full lockup120px / 30mm print
- Icon24px / 8mm print
- Wordmark90px
26.8 CSS variables
Every custom property declared in _shared.css. Filter by name. Click any row to copy the variable name (with leading--).
Show / hide all (47)
#191E32#466099#6E90CC#FFFFFF#FBFAF7#F6F4ED#F4ECE4#E4DCD0#C9B89F#FE84A9#FF5B8D#FF3F7A#FFD878#F9C33E#F9AD03#7DF4D0#47DDB2#37BC9B#5BD9FC#30C4F2#1FAAE8body / main / builder) › --warm-2 inset (--bg + --bg-warm: recessed chrome + wells) › --warm-3 deepest inset only (--bg-sunk) --warm-5/7 retreat to borders / shadows / rare deep wells. Chips/badges already use *-soft tints (never warm), so --warm-3 frees up the moment the split lands. Dark mode runs the inverse logic and is intentionally left untouched (see the dark block: --bg-canvas aliases back to the dark page bg, and .app-shell-main keeps its dark default). */ --bg-canvas: var(--warm-1)var(--warm-2)var(--paper)var(--warm-3)var(--warm-3)var(--warm-2)var(--warm-5)var(--ink)rgba(25, 30, 50, 0.78)rgba(25, 30, 50, 0.7)rgba(25, 30, 50, 0.6)rgba(25, 30, 50, 0.12)rgba(25, 30, 50, 0.06)rgba(139, 115, 85, 0.18)rgba(139, 115, 85, 0.10)var(--accent)var(--pink-700)rgba(255, 63, 122, 0.12)var(--green-700)rgba(55, 188, 155, 0.14)var(--yellow-700)rgba(249, 173, 3, 0.16)var(--blue-700)rgba(31, 170, 232, 0.14)#D64545rgba(214, 69, 69, 0.12)
Want this as JSON? /api/brand.json