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

2.1 KiB

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.