Design that shouts and still passes AA.
Philosophy
Anti-corporate, raw, high-contrast, energetic, ironic. Every pixel does a job.
Print graphics: flat spot color and offset shadows like a cheap two-pass print.
Early Web 1.0: visible boxes and default-looking controls.
Pop-art collage: stickers, tilted labels, color blocking.
Functional starkness: decoration is always structural.
- Honest structure. Show the box.
- Flat color, hard edge. One fill, one stroke, one shadow.
- Loud, but ordered. Everything snaps to 4px.
- Black is the glue. Accents never touch.
- One shout per view.
- Accessibility is the feature.
Color & surfaces
Black and paper carry structure. Accents carry attention. Click any swatch to copy its hex.
Base
Accents
Layering rules
Geometry, borders & shadows
Hard black strokes and opaque, zero-blur offsets. Light comes from the top left.
Shadow scale
Borders and radius
Formulas
.nb-box { border: 3px solid #000; border-radius: 0;
box-shadow: 6px 6px 0 #000; } /* blur: 0, always */
/* Tailwind */
class="border-3 border-black shadow-[6px_6px_0_#000]"
Typography & layout
Archivo Black for impact, Space Grotesk for reading, JetBrains Mono for labels.
Asymmetric grids: 12 columns split 7/5 or 8/4.
Thick dividers: 4px black rules between sections.
Controlled overlap: max 16px, rotate decor 1 to 3 degrees.
Gutters: 24px minimum, 16px on mobile.
decor only, aria-hiddenComponents
Everything below is live. Hover, press and tab through it.
Buttons: default, hover lifts, active sinks
Cards
Accent band, white body, cream footer.
Black text stays AAA on cyan.
White text only on electric blue.
Form controls
Badges, tags, tooltips
Motion & accessibility
Transitions are 80ms with stepped easing. Contrast is checked by construction.
Rules
| Topic | Spec |
|---|---|
| Motion | 80ms press, 100ms max, steps(1,end); animate only transform, box-shadow, background. |
| Focus | outline: 4px solid #2F5BFF; outline-offset: 4px (yellow on dark surfaces). |
| Targets | 44px minimum, 8px between targets. |
| Never | White on yellow, cyan, green, lilac or orange; accent on accent; color-only status. |
| Preferences | Honor prefers-reduced-motion, prefers-contrast and forced-colors. |
Tokens
Copy into CSS, Tailwind or Tokens Studio. The full spec is in the downloadable markdown file.
:root {
--nb-black:#000; --nb-paper:#FFFBEB;
--nb-yellow:#FFE500; --nb-cyan:#00E5FF;
--nb-pink:#FF2E93; --nb-green:#00E676;
--nb-blue:#2F5BFF;
--border:3px solid #000;
--shadow-sm:4px 4px 0 #000;
--shadow-md:6px 6px 0 #000;
}
// tailwind.config.js
boxShadow: {
'nb-sm':'4px 4px 0 0 #000',
'nb-md':'6px 6px 0 0 #000',
'nb-lg':'8px 8px 0 0 #000'
},
borderWidth: { 3:'3px' },
fontFamily: {
display:['"Archivo Black"'],
mono:['"JetBrains Mono"']
}