duply

x.ai

A stark, near-monochrome interface for xAI/Grok anchored on pure-black canvas with white text and a tightly disciplined grayscale ramp. The system reads as engineered and technical — minimal chrome, generous negative space, and macOS-style window dots (traffic lights) on embedded code/demo surfaces. Accent voltage is rationed to a single blue and a single mint-green, used sparingly against the black field so the product UI fragments carry the page rather than decorative color.

---
version: alpha
name: x.ai-design-analysis
description: A stark, near-monochrome interface for xAI/Grok anchored on pure-black canvas with white text and a tightly disciplined grayscale ramp. The system reads as engineered and technical — minimal chrome, generous negative space, and macOS-style window dots (traffic lights) on embedded code/demo surfaces. Accent voltage is rationed to a single blue and a single mint-green, used sparingly against the black field so the product UI fragments carry the page rather than decorative color.

colors:
  canvas: "#000000"
  surface-dark: "#1a1a1a"
  surface-dark-soft: "#111827"
  surface-elevated: "#222222"
  surface-light: "#ffffff"
  on-dark: "#ffffff"
  ink: "#111827"
  body: "#374151"
  body-strong: "#4b5563"
  muted: "#6b7280"
  muted-soft: "#9ca3af"
  muted-faint: "#666666"
  hairline: "#e5e7eb"
  hairline-strong: "#d1d5db"
  accent-blue: "#2563eb"
  accent-green: "#75fba6"
  accent-peach: "#fed7aa"
  traffic-red: "#ff5f57"
  traffic-yellow: "#ffbd2e"
  traffic-green: "#28c840"
  success: "#248430"
  error: "#be2e31"

typography:
  display-xl:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 64px
    fontWeight: 600
    lineHeight: 1.05
    letterSpacing: -1.5px
  display-lg:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 48px
    fontWeight: 600
    lineHeight: 1.1
    letterSpacing: -1px
  display-md:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 32px
    fontWeight: 600
    lineHeight: 1.2
    letterSpacing: -0.5px
  title-lg:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 22px
    fontWeight: 600
    lineHeight: 1.3
    letterSpacing: -0.3px
  title-md:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 18px
    fontWeight: 600
    lineHeight: 1.4
    letterSpacing: 0
  body-md:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0
  body-sm:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0
  caption:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 13px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: 0
  code:
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace"
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0
  button:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 14px
    fontWeight: 600
    lineHeight: 1
    letterSpacing: 0
  nav-link:
    fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif"
    fontSize: 14px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: 0

rounded:
  xs: 4px
  sm: 6px
  md: 8px
  lg: 12px
  xl: 16px
  pill: 9999px
  full: 9999px

spacing:
  xxs: 4px
  xs: 8px
  sm: 12px
  md: 16px
  lg: 24px
  xl: 32px
  xxl: 48px
  section: 96px

components:
  button-primary:
    backgroundColor: "{colors.surface-light}"
    textColor: "{colors.ink}"
    typography: "{typography.button}"
    rounded: "{rounded.md}"
    padding: 12px 20px
    height: 40px
  button-primary-active:
    backgroundColor: "{colors.hairline}"
    textColor: "{colors.ink}"
    rounded: "{rounded.md}"
  button-secondary:
    backgroundColor: transparent
    textColor: "{colors.on-dark}"
    typography: "{typography.button}"
    rounded: "{rounded.md}"
    padding: 12px 20px
    height: 40px
  button-secondary-active:
    backgroundColor: "{colors.surface-elevated}"
    textColor: "{colors.on-dark}"
    rounded: "{rounded.md}"
  button-text-link:
    backgroundColor: transparent
    textColor: "{colors.on-dark}"
    typography: "{typography.button}"
  text-link:
    backgroundColor: transparent
    textColor: "{colors.accent-blue}"
    typography: "{typography.body-md}"
  top-nav:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.on-dark}"
    typography: "{typography.nav-link}"
    height: 64px
  hero-band:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.on-dark}"
    typography: "{typography.display-xl}"
    padding: 96px
  product-window-card:
    backgroundColor: "{colors.surface-dark}"
    textColor: "{colors.on-dark}"
    typography: "{typography.code}"
    rounded: "{rounded.lg}"
    padding: 24px
  window-titlebar:
    backgroundColor: "{colors.surface-elevated}"
    textColor: "{colors.muted-soft}"
    typography: "{typography.caption}"
    rounded: "{rounded.lg}"
    padding: 8px 12px
  feature-card:
    backgroundColor: "{colors.surface-dark}"
    textColor: "{colors.on-dark}"
    typography: "{typography.title-md}"
    rounded: "{rounded.lg}"
    padding: 32px
  feature-card-soft:
    backgroundColor: "{colors.surface-dark-soft}"
    textColor: "{colors.on-dark}"
    typography: "{typography.title-md}"
    rounded: "{rounded.lg}"
    padding: 32px
  pricing-tier-card:
    backgroundColor: "{colors.surface-dark}"
    textColor: "{colors.on-dark}"
    typography: "{typography.title-lg}"
    rounded: "{rounded.lg}"
    padding: 32px
  text-input:
    backgroundColor: "{colors.surface-dark}"
    textColor: "{colors.on-dark}"
    typography: "{typography.body-md}"
    rounded: "{rounded.md}"
    padding: 10px 14px
    height: 40px
  badge-pill:
    backgroundColor: "{colors.surface-elevated}"
    textColor: "{colors.muted-soft}"
    typography: "{typography.caption}"
    rounded: "{rounded.pill}"
    padding: 4px 12px
  status-dot-success:
    backgroundColor: "{colors.traffic-green}"
    textColor: "{colors.on-dark}"
    rounded: "{rounded.full}"
    size: 12px
  footer:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.muted}"
    typography: "{typography.body-sm}"
    padding: 64px
---

## Overview

x.ai (the marketing surface for xAI / Grok) is a stark, near-monochrome interface built on a **pure-black canvas** (`{colors.canvas}`#000000) with **white text** (`{colors.on-dark}`#ffffff). The system reads as engineered and technical — minimal chrome, large fields of negative space, and a tightly disciplined grayscale ramp running from black through `{colors.surface-dark}` (#1a1a1a) and `{colors.surface-elevated}` (#222222) up to white. The page is meant to feel like infrastructure, not marketing.

Color is rationed deliberately. The measured palette is dominated by neutrals — white at 40% frequency, black at 24%, and a long gray ramp (`{colors.muted}` #6b7280, `{colors.muted-soft}` #9ca3af, `{colors.body}` #374151, `{colors.body-strong}` #4b5563) below them. Against this monochrome field, only two true accents appear: a single blue (`{colors.accent-blue}`#2563eb) for inline links/actions and a single mint-green (`{colors.accent-green}`#75fba6) for highlights and live-status moments.

A signature motif is the **macOS-style window chrome** — the three "traffic light" dots (`{colors.traffic-red}` #ff5f57, `{colors.traffic-yellow}` #ffbd2e, `{colors.traffic-green}` #28c840) that sit atop embedded code/terminal and demo surfaces. These window cards are how x.ai shows the product (Grok chat, API output, code) inside the marketing flow rather than illustrating around it.

**Key Characteristics:**
- Pure-black canvas with white type — the inverse of light-mode SaaS. The black is true #000000, not a softened off-black.
- A long, disciplined gray ramp (#666666#6b7280#9ca3af#d1d5db#e5e7eb) carries all secondary text and hairline tones; there is no decorative mid-tone color.
- Primary CTA is a **white button on black** (`{component.button-primary}`) — maximal contrast, no fill color.
- Two scarce accents only: blue (`{colors.accent-blue}`) and mint-green (`{colors.accent-green}`). The peach (`{colors.accent-peach}` #fed7aa) appears as a rare third tint.
- macOS traffic-light window dots on code/demo cards — the system's most recognizable component motif.
- Elevation is built from near-black surface steps (#000000#1a1a1a#222222) rather than shadows, since shadows are invisible on a black field.

## Colors

### Brand & Accent
- **Accent Blue** (`{colors.accent-blue}`#2563eb): The single interactive/link accent. Used on inline `{component.text-link}` and occasional action highlights. Appears rarely against the black canvas.
- **Accent Green** (`{colors.accent-green}`#75fba6): A bright mint-green used for highlights and live/active moments. The brightest hue in the system.
- **Accent Peach** (`{colors.accent-peach}`#fed7aa): A soft peach tint observed as a rare third accent; used sparingly.

### Surface
- **Canvas** (`{colors.canvas}`#000000): The default page floor — true black on every band.
- **Surface Dark** (`{colors.surface-dark}`#1a1a1a): The first elevation step — product-window cards, feature cards, inputs.
- **Surface Dark Soft** (`{colors.surface-dark-soft}`#111827): A faintly blue-tinged dark surface used as an alternate card fill.
- **Surface Elevated** (`{colors.surface-elevated}`#222222): The highest near-black step — window title bars, badges, pressed states.
- **Surface Light** (`{colors.surface-light}`#ffffff): The inverted surface — the white primary button.
- **Hairline** (`{colors.hairline}`#e5e7eb) / **Hairline Strong** (`{colors.hairline-strong}`#d1d5db): Light-tone borders and dividers, used at low opacity to separate dark surfaces.

### Text
- **On Dark** (`{colors.on-dark}`#ffffff): All headlines and primary text on the black canvas.
- **Ink** (`{colors.ink}`#111827): Text on the inverted white button surface.
- **Body** (`{colors.body}`#374151) / **Body Strong** (`{colors.body-strong}`#4b5563): Running-text tones used on lighter inverted surfaces.
- **Muted** (`{colors.muted}`#6b7280): Secondary text — footer body, captions.
- **Muted Soft** (`{colors.muted-soft}`#9ca3af): Tertiary text — window-card labels, fine print.
- **Muted Faint** (`{colors.muted-faint}`#666666): The lowest-contrast text tone — disabled/placeholder copy.

### Window Chrome (Traffic Lights)
- **Traffic Red** (`{colors.traffic-red}`#ff5f57), **Traffic Yellow** (`{colors.traffic-yellow}`#ffbd2e), **Traffic Green** (`{colors.traffic-green}`#28c840): The three macOS-style window-control dots that crown embedded code/demo cards.

### Semantic
- **Success** (`{colors.success}`#248430): Confirmation/success states.
- **Error** (`{colors.error}`#be2e31): Validation errors and destructive states.

## Typography

### Font Family
The analysis captured **no typography measurements** (the `typography` array in analysis.json is empty), so every value in this section is **derived** from screenshot ground-truth and standard near-monochrome SaaS baselines, not measured. x.ai renders headlines and UI text in a clean grotesque/neo-grotesque sans; an `Inter` stack with system fallbacks is documented here as a faithful, openly-available approximation. Code and terminal fragments inside window cards use a monospace stack (`ui-monospace, SFMono-Regular, Menlo`). No licensed/custom typefaces were flagged in `fonts_licensed`.

### Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
| `{typography.display-xl}` | 64px | 600 | 1.05 | -1.5px | Hero h1 (derived) |
| `{typography.display-lg}` | 48px | 600 | 1.1 | -1px | Section heads (derived) |
| `{typography.display-md}` | 32px | 600 | 1.2 | -0.5px | Sub-section heads, card titles (derived) |
| `{typography.title-lg}` | 22px | 600 | 1.3 | -0.3px | Pricing plan names (derived) |
| `{typography.title-md}` | 18px | 600 | 1.4 | 0 | Feature card titles (derived) |
| `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default running-text (derived) |
| `{typography.body-sm}` | 14px | 400 | 1.5 | 0 | Footer body, fine-print (derived) |
| `{typography.caption}` | 13px | 500 | 1.4 | 0 | Badge labels, window-card labels (derived) |
| `{typography.code}` | 14px | 400 | 1.5 | 0 | Code/terminal fragments — monospace (derived) |
| `{typography.button}` | 14px | 600 | 1 | 0 | Button labels (derived) |
| `{typography.nav-link}` | 14px | 500 | 1.4 | 0 | Top-nav menu items (derived) |

### Principles
The type system is functional and quiet: a single sans for everything, a monospace for code fragments. Headlines lean on weight 600 with mild negative tracking to read as precise and technical. On the black canvas, hierarchy is driven by size + opacity (white → gray ramp) rather than color. All values above are derived; confirm against live computed styles before shipping.

## Layout

### Spacing System
All spacing values are **derived** — the `spacing` array in analysis.json was empty.
- **Base unit:** 4px (derived).
- **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.md}` 16px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 96px.
- **Section padding:** `{spacing.section}` (96px) between major bands (derived).
- **Card internal padding:** `{spacing.xl}` (32px) for feature/pricing cards; `{spacing.lg}` (24px) for product-window cards (derived).

### Grid & Container
- **Max content width:** ~1200px centered (derived).
- **Hero:** centered single-column headline with the product-window card below or beside it (derived from screenshots).
- **Feature grids:** 3-up at desktop, collapsing toward 1-up on mobile (derived).
- **Pricing grid:** multi-up tier cards collapsing to single column (derived).

### Whitespace Philosophy
x.ai leans on large black negative space — the page feels uncluttered and infrastructural. Content is anchored center-stage with generous margins; the black field around each band does the visual breathing.

## Elevation & Depth

| Level | Treatment | Use |
|---|---|---|
| Base | `{colors.canvas}` (#000000), flat | Page floor, hero, footer |
| Step 1 | `{colors.surface-dark}` (#1a1a1a) | Product-window cards, feature cards, inputs |
| Step 1-alt | `{colors.surface-dark-soft}` (#111827) | Alternate card fill |
| Step 2 | `{colors.surface-elevated}` (#222222) | Window title bars, badges, pressed states |
| Inverted | `{colors.surface-light}` (#ffffff) | Primary button — maximal contrast |

On a pure-black canvas, drop shadows are effectively invisible, so **elevation is encoded as near-black surface steps** (#000000#1a1a1a#222222) and thin light hairlines (`{colors.hairline}` / `{colors.hairline-strong}`) rather than shadow blur. No shadow tokens were measured (`shadows` array empty), so shadow treatment is documented as a known gap.

### Decorative Depth
- Embedded product-window cards carry their own internal chrome — the traffic-light dot cluster and a title bar (`{colors.surface-elevated}`) — which reads as depth without any shadow.
- The white primary button is the single brightest object on most bands; its contrast against black does the elevation work.

## Shapes

### Border Radius Scale
All radius values are **derived** — the `radius` array in analysis.json was empty.

| Token | Value | Use |
|---|---|---|
| `{rounded.xs}` | 4px | Small inline accents (derived) |
| `{rounded.sm}` | 6px | Dropdown items, small buttons (derived) |
| `{rounded.md}` | 8px | CTA buttons, text inputs (derived) |
| `{rounded.lg}` | 12px | Content cards, product-window cards (derived) |
| `{rounded.xl}` | 16px | Larger feature/demo containers (derived) |
| `{rounded.pill}` | 9999px | Badge pills (derived) |
| `{rounded.full}` | 9999px / 50% | Traffic-light dots, avatars (derived) |

### Window-Chrome Geometry
Product-window cards use `{rounded.lg}` (12px) outer corners; the title bar carries the three traffic-light dots as perfect `{rounded.full}` circles at ~12px each. This is the most recognizable shape signature in the system.

## Components

### Top Navigation
**`top-nav`** — Black nav bar pinned to the top of every page. ~64px tall (derived), `{colors.canvas}` background, white wordmark at left, sparse menu items in `{typography.nav-link}`, and a right-side `{component.button-primary}` (white) call to action.

### Buttons
**`button-primary`** — The signature CTA: white fill (`{colors.surface-light}`) with ink text (`{colors.ink}`), `{typography.button}`, rounded `{rounded.md}`, padding 12px × 20px, height 40px (derived). Maximal black-on-white-on-black contrast. Active state `button-primary-active` shifts toward `{colors.hairline}`.

**`button-secondary`** — Transparent on the black canvas with white text (`{colors.on-dark}`), 1px hairline border, same padding + radius as primary. Active state `button-secondary-active` fills `{colors.surface-elevated}`.

**`button-text-link`** — Inline text button, no background, white text. Used for utility nav items.

**`text-link`** — Inline body links in `{colors.accent-blue}` — the one place blue appears in running text.

### Cards & Containers
**`hero-band`** — Black-canvas hero with a centered h1 in `{typography.display-xl}` and a product-window card. Vertical padding `{spacing.section}` (96px, derived).

**`product-window-card`** — The signature embedded-product surface: `{colors.surface-dark}` background, rounded `{rounded.lg}`, padding `{spacing.lg}` (24px). Shows Grok chat / code / terminal output in `{typography.code}`. Crowned by `{component.window-titlebar}`.

**`window-titlebar`** — The macOS-style chrome strip atop a product-window card. Background `{colors.surface-elevated}`, label text `{colors.muted-soft}` in `{typography.caption}`, carrying the three traffic-light dots (`{colors.traffic-red}`, `{colors.traffic-yellow}`, `{colors.traffic-green}`).

**`feature-card`** — Used in feature grids. Background `{colors.surface-dark}`, white text, rounded `{rounded.lg}`, padding `{spacing.xl}` (32px). Title in `{typography.title-md}`.

**`feature-card-soft`** — A variant using the blue-tinged `{colors.surface-dark-soft}` (#111827) as fill — used to subtly distinguish a feature band from neighboring `{colors.surface-dark}` cards.

**`pricing-tier-card`** — Tier card on the pricing page. Background `{colors.surface-dark}`, rounded `{rounded.lg}`, padding `{spacing.xl}` (32px). Plan name in `{typography.title-lg}`, feature list in `{typography.body-md}`, `{component.button-primary}` at the bottom.

### Inputs & Forms
**`text-input`** — Background `{colors.surface-dark}`, white text, `{typography.body-md}`, rounded `{rounded.md}`, padding 10px × 14px, height 40px (derived). Hairline border in `{colors.hairline-strong}` at low opacity.

### Tags / Status
**`badge-pill`** — Small pill label. Background `{colors.surface-elevated}`, text `{colors.muted-soft}`, `{typography.caption}`, rounded `{rounded.pill}`, padding 4px × 12px.

**`status-dot-success`** — A small live-status indicator. `{colors.traffic-green}` fill, `{rounded.full}`, ~12px diameter — reuses the window-dot motif for online/active states.

### Footer
**`footer`** — Black footer that continues the canvas. Background `{colors.canvas}`, text `{colors.muted}` in `{typography.body-sm}`, vertical padding 64px (derived). Because the whole page is black, the footer doesn't invert — it simply lists links in the muted gray ramp.

## Do's and Don'ts

### Do
- Keep the canvas pure black (`{colors.canvas}`#000000). The true-black field is the brand.
- Drive hierarchy with the gray ramp (white → #9ca3af#6b7280#666666), not with color.
- Use the white `{component.button-primary}` as the single highest-contrast action on each band.
- Reserve `{colors.accent-blue}` for inline links and `{colors.accent-green}` for live/highlight moments — keep both scarce.
- Show the product inside `{component.product-window-card}` with the traffic-light `{component.window-titlebar}` rather than illustrating around it.
- Build elevation from near-black surface steps (#000000#1a1a1a#222222), not shadows.

### Don't
- Don't soften the canvas to an off-black — the system uses #000000 deliberately.
- Don't introduce additional accent hues beyond blue, green, and the rare peach. The traffic-light reds/yellows/greens belong only to window chrome and status dots.
- Don't put accent color on the primary CTA — it stays white.
- Don't rely on drop shadows for separation; they vanish on black. Use surface steps and hairlines.
- Don't document hover states — default and active/pressed only.

## Responsive Behavior

> Note: No breakpoint or layout metrics were measured. The behavior below is **derived** from the captured landing + pricing screenshots and standard practice; confirm against the live site.

### Breakpoints (derived)

| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 768px | Hamburger nav; hero h1 scales down; product-window card full-width; feature grids 1-up; pricing 1-up |
| Tablet | 768–1024px | Tightened nav; feature cards 2-up; pricing 2-up |
| Desktop | 1024–1440px | Full nav; 3-up feature cards; multi-up pricing tiers |
| Wide | > 1440px | Same as desktop, content capped ~1200px with more black margin |

### Touch Targets
- `{component.button-primary}` at ~40px height minimum (derived).
- `{component.text-input}` height ~40px (derived).

### Collapsing Strategy (derived)
- Top nav collapses to a hamburger on mobile.
- Product-window cards stay legible by reflowing their code/terminal content; the window chrome remains fixed.
- Feature and pricing grids reduce column count rather than shrinking cards.

## Iteration Guide

1. Focus on ONE component at a time, referencing its YAML key (`{component.product-window-card}`, `{component.pricing-tier-card}`).
2. Variants (`-active`, `-soft`) live as separate entries in `components:`.
3. Use `{token.refs}` everywhere — never inline a hex.
4. Never document hover. Default and Active/Pressed states only.
5. The canvas stays #000000; hierarchy comes from the gray ramp and surface steps.
6. The traffic-light window chrome is the signature motif — reuse it for product surfaces and status dots only.
7. Before shipping, replace all values marked "derived" (typography, spacing, radius, shadows) with measured values from live computed styles.

## Known Gaps

- The analysis captured **only colors** — the `typography`, `spacing`, `radius`, `shadows`, and `components` arrays in analysis.json were all empty. Every typography, spacing, radius, and component dimension in this document is therefore **derived** from screenshot ground-truth and standard baselines, not measured. Treat these as provisional until confirmed against live computed styles.
- Exact font family is unmeasured; an `Inter` + system stack is documented as a faithful open-source approximation. No licensed font was flagged in `fonts_licensed`, but the true face should be verified.
- Shadow/elevation values are unmeasured; the document infers a surface-step model (#000000#1a1a1a#222222) because shadows are not visible on a black field — but no shadow tokens exist to confirm.
- Color roles were auto-assigned by frequency; some "accent" hexes (#fed7aa peach, #be2e31 dark red, #248430 dark green) appear at low frequency (2–4%) and their precise usage context could not be confirmed from the data alone.
- Breakpoints, grid widths, and touch-target sizes are derived, not measured.
- Animation, transition timings, and interaction states (chat streaming, code reveal) are out of scope.
- Form validation states beyond a base `{component.text-input}` were not extracted.

<!-- Documented by duply · real-world design systems as ready-to-use DESIGN.md for AI coding agents · https://duply.ai/x/design-md -->

Color Palette

Accent

Neutrals

Typography

display-xl64px · 600 · 1.05
The quick brown fox jumps
display-lg48px · 600 · 1.1
The quick brown fox jumps
display-md32px · 600 · 1.2
The quick brown fox jumps
title-lg22px · 600 · 1.3
The quick brown fox jumps
title-md18px · 600 · 1.4
The quick brown fox jumps
body-md16px · 400 · 1.5
The quick brown fox jumps

Spacing & Shape

Spacing

NameValuePreview
xxs4px
xs8px
sm12px
md16px
lg24px
xl32px
xxl48px
section96px

Border Radius

NameValuePreview
xs4px
sm6px
md8px
lg12px
xl16px
pill9999px
full9999px

More like this

Build in any
design language

Free to browse. Real design systems, documented as DESIGN.md. New designs land weekly.

Browse the libraryHow it works