themes-cyberpunk/RECOMMENDED_FONTS.md
Alex Dunmow 02a84ab31e feat(cyberpunk): Wave A build — 49 builtin overrides, 7 templates, canvas hero, seed
WO-TF-015 (game-studio / hacker-collective persona, GO-BIG motion).

- Overrides: all 49 mandatory builtin keys in templates/overrides/cyberpunk/
  (dashed keys), each restyled to neon-HUD chrome preserving builtin field
  reads + scripts. Legacy button/card/heading/text reconciled to new field
  names (label/link/style, text/media). Auth surface (auth-form,
  auth-status, password-reset-form) reproduces the builtin hardcoded HTMX
  endpoints + Cap widget verbatim. page-suggestions ships themed 404 chrome.
- Page templates: 7 (default, full-width, landing, article, blog-index,
  contact, auth), dual-mode via theme_mode, scanline overlay chrome.
- Hero override: dependency-free canvas digital-rain showpiece — lazy-init
  via IntersectionObserver, prefers-reduced-motion honored, static neon
  gradient no-JS fallback, token-derived colors only.
- Blocks: deleted 6 builtin-duplicating theme blocks (now overrides); kept
  code_neon (+ copy handler); added persona blocks glitch_hero, roster_grid,
  patch_notes with schemas + sample data.
- Presets: 5 (neon-noir, acid-rain, toxic-bloom, hotline, ghost-protocol),
  all 19 tokens, light+dark both tuned.
- Fonts: bundled OFL woff2 (Orbitron, Share Tech Mono, Inter latin subsets)
  in assets/fonts + fonts.json + LICENSES; all font-family via CSS vars.
- Email: preset-aware email-safe wrapper (tables, inline styles, colors.*).
- Master pages + demo seed (home, about, blog+3 posts, contact with
  data-table + row_inserted email-admins workflow, login).
- manifest CSS: hud-frame, clip-cut, cyberpunk-eyebrow, canvas-rain utils.
- plugin.mod + manifest required_icon_packs = [lucide, simple-icons].

make build + verify exit 0; check-safety exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 10:57:00 +08:00

41 lines
2.1 KiB
Markdown

# Recommended fonts — Cyberpunk
This theme **bundles** three OFL (SIL Open Font License 1.1) latin-subset webfonts in
`assets/fonts/` and declares them in `fonts.json`. On install they become
`source=template` rows in the `fonts` table, so their `@font-face` declarations are
auto-emitted and they are selectable in the admin typography picker. No manual font setup
is required to get the intended look.
| Slot | Bundled family | File | Fallback stack (before assignment) |
|---|---|---|---|
| Heading (`--font-heading`) | **Orbitron** | `fonts/orbitron-latin.woff2` | `"Orbitron", system-ui, -apple-system, "Segoe UI", sans-serif` |
| Mono (`--font-mono`) | **Share Tech Mono** | `fonts/share-tech-mono-latin.woff2` | `"Share Tech Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace` |
| Body (`--font-body`) | **Inter** | `fonts/inter-latin.woff2` | `"Inter", system-ui, -apple-system, "Segoe UI", sans-serif` |
## How the theme consumes them
Every `font-family` in the theme flows through a CSS variable with a bundled-family
fallback — nothing is hardcoded, so the admin picker always wins:
- `.cyberpunk-display` -> `var(--font-heading, "Orbitron", ...)` — display headings, glitch H1/H2.
- `.cyberpunk-mono` -> `var(--font-mono, "Share Tech Mono", ...)` — readouts, labels, prices, code.
- `.cyberpunk-body` / `.cyberpunk-prose` -> `var(--font-body, "Inter", ...)` — body copy.
## To assign (optional)
Open the typography panel and assign **Orbitron -> Heading**, **Share Tech Mono -> Mono**,
**Inter -> Body**. All three appear in the picker under the theme's bundled fonts. If you
prefer alternates, **Rajdhani** (OFL) is a lighter display alternative to Orbitron, and
**JetBrains Mono** (OFL) a more legible mono — both are in the curated Google Fonts tab.
## Alternate direction
The locked WO-TF-015 direction pairs Orbitron (display) with Share Tech Mono (readouts)
and Inter (body). Rajdhani may be swapped in for Orbitron where a condensed, less
geometric display face reads better at long headline lengths.
## Licensing
All three are OFL 1.1 and cleared for redistribution inside this artifact. Details and
attribution: `assets/fonts/LICENSES.md`.