# Kaiser Natron — Restyle Change Log (Developer Handoff)
> **⚠️ ALWAYS KEEP THIS DOCUMENT UPDATED.** Any time a styling change is made,
> update this file in the same change. Record only the **latest final state**
> of each item (succinctly — not the iterations it took to get there): the
> file, what it is now, and the token/class. If a new value supersedes an old
> one, **edit the existing entry** instead of appending a duplicate.
A plain-language summary of every visual change made in this restyle pass,
with the **exact file**, **what changed**, and the **CSS / Tailwind classes**
involved. It's organised by theme so you can review one concern at a time.
The design system is **token-driven**: colours, fonts, and sizes live as CSS
custom properties in `src/design-system/tokens.css` (consumed by Tailwind v4
via `@theme`). Most colour changes happen there once and cascade everywhere.
---
## 1. New brand colours (design tokens)
**File:** `src/design-system/tokens.css`
Two new colours were introduced and two existing ones repurposed.
| Token | Value | Meaning |
|-------|-------|---------|
| `--color-accent-fill` | `#cc0230` | Crimson — the new fill for all solid CTA buttons, pills and chips |
| `--color-accent-fill-hover` | `oklch(accent-fill − 12% black)` | Darker crimson for hover |
| `--color-accent-fill-ink` | `#ffffff` | White — the text/icon colour that sits on crimson |
| `--color-highlight` | `#6eceb2` | Mint — hover/active state for nav tabs and footer links |
| `--color-accent` | `#e9c84b` (unchanged) | Old warm yellow — now only used as the token behind a few non-button accents |
```css
/* tokens.css — added */
--color-accent-fill: #cc0230;
--color-accent-fill-hover: color-mix(in oklch, var(--color-accent-fill), black 12%);
--color-accent-fill-ink: #ffffff;
--color-highlight: #6eceb2;
```
Because these are registered in `@theme`, Tailwind auto-generates the utility
classes `bg-accent-fill`, `text-accent-fill-ink`, `border-accent-fill`,
`hover:bg-accent-fill-hover`, and `text-highlight` / `hover:text-highlight`.
---
## 2. Pages are pure white
**File:** `src/design-system/tokens.css` (+ `index.html`)
The two off-white page surfaces were set to pure white. Everything that paints
a page background (`bg-cream`, `bg-surface`) and the cream-coloured logo
(`text-cream`) followed automatically.
```css
/* before → after */
--color-cream: #f4efe4; → #ffffff;
--color-surface: #faf7f1; → #ffffff;
```
`index.html` — the browser theme colour was matched to white:
```html
```
---
## 3. Typeface → Zeitung (self-hosted)
**Files:** `src/design-system/tokens.css`, `src/assets/styles.css`,
`src/assets/fonts/`, `index.html`
All text now uses **Zeitung**, self-hosted (no external font CDN). The licensed
`.woff2` files were mirrored from the production site into
`src/assets/fonts/` (Regular 400 + Bold 700 — the only two weights that exist;
the browser synthesises intermediate weights and there are no italics).
```css
/* tokens.css */
--font-serif: 'Zeitung', ui-sans-serif, system-ui, -apple-system, Arial, sans-serif;
--font-sans: 'Zeitung', ui-sans-serif, system-ui, -apple-system, Arial, sans-serif;
```
```css
/* styles.css — added @font-face */
@font-face { font-family:'Zeitung'; font-weight:400; font-display:swap;
src:url('./fonts/Zeitung-Regular.woff2') format('woff2'); }
@font-face { font-family:'Zeitung'; font-weight:700; font-display:swap;
src:url('./fonts/Zeitung-Bold.woff2') format('woff2'); }
```
`index.html` — the Google Fonts `` (Fraunces + DM Sans) and its
`preconnect` hints were **removed**.
---
## 4. Buttons
**File:** `src/design-system/components/Button.vue` — the single source of truth
for buttons. Variants are picked with `