design.allworkin

popular

Clean

Function-first grid, one calm blue.

Best for: Enterprise apps, docs, utility products

Not for: Art portfolios, entertainment products

Start with this style

Grid Tools

Specimen

The quick brown fox

primary
secondary
tertiary
background
surface
outline
muted
success
warning
error
onPrimary
onSecondary
onTertiary
onBackground
onSurface
h1 — Design systems for agents
h2 — Design systems for agents
h3 — Design systems for agents
body — Design systems for agents
label — Design systems for agents
caption — Design systems for agents
mono — Design systems for agents
PrimarySecondaryCard
---
version: alpha
name: Clean
description: Function-first grid, one calm blue.
colors:
  primary: "#2563EB"
  secondary: "#64748B"
  tertiary: "#0F172A"
  background: "#F8FAFC"
  surface: "#FFFFFF"
  onPrimary: "#F4F4F5"
  onSecondary: "#F4F4F5"
  onTertiary: "#F4F4F5"
  onBackground: "#18181B"
  onSurface: "#18181B"
  outline: "#E2E8F0"
  muted: "#64748B"
  success: "#16A34A"
  warning: "#CA8A04"
  error: "#DC2626"
typography:
  h1:
    fontFamily: Public Sans
    fontSize: 32px
    fontWeight: 600
    lineHeight: 1.12
    letterSpacing: -0.03em
  h2:
    fontFamily: Public Sans
    fontSize: 24px
    fontWeight: 600
    lineHeight: 1.2
    letterSpacing: -0.02em
  h3:
    fontFamily: Public Sans
    fontSize: 20px
    fontWeight: 600
    lineHeight: 1.3
    letterSpacing: -0.01em
  body:
    fontFamily: Public Sans
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: 0em
  label:
    fontFamily: Public Sans
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.3
    letterSpacing: 0.02em
  caption:
    fontFamily: Public Sans
    fontSize: 12px
    fontWeight: 400
    lineHeight: 1.4
    letterSpacing: 0em
  mono:
    fontFamily: JetBrains Mono
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.45
    letterSpacing: 0em
rounded:
  sm: 4px
  md: 8px
  lg: 12px
  xl: 20px
  full: 999px
spacing:
  xs: 4px
  sm: 8px
  md: 16px
  lg: 24px
  xl: 32px
  2xl: 48px
  3xl: 64px
components:
  navbar:
    backgroundColor: "{colors.background}"
    textColor: "{colors.onBackground}"
  hero:
    backgroundColor: "{colors.background}"
    textColor: "{colors.onBackground}"
  table:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.onSurface}"
  stat:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.onSurface}"
    rounded: "{rounded.lg}"
  chart:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.primary}"
  list-item:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.onSurface}"
    height: 44px
  footer:
    backgroundColor: "{colors.background}"
    textColor: "{colors.muted}"
---

# Clean

## Overview

Function-first grid, one calm blue. The atmosphere is daily-app balanced, predictable and symmetric, with static and restrained. Tone: functional, clear, neutral. Density 6/10, variance 3/10, motion 3/10. Material: 8px grid, quiet borders, function first. No decorative texture.

How to use: Place this file at the repository root. Tell Cursor / Claude Code / Codex: read DESIGN.md and obey its tokens and Do/Don'ts.

## Colors

Semantic roles for the light theme. Keep a single accent; do not introduce a second brand hue.

- **primary** (`#2563EB`)
- **secondary** (`#64748B`)
- **tertiary** (`#0F172A`)
- **background** (`#F8FAFC`)
- **surface** (`#FFFFFF`)
- **outline** (`#E2E8F0`)
- **muted** (`#64748B`)
- **success** (`#16A34A`)
- **warning** (`#CA8A04`)
- **error** (`#DC2626`)
- **onPrimary** (`#F4F4F5`)
- **onSecondary** (`#F4F4F5`)
- **onTertiary** (`#F4F4F5`)
- **onBackground** (`#18181B`)
- **onSurface** (`#18181B`)

## Typography

Hierarchy comes from weight and size, not from shouting. Body line length stays near 65 characters.

- **h1**: "Public Sans" 600 / 32px / 1.12 / -0.03em
- **h2**: "Public Sans" 600 / 24px / 1.2 / -0.02em
- **h3**: "Public Sans" 600 / 20px / 1.3 / -0.01em
- **body**: "Public Sans" 400 / 16px / 1.55 / 0em
- **label**: "Public Sans" 500 / 13px / 1.3 / 0.02em
- **caption**: "Public Sans" 400 / 12px / 1.4 / 0em
- **mono**: "JetBrains Mono" 500 / 13px / 1.45 / 0em

## Layout

Spacing scale: xs=4px, sm=8px, md=16px, lg=24px, xl=32px, 2xl=48px, 3xl=64px.

iOS: 44pt targets, respect Safe Area and Dynamic Type, SF Symbols, Large Titles and grouped lists.

Web: mobile-first, single column below 768px, body ≥ 16px, clamp() headlines, max-width 1120–1400px, min-h-[100dvh] for full-height sections.

Every element occupies its own spatial zone. No overlapping hero text. Collapse multi-column layouts below 768px.

## Elevation & Depth

- sm: `0 1px 2px rgba(24,24,27,0.06)`
- md: `0 8px 24px rgba(24,24,27,0.08)`
- lg: `0 18px 48px rgba(24,24,27,0.12)`
- surface: `flat`
- recipe: 8px grid, quiet borders, function first. No decorative texture.

Tint shadows toward the background hue. High-density layouts may replace cards with hairline dividers.


## Shapes

Radius scale: sm=4px, md=8px, lg=12px, xl=20px, full=999px.

## Components

- **Navbar** (`web.navbar` / default / md): Desktop nav with logo, icon links, and one primary CTA.
- **Hero** (`web.hero` / left / lg): Hero uses left layout, one CTA, no "Scroll to explore".
- **Data Table** (`web.table` / default / md): Mono numbers, quiet headers, tappable rows.
- **Stat** (`stat` / default / md): Numbers in mono, labels in quiet uppercase.
- **Chart** (`chart` / area / md): Mini area/bar chart using primary and secondary.
- **List Item** (`list-item` / chevron / md): Min 44pt rows, title + subtitle, optional chevron.
- **List Item** (`list-item` / chevron / md): Min 44pt rows, title + subtitle, optional chevron.
- **Footer** (`web.footer` / default / md): Quiet footer with clear link groups.

## Do's and Don'ts

### Do
- Use semantic color tokens, never raw hex in components.
- Keep a single accent; hierarchy comes from type weight and space.
- Define default, hover, focus-visible, pressed, disabled, and loading states.
- Meet WCAG 2.2 AA contrast for body text and interactive labels.
- Touch targets are at least 44×44pt on iOS and 44px on web.

### Don't
- Do not use Inter as the display face for premium work.
- Do not use pure black #000000 for large surfaces.
- Do not add neon outer glows or custom mouse cursors.
- Do not ship three equal feature cards as the default layout.
- Do not hide focus rings or drop below AA contrast.