Bankroll40 docs

ADR-0004 Design tokens: two themes, computed contrast

Version: 1 · 2026-10-02 · accepted

Decision

Light theme: white ground, navy ink and accent. Dark theme: navy-black ground, pale blue accent, re-picked rather than inverted. Three semantic families from the product's own distinctions (ok, warn, fail), each with a soft ground. Every text-and-ground pair the app paints clears 4.5:1 in both themes; the check is a script, not an eye. Values live in spec/figures/tokens.json and generate the wireframes; the app and the sites consume the same values.

Why

The owner judged the first palette (charcoal with chip blue and amber, light mode produced by inversion) as poor in light mode and asked for white and navy. Deriving both themes from one checked token file keeps the wireframes, the landing page, the docs and the app in agreement.

Consequences

Type: Archivo for display, Instrument Sans for body, JetBrains Mono for figures and labels only. Icons: a single stroke-icon set, baked as paths.