# DESIGN.md — Aftercare HTML docs Visual contract: **Cobalt Grid** (`FRAME.md` / `frame-showcase.html`). Atoms are sacred. Composition is free for long-form reading. ## 1. Product Static HTML documentation for the Aftercare framework. Audience: agency developers and site-owner agents. Tone: risograph monograph / trend report — measured, editorial, sparse on covers, dense on indexes. ## 2. Color | Token | Value | Role | |---|---|---| | `--paper` | `#F0EBDE` | Canvas | | `--paper-2` | `#E6E0CE` | Code / inset regions | | `--ink` | `#1F2BE0` | Only ink — type, rules, grid, decoration | | `--ink-soft` | `#5560E5` | Editorial subtitles only | | `--grid` | `rgba(31,43,224,0.10)` | Permanent graph paper | | `--ink-faint` | `rgba(31,43,224,0.18)` | Ledger row dividers | **Never** a second hue, gradient fill as decoration, or drop shadow (QR paper outset excepted). ## 3. Typography | Face | Use | |---|---| | Newsreader 400 | Display, chapter titles, ledger names (size = hierarchy; never bold) | | Hanken Grotesk 400 / 600 | Body; uppercase micro labels at 0.16–0.18em | | DM Mono 400 | Chrome, tags, page numbers, code | ## 4. Surface & shape - Permanent ~40px (or 2cqw in frames) graph-paper grid on every page ground - Top + bottom 1.5px cobalt hairlines inset ~80px - **0 border-radius** everywhere - Flat: no elevation shadows ## 5. Primitives | Primitive | States / notes | |---|---| | **Cover hero** | Brand “Aftercare” as display-hero; kick + italic ed-callout; glitch right; QR top-right | | **Index ledger** | Topbar rule + rows (mono num · Newsreader name · Hanken desc) | | **Chapter opener** | Mono CHAPTER NN; Newsreader title; optional lede; soft glitch left | | **Prose block** | Max ~42rem; Hanken body 1.5; headings Newsreader | | **Code block** | paper-2 ground, 1.5px ink border, DM Mono; 0 radius | | **Table / ledger** | ink-faint row rules; header 1.5px ink | | **Nav chrome** | Micro / mono links; current = solid underline | | **Colophon foot** | Serif wordmark left; mono meta right; top 1.5px rule | | **Pixel-glitch** | Stair-stepped scanline column | | **QR-block** | 8×8 mosaic; paper outset anti-shadow | ## 6. Motion Out of scope for docs (FRAME.md). Prefer none; optional 150ms opacity on link hover only. ## 7. Responsive - Desktop: edge padding 80px; cover min-height 100vh - ≤900px: padding 24px; stack ledger to single column; shrink display headlines with clamp - Hairlines inset proportionally; glitch may hide under 700px to protect reading measure ## 8. Accessibility - Cobalt on cream must remain load-bearing text (not ink-soft for body) - Focus: 1.5px solid ink outline, 2px offset - Skip link to `#main` - Semantic landmarks: header nav, main, footer ## 9. Accepted debt - Docs are static HTML (not Aftercare content); markdown in `docs/*.md` remains source for agents - Pixel-glitch is CSS scanlines (showcase pattern), not SVG