Neo-Brutalism
Error Manifesto
A neo-brutalist error card with hard shadow and border cycles its text color between white, red, and yellow in stepped CSS keyframe flashes.
csslight complexitymoderate motionmobile-ready
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
1
When to use it
Error states, 404 pages, or brutalist-themed dashboards needing dramatic status callouts.
When not to
Polished or minimal design systems — the hard-shadow aesthetic and color strobing clash with refined UI. Avoid where flashing colors are an accessibility concern.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change the error code to 'ERR 0x000' and the description to 'FATAL: CONTENT NOT FOUND', then shift the accent shadow color from #ff2d00 to #ffe640. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- error code text (.bru-code content)
- description text (.bru-desc content)
- accent/shadow color (#ff2d00)
- cycle duration (3s in bru-cycle)
- color stops in @keyframes bru-cycle
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- bru-animate / bru-static class toggle pattern
- prefers-reduced-motion guard
- visibilitychange pause handler
- IIFE wrapper
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- Stepped color cycling may be considered distracting or inaccessible in contexts with photosensitive users even with reduced-motion off
- No click or hover interaction — purely decorative auto-cycle
More Neo-Brutalism components
- Newspaper TickerTwo rows of bold uppercase headlines scroll in opposite directions with red accent highlights — pure CSS marquee in neo-brutalist black-and-cream style.
- Receipt CardA neo-brutalist receipt card with lime-green monospace text on black; line items fade in one-by-one with a staggered delay, revealing a running total.
- Warning TapeTwo scrolling yellow-black hazard stripe bands frame a bold "UNDER CONSTRUCTION" label that gently pulses. Pure CSS, zero JS logic.
- Data GridA neo-brutalist 5-row data grid showing node load % and status; cells flash cyan, lime, or red every 800ms to reflect ERR/WARN/OK states.