|
| 1 | +# Design |
| 2 | + |
| 3 | +## Theme |
| 4 | + |
| 5 | +Warm near-black, terminal-native editorial. A research-paper aesthetic rendered |
| 6 | +in a dark room: slab-serif display over a warm charcoal ground, JetBrains Mono |
| 7 | +for anything a machine would print, a single coral accent, paper grain and a |
| 8 | +faint graticule over everything. The lane is committed identity, not a greenfield |
| 9 | +choice — keep it. |
| 10 | + |
| 11 | +## Color (OKLCH-equivalent, authored in HSL) |
| 12 | + |
| 13 | +- `--bg` hsl(30 14% 7%) — warm near-black ground (the whole page) |
| 14 | +- `--bg-2` hsl(30 11% 10%), `--bg-3` hsl(30 10% 13%), `--panel` hsl(30 12% 9%) |
| 15 | +- `--fg` hsl(42 30% 90%) — warm cream ink (body) |
| 16 | +- `--fg-soft` 68%, `--fg-faint` 50%, `--fg-dim` 38% — the muted ramp |
| 17 | +- `--border` hsl(32 10% 17%), `--border-2` hsl(34 11% 24%) — hairlines |
| 18 | +- `--coral` hsl(14 66% 66%) + `--coral-deep` — the one accent, ≤10% of surface |
| 19 | +- `--gold` hsl(36 55% 70%), `--blue`, `--purple`, `--ok` — reserved for the |
| 20 | + product-shot mocks (terminal syntax, graph nodes), not for chrome. |
| 21 | +- Strategy: **Committed-dark.** The charcoal ground carries the brand; coral is |
| 22 | + the single spark. No second accent competes. |
| 23 | + |
| 24 | +## Typography |
| 25 | + |
| 26 | +- Display + body: **CMU Concrete** (the Computer Modern Concrete slab serif from |
| 27 | + TeX). Roman + Bold only, no italic — the family has none. Carries every human |
| 28 | + sentence: headings and prose. |
| 29 | +- Machine text: **JetBrains Mono** (400/500/700) — labels, code, terminal, meta, |
| 30 | + nav, chips. Never for prose. |
| 31 | +- Scale (tokens in `:root`): `--fs-display` clamp(44–84px) · `--fs-h1` (hero) · |
| 32 | + `--fs-h2` (sections) · `--fs-h3` (card headlines) · `--fs-lede` 17–20px · |
| 33 | + `--fs-prose` 17px. Mono locked to four steps: 14 code / 13 meta / 12 label / |
| 34 | + 11 micro. Shared prose measure `--measure: 48ch`. |
| 35 | +- Rules: serif for all prose; mono only for machine text; one 18px header→lede |
| 36 | + gap everywhere; `text-wrap: balance` on headings. |
| 37 | + |
| 38 | +## Components |
| 39 | + |
| 40 | +- **Statement card** (`.card.g-red/.g-purple/.g-blue`): radial grainy gradient, |
| 41 | + mono kicker + serif headline + serif body, 10px radius. Paired with a product |
| 42 | + shot in a showcase row. |
| 43 | +- **Product shot** (`.shot`, `.term-svg`): browser/terminal chrome around a real |
| 44 | + mock — the animated-once terminal SVG, the web workspace, the Atlas graph, the |
| 45 | + connectors orbit. These are the page's imagery. |
| 46 | +- **Quickstart stepper** (`.qs-step`): full-width numbered rows (a real 3-step |
| 47 | + sequence, so numbers are earned), roomy command chips. |
| 48 | +- **Copy chip** (`.chip`): the `curl | bash` install line, click-to-copy. |
| 49 | +- **Footer**: mono link columns + giant clipped `openscience` wordmark, fully |
| 50 | + visible above the bottom edge. |
| 51 | + |
| 52 | +## Layout |
| 53 | + |
| 54 | +- Max width 1180px, fluid `clamp()` section padding for rhythm. |
| 55 | +- Alternating two-column showcase rows (card ⇄ shot), then lower-density |
| 56 | + typographic sections. Vary spacing; avoid uniform box grids (an identical card |
| 57 | + grid is the slop tell). |
| 58 | +- Full-bleed grainy engraving hero (a Doré-style two-angels woodcut, B&W) with a |
| 59 | + veil for headline contrast. |
| 60 | + |
| 61 | +## Motion |
| 62 | + |
| 63 | +Reveal-on-scroll (IntersectionObserver, staggered) over an always-safe default; |
| 64 | +the terminal types once then rests. Nothing blinks or loops in the chrome. |
| 65 | +`prefers-reduced-motion` shows everything statically. Ease-out only. |
0 commit comments