NEO
BRUTAL
PaletteComponentsAnimationApp DemoRules
←StyleKit
Design System Showcase

RAW.
BOLD.
BRUTAL.

Neo-Brutalist design: thick black borders, hard-edge shadows, zero border-radius, maximum contrast. Function over form. Unapologetic.

0px
BORDER RADIUS
4px
BORDER WIDTH
8px
SHADOW OFFSET
150ms
TRANSITION
// Color System

PALETTE

Black and white as the structural foundation. Four high-energy accent colors for emphasis. No pastels. No gradients. No neutral grays.

Hot Pink
#ff006e
CTA / Hover
Acid Green
#ccff00
Success / Accent
Electric Blue
#00d9ff
Links / Info
Vivid Orange
#ff9500
Tags / Warnings
Pure Black
#000000
Borders / Text
Pure White
#ffffff
Background
Aa
PINK ON BLACK
Aa
BLACK ON GREEN
Aa
WHITE ON PINK
Aa
BLACK ON WHITE
// Components

BUILDING
BLOCKS

Every component follows the same rule: black border, hard shadow, zero rounding. Hover increases shadow. Active crushes it flat.

Primary — Physical Crushing active state

Outline & Ghost

Size scale

// Animation & Interaction Rules

FOUR
LAWS

Neo-Brutalist interactions are defined by four named rules. Each has an interactive demo below. Hover and click to feel the difference.

Rule 01 — Physical Crushing

active:translate-x-[Npx] active:translate-y-[Npx] active:shadow-none

N MUST equal the original shadow pixel value. Complete flattening — entity crushed into the surface.

shadow-8px → active translate is exactly 8px

Rule 02 — Brutal Snap

hover:bg-[#ffff00] duration-150 ease-out

Instant hard-cut background switch on hover. NO gradients, NO opacity fade. Sharp instantaneous snap.

Background snaps from white to acid green — no fade

Rule 03 — Zero Rounding Easing

transition-all duration-150 ease-out

All transitions: ease-out, 150ms. Brutal collision feel. No spring overshoot, no elastic settling.

Brutal ease-out 150ms
Soft spring (forbidden here)

Click animate — notice the snap vs the bounce

Rule 04 — Heavy Focus

hover:shadow-[12px_12px_0px_0px_rgba(255,0,110,1)] hover:bg-[#ffff00]

Cards on hover: shadow grows AND switches to colored rgba(255,0,110,1). Background snaps. Physical impact.

Project Card
Hover — shadow goes pink + BG snaps

Shadow color switches from white to #ff006e on hover

// App Demo

BRUTAL
TASK APP

A mock productivity app rendered in full Neo-Brutalist fidelity. Every rule applied in context: thick borders, hard shadows, brutal hover states.

BRUTALWORK
v1.0.0 — no softness
INBOX
4
TODAY
2
UPCOMING
7
ARCHIVE
JD
Jane Doe
Pro Plan

INBOX

2 tasks remaining

Ship the product
Fix the build
Review PRs
Write docs
4
Total
2
Done
2
Left
// Typography

TYPE
SYSTEM

font-black for headings. font-mono for body. No serif. No light weights. Tracking is tight for headings, wide for labels.

Heading — font-black

BRUTALH1 — 60px
DESIGNH2 — 36px
SystemsH3 — 28px
ComponentsH4 — 24px
InteractiveH5 — 18px

Body — font-mono

Boldly built on raw function. Every pixel serves purpose.

text-xl / leading-relaxed

Neo-Brutalism refuses the ornamental. The border IS the structure. The shadow IS the depth. Nothing is decorative.

text-base / leading-relaxed

Inspired by Bauhaus functionalism and architectural brutalism. Form follows function absolutely.

text-sm / muted
UPPERCASE LABELInline code

Interactive Counter

Physical Crushing on the decrement button. Brutal Snap color on increment. Zero easing — instant feedback.

0
// Philosophy

DESIGN
RULES

Three core principles from architectural Brutalism applied to the web. Honesty of structure. Primacy of function. Refusal of ornament.

01

HONESTY

Do not hide structure. The border shows the boundary. The shadow shows the depth. No faking. Every visual element must communicate something real.

02

FUNCTION

Every pixel earns its place. If it doesn't communicate information or aid interaction, remove it. No decorative gradients. No cosmetic shadows.

03

CONTRAST

Maximum legibility through maximum contrast. Black on white. White on black. Neon accents on dark fields. Nothing murky. Nothing ambiguous.

DO

  • border-4 border-black — thick pure black borders
  • shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] — hard offset shadow
  • rounded-none — zero border radius always
  • font-black for headings, font-mono for body
  • hover:bg-[#ffff00] — hard instant color snap
  • active:translate-x-[Npx] active:shadow-none — crushing press
  • hover:-translate-y-1 hover:shadow-[10px_10px] — lift before crush
  • transition-all duration-150 ease-out — fast, brutal timing

DON'T

  • rounded-lg, rounded-md — NO rounded corners ever
  • shadow-lg, shadow-xl — NO blurred diffuse shadows
  • bg-gradient-* — NO gradients of any kind
  • border-gray-*, border-slate-* — NO gray borders
  • Fade-in opacity transitions on hover backgrounds
  • active translate smaller than shadow offset (incomplete crush)
  • hover shadow disappear instead of enlarge (wrong order)
  • Soft spring easing — use ease-out duration-150 only
// Why Neo-Brutalism

BUILT
DIFFERENT

Six reasons why the most memorable digital products embrace raw, unapologetic design.

INSTANTLY RECOGNIZABLE

Neo-Brutalism is unmistakable. Users remember it because it refuses to blend in.

STRUCTURE EXPOSED

Grid lines, borders, and shadows reveal the underlying system. Nothing is hidden.

DEVELOPER NATIVE

No blur, no gradients, no filters. Pure CSS properties. Brutal to build, fast to ship.

HIGH CONTRAST

Maximum accessibility through maximum contrast. WCAG AAA by default.

HONEST AFFORDANCE

Buttons look like buttons. Cards look like cards. No skeuomorphic confusion.

ZERO DECORATION

No element exists for aesthetics alone. Every visual choice is functional.

NEO
BRUTAL

Raw, unapologetic design. Black borders, hard shadows, zero radius. Inspired by architectural brutalism.

StyleDocumentationShowcaseCover
StyleKitHomeAll Styles
PaletteHot PinkAcid GreenElectric BlueVivid Orange
Built with zero softness for StyleKit
Back to StyleKit