Semantic tokens

Role-named mappings onto the primitives. Components read only these, which is what lets a tone context (ADR 0013) re-point a whole subtree without any component knowing. The resolved value under each swatch updates live when you toggle the theme — that is the light/dark behaviour these tokens encode.

Contrast between these pairs is not eyeballed: pnpm check:contrastmeasures all 180 of them across both modes and all five tones on every build. AA fails, AAA warns (ADR 0007, ADR 0032).

  1. --surface-defaultlight var(--c-juli-yellow-50)dark var(--c-juli-teal-950)
  2. --surface-elevatedlight var(--c-white)dark var(--c-juli-teal-900)
  3. --text-defaultlight var(--c-juli-teal-800)dark var(--c-juli-green-50)
  4. --text-stronglight var(--c-juli-teal-700)dark var(--c-juli-green-100)
  5. --text-mutedlight var(--c-juli-green-700)dark var(--c-juli-green-400)
  6. --border-subtlelight var(--c-juli-neutral-200)dark var(--c-juli-neutral-800)
  7. --focus-ringlight var(--c-juli-teal-700)dark var(--c-juli-green-300)
  8. --surface-actionlight var(--c-juli-green-400)dark var(--c-juli-green-500)
  9. --text-on-actionlight var(--c-juli-teal-800)dark var(--c-juli-neutral-950)
  10. --status-available-surfacelight var(--c-juli-green-200)dark var(--c-juli-green-900)
  11. --status-available-textlight var(--c-juli-green-900)dark var(--c-juli-green-300)
  12. --status-reserved-surfacelight var(--c-juli-neutral-100)dark var(--c-juli-neutral-800)
  13. --status-reserved-textlight var(--c-juli-yellow-900)dark var(--c-juli-yellow-200)
  14. --status-coming-soon-surfacelight var(--c-juli-teal-100)dark var(--c-juli-teal-700)
  15. --status-coming-soon-textlight var(--c-juli-teal-700)dark var(--c-juli-teal-100)
  16. --status-let-surfacelight var(--c-juli-neutral-200)dark var(--c-juli-neutral-800)
  17. --status-let-textlight var(--c-juli-neutral-700)dark var(--c-juli-neutral-300)
  18. --flag-new-surfacelight var(--c-juli-yellow-300)dark var(--c-juli-yellow-300)
  19. --flag-new-textlight var(--c-juli-neutral-950)dark var(--c-juli-neutral-950)
  20. --flag-open-house-surfacelight var(--c-juli-green-300)dark var(--c-juli-green-300)
  21. --flag-open-house-textlight var(--c-juli-neutral-950)dark var(--c-juli-neutral-950)
  22. --status-pill-borderlight transparentdark var(--c-juli-teal-700)