Every component and its states, built entirely from tokens.css. Toggle Light/Dark and Colour-blind above to verify each in context. This page uses only CSS custom properties and a few vanilla-JS toggles; the production Vue app maps each block to the component named in DESIGN.md.
Colour tokens
Switch theme to see both palettes. Text tokens meet WCAG AA on their paired surfaces (see DESIGN.md §3).
--paper
--surface
--surface-2
--ink
--ink-soft
--ink-faint
--line
--line-strong
--accent
--accent-soft
--accent-ink
--hi
--hi-soft
--hi-ink
--mid
--mid-soft
--mid-ink
--low
--low-soft
--low-ink
Typography
Display · serif 700
Section title · serif 700
Body · sans 400. The retired academic reads here every day.
Secondary / meta · sans, ink-soft
doi:10.1177/09567976251234567 · mono, ink-faint
Buttons
Variants · default / hover / focus / active / disabled (hover & focus are live)
Inputs & controls
Enter a valid email address.
Colour-blind badges
Select row
Badges — the two status vocabularies
Confidence and source health share one colour scale. Toggle Colour-blind to add outline patterns (solid / dashed / dotted).