<!-- Design rules for AI coding agents · Bubblegum · CSS Crème
     Paste this block into CLAUDE.md, AGENTS.md or .cursor/rules/design.mdc. It points at DESIGN.md
     rather than restating it, so there is one source of truth. -->

## Design system: Bubblegum

All UI in this repository follows `DESIGN.md` at the repo root. Source of that file: https://csscreme.com/d/bubblegum.md
(token fingerprint `fnv1a-83152133`). If `DESIGN.md` is missing, fetch it first:

    curl -o DESIGN.md https://csscreme.com/d/bubblegum.md

Before writing or changing any UI, read `DESIGN.md` in full. Then:

1. Use only the tokens in its token table. Never introduce a hex value that is not in it; mix two
   existing tokens if an in-between shade is needed.
2. `primary` is the only call-to-action colour. One primary action per view. `accent` is never a
   second primary button.
3. Brand colours do not change between light and dark. Only the neutrals move.
4. Every corner derives from the `--radius` token. Do not mix radii across a view.
5. Stay on the spacing scale stated in `DESIGN.md`. No arbitrary pixel values.
6. Do not ship a text/background pair below the contrast ratios listed there. If a pair is not listed,
   compute it before using it; text under 4.5:1 fails WCAG AA.
7. Headings in Baloo 2, body in Nunito Sans. No third family.
8. Write `var(--primary)`, never the raw hex, so the theme stays swappable.

The `chart-*`, `sidebar-*` and `shadow-*` tokens are derived defaults and may be overridden; the six
semantic roles may not.

Install the tokens for real with `npx shadcn@latest add https://csscreme.com/r/bubblegum.json`. To confirm the local `DESIGN.md` is still current,
call the CSS Crème MCP tool `verify_design_md` with `{ "id": "bubblegum", "fingerprint": "fnv1a-83152133" }`
(endpoint https://csscreme.com/mcp, free, no key).
