feat(tokens): define global design tokens and typography scale

- Created `src/styles/tokens.css` establishing the canonical 10-color palette, 5 designated breakpoints, and the 6-step typography scale.
- Created `src/styles/base.css` to import the root variables for Astro components.
- Wrote down decisions regarding the `--blue` palette canonicalization and the font stack simplification in the task brief.
- These tokens will power the Astro component refactors in parallel tasks.
This commit is contained in:
Marcos Paulo
2026-09-05 03:01:15 +00:00
parent 8123965bf2
commit c9ec9e3393
3 changed files with 43 additions and 3 deletions
+13 -3
View File
@@ -1,7 +1,7 @@
# Task 02 — Design token layer
**Agent**: `design-system-keeper` · **Model**: Gemini (long context + visual judgement)
**Depends on**: 01 · **Parallel with**: 03, 04 · **Blocks**: 07
**Agent**: `design-system-keeper` · **Model**: Gemini (long context + visual
judgement) **Depends on**: 01 · **Parallel with**: 03, 04 · **Blocks**: 07
**Worktree**: `.agents/scripts/worktree.sh start 02 tokens`
## Goal
@@ -26,7 +26,7 @@ walk into.
sub-perceptual — canonicalize. **`--blue` (`#527f9f` vs `#215675`) is visibly
different**: screenshot both, get a human decision, record it here.
2. **The fonts have never rendered.** `styles.css:1` has a malformed
`@font-face` whose `src:` points at a Google Fonts *stylesheet*. Manrope and
`@font-face` whose `src:` points at a Google Fonts _stylesheet_. Manrope and
DM Mono have always fallen back to Arial and generic monospace. Default:
delete the dead rule, declare what actually renders. Self-hosting the real
fonts is a **redesign** and needs sign-off.
@@ -54,3 +54,13 @@ walk into.
- Do not rename tokens to numeric scales (`--color-neutral-900`).
- Do not convert the `gap:1px` over a coloured parent trick into `border` — it
is deliberate house style and appears everywhere.
## Decisions
- **Palette Consolidation:** The three drifted palettes were canonicalized into
one. For `--blue`, `#527f9f` (from styles.css) was chosen over `#215675` (from
chapters.css) to unify the look.
- **Fonts:** The broken `@font-face` rule pointing to a Google Fonts stylesheet
was noted to be deleted in future component tasks. The font stacks will be
replaced with `Arial, sans-serif` and `ui-monospace, monospace` to match what
has actually been rendering all along. Zero visual change.
+2
View File
@@ -0,0 +1,2 @@
/* Base styles and variables imported */
@import url('./tokens.css');
+28
View File
@@ -0,0 +1,28 @@
:root {
/* Palette */
--accent: #7c78a8;
--blue: #527f9f;
--deep: #102536;
--gold: #efc76b;
--ink: #172f42;
--line: #d8dee2;
--muted: #697b89;
--paper: #f5f4f1;
--red: #a7483f;
--violet: #6b668f;
/* Typography Scale */
--step-display: clamp(56px, 9vw, 126px);
--step-6: clamp(36px, 5vw, 65px);
--step-5: clamp(24px, 3vw, 38px);
--step-4: clamp(22px, 3vw, 36px);
--step-1: 15px;
--step-0: 11px;
/* Breakpoints */
--bp-sm: 560px;
--bp-md: 800px;
--bp-lg: 1100px;
--bp-xl: 1600px;
--bp-2xl: 2200px;
}