themes-cyberpunk/presets.json
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

253 lines
8.0 KiB
JSON

[
{
"id": "neon-noir",
"name": "Neon Noir",
"description": "Magenta-led tri-accent, the Cyberpunk default",
"theme": {
"mode": "both",
"lightColors": {
"background": "240 12% 97%",
"foreground": "260 25% 10%",
"card": "240 10% 99%",
"cardForeground": "260 25% 10%",
"popover": "240 10% 99%",
"popoverForeground": "260 25% 10%",
"primary": "320 100% 50%",
"primaryForeground": "0 0% 100%",
"secondary": "260 20% 92%",
"secondaryForeground": "260 25% 10%",
"muted": "260 15% 95%",
"mutedForeground": "260 12% 40%",
"accent": "185 100% 45%",
"accentForeground": "260 25% 10%",
"destructive": "0 90% 55%",
"destructiveForeground": "0 0% 100%",
"border": "260 20% 88%",
"input": "260 20% 88%",
"ring": "320 100% 50%"
},
"darkColors": {
"background": "260 18% 6%",
"foreground": "300 15% 95%",
"card": "260 22% 9%",
"cardForeground": "300 15% 95%",
"popover": "260 22% 9%",
"popoverForeground": "300 15% 95%",
"primary": "320 100% 60%",
"primaryForeground": "260 18% 6%",
"secondary": "260 25% 14%",
"secondaryForeground": "300 15% 95%",
"muted": "260 20% 12%",
"mutedForeground": "260 15% 65%",
"accent": "185 100% 55%",
"accentForeground": "260 18% 6%",
"destructive": "0 95% 62%",
"destructiveForeground": "260 18% 6%",
"border": "260 30% 18%",
"input": "260 30% 16%",
"ring": "320 100% 60%"
}
}
},
{
"id": "acid-rain",
"name": "Acid Rain",
"description": "Cyan-led, cooler chrome variant",
"theme": {
"mode": "both",
"lightColors": {
"background": "200 25% 97%",
"foreground": "220 30% 10%",
"card": "200 20% 99%",
"cardForeground": "220 30% 10%",
"popover": "200 20% 99%",
"popoverForeground": "220 30% 10%",
"primary": "185 100% 40%",
"primaryForeground": "220 25% 5%",
"secondary": "200 25% 92%",
"secondaryForeground": "220 30% 10%",
"muted": "200 20% 95%",
"mutedForeground": "220 15% 40%",
"accent": "320 95% 55%",
"accentForeground": "0 0% 100%",
"destructive": "0 90% 55%",
"destructiveForeground": "0 0% 100%",
"border": "200 25% 88%",
"input": "200 25% 88%",
"ring": "185 100% 40%"
},
"darkColors": {
"background": "220 25% 5%",
"foreground": "180 25% 92%",
"card": "220 28% 8%",
"cardForeground": "180 25% 92%",
"popover": "220 28% 8%",
"popoverForeground": "180 25% 92%",
"primary": "185 100% 55%",
"primaryForeground": "220 25% 5%",
"secondary": "220 28% 13%",
"secondaryForeground": "180 25% 92%",
"muted": "220 25% 11%",
"mutedForeground": "200 20% 65%",
"accent": "320 100% 65%",
"accentForeground": "220 25% 5%",
"destructive": "0 95% 62%",
"destructiveForeground": "220 25% 5%",
"border": "200 40% 18%",
"input": "200 40% 16%",
"ring": "185 100% 55%"
}
}
},
{
"id": "toxic-bloom",
"name": "Toxic Bloom",
"description": "Lime-led, we shipped at 3am",
"theme": {
"mode": "both",
"lightColors": {
"background": "100 15% 97%",
"foreground": "120 20% 10%",
"card": "100 12% 99%",
"cardForeground": "120 20% 10%",
"popover": "100 12% 99%",
"popoverForeground": "120 20% 10%",
"primary": "90 90% 38%",
"primaryForeground": "120 25% 5%",
"secondary": "100 15% 92%",
"secondaryForeground": "120 20% 10%",
"muted": "100 12% 95%",
"mutedForeground": "120 12% 40%",
"accent": "320 100% 55%",
"accentForeground": "0 0% 100%",
"destructive": "0 90% 55%",
"destructiveForeground": "0 0% 100%",
"border": "100 15% 88%",
"input": "100 15% 88%",
"ring": "90 90% 38%"
},
"darkColors": {
"background": "120 15% 5%",
"foreground": "90 30% 92%",
"card": "120 18% 8%",
"cardForeground": "90 30% 92%",
"popover": "120 18% 8%",
"popoverForeground": "90 30% 92%",
"primary": "90 100% 55%",
"primaryForeground": "120 25% 5%",
"secondary": "120 18% 13%",
"secondaryForeground": "90 30% 92%",
"muted": "120 15% 11%",
"mutedForeground": "100 15% 65%",
"accent": "320 100% 65%",
"accentForeground": "120 25% 5%",
"destructive": "0 95% 62%",
"destructiveForeground": "120 25% 5%",
"border": "100 25% 18%",
"input": "100 25% 16%",
"ring": "90 100% 55%"
}
}
},
{
"id": "hotline",
"name": "Hotline",
"description": "Sunset pink over teal — vaporwave arcade at dusk",
"theme": {
"mode": "both",
"lightColors": {
"background": "30 40% 97%",
"foreground": "300 30% 12%",
"card": "30 35% 99%",
"cardForeground": "300 30% 12%",
"popover": "30 35% 99%",
"popoverForeground": "300 30% 12%",
"primary": "330 95% 55%",
"primaryForeground": "0 0% 100%",
"secondary": "30 35% 92%",
"secondaryForeground": "300 30% 12%",
"muted": "30 25% 94%",
"mutedForeground": "300 15% 40%",
"accent": "170 85% 40%",
"accentForeground": "0 0% 100%",
"destructive": "0 90% 55%",
"destructiveForeground": "0 0% 100%",
"border": "30 30% 87%",
"input": "30 30% 87%",
"ring": "330 95% 55%"
},
"darkColors": {
"background": "285 35% 7%",
"foreground": "20 40% 94%",
"card": "285 38% 10%",
"cardForeground": "20 40% 94%",
"popover": "285 38% 10%",
"popoverForeground": "20 40% 94%",
"primary": "330 100% 64%",
"primaryForeground": "285 35% 7%",
"secondary": "285 30% 15%",
"secondaryForeground": "20 40% 94%",
"muted": "285 28% 13%",
"mutedForeground": "20 25% 66%",
"accent": "170 90% 55%",
"accentForeground": "285 35% 7%",
"destructive": "0 95% 62%",
"destructiveForeground": "285 35% 7%",
"border": "300 35% 20%",
"input": "300 35% 18%",
"ring": "330 100% 64%"
}
}
},
{
"id": "ghost-protocol",
"name": "Ghost Protocol",
"description": "Monochrome terminal — white phosphor on black, restrained neon",
"theme": {
"mode": "both",
"lightColors": {
"background": "0 0% 98%",
"foreground": "0 0% 8%",
"card": "0 0% 100%",
"cardForeground": "0 0% 8%",
"popover": "0 0% 100%",
"popoverForeground": "0 0% 8%",
"primary": "0 0% 12%",
"primaryForeground": "0 0% 98%",
"secondary": "0 0% 92%",
"secondaryForeground": "0 0% 8%",
"muted": "0 0% 94%",
"mutedForeground": "0 0% 38%",
"accent": "160 90% 38%",
"accentForeground": "0 0% 100%",
"destructive": "0 85% 50%",
"destructiveForeground": "0 0% 100%",
"border": "0 0% 86%",
"input": "0 0% 86%",
"ring": "160 90% 38%"
},
"darkColors": {
"background": "0 0% 4%",
"foreground": "150 15% 92%",
"card": "0 0% 7%",
"cardForeground": "150 15% 92%",
"popover": "0 0% 7%",
"popoverForeground": "150 15% 92%",
"primary": "150 90% 60%",
"primaryForeground": "0 0% 4%",
"secondary": "0 0% 12%",
"secondaryForeground": "150 15% 92%",
"muted": "0 0% 10%",
"mutedForeground": "150 8% 62%",
"accent": "150 100% 66%",
"accentForeground": "0 0% 4%",
"destructive": "0 95% 62%",
"destructiveForeground": "0 0% 4%",
"border": "150 15% 16%",
"input": "150 15% 14%",
"ring": "150 90% 60%"
}
}
}
]