WO-TF-012. Neo-brutalist creative-studio theme brought up to the Wave A OVERRIDE-CONTRACT (frozen against cms a0f07e2ae). - Override all 49 mandatory builtin keys in templates/overrides/brutalist/ (chrome, marketing, primitives, commerce, blog family, auth surface, 404), each carrying the brutalist chrome (chunky borders, hard offset shadows, hover snap, mono uppercase meta, candy accents) via a raw-CSS "bru-*" kit shipped in manifest.yaml. Load-bearing wiring (HTMX auth endpoints, signup form, contact-form submit + honeypot, facade scripts, lightbox) preserved verbatim. - 7 page templates: default, full-width, landing, article, blog-index, contact, auth (fixed a bug where templates omitted the `dark` class so dark presets never activated). - Blocks rework: removed 6 blocks that duplicated builtins (masthead, concrete_hero, meta_strip, caption_image, pull_quote, colophon) — now overrides; kept project_ledger; added persona blocks sticker_wall, changelog, spec_sheet (4 total). - 4 dual-mode presets (all mode "both", 19 tokens light + dark): Concrete & Cadmium, Hazard, Riso, Acid. - Bundled 8 latin-subset OFL woff2 (Space Grotesk, Archivo Black, Inter, IBM Plex Mono) in assets/fonts/ + LICENSES.md; fonts.json populated; all font-family via var(--font-*). RECOMMENDED_FONTS/ICONS updated; required_icon_packs declared. - Email-safe themed wrapper (tables, inline styles) cleaned up. - master_pages.json reworked to builtin navbar/hero/cta/footer. - Demo seed (seed/seed.json + workflows.json, demo:true): home, about, blog (3 posts), contact (form + contact_submissions data table + row_inserted → email-admins workflow), login — studio voice. Known codeless limitation: page-suggestions renders themed 404 chrome but the similar-pages list (server-side DB query, no template provider) can't be reproduced; auth-form captcha widget is server-generated and can't be emitted (seed leaves captchaEnabled=false). Verified: make exit 0; check-safety exit 0. Visual quality UNVERIFIED until Wave B. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
203 lines
6.4 KiB
JSON
203 lines
6.4 KiB
JSON
[
|
|
{
|
|
"id": "concrete-red",
|
|
"name": "Concrete & Cadmium",
|
|
"description": "Paper-white concrete with a cadmium red accent. Black rules in light, paper rules in wet-concrete dark.",
|
|
"theme": {
|
|
"mode": "both",
|
|
"lightColors": {
|
|
"background": "40 14% 93%",
|
|
"foreground": "0 0% 4%",
|
|
"card": "40 10% 96%",
|
|
"cardForeground": "0 0% 4%",
|
|
"popover": "40 10% 96%",
|
|
"popoverForeground": "0 0% 4%",
|
|
"primary": "4 86% 48%",
|
|
"primaryForeground": "0 0% 100%",
|
|
"secondary": "40 8% 88%",
|
|
"secondaryForeground": "0 0% 4%",
|
|
"muted": "40 6% 90%",
|
|
"mutedForeground": "0 0% 35%",
|
|
"accent": "4 86% 48%",
|
|
"accentForeground": "0 0% 100%",
|
|
"destructive": "0 84% 50%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "0 0% 4%",
|
|
"input": "0 0% 4%",
|
|
"ring": "4 86% 48%"
|
|
},
|
|
"darkColors": {
|
|
"background": "0 0% 6%",
|
|
"foreground": "40 14% 93%",
|
|
"card": "0 0% 9%",
|
|
"cardForeground": "40 14% 93%",
|
|
"popover": "0 0% 9%",
|
|
"popoverForeground": "40 14% 93%",
|
|
"primary": "4 86% 56%",
|
|
"primaryForeground": "0 0% 6%",
|
|
"secondary": "0 0% 14%",
|
|
"secondaryForeground": "40 14% 93%",
|
|
"muted": "0 0% 12%",
|
|
"mutedForeground": "40 6% 65%",
|
|
"accent": "4 86% 56%",
|
|
"accentForeground": "0 0% 6%",
|
|
"destructive": "0 84% 60%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "40 14% 93%",
|
|
"input": "40 14% 93%",
|
|
"ring": "4 86% 56%"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "hazard-yellow",
|
|
"name": "Hazard",
|
|
"description": "Construction-site safety yellow. Ink type sits on yellow; wet-concrete dark glows.",
|
|
"theme": {
|
|
"mode": "both",
|
|
"lightColors": {
|
|
"background": "40 14% 93%",
|
|
"foreground": "0 0% 4%",
|
|
"card": "40 10% 96%",
|
|
"cardForeground": "0 0% 4%",
|
|
"popover": "40 10% 96%",
|
|
"popoverForeground": "0 0% 4%",
|
|
"primary": "48 100% 45%",
|
|
"primaryForeground": "0 0% 4%",
|
|
"secondary": "40 8% 88%",
|
|
"secondaryForeground": "0 0% 4%",
|
|
"muted": "40 6% 90%",
|
|
"mutedForeground": "0 0% 35%",
|
|
"accent": "48 100% 45%",
|
|
"accentForeground": "0 0% 4%",
|
|
"destructive": "0 84% 50%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "0 0% 4%",
|
|
"input": "0 0% 4%",
|
|
"ring": "48 100% 45%"
|
|
},
|
|
"darkColors": {
|
|
"background": "0 0% 6%",
|
|
"foreground": "48 100% 88%",
|
|
"card": "0 0% 9%",
|
|
"cardForeground": "48 100% 88%",
|
|
"popover": "0 0% 9%",
|
|
"popoverForeground": "48 100% 88%",
|
|
"primary": "48 100% 52%",
|
|
"primaryForeground": "0 0% 6%",
|
|
"secondary": "0 0% 14%",
|
|
"secondaryForeground": "48 100% 88%",
|
|
"muted": "0 0% 12%",
|
|
"mutedForeground": "48 20% 65%",
|
|
"accent": "48 100% 52%",
|
|
"accentForeground": "0 0% 6%",
|
|
"destructive": "0 84% 55%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "48 100% 88%",
|
|
"input": "48 100% 88%",
|
|
"ring": "48 100% 52%"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "riso-blue",
|
|
"name": "Riso",
|
|
"description": "Off-white with a riso-print electric blue. Cool concrete dark with a glowing blue accent.",
|
|
"theme": {
|
|
"mode": "both",
|
|
"lightColors": {
|
|
"background": "40 14% 93%",
|
|
"foreground": "0 0% 4%",
|
|
"card": "40 10% 96%",
|
|
"cardForeground": "0 0% 4%",
|
|
"popover": "40 10% 96%",
|
|
"popoverForeground": "0 0% 4%",
|
|
"primary": "222 89% 52%",
|
|
"primaryForeground": "0 0% 100%",
|
|
"secondary": "40 8% 88%",
|
|
"secondaryForeground": "0 0% 4%",
|
|
"muted": "40 6% 90%",
|
|
"mutedForeground": "0 0% 35%",
|
|
"accent": "222 89% 52%",
|
|
"accentForeground": "0 0% 100%",
|
|
"destructive": "0 84% 50%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "0 0% 4%",
|
|
"input": "0 0% 4%",
|
|
"ring": "222 89% 52%"
|
|
},
|
|
"darkColors": {
|
|
"background": "222 20% 7%",
|
|
"foreground": "210 30% 92%",
|
|
"card": "222 18% 10%",
|
|
"cardForeground": "210 30% 92%",
|
|
"popover": "222 18% 10%",
|
|
"popoverForeground": "210 30% 92%",
|
|
"primary": "222 92% 62%",
|
|
"primaryForeground": "222 20% 7%",
|
|
"secondary": "222 14% 15%",
|
|
"secondaryForeground": "210 30% 92%",
|
|
"muted": "222 14% 13%",
|
|
"mutedForeground": "213 18% 66%",
|
|
"accent": "222 92% 62%",
|
|
"accentForeground": "222 20% 7%",
|
|
"destructive": "0 84% 60%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "210 30% 92%",
|
|
"input": "210 30% 92%",
|
|
"ring": "222 92% 62%"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "acid-lime",
|
|
"name": "Acid",
|
|
"description": "Off-white with an acid lime accent. Ink type on lime; wet-concrete dark with a lime glow.",
|
|
"theme": {
|
|
"mode": "both",
|
|
"lightColors": {
|
|
"background": "40 14% 93%",
|
|
"foreground": "0 0% 4%",
|
|
"card": "40 10% 96%",
|
|
"cardForeground": "0 0% 4%",
|
|
"popover": "40 10% 96%",
|
|
"popoverForeground": "0 0% 4%",
|
|
"primary": "84 78% 40%",
|
|
"primaryForeground": "0 0% 4%",
|
|
"secondary": "40 8% 88%",
|
|
"secondaryForeground": "0 0% 4%",
|
|
"muted": "40 6% 90%",
|
|
"mutedForeground": "0 0% 35%",
|
|
"accent": "84 78% 40%",
|
|
"accentForeground": "0 0% 4%",
|
|
"destructive": "0 84% 50%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "0 0% 4%",
|
|
"input": "0 0% 4%",
|
|
"ring": "84 78% 40%"
|
|
},
|
|
"darkColors": {
|
|
"background": "90 12% 7%",
|
|
"foreground": "80 20% 92%",
|
|
"card": "90 10% 10%",
|
|
"cardForeground": "80 20% 92%",
|
|
"popover": "90 10% 10%",
|
|
"popoverForeground": "80 20% 92%",
|
|
"primary": "84 82% 52%",
|
|
"primaryForeground": "90 12% 7%",
|
|
"secondary": "90 8% 15%",
|
|
"secondaryForeground": "80 20% 92%",
|
|
"muted": "90 8% 13%",
|
|
"mutedForeground": "82 15% 66%",
|
|
"accent": "84 82% 52%",
|
|
"accentForeground": "90 12% 7%",
|
|
"destructive": "0 84% 60%",
|
|
"destructiveForeground": "0 0% 100%",
|
|
"border": "80 20% 92%",
|
|
"input": "80 20% 92%",
|
|
"ring": "84 82% 52%"
|
|
}
|
|
}
|
|
}
|
|
]
|