# Task 14 — Rules page

**Agent**: `page-migrator` · **Model**: MiniMax-M3 **Depends on**: 03, 09 ·
**Parallel with**: 12, 13, 17 **Worktree**:
`.agents/scripts/worktree.sh start 14 page-rules`

## Goal

`/rules/` → Astro. Separate from task 13: it is a standalone bilingual case
study with its own stylesheet (`rules/styles.css`, 9.8 KB), its own script
(`rules/app.js`, 16 KB), and its own responsive contract.

## Asserted by verify.mjs

- `rulesHtml` must have **no external `<script>`/`<link>`** — it is explicitly
  checked as a standalone page
- `rulesCss` must contain `@media(min-width:2200px)`, `@media(max-width:900px)`,
  `@media(max-width:600px)`, `prefers-reduced-motion`

Task 02 collapses those breakpoints to named tokens. **Coordinate with the
verification engineer** — the assertion must be re-pointed at the token, not
deleted. Screenshot at the old widths (900, 600, 2200) to prove equivalence.

## Watch for

`rules/styles.css` shares `--accent` and `--deep` with `styles.css` — it is on
the _first_ palette. Confirm task 02 canonicalized it the same way.

## Done when

- [ ] Snapshot diff empty; bilingual toggle works, `<html lang>` follows
- [ ] Responsive behaviour identical at 600/900/2200
- [ ] No external dependency; checklist complete; `pnpm run gate` green
