dark·bold·sans·ai·music

DESIGN.md inspired by Udio

A pitch-black stage with near-white Innovator display type and a single magenta-pink spotlight — a recording console reimagined as a creative canvas.

By webdesignhot · www.udio.com
$npx @webdesignhot/design-md add udio
Learn more about the CLI
try on →
theme
1440 × 900
mobile · 390 × 844
Tokenswebdesignhot/0.2
  • bg#000000
  • bg-alt#08080a
  • surface#0a0a0a
  • surface-softrgba(255, 255, 255, 0.05)
  • surface-strongrgba(255, 255, 255, 0.08)
  • textAAA · 19.9#f9f9f9
  • text-strong#ffffff
  • text-muted#c2c2c2
  • text-soft#8a8a8a
  • text-faintAA·LG · 4.4#737373
  • brandAA·LG · 4.5#e30b5d
  • brand-deep#c2094f
  • brand-softrgba(227, 11, 93, 0.15)
  • on-brand#ffffff
  • link#f9f9f9
  • link-hover#e30b5d
  • selected-bgrgba(227, 11, 93, 0.15)
  • disabled#737373
  • border— · 1.2rgba(255, 255, 255, 0.10)
  • border-strong— · 1.5rgba(255, 255, 255, 0.18)
  • border-subtlergba(255, 255, 255, 0.05)
  • border-pinkrgba(227, 11, 93, 0.40)
  • success-bgrgba(34, 197, 94, 0.12)
  • success-text#86efac
  • warning-bgrgba(245, 166, 35, 0.12)
  • warning-text#fcd34d
  • danger-bgrgba(239, 68, 68, 0.12)
  • danger-text#fca5a5
  • info-bgrgba(255, 255, 255, 0.08)
  • info-text#c2c2c2
Typography
Ship faster than ever.
display-hero"InnovatorFont"80pxw700-0.03em
Ship faster than ever.
h1"InnovatorFont"60pxw400-0.02em
Ship faster than ever.
display-lg"InnovatorFont"56pxw700-0.02em
Built for teams that ship.
h2"InnovatorFont"40pxw600-0.018em
A complete kit
h3"InnovatorFont"32pxw600-0.012em
The quick brown fox jumps over the lazy dog.
h4"InnovatorFont"24pxw600-0.005em
The quick brown fox jumps over the lazy dog.
h5"InnovatorFont"20pxw6000
The quick brown fox jumps over the lazy dog.
body-lg"InnovatorFont"18pxw4000
The quick brown fox jumps over the lazy dog.
body"InnovatorFont"16pxw4000
The quick brown fox jumps over the lazy dog.
body-sm"InnovatorFont"14pxw4000
OUR DESIGN SYSTEM
caption"InnovatorFont"13pxw4000
OUR DESIGN SYSTEM
label"InnovatorFont"13pxw5000
OUR DESIGN SYSTEM
caption-tabularui-monospace13pxw5000
npx @webdesignhot/design-md add stripe
codeui-monospace13pxw4000
The quick brown fox jumps over the lazy dog.
eyebrow"InnovatorFont"12pxw6000.08em
The quick brown fox jumps over the lazy dog.
overline"InnovatorFont"12pxw5000.02em
Spacing
  • step-00px
  • step-14px
  • step-28px
  • step-312px
  • step-416px
  • step-524px
  • step-632px
  • step-748px
  • step-864px
  • step-996px
  • step-10128px
Radius
  • micro2px
  • sm4px
  • button6px
  • md8px
  • lg12px
  • xl16px
  • pill9999px
Components
Text link →
Card previewA complete kit — everything your product needs.Hero, pricing, FAQ, dashboard, docs — every layout your product needs.
NewStablev1.0
Design roles8/8 mapped · webdesignhot/0.2

Maps the 8 canonical role names to this entry's actual tokens. Use these to plug the design into role-aware tools — shadcn/ui themes, role-aware Tailwind plugins, atelier-lint — without hard-coding token names.

  • backgroundbg
  • foregroundtext
  • primarybrand
  • primary-foregroundon-brand
  • accentbrand
  • mutedtext-muted
  • borderborder
  • ringbrand
Export4 formats · paste-ready
Tailwind

theme.extend block for tailwind.config.js

tailwind.config.js
CSS variables

:root { --bg, --text, --brand, … } you can paste anywhere

design.css
DTCG JSON

W3C Design Tokens Community Group format

design.tokens.json
Figma Variables

Importable into Figma → Variables → Import

figma-variables.json
Google DESIGN.md

Portable DESIGN.md Alpha core format

design.md
The file
---
name: Udio
tagline: A pitch-black stage with near-white Innovator display type and a single magenta-pink spotlight — a recording console reimagined as a creative canvas.
updated_at: 2026-05-29T10:00:00.000Z
published_at: 2026-05-28T23:11:09.374Z
author: webdesignhot
source_url: https://www.udio.com
spec: webdesignhot/0.2
profile: catalog
quality: curated
featured: false
categories: [ai, media]
tags: [dark, bold, sans, ai, music]
preview_swatch: ['#000000', '#e30b5d', '#f9f9f9']
related: [suno]
description: 'Udio''s site is a darkened stage. The canvas goes to absolute `#000000` black with near-white `#f9f9f9` text, and the display face is a custom grotesque — the *Innovator* family — carrying h1 at 60px. (An audit will read `Times` as the body font; that is the unloaded serif fallback, not the brand face.) The single chromatic accent is a hot magenta-pink `#e30b5d` reserved almost entirely for the Sign-Up CTA — a `6px`-radius pink button that is the one saturated mark on an otherwise monochrome black-and-white surface. Where Suno warms its canvas to `#101012` and rounds cards to 20px, Udio commits to absolute black and sharp `6px` corners — a harder, more console-like register where the user''s music, not the chrome, supplies all the color.'


# Canonical 8-role aliases (bg / text / brand / border / accent / muted / surface / danger).
# Maps role names to this entry's actual token names so role-aware
# downstream tools resolve `theme.background` → entry's `bg`, etc.
# Auto-generated by scripts/add-aliases.mjs — do not edit manually;
# regenerate after changing color token names.
aliases:
  background: bg
  foreground: text
  primary: brand
  primary-foreground: on-brand
  accent: brand
  muted: text-muted
  border: border
  ring: brand
colors:
  # Primary
  bg: '#000000'                  # absolute black — the darkened stage
  bg-alt: '#08080a'              # barely-lifted panel ground for inset zones
  surface: '#0a0a0a'             # raised panel, near-black
  surface-soft: 'rgba(255, 255, 255, 0.05)' # 5% white whisper — Sign-In fill, hover wash
  surface-strong: 'rgba(255, 255, 255, 0.08)' # 8% white emphasised panel
  text: '#f9f9f9'                # near-white display & body
  text-strong: '#ffffff'         # pure white for primary headlines
  text-muted: '#c2c2c2'          # muted UI label
  text-soft: '#8a8a8a'           # quiet metadata
  text-faint: '#737373'          # disabled / faintest
  # Brand
  brand: '#e30b5d'               # signature hot magenta-pink — the spotlight, Sign-Up CTA
  brand-deep: '#c2094f'          # pressed pink
  brand-soft: 'rgba(227, 11, 93, 0.15)' # pink wash for selected / hover
  on-brand: '#ffffff'            # white on pink
  # Interactive
  link: '#f9f9f9'                # links stay near-white on black
  link-hover: '#e30b5d'          # pink on hover — the spotlight moment
  selected-bg: 'rgba(227, 11, 93, 0.15)' # pink-wash selected row
  disabled: '#737373'
  # Borders
  border: 'rgba(255, 255, 255, 0.10)'    # 10% white hairline (default)
  border-strong: 'rgba(255, 255, 255, 0.18)' # emphasised rule
  border-subtle: 'rgba(255, 255, 255, 0.05)' # whisper hairline
  border-pink: 'rgba(227, 11, 93, 0.40)' # brand-tinted ring
  # Semantic
  success-bg: 'rgba(34, 197, 94, 0.12)'
  success-text: '#86efac'
  warning-bg: 'rgba(245, 166, 35, 0.12)'
  warning-text: '#fcd34d'
  danger-bg: 'rgba(239, 68, 68, 0.12)'
  danger-text: '#fca5a5'
  info-bg: 'rgba(255, 255, 255, 0.08)'
  info-text: '#c2c2c2'

typography:
  display:
    family: '"InnovatorFont", "Innovator", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif'
    weights: [400, 500, 600, 700]
    opentype-features: ['kern', 'liga']
    note: 'Custom grotesque (Innovator family). Audits read "Times" — that is the unloaded serif fallback, NOT the brand face.'
  body:
    family: '"InnovatorFont", "Innovator", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif'
    weights: [400, 500, 600]
    opentype-features: ['kern', 'liga']
    note: 'Body shares the Innovator family; "Times" in raw audit = fallback before the custom face loads.'
  mono:
    family: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace'
    weights: [400, 500]
    opentype-features: ['tnum', 'zero']
  scale:
    display-hero:    { size: 80, weight: 700, lineHeight: 1.0,  tracking: '-0.03em',  family: display, opentype: 'kern liga' }
    display-lg:      { size: 56, weight: 700, lineHeight: 1.05, tracking: '-0.02em',  family: display, opentype: 'kern liga' }
    h1:              { size: 60, weight: 400, lineHeight: 1.05, tracking: '-0.02em',  family: display, note: 'observed 60px InnovatorFont — the homepage signature' }
    h2:              { size: 40, weight: 600, lineHeight: 1.1,  tracking: '-0.018em', family: display }
    h3:              { size: 32, weight: 600, lineHeight: 1.2,  tracking: '-0.012em', family: display }
    h4:              { size: 24, weight: 600, lineHeight: 1.25, tracking: '-0.005em', family: display }
    h5:              { size: 20, weight: 600, lineHeight: 1.3,  tracking: '0',        family: display }
    eyebrow:         { size: 12, weight: 600, lineHeight: 1.4,  tracking: '0.08em',   family: display, transform: uppercase }
    body-lg:         { size: 18, weight: 400, lineHeight: 1.55, tracking: '0',        family: body }
    body:            { size: 16, weight: 400, lineHeight: 1.55, tracking: '0',        family: body }
    body-sm:         { size: 14, weight: 400, lineHeight: 1.5,  tracking: '0',        family: body }
    caption:         { size: 13, weight: 400, lineHeight: 1.4,  tracking: '0',        family: body }
    label:           { size: 13, weight: 500, lineHeight: 1.4,  tracking: '0',        family: body }
    caption-tabular: { size: 13, weight: 500, lineHeight: 1.4,  tracking: '0',        family: mono, opentype: 'tnum' }
    overline:        { size: 12, weight: 500, lineHeight: 1.4,  tracking: '0.02em',   family: body }
    code:            { size: 13, weight: 400, lineHeight: 1.55, tracking: '0',        family: mono, opentype: 'tnum zero' }

radius:
  micro: 2
  sm: 4
  button: 6
  md: 8
  lg: 12
  xl: 16
  pill: 9999

spacing:
  base: 4
  scale: [0, 4, 8, 12, 16, 24, 32, 48, 64, 96, 128]

layout:
  page-width: 1280
  prose-width: 720
  site-gutter: 'clamp(20px, 5vw, 48px)'
  header-height: 64
  grid-columns: 12
  feed-pattern: 'long vertical feed; full-bleed black stage; centered hero; composer / track rows below'
  section-rhythm: '64-96px'

components:
  button-primary:
    background: '#e30b5d'
    text: '#ffffff'
    padding: '10px 16px'
    radius: 6
    border: 'none'
    font: 'Innovator 500 / 14px'
    hover-bg: '#c2094f'
    active-bg: '#a8074494'
    use: 'Primary CTA — magenta-pink Sign-Up button, the one saturated mark.'
  button-secondary:
    background: 'rgba(255, 255, 255, 0.05)'
    text: '#ffffff'
    padding: '10px 16px'
    radius: 6
    border: '1px solid rgba(255, 255, 255, 0.10)'
    font: 'Innovator 500 / 14px'
    hover-bg: 'rgba(255, 255, 255, 0.08)'
    use: 'Sign-In twin — 5% white fill on black, exactly as sampled.'
  button-ghost:
    background: 'transparent'
    text: '#f9f9f9'
    padding: '8px 12px'
    radius: 6
    font: 'Innovator 500 / 14px'
    hover-bg: 'rgba(255, 255, 255, 0.06)'
    use: 'Quiet utility — nav links, footer, repeated inline.'
  button-white:
    background: '#f9f9f9'
    text: '#000000'
    padding: '10px 16px'
    radius: 6
    font: 'Innovator 500 / 14px'
    hover-bg: '#ffffff'
    use: 'Inverted CTA — near-white button on the black stage for high-emphasis non-brand actions.'
  card:
    background: '#0a0a0a'
    border: '1px solid rgba(255, 255, 255, 0.10)'
    radius: 12
    padding: '24px'
    use: 'Info / track card — near-black fill, 10% white hairline edge.'
  card-track-tile:
    background: '#0a0a0a'
    border: 'none'
    radius: 8
    padding: '0'
    aspect-ratio: '1 / 1'
    use: 'Track-art tile — image bleeds to edge, sharp 8px corner.'
  input:
    background: '#0a0a0a'
    border: '1px solid rgba(255, 255, 255, 0.18)'
    radius: 6
    padding: '8px 12px'
    font: 'Innovator 400 / 14px'
    placeholder-color: '#8a8a8a'
    focus-ring: '0 0 0 2px #e30b5d'
    use: 'Form fields, search.'
  prompt-composer:
    background: '#0a0a0a'
    border: '1px solid rgba(255, 255, 255, 0.18)'
    radius: 12
    padding: '12px 16px'
    font: 'Innovator 400 / 16px'
    placeholder-color: '#8a8a8a'
    inner-button: 'pink Create button hard-right with white label'
    use: 'Studio prompt box — describe a track, generate; mirrors the in-product creator.'
  badge-tag:
    background: 'rgba(255, 255, 255, 0.08)'
    text: '#c2c2c2'
    padding: '4px 10px'
    radius: 6
    font: 'Innovator 500 / 12px'
    use: 'Genre / mood chip.'
  badge-pink:
    background: 'rgba(227, 11, 93, 0.15)'
    text: '#e30b5d'
    padding: '4px 10px'
    radius: 6
    font: 'Innovator 500 / 12px'
    use: '"New" / "Pro" badge — pink-wash pill.'
  nav-link:
    background: 'transparent'
    text: '#f9f9f9'
    padding: '8px 12px'
    font: 'Innovator 500 / 14px'
    hover-text: '#e30b5d'
    active-bg: 'rgba(255, 255, 255, 0.06)'

motion:
  ease-standard: 'cubic-bezier(0.4, 0, 0.2, 1)'
  ease-emphasized: 'cubic-bezier(0.2, 0, 0, 1)'
  duration-fast: 150
  duration-standard: 240
  duration-slow: 320
  duration-page: 480
  reduced-motion: 'respects prefers-reduced-motion: reduce — looping waveforms freeze, transforms collapse to opacity-only, durations halve.'

breakpoints:
  mobile: 640
  tablet: 1024
  desktop: 1280
  wide: 1536

shadows:
  none: 'none'
  ambient: 'rgba(0, 0, 0, 0.40) 0 1px 3px'
  standard: 'rgba(0, 0, 0, 0.50) 0 4px 12px'
  elevated: 'rgba(0, 0, 0, 0.60) 0 16px 32px -8px'
  pink-glow: '0 0 24px rgba(227, 11, 93, 0.35)'
  modal: 'rgba(0, 0, 0, 0.80) 0 24px 48px -12px'
  ring: '0 0 0 2px #e30b5d'
  ring-soft: '0 0 0 3px rgba(227, 11, 93, 0.30)'

accessibility:
  contrast-text-on-bg: 19.95       # #f9f9f9 on #000000 — AAA at all sizes
  contrast-text-strong-on-bg: 21.0 # #ffffff on #000000 — AAA, the maximum
  contrast-text-muted-on-bg: 11.79 # #c2c2c2 on #000000 — AAA
  contrast-text-soft-on-bg: 6.08   # #8a8a8a on #000000 — AA at all sizes
  contrast-on-brand: 4.70          # #ffffff on #e30b5d — AA at body sizes
  contrast-brand-on-bg: 4.47       # #e30b5d on #000000 — AA at body sizes (large-text / link-hover safe)
  focus-ring: '2px solid #e30b5d with 2px offset'
  reduced-motion-honored: true
  keyboard-nav: 'tab order: skip-link → masthead → composer → feed → footer; Enter activates focused CTA.'
  prose-line-length: 'capped at 720px on text pages.'

dark-mode: dark-only               # Udio is dark-only; the black stage is the brand.
colors-dark: same as colors        # primary surface is already black.
---

## 1. Visual Theme & Atmosphere

Udio is a darkened stage. The canvas drops to absolute `#000000` black — no warm tint, no near-black compromise — and the type rests on it in `#f9f9f9`, a near-white that sits a single notch below pure white. The combination is the brand's defining mood: harder and more absolute than Suno's warm `#101012` booth, more committed than a generic dark dashboard. Where Suno stages a recording booth at golden hour, Udio runs the lights all the way down. The page reads like a mixing console in a blacked-out studio — the only light is what you bring to it.

The display face is the custom **Innovator** family — a clean modern grotesque that carries the homepage h1 at **60px**. This is the single most important thing to get right and the easiest to miss: a raw CSS audit of Udio reports the body font as `Times`, which looks like a serif brand. It is not. `Times` is the **unloaded serif fallback** that shows for a flash before the custom Innovator web font arrives; the real brand face is a sans-serif grotesque across both display and body. Any reproduction that sets Udio in a serif has misread the fallback for the face.

The single chromatic accent is **hot magenta-pink `#e30b5d`** (rgb 227, 11, 93). Its discipline is extreme: in the sampled chrome the pink appears almost exclusively on the **Sign-Up** call to action — a `6px`-radius solid-pink button — while its twin, Sign-In, stays a quiet 5%-white fill. Everything else on the marketing surface is black, near-white, and grey. The pink is a spotlight: one saturated mark on a monochrome stage, drawing the eye to the single action that matters. This is the same restraint Suno uses with its hot pink, but Udio is even stingier with it and pairs it with absolute black rather than a warmed canvas.

The shapes are sharp. Buttons and inputs round to just **6px** — a tight, console-like corner, far from Suno's 20px album tiles or Apple Music's near-circles. The result is a surface that feels like equipment rather than a soft consumer app: precise, technical, built for making rather than browsing. Section rhythm runs 64–96px, hairlines are 10% white, and there are no gradients or meshes — the black is flat and total, so the user's generated tracks and artwork can supply every bit of color the page contains.

Atmospheric vocabulary: **blacked-out-stage, absolute-black-canvas, near-white-Innovator-type, magenta-pink-spotlight, sharp-6px-corner, console-register, single-saturated-mark, fallback-is-not-the-face, monochrome-chrome, music-supplies-the-color.**

**Key Characteristics**

- Absolute `#000000` black canvas — no warm tint, the lights are fully down
- Near-white `#f9f9f9` type — one notch below pure white, easier on the eyes than `#fff`
- Custom Innovator grotesque (NOT Times — that is the unloaded fallback) at 60px h1
- Hot magenta-pink `#e30b5d` accent — a single spotlight, almost only on the Sign-Up CTA
- Sharp `6px` button/input radius — console-precise, not soft-consumer
- Sign-In = 5% white fill; Sign-Up = solid pink — the asymmetry IS the hierarchy
- Monochrome chrome — black, near-white, grey; user content supplies all color
- 10% white hairlines — tonal stacking, no heavy cast shadows
- Flat and total — no gradients, no meshes, no glow except the rare pink-glow state
- Dark-only — the black stage is the brand; there is no light variant

## 2. Color Palette & Roles

### Primary

- **bg** `#000000` — absolute black; the darkened stage, the page ground.
- **text** `#f9f9f9` — near-white display and body copy; one notch below pure white for reduced glare on full black.
- **bg-alt** `#08080a` — barely-lifted panel ground for inset zones.
- **surface** `#0a0a0a` — raised panel / card fill, still reads near-black.

### Brand

- **brand** `#e30b5d` — hot magenta-pink spotlight (rgb 227, 11, 93). Primary CTA, link hover, focus ring, the single chromatic accent.
- **brand-deep** `#c2094f` — pressed / hover-darkened pink.
- **brand-soft** `rgba(227, 11, 93, 0.15)` — 15% pink wash for selected rows and hovered states.
- **on-brand** `#ffffff` — white label on the pink button.

### Accent

Udio has **no secondary chromatic accent**. The brand pink is the only saturated color on the chrome; everything else is monochrome. Resist the urge to add a blue or teal — the single-spotlight discipline is the brand.

### Interactive

- **link** `#f9f9f9` — links stay near-white on black; underline on hover for affordance.
- **link-hover** `#e30b5d` — pink on hover, the spotlight moment.
- **selected-bg** `rgba(227, 11, 93, 0.15)` — selected row / active item in lists.
- **disabled** `#737373` — neutral disabled chrome.

### Neutral Scale

- **near-white** `#f9f9f9` — primary text.
- **white** `#ffffff` — rare absolute white for the highest-emphasis headline only.
- **grey-300** `#c2c2c2` — muted UI label.
- **grey-500** `#8a8a8a` — quiet metadata, placeholders.
- **grey-600** `#737373` — disabled / faintest readable.
- **panel** `#0a0a0a` — raised surfaces.
- **whisper** `rgba(255, 255, 255, 0.05)` — softest hover wash; the Sign-In fill.

### Surface & Borders

- **surface-0 (page)** — `#000000` absolute black stage.
- **surface-1 (panel)** — `#0a0a0a` raised card.
- **surface-soft** — `rgba(255, 255, 255, 0.05)` — 5% white whisper (Sign-In button, hover).
- **surface-strong** — `rgba(255, 255, 255, 0.08)` — 8% white emphasised panel.
- **border** `rgba(255, 255, 255, 0.10)` — 10% white hairline (default).
- **border-strong** `rgba(255, 255, 255, 0.18)` — emphasised rule, input edge.
- **border-subtle** `rgba(255, 255, 255, 0.05)` — quietest division.
- **border-pink** `rgba(227, 11, 93, 0.40)` — brand-tinted ring for focus/active.

### Shadow Colors

Udio's shadows are **deep black on black** — the canvas already absorbs cast shadows, so elevation is carried mostly by tonal stepping (`#000000` → `#0a0a0a` → 5–8% white) rather than visible drop shadows. The one brand-tinted exception is a **pink glow** (`0 0 24px rgba(227, 11, 93, 0.35)`) used sparingly on an actively-generating or now-playing element — the single place the spotlight bleeds into elevation.

### Semantic

- **success** — bg `rgba(34, 197, 94, 0.12)`, text `#86efac`. Save / generation-complete confirmation.
- **warning** — bg `rgba(245, 166, 35, 0.12)`, text `#fcd34d`.
- **danger** — bg `rgba(239, 68, 68, 0.12)`, text `#fca5a5`.
- **info** — bg `rgba(255, 255, 255, 0.08)`, text `#c2c2c2` — stays monochrome rather than borrowing a blue, to protect the single-accent rule.

## 3. Typography Rules

### Font Family

- **Display & Body**: `"InnovatorFont", "Innovator", ui-sans-serif, system-ui, -apple-system, sans-serif` — a custom modern grotesque, self-hosted. **Critical:** an automated audit of Udio reports `Times` as the computed font; that is the *unloaded serif fallback* shown for a flash before the Innovator web font arrives, **not** the brand face. Udio is a sans-serif brand. Display and body share the one family.
- **Mono**: `ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace` — reserved for tabular data (durations, BPM, sample rates).
- **OpenType features**: `kern` and `liga` enabled across the family. `tnum` and `zero` in mono.

### Hierarchy

| Role | Font | Size | Weight | Line Height | Letter Spacing | OT Features | Notes |
|---|---|---|---|---|---|---|---|
| Display Hero | Innovator | 80px | 700 | 1.0 | -0.03em | kern liga | Reserved for major launches |
| Display Large | Innovator | 56px | 700 | 1.05 | -0.02em | kern liga | Section lead |
| H1 | Innovator | 60px | 400 | 1.05 | -0.02em | kern liga | Homepage hero — observed 60px, the signature |
| H2 | Innovator | 40px | 600 | 1.1 | -0.018em | liga | Major section |
| H3 | Innovator | 32px | 600 | 1.2 | -0.012em | liga | Sub-section |
| H4 | Innovator | 24px | 600 | 1.25 | -0.005em | — | Card heading |
| H5 | Innovator | 20px | 600 | 1.3 | normal | — | Inline emphasis |
| Eyebrow | Innovator | 12px | 600 | 1.4 | 0.08em | uppercase | Section pre-label |
| Body Large | Innovator | 18px | 400 | 1.55 | normal | — | Lede paragraph |
| Body | Innovator | 16px | 400 | 1.55 | normal | — | Default body (observed 16/400) |
| Body Small | Innovator | 14px | 400 | 1.5 | normal | — | Compact UI body |
| Caption | Innovator | 13px | 400 | 1.4 | normal | — | Image captions |
| Label | Innovator | 13px | 500 | 1.4 | normal | — | UI labels, chips |
| Caption Tabular | mono | 13px | 500 | 1.4 | normal | tnum | Track duration, BPM |
| Overline | Innovator | 12px | 500 | 1.4 | 0.02em | — | Minor pre-label |
| Code | mono | 13px | 400 | 1.55 | normal | tnum zero | Inline code (rare) |

### Principles

- **The brand face is sans-serif Innovator — never a serif.** If your reproduction is set in Times or any serif, you have copied the unloaded fallback, not the face. This is Udio's number-one reproduction trap.
- **Hero h1 observed at 60px.** The homepage signature is Innovator at 60px on a tight 1.05 line-height; the 80px display-hero is reserved for launch banners.
- **Negative tracking at display sizes only.** -0.02em to -0.03em above 40px; normal tracking at 24px and below — the grotesque is already compact.
- **Body is 16px / 400 / 1.55.** Comfortable editorial leading, not chat-app tight; the black stage benefits from a little air between lines.
- **Single-family discipline.** Innovator carries display, body, captions, and labels; mono appears only for tabular numerals.
- **Near-white, not pure white, for running text.** `#f9f9f9` at body sizes reduces halation against full black; reserve `#ffffff` for the single highest-emphasis headline.
- **No italics in display.** Italics belong to occasional inline emphasis in body copy.
- **Eyebrows go uppercase at 0.08em.** The widest tracking in the system, used to label sections without competing with the grotesque headlines.

## 4. Component Stylings

### Buttons

**Primary (Pink Sign-Up)**
- Background: `#e30b5d` magenta-pink. Text: `#ffffff`, Innovator 500 / 14px.
- Padding: `10px 16px`. Radius: `6px`. No border.
- Hover: bg → `#c2094f` over 240ms.
- Active: bg darkens further (pressed beat).
- Focus: 2px pink ring with 2px offset.
- Use: The primary CTA — *Sign Up, Create, Get Pro.* The one saturated mark on the page; never duplicate it.

**Secondary (Sign-In, 5% White)**
- Background: `rgba(255, 255, 255, 0.05)`. Text: `#ffffff`, Innovator 500 / 14px.
- Border: `1px solid rgba(255, 255, 255, 0.10)`. Radius: `6px`.
- Hover: bg → `rgba(255, 255, 255, 0.08)`.
- Use: Twin to primary — *Sign In, Learn more.* Sampled exactly as a 5%-white fill; the deliberate quietness next to the pink IS the hierarchy.

**Ghost (Quiet)**
- Background: transparent. Text: `#f9f9f9`, Innovator 500 / 14px.
- Padding: `8px 12px`. Radius: `6px`.
- Hover: bg → `rgba(255, 255, 255, 0.06)`.
- Use: Nav links, footer, repeated inline utilities.

**White (Inverted)**
- Background: `#f9f9f9`. Text: `#000000`, Innovator 500 / 14px.
- Padding: `10px 16px`. Radius: `6px`.
- Hover: bg → `#ffffff`.
- Use: High-emphasis non-brand action where pink would be wrong — near-white button on the black stage.

### Cards

**Info / Track Card**
- Background: `#0a0a0a`. Border: `1px solid rgba(255, 255, 255, 0.10)`. Radius: `12px`. Padding: `24px`.
- Shadow: none at rest; on hover, `rgba(0, 0, 0, 0.50) 0 4px 12px`.
- Use: Feature card, plan card, capability tile.

**Track-Art Tile**
- Background: `#0a0a0a` (placeholder while artwork loads). Border: none. Radius: `8px`. Aspect: 1:1.
- Hover: 1.02× scale + soft black shadow; play-button overlay fades in.
- Use: Generated-track grid — artwork bleeds to edge, title/artist drop below in near-white / grey.

**Now-Generating Tile**
- Same as track tile, but with `pink-glow` shadow (`0 0 24px rgba(227, 11, 93, 0.35)`) and an optional 1px pink hairline ring.
- Use: The single tile that is actively generating or playing — the pink glow signals state without a separate badge.

### Badges, Tags, Pills

**Genre Tag** — bg `rgba(255, 255, 255, 0.08)`, text `#c2c2c2`, Innovator 500 / 12px, padding `4px 10px`, radius `6px`. Hover deepens bg to 12% white.

**Pink Badge** — bg `rgba(227, 11, 93, 0.15)`, text `#e30b5d`, radius `6px`. "New", "Pro", "Beta" markers — the only badge that may carry the brand color.

**Eyebrow Label** — no chrome, just type. Innovator 600 / 12px / uppercase / 0.08em tracking, color `#8a8a8a`.

### Inputs / Forms

**Text Input**
- Background: `#0a0a0a`. Border: `1px solid rgba(255, 255, 255, 0.18)`. Radius: `6px`. Padding: `8px 12px`.
- Font: Innovator 400 / 14px. Placeholder: `#8a8a8a`.
- Focus: `0 0 0 2px #e30b5d` ring, border → `#e30b5d`.
- Error: border → `#ef4444`, helper red below.

**Prompt Composer (Studio)**
- Background: `#0a0a0a`. Border: `1px solid rgba(255, 255, 255, 0.18)`. Radius: `12px`. Padding: `12px 16px`.
- Font: Innovator 400 / 16px. Placeholder: `#8a8a8a` ("Describe your song…").
- Inner action: pink **Create** button hard-right with white label.
- Use: The product's hero shape — describe-and-generate box that ties marketing to the in-product creator.

### Navigation

- Header height `64px`. Background `transparent` over the black stage (`backdrop-filter: blur(12px)` on scroll).
- Logo: Udio wordmark in near-white, Innovator 600.
- Nav links: Innovator 500 / 14px, color `#f9f9f9`, padding `8px 12px`. Hover: text → `#e30b5d`.
- Right-side: secondary "Sign In" (5% white fill, 6px) + primary pink "Sign Up" (6px). The asymmetry is the whole CTA story.
- Mobile (<640px): hamburger collapses to a full-screen sheet; links stack at 20px / 600.

### Optional Components

**Dropdown Menu** — bg `#0a0a0a`, border `rgba(255, 255, 255, 0.10)`, radius `8px`, shadow `rgba(0, 0, 0, 0.60) 0 12px 24px -8px`. Items: Innovator 400 / 14px, hover bg `rgba(255, 255, 255, 0.06)`.

**Tooltip** — bg `#0a0a0a`, text `#f9f9f9`, radius `6px`, padding `6px 10px`, font `12px / 500`.

**Toast** — bg `#0a0a0a`, border `rgba(255, 255, 255, 0.10)`, radius `8px`, padding `12px 16px`, shadow standard.

**Modal** — bg `#0a0a0a`, radius `12px`, shadow `rgba(0, 0, 0, 0.80) 0 24px 48px -12px`, max-width `560px`. Backdrop: 80% black over the already-black stage.

**Waveform Visualizer** — translucent panel `rgba(255, 255, 255, 0.05)` with near-white bars; pink-tinted only on the actively-playing track.

## 5. Layout Principles

### Spacing System

- **Base unit**: 4px.
- **Scale**: 0, 4, 8, 12, 16, 24, 32, 48, 64, 96, 128.
- **Density observation**: Udio is *medium*. Marketing sections breathe at 64–96px rhythm; product rows and track grids pack tighter at 16–24px gutters. The black canvas tolerates dense grids because the spacing between tiles reads as negative space, not clutter.

### Grid & Container

- **Page max width**: `1280px` for chrome; feed and grid pages bleed to viewport on the black ground.
- **Site gutter**: `clamp(20px, 5vw, 48px)`.
- **Grid**: 12 columns with 16–24px gutters.
- **Track grid**: 4–6 columns at 1:1 aspect, collapsing to 3 → 2 → 1 across breakpoints.
- **Hero treatment**: centered 60px Innovator headline, body 16px below in near-white, prompt composer / dual CTA beneath; full-bleed black behind.

### Whitespace Philosophy

The whitespace is **stage-dark and total**. Because the ground is absolute black, empty space reads as depth rather than emptiness — the page feels like a room with the lights off, not a blank document. Section gutters at 64–96px; intra-section at 16–24px.

### Section Cadence

- Hero (black stage, centered) → Capability / feature panels (black, occasional 8% white inset cards) → Track showcase grid (full-bleed) → Pricing → Footer (`#0a0a0a`, a single tonal step up).
- The whole site stays in black territory; there is no light section.
- Section breaks: 64–96px vertical space + 1px hairlines (`rgba(255, 255, 255, 0.10)`).

## 6. Shapes & Radius Scale

| Tier | Value | Use |
|---|---|---|
| Micro | 2px | Decorative dividers, tag corners |
| Standard (sm) | 4px | Compact chips (rare) |
| Button | 6px | Primary / secondary / ghost buttons, inputs — Udio's signature corner |
| Comfortable (md) | 8px | Track tiles, tooltips, dropdowns |
| Relaxed (lg) | 12px | Cards, composer, modals |
| Featured (xl) | 16px | Large feature panels |
| Pill | 9999px | Reserved — rare, for filter chips only |

Udio's signature radius is **6px on buttons and inputs** — a sharp, console-precise corner sampled directly from both CTAs. Cards relax slightly to 12px and track tiles to 8px, but the whole system stays well below Suno's 20px. Pills are deliberately rare; Udio's controls read as equipment, not soft consumer chips.

## 7. Depth & Elevation

| Level | Treatment | Use |
|---|---|---|
| 0 | Flat — no shadow | Default black page surface, hero, body sections |
| 1 | Tonal — `#0a0a0a` against `#000000` | Cards, panels |
| 2 | `rgba(0,0,0,0.40) 0 1px 3px` | Sticky nav on scroll |
| 3 | `rgba(0,0,0,0.50) 0 4px 12px` | Hover-lifted cards |
| 4 | `rgba(0,0,0,0.60) 0 16px 32px -8px` | Dropdowns, popovers |
| 5 | `rgba(0,0,0,0.80) 0 24px 48px -12px` | Modals, dialogs |
| Special | `0 0 24px rgba(227, 11, 93, 0.35)` | Pink-glow on now-generating / now-playing tile only |

### Shadow Philosophy

Udio's depth is **tonal-first against absolute black**. Because the canvas is `#000000`, a cast shadow has almost nothing darker to fall onto, so elevation is communicated by stepping the surface tone up (`#000000` → `#0a0a0a` → 5–8% white) and by hairline borders rather than by visible drop shadows. The single brand-tinted exception is the pink glow on an actively-generating tile — the only place the spotlight color bleeds into elevation, used to signal *working / playing* without a separate badge.

## 8. Interaction & Motion

### Easing Curves

- **`ease-standard`**: `cubic-bezier(0.4, 0, 0.2, 1)` — Material default for most transitions.
- **`ease-emphasized`**: `cubic-bezier(0.2, 0, 0, 1)` — punchier exit; modal and sheet enter.

### Duration Buckets

- **Fast (150ms)** — color transitions, focus rings, link hovers.
- **Standard (240ms)** — button hover, card hover, dropdown reveal.
- **Slow (320ms)** — modal enter/exit, composer expansion.
- **Page (480ms)** — route transitions, hero reveal.

### Per-Component Micro-States

- **Button hover (primary pink)**: bg `#e30b5d` → `#c2094f` over 240ms; no scale — the button stays planted.
- **Sign-In hover**: fill `5% → 8%` white over 150ms.
- **Track tile hover**: 1.02× scale over 240ms + soft black shadow; play overlay fades in over 150ms.
- **Now-generating tile**: pink glow pulses subtly (`@keyframes glow-pulse` 35% → 50% opacity over 2s, infinite, respects reduced-motion).
- **Link hover**: color `#f9f9f9` → `#e30b5d` over 150ms; underline thickens 1px → 2px.
- **Composer focus**: ring grows 2px → 3px at 30% pink; placeholder fades to 60%.

### Page Transitions

Hero / feed cross-fade over 480ms. Track tiles fade in via `IntersectionObserver` at 80% viewport, 320ms with 12px translate-up. The black ground holds constant across navigation so transitions read as content moving on a fixed stage.

### Reduced Motion

`@media (prefers-reduced-motion: reduce)` — looping waveforms freeze on a static frame; pink glow stops pulsing (holds at 35%); all transforms collapse to opacity-only; durations halved.

## 9. Accessibility & A11y

### Contrast Pairs

- **`#f9f9f9` text on `#000000` bg**: 19.95:1 — AAA at all sizes.
- **`#ffffff` text on `#000000` bg**: 21.0:1 — AAA, the theoretical maximum.
- **`#c2c2c2` text on `#000000` bg**: 11.79:1 — AAA at all sizes.
- **`#8a8a8a` text on `#000000` bg**: 6.08:1 — AA at all sizes, AAA at large.
- **`#737373` text on `#000000` bg**: 4.43:1 — AA at large / disabled only.
- **`#ffffff` text on `#e30b5d` brand**: 4.70:1 — AA at body sizes; safe for the pink CTA label.
- **`#e30b5d` text on `#000000` bg**: 4.47:1 — AA at large text / link-hover; keep pink text at ≥18px or bold, or use near-white for small body links.

### Focus Indicators

- Default ring: `0 0 0 2px #e30b5d` with 2px offset.
- Soft ring (composer focus): `0 0 0 3px rgba(227, 11, 93, 0.30)`.
- Every interactive surface shows a visible focus state; the pink ring reads clearly against the black ground.

### ARIA Patterns

- **Navigation**: `<nav aria-label="Main">` with a skip-link.
- **Composer**: `<form aria-label="Create a song">` with an `aria-label` on the input.
- **Track grid**: `role="feed"`; each tile is `<article>` with `aria-labelledby` pointing at the title; the now-playing tile uses `aria-current="true"`.
- **Audio player**: `role="region" aria-label="Audio player"` with labelled controls.
- **Dialog**: `role="dialog" aria-modal="true" aria-labelledby` with a focus trap.
- **Live regions**: `aria-live="polite"` for "song ready" toasts.

### Keyboard Navigation

- Tab order: skip-link → masthead → composer → feed → footer.
- `Enter` activates the focused CTA; `Space` toggles play/pause on a focused tile.
- Arrow keys navigate within the track grid.
- `Esc` closes modals and sheets.

### Screen Reader Hints

- Track tiles: alt text matches "<title> by <artist>".
- Now-playing state: `aria-current="true"` plus `aria-label="Now playing: <title>"`.
- Generating state: `aria-busy="true"` while a track is being created.
- Decorative pink glow: `aria-hidden="true"`.

### Reduced Motion

Honoured globally. Looping waveforms freeze; pink glow holds static; durations halved.

## 10. Responsive Behavior

### Breakpoints

| Name | Width | Use |
|---|---|---|
| Mobile | < 640px | Single-column feed; full-screen nav sheet |
| Tablet | 640–1024px | 2–3 column track grid |
| Desktop | 1024–1280px | 4-column track grid; full nav |
| Wide | 1280–1536px | 5-column track grid |
| Ultra | > 1536px | Page locks at 1280; gutters expand; grid up to 6 columns |

### Touch Targets

- Minimum tap target: 44×44px.
- Buttons: 44px minimum height on mobile (vertical padding bumps to 12px).
- Track tile: tile = tap target; play overlay icon 48×48 at center.
- Composer / send buttons: 48×48 visual with extended tap area.

### Collapsing Strategy

- **Header**: full nav at ≥1024px; hamburger sheet below.
- **Hero**: 60px → 44px → 34px headline across desktop/tablet/mobile.
- **Composer**: full-width at mobile; max-width 720px on tablet+; centered.
- **Track grid**: 5-up → 4-up → 3-up → 2-up → 1-up across sizes.
- **Section spacing**: 96px → 64px → 48px across sizes.
- **CTAs**: Sign-In + Sign-Up sit side-by-side on desktop; stack with Sign-Up on top on mobile.

### Image Behavior

- Track artwork uses `srcset` with 1x/2x/3x for crisp Retina rendering.
- Native lazy-loading on below-fold tiles.
- `aspect-ratio: 1 / 1` locked.

### Container Queries

Used inside track tiles to switch caption layout (single line vs. wrap) when tile width crosses 200px.

## 11. Content & Voice

### Tone

**Direct, capable, creator-facing.** Udio writes like a piece of pro equipment that happens to be friendly — confident and concrete, light on marketing exuberance. Headlines state the capability ("Make your music"); subheads explain how. The voice positions Udio as a serious creative instrument rather than a toy.

### Microcopy Patterns

- **Button verbs**: "Sign Up," "Sign In," "Create," "Generate," "Continue," "Save." Title-case, plain.
- **Error messages**: "Couldn't generate that track. Try again, or [contact support]."
- **Success confirmations**: "Saved." "Your track is ready." Brief.
- **Loading states**: "Generating…" or "Creating your track…" — process-honest language.

### Empty States

- *"No tracks yet. Describe one above to get started."*
- *"No matches. Try a different prompt or genre."*
- Empty is treated as normal, never as an error.

### CTA Verb Conventions

- Primary on hero: "Sign Up," "Create," "Start creating"
- Secondary: "Sign In," "Hear examples," "See pricing"
- Footer: "Pricing," "Discord," "API," "Support"

The voice is **plain-spoken and tool-confident** — closer to a DAW's quiet competence than to a hype-driven consumer launch.

## 12. Dark Mode & Theming

**Dark-only — the black stage is the brand.** Udio offers no light variant; the marketing surface, the track grid, and the studio all render on the `#000000` ground. That is the brand's defining choice, the same way Suno's booth is dark-first.

There are no light-mode tokens to flip — a theme toggle audit returns score 0, no signals. If a light surface is ever needed (a rare legal or print-export context), invert to `bg: #f9f9f9 / text: #0a0a0a` and keep the pink at `#e30b5d` (it darkens to `#c2094f` for AA contrast on near-white), but **never** render the marketing surface or the track grid in light mode. The stage stays black.

## 13. Lineage & Influences

Udio's identity is **a recording console reimagined as a black creative canvas**. The ground is absolute `#000000`; the type is near-white `#f9f9f9` in the custom Innovator grotesque; and the one chromatic mark is a hot magenta-pink `#e30b5d` reserved almost entirely for the Sign-Up CTA. The system is deliberately monochrome so that user-generated tracks and artwork supply all the color — the chrome is the dark room, the music is the light. The sharp `6px` corners and the absence of gradients give the surface a precise, equipment-like feel: this is a studio tool, not a soft consumer feed.

The lineage runs through three streams. From **dark-canvas music UI** (Apple Music, Spotify's darker surfaces) it takes the black ground and the album-tile grid that lets artwork carry the color. From **the pink-magenta music accent** — the same family SoundCloud and Suno use — it takes a single saturated cue color, but applies it with more restraint, holding it almost entirely on one button. From **modern grotesque type culture** it takes a clean custom sans (Innovator) at large display sizes with tight tracking, in the register of foundries like Pangram Pangram. What Udio rejects: Suno's *warmed* `#101012` canvas and soft 20px album tiles — Udio commits to absolute black and sharp 6px corners; and it rejects any secondary accent, keeping the page strictly black, near-white, grey, and one pink.

**Named influences:**

- **Apple Music** — dark-canvas + album-tile grid pattern; artwork carries the color. *https://www.apple.com/apple-music/*
- **Spotify** — dark music-UI register; headline-weight display type. *https://open.spotify.com*
- **Suno** — the closest contemporary AI-music sibling; shared hot-pink-on-dark language, which Udio renders harder (absolute black, sharper corners). *https://suno.com*
- **SoundCloud** — the legacy pink-magenta cue color as a music-context accent. *https://soundcloud.com*
- **Pangram Pangram** — modern-grotesque type culture that informs the custom Innovator display register. *https://pangrampangram.com*

## 14. Do's and Don'ts

### Do

- **Do** keep the canvas at absolute `#000000` — Udio commits all the way to black, no warm tint.
- **Do** set type in the sans-serif **Innovator** family; treat any `Times` reading as the unloaded fallback to discard.
- **Do** use near-white `#f9f9f9` for running text rather than pure white — it cuts halation on full black.
- **Do** reserve `#e30b5d` pink for the single most important action (Sign-Up / Create) and link hover; one saturated mark per view.
- **Do** keep Sign-In quiet — a 5% white fill — so the pink Sign-Up clearly wins. The asymmetry is the hierarchy.
- **Do** round buttons and inputs to just `6px` — the sharp console corner is the brand.
- **Do** carry elevation by tonal stepping (`#000000` → `#0a0a0a` → 5–8% white) and hairlines, not heavy drop shadows.
- **Do** use 10% white hairlines (`rgba(255, 255, 255, 0.10)`) for default borders.
- **Do** add the pink glow only to a now-generating / now-playing element — the one brand-tinted shadow.
- **Do** let user artwork supply the color; keep the chrome monochrome.

### Don't

- **Don't** set Udio in a serif — `Times` in the audit is the fallback, not the face. This is the top reproduction error.
- **Don't** warm the canvas to `#101012` or any near-black; that is Suno's register, not Udio's.
- **Don't** introduce a second chromatic accent (no blue, no teal) — the single-spotlight discipline is the brand.
- **Don't** spread the pink across general UI, fills, or panels beyond the 15% wash; solid pink everywhere collapses the spotlight.
- **Don't** round buttons past `6–8px` into Suno's 20px territory — the corners must stay sharp.
- **Don't** make Sign-In as loud as Sign-Up; the muted secondary is intentional.
- **Don't** add gradients, meshes, or glow beyond the single pink-glow state — the black is flat and total.
- **Don't** use pure white for body copy at small sizes; halation against `#000000` hurts readability.
- **Don't** use pink text below 18px on black without bumping weight — `#e30b5d` on black is 4.47:1 (large-text AA only).
- **Don't** ship a light mode for the marketing surface or track grid — the stage is black.

## 15. Agent Prompt Guide

### Quick Color Reference

```
bg: #000000
bg-alt: #08080a
surface: #0a0a0a
surface-soft: rgba(255, 255, 255, 0.05)
text: #f9f9f9
text-strong: #ffffff
text-muted: #c2c2c2
text-soft: #8a8a8a
brand: #e30b5d
brand-deep: #c2094f
border: rgba(255, 255, 255, 0.10)
border-strong: rgba(255, 255, 255, 0.18)
```

### Example Component Prompts

1. **"Create a Udio-style hero — absolute `#000000` black canvas, a centered 60px headline in the Innovator grotesque (sans-serif, NOT a serif) with `-0.02em` tracking in near-white `#f9f9f9`. Below it, 16px body weight 400 in `#c2c2c2`. A dual CTA row: a `6px`-radius solid magenta-pink `#e30b5d` 'Sign Up' button with white label, and beside it a quiet 'Sign In' button at `rgba(255, 255, 255, 0.05)` fill with a 10% white hairline."**

2. **"Design a Udio prompt composer — `#0a0a0a` background, `1px rgba(255, 255, 255, 0.18)` border, `12px` radius, 16px placeholder 'Describe your song…' in `#8a8a8a` (Innovator 400). A pink `#e30b5d` 'Create' button hard-right with a white label. Focus expands the ring to 3px at 30% pink."**

3. **"Build a Udio track tile — 1:1 aspect, `8px` radius, `#0a0a0a` placeholder ground while artwork loads, no border. Hover scales 1.02× with a soft black shadow and a fade-in play overlay. Title and artist drop below: title in Innovator 500 / 14px near-white, artist in 400 / 13px `#8a8a8a`."**

4. **"Render the Udio now-generating state — same as the track tile, but add a pink glow shadow `0 0 24px rgba(227, 11, 93, 0.35)` and an optional 1px pink hairline ring. The glow pulses subtly between 35% and 50% opacity over 2s, paused under prefers-reduced-motion."**

5. **"Compose a Udio nav — 64px header, transparent over the black stage with 12px backdrop-blur on scroll, Udio wordmark hard-left in near-white Innovator 600. Link list Innovator 500 / 14px near-white with `#e30b5d` hover. Right-side: quiet 'Sign In' (5% white fill, 6px) + primary pink 'Sign Up' (6px). Make the two CTAs visibly asymmetric."**

6. **"Create a Udio pricing card — `#0a0a0a` fill, `1px rgba(255, 255, 255, 0.10)` hairline, `12px` radius, 24px padding. Plan name in Innovator 600 / 24px near-white, price in 700 / 40px, feature list in 400 / 16px `#c2c2c2`. The Pro plan's CTA is the only pink `#e30b5d` button; the free plan uses the 5%-white secondary."**

### Iteration Guide

1. **Start with `#000000`, not a near-black.** If the bg is `#101012` or any warm tint, you're in Suno's booth; Udio runs the lights fully down.
2. **Make sure the type is sans-serif.** If your headline rendered in a serif, you copied the `Times` fallback — swap to a clean grotesque (Innovator) immediately.
3. **Use near-white `#f9f9f9`, not `#ffffff`, for body.** The single notch down reduces glare on full black.
4. **Add the pink exactly once.** `#e30b5d` belongs on the single primary action (Sign-Up / Create) and link hover — never as a fill or a second button.
5. **Mute the secondary CTA.** Sign-In should be a 5%-white fill so the pink Sign-Up wins; if both buttons look equally loud, you've lost the hierarchy.
6. **Sharpen the corners to 6px.** If buttons and inputs are at 12–20px, you're too soft; tighten to the console radius.
7. **Strip any second accent.** Remove blues, teals, gradients, and meshes — keep the page black, near-white, grey, and one pink.
8. **Carry depth with tone, not shadow.** Step surfaces `#000000` → `#0a0a0a` → 5–8% white and use hairlines; reserve the only glow for the pink now-generating state.
Prose

1. Visual Theme & Atmosphere

Udio is a darkened stage. The canvas drops to absolute #000000 black — no warm tint, no near-black compromise — and the type rests on it in #f9f9f9, a near-white that sits a single notch below pure white. The combination is the brand’s defining mood: harder and more absolute than Suno’s warm #101012 booth, more committed than a generic dark dashboard. Where Suno stages a recording booth at golden hour, Udio runs the lights all the way down. The page reads like a mixing console in a blacked-out studio — the only light is what you bring to it.

The display face is the custom Innovator family — a clean modern grotesque that carries the homepage h1 at 60px. This is the single most important thing to get right and the easiest to miss: a raw CSS audit of Udio reports the body font as Times, which looks like a serif brand. It is not. Times is the unloaded serif fallback that shows for a flash before the custom Innovator web font arrives; the real brand face is a sans-serif grotesque across both display and body. Any reproduction that sets Udio in a serif has misread the fallback for the face.

The single chromatic accent is hot magenta-pink #e30b5d (rgb 227, 11, 93). Its discipline is extreme: in the sampled chrome the pink appears almost exclusively on the Sign-Up call to action — a 6px-radius solid-pink button — while its twin, Sign-In, stays a quiet 5%-white fill. Everything else on the marketing surface is black, near-white, and grey. The pink is a spotlight: one saturated mark on a monochrome stage, drawing the eye to the single action that matters. This is the same restraint Suno uses with its hot pink, but Udio is even stingier with it and pairs it with absolute black rather than a warmed canvas.

The shapes are sharp. Buttons and inputs round to just 6px — a tight, console-like corner, far from Suno’s 20px album tiles or Apple Music’s near-circles. The result is a surface that feels like equipment rather than a soft consumer app: precise, technical, built for making rather than browsing. Section rhythm runs 64–96px, hairlines are 10% white, and there are no gradients or meshes — the black is flat and total, so the user’s generated tracks and artwork can supply every bit of color the page contains.

Atmospheric vocabulary: blacked-out-stage, absolute-black-canvas, near-white-Innovator-type, magenta-pink-spotlight, sharp-6px-corner, console-register, single-saturated-mark, fallback-is-not-the-face, monochrome-chrome, music-supplies-the-color.

Key Characteristics

  • Absolute #000000 black canvas — no warm tint, the lights are fully down
  • Near-white #f9f9f9 type — one notch below pure white, easier on the eyes than #fff
  • Custom Innovator grotesque (NOT Times — that is the unloaded fallback) at 60px h1
  • Hot magenta-pink #e30b5d accent — a single spotlight, almost only on the Sign-Up CTA
  • Sharp 6px button/input radius — console-precise, not soft-consumer
  • Sign-In = 5% white fill; Sign-Up = solid pink — the asymmetry IS the hierarchy
  • Monochrome chrome — black, near-white, grey; user content supplies all color
  • 10% white hairlines — tonal stacking, no heavy cast shadows
  • Flat and total — no gradients, no meshes, no glow except the rare pink-glow state
  • Dark-only — the black stage is the brand; there is no light variant

2. Color Palette & Roles

Primary

  • bg #000000 — absolute black; the darkened stage, the page ground.
  • text #f9f9f9 — near-white display and body copy; one notch below pure white for reduced glare on full black.
  • bg-alt #08080a — barely-lifted panel ground for inset zones.
  • surface #0a0a0a — raised panel / card fill, still reads near-black.

Brand

  • brand #e30b5d — hot magenta-pink spotlight (rgb 227, 11, 93). Primary CTA, link hover, focus ring, the single chromatic accent.
  • brand-deep #c2094f — pressed / hover-darkened pink.
  • brand-soft rgba(227, 11, 93, 0.15) — 15% pink wash for selected rows and hovered states.
  • on-brand #ffffff — white label on the pink button.

Accent

Udio has no secondary chromatic accent. The brand pink is the only saturated color on the chrome; everything else is monochrome. Resist the urge to add a blue or teal — the single-spotlight discipline is the brand.

Interactive

  • link #f9f9f9 — links stay near-white on black; underline on hover for affordance.
  • link-hover #e30b5d — pink on hover, the spotlight moment.
  • selected-bg rgba(227, 11, 93, 0.15) — selected row / active item in lists.
  • disabled #737373 — neutral disabled chrome.

Neutral Scale

  • near-white #f9f9f9 — primary text.
  • white #ffffff — rare absolute white for the highest-emphasis headline only.
  • grey-300 #c2c2c2 — muted UI label.
  • grey-500 #8a8a8a — quiet metadata, placeholders.
  • grey-600 #737373 — disabled / faintest readable.
  • panel #0a0a0a — raised surfaces.
  • whisper rgba(255, 255, 255, 0.05) — softest hover wash; the Sign-In fill.

Surface & Borders

  • surface-0 (page)#000000 absolute black stage.
  • surface-1 (panel)#0a0a0a raised card.
  • surface-softrgba(255, 255, 255, 0.05) — 5% white whisper (Sign-In button, hover).
  • surface-strongrgba(255, 255, 255, 0.08) — 8% white emphasised panel.
  • border rgba(255, 255, 255, 0.10) — 10% white hairline (default).
  • border-strong rgba(255, 255, 255, 0.18) — emphasised rule, input edge.
  • border-subtle rgba(255, 255, 255, 0.05) — quietest division.
  • border-pink rgba(227, 11, 93, 0.40) — brand-tinted ring for focus/active.

Shadow Colors

Udio’s shadows are deep black on black — the canvas already absorbs cast shadows, so elevation is carried mostly by tonal stepping (#000000#0a0a0a → 5–8% white) rather than visible drop shadows. The one brand-tinted exception is a pink glow (0 0 24px rgba(227, 11, 93, 0.35)) used sparingly on an actively-generating or now-playing element — the single place the spotlight bleeds into elevation.

Semantic

  • success — bg rgba(34, 197, 94, 0.12), text #86efac. Save / generation-complete confirmation.
  • warning — bg rgba(245, 166, 35, 0.12), text #fcd34d.
  • danger — bg rgba(239, 68, 68, 0.12), text #fca5a5.
  • info — bg rgba(255, 255, 255, 0.08), text #c2c2c2 — stays monochrome rather than borrowing a blue, to protect the single-accent rule.

3. Typography Rules

Font Family

  • Display & Body: "InnovatorFont", "Innovator", ui-sans-serif, system-ui, -apple-system, sans-serif — a custom modern grotesque, self-hosted. Critical: an automated audit of Udio reports Times as the computed font; that is the unloaded serif fallback shown for a flash before the Innovator web font arrives, not the brand face. Udio is a sans-serif brand. Display and body share the one family.
  • Mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace — reserved for tabular data (durations, BPM, sample rates).
  • OpenType features: kern and liga enabled across the family. tnum and zero in mono.

Hierarchy

Role Font Size Weight Line Height Letter Spacing OT Features Notes
Display Hero Innovator 80px 700 1.0 -0.03em kern liga Reserved for major launches
Display Large Innovator 56px 700 1.05 -0.02em kern liga Section lead
H1 Innovator 60px 400 1.05 -0.02em kern liga Homepage hero — observed 60px, the signature
H2 Innovator 40px 600 1.1 -0.018em liga Major section
H3 Innovator 32px 600 1.2 -0.012em liga Sub-section
H4 Innovator 24px 600 1.25 -0.005em Card heading
H5 Innovator 20px 600 1.3 normal Inline emphasis
Eyebrow Innovator 12px 600 1.4 0.08em uppercase Section pre-label
Body Large Innovator 18px 400 1.55 normal Lede paragraph
Body Innovator 16px 400 1.55 normal Default body (observed 16/400)
Body Small Innovator 14px 400 1.5 normal Compact UI body
Caption Innovator 13px 400 1.4 normal Image captions
Label Innovator 13px 500 1.4 normal UI labels, chips
Caption Tabular mono 13px 500 1.4 normal tnum Track duration, BPM
Overline Innovator 12px 500 1.4 0.02em Minor pre-label
Code mono 13px 400 1.55 normal tnum zero Inline code (rare)

Principles

  • The brand face is sans-serif Innovator — never a serif. If your reproduction is set in Times or any serif, you have copied the unloaded fallback, not the face. This is Udio’s number-one reproduction trap.
  • Hero h1 observed at 60px. The homepage signature is Innovator at 60px on a tight 1.05 line-height; the 80px display-hero is reserved for launch banners.
  • Negative tracking at display sizes only. -0.02em to -0.03em above 40px; normal tracking at 24px and below — the grotesque is already compact.
  • Body is 16px / 400 / 1.55. Comfortable editorial leading, not chat-app tight; the black stage benefits from a little air between lines.
  • Single-family discipline. Innovator carries display, body, captions, and labels; mono appears only for tabular numerals.
  • Near-white, not pure white, for running text. #f9f9f9 at body sizes reduces halation against full black; reserve #ffffff for the single highest-emphasis headline.
  • No italics in display. Italics belong to occasional inline emphasis in body copy.
  • Eyebrows go uppercase at 0.08em. The widest tracking in the system, used to label sections without competing with the grotesque headlines.

4. Component Stylings

Buttons

Primary (Pink Sign-Up)

  • Background: #e30b5d magenta-pink. Text: #ffffff, Innovator 500 / 14px.
  • Padding: 10px 16px. Radius: 6px. No border.
  • Hover: bg → #c2094f over 240ms.
  • Active: bg darkens further (pressed beat).
  • Focus: 2px pink ring with 2px offset.
  • Use: The primary CTA — Sign Up, Create, Get Pro. The one saturated mark on the page; never duplicate it.

Secondary (Sign-In, 5% White)

  • Background: rgba(255, 255, 255, 0.05). Text: #ffffff, Innovator 500 / 14px.
  • Border: 1px solid rgba(255, 255, 255, 0.10). Radius: 6px.
  • Hover: bg → rgba(255, 255, 255, 0.08).
  • Use: Twin to primary — Sign In, Learn more. Sampled exactly as a 5%-white fill; the deliberate quietness next to the pink IS the hierarchy.

Ghost (Quiet)

  • Background: transparent. Text: #f9f9f9, Innovator 500 / 14px.
  • Padding: 8px 12px. Radius: 6px.
  • Hover: bg → rgba(255, 255, 255, 0.06).
  • Use: Nav links, footer, repeated inline utilities.

White (Inverted)

  • Background: #f9f9f9. Text: #000000, Innovator 500 / 14px.
  • Padding: 10px 16px. Radius: 6px.
  • Hover: bg → #ffffff.
  • Use: High-emphasis non-brand action where pink would be wrong — near-white button on the black stage.

Cards

Info / Track Card

  • Background: #0a0a0a. Border: 1px solid rgba(255, 255, 255, 0.10). Radius: 12px. Padding: 24px.
  • Shadow: none at rest; on hover, rgba(0, 0, 0, 0.50) 0 4px 12px.
  • Use: Feature card, plan card, capability tile.

Track-Art Tile

  • Background: #0a0a0a (placeholder while artwork loads). Border: none. Radius: 8px. Aspect: 1:1.
  • Hover: 1.02× scale + soft black shadow; play-button overlay fades in.
  • Use: Generated-track grid — artwork bleeds to edge, title/artist drop below in near-white / grey.

Now-Generating Tile

  • Same as track tile, but with pink-glow shadow (0 0 24px rgba(227, 11, 93, 0.35)) and an optional 1px pink hairline ring.
  • Use: The single tile that is actively generating or playing — the pink glow signals state without a separate badge.

Badges, Tags, Pills

Genre Tag — bg rgba(255, 255, 255, 0.08), text #c2c2c2, Innovator 500 / 12px, padding 4px 10px, radius 6px. Hover deepens bg to 12% white.

Pink Badge — bg rgba(227, 11, 93, 0.15), text #e30b5d, radius 6px. “New”, “Pro”, “Beta” markers — the only badge that may carry the brand color.

Eyebrow Label — no chrome, just type. Innovator 600 / 12px / uppercase / 0.08em tracking, color #8a8a8a.

Inputs / Forms

Text Input

  • Background: #0a0a0a. Border: 1px solid rgba(255, 255, 255, 0.18). Radius: 6px. Padding: 8px 12px.
  • Font: Innovator 400 / 14px. Placeholder: #8a8a8a.
  • Focus: 0 0 0 2px #e30b5d ring, border → #e30b5d.
  • Error: border → #ef4444, helper red below.

Prompt Composer (Studio)

  • Background: #0a0a0a. Border: 1px solid rgba(255, 255, 255, 0.18). Radius: 12px. Padding: 12px 16px.
  • Font: Innovator 400 / 16px. Placeholder: #8a8a8a (“Describe your song…”).
  • Inner action: pink Create button hard-right with white label.
  • Use: The product’s hero shape — describe-and-generate box that ties marketing to the in-product creator.
  • Header height 64px. Background transparent over the black stage (backdrop-filter: blur(12px) on scroll).
  • Logo: Udio wordmark in near-white, Innovator 600.
  • Nav links: Innovator 500 / 14px, color #f9f9f9, padding 8px 12px. Hover: text → #e30b5d.
  • Right-side: secondary “Sign In” (5% white fill, 6px) + primary pink “Sign Up” (6px). The asymmetry is the whole CTA story.
  • Mobile (<640px): hamburger collapses to a full-screen sheet; links stack at 20px / 600.

Optional Components

Dropdown Menu — bg #0a0a0a, border rgba(255, 255, 255, 0.10), radius 8px, shadow rgba(0, 0, 0, 0.60) 0 12px 24px -8px. Items: Innovator 400 / 14px, hover bg rgba(255, 255, 255, 0.06).

Tooltip — bg #0a0a0a, text #f9f9f9, radius 6px, padding 6px 10px, font 12px / 500.

Toast — bg #0a0a0a, border rgba(255, 255, 255, 0.10), radius 8px, padding 12px 16px, shadow standard.

Modal — bg #0a0a0a, radius 12px, shadow rgba(0, 0, 0, 0.80) 0 24px 48px -12px, max-width 560px. Backdrop: 80% black over the already-black stage.

Waveform Visualizer — translucent panel rgba(255, 255, 255, 0.05) with near-white bars; pink-tinted only on the actively-playing track.

5. Layout Principles

Spacing System

  • Base unit: 4px.
  • Scale: 0, 4, 8, 12, 16, 24, 32, 48, 64, 96, 128.
  • Density observation: Udio is medium. Marketing sections breathe at 64–96px rhythm; product rows and track grids pack tighter at 16–24px gutters. The black canvas tolerates dense grids because the spacing between tiles reads as negative space, not clutter.

Grid & Container

  • Page max width: 1280px for chrome; feed and grid pages bleed to viewport on the black ground.
  • Site gutter: clamp(20px, 5vw, 48px).
  • Grid: 12 columns with 16–24px gutters.
  • Track grid: 4–6 columns at 1:1 aspect, collapsing to 3 → 2 → 1 across breakpoints.
  • Hero treatment: centered 60px Innovator headline, body 16px below in near-white, prompt composer / dual CTA beneath; full-bleed black behind.

Whitespace Philosophy

The whitespace is stage-dark and total. Because the ground is absolute black, empty space reads as depth rather than emptiness — the page feels like a room with the lights off, not a blank document. Section gutters at 64–96px; intra-section at 16–24px.

Section Cadence

  • Hero (black stage, centered) → Capability / feature panels (black, occasional 8% white inset cards) → Track showcase grid (full-bleed) → Pricing → Footer (#0a0a0a, a single tonal step up).
  • The whole site stays in black territory; there is no light section.
  • Section breaks: 64–96px vertical space + 1px hairlines (rgba(255, 255, 255, 0.10)).

6. Shapes & Radius Scale

Tier Value Use
Micro 2px Decorative dividers, tag corners
Standard (sm) 4px Compact chips (rare)
Button 6px Primary / secondary / ghost buttons, inputs — Udio’s signature corner
Comfortable (md) 8px Track tiles, tooltips, dropdowns
Relaxed (lg) 12px Cards, composer, modals
Featured (xl) 16px Large feature panels
Pill 9999px Reserved — rare, for filter chips only

Udio’s signature radius is 6px on buttons and inputs — a sharp, console-precise corner sampled directly from both CTAs. Cards relax slightly to 12px and track tiles to 8px, but the whole system stays well below Suno’s 20px. Pills are deliberately rare; Udio’s controls read as equipment, not soft consumer chips.

7. Depth & Elevation

Level Treatment Use
0 Flat — no shadow Default black page surface, hero, body sections
1 Tonal — #0a0a0a against #000000 Cards, panels
2 rgba(0,0,0,0.40) 0 1px 3px Sticky nav on scroll
3 rgba(0,0,0,0.50) 0 4px 12px Hover-lifted cards
4 rgba(0,0,0,0.60) 0 16px 32px -8px Dropdowns, popovers
5 rgba(0,0,0,0.80) 0 24px 48px -12px Modals, dialogs
Special 0 0 24px rgba(227, 11, 93, 0.35) Pink-glow on now-generating / now-playing tile only

Shadow Philosophy

Udio’s depth is tonal-first against absolute black. Because the canvas is #000000, a cast shadow has almost nothing darker to fall onto, so elevation is communicated by stepping the surface tone up (#000000#0a0a0a → 5–8% white) and by hairline borders rather than by visible drop shadows. The single brand-tinted exception is the pink glow on an actively-generating tile — the only place the spotlight color bleeds into elevation, used to signal working / playing without a separate badge.

8. Interaction & Motion

Easing Curves

  • ease-standard: cubic-bezier(0.4, 0, 0.2, 1) — Material default for most transitions.
  • ease-emphasized: cubic-bezier(0.2, 0, 0, 1) — punchier exit; modal and sheet enter.

Duration Buckets

  • Fast (150ms) — color transitions, focus rings, link hovers.
  • Standard (240ms) — button hover, card hover, dropdown reveal.
  • Slow (320ms) — modal enter/exit, composer expansion.
  • Page (480ms) — route transitions, hero reveal.

Per-Component Micro-States

  • Button hover (primary pink): bg #e30b5d#c2094f over 240ms; no scale — the button stays planted.
  • Sign-In hover: fill 5% → 8% white over 150ms.
  • Track tile hover: 1.02× scale over 240ms + soft black shadow; play overlay fades in over 150ms.
  • Now-generating tile: pink glow pulses subtly (@keyframes glow-pulse 35% → 50% opacity over 2s, infinite, respects reduced-motion).
  • Link hover: color #f9f9f9#e30b5d over 150ms; underline thickens 1px → 2px.
  • Composer focus: ring grows 2px → 3px at 30% pink; placeholder fades to 60%.

Page Transitions

Hero / feed cross-fade over 480ms. Track tiles fade in via IntersectionObserver at 80% viewport, 320ms with 12px translate-up. The black ground holds constant across navigation so transitions read as content moving on a fixed stage.

Reduced Motion

@media (prefers-reduced-motion: reduce) — looping waveforms freeze on a static frame; pink glow stops pulsing (holds at 35%); all transforms collapse to opacity-only; durations halved.

9. Accessibility & A11y

Contrast Pairs

  • #f9f9f9 text on #000000 bg: 19.95:1 — AAA at all sizes.
  • #ffffff text on #000000 bg: 21.0:1 — AAA, the theoretical maximum.
  • #c2c2c2 text on #000000 bg: 11.79:1 — AAA at all sizes.
  • #8a8a8a text on #000000 bg: 6.08:1 — AA at all sizes, AAA at large.
  • #737373 text on #000000 bg: 4.43:1 — AA at large / disabled only.
  • #ffffff text on #e30b5d brand: 4.70:1 — AA at body sizes; safe for the pink CTA label.
  • #e30b5d text on #000000 bg: 4.47:1 — AA at large text / link-hover; keep pink text at ≥18px or bold, or use near-white for small body links.

Focus Indicators

  • Default ring: 0 0 0 2px #e30b5d with 2px offset.
  • Soft ring (composer focus): 0 0 0 3px rgba(227, 11, 93, 0.30).
  • Every interactive surface shows a visible focus state; the pink ring reads clearly against the black ground.

ARIA Patterns

  • Navigation: <nav aria-label="Main"> with a skip-link.
  • Composer: <form aria-label="Create a song"> with an aria-label on the input.
  • Track grid: role="feed"; each tile is <article> with aria-labelledby pointing at the title; the now-playing tile uses aria-current="true".
  • Audio player: role="region" aria-label="Audio player" with labelled controls.
  • Dialog: role="dialog" aria-modal="true" aria-labelledby with a focus trap.
  • Live regions: aria-live="polite" for “song ready” toasts.

Keyboard Navigation

  • Tab order: skip-link → masthead → composer → feed → footer.
  • Enter activates the focused CTA; Space toggles play/pause on a focused tile.
  • Arrow keys navigate within the track grid.
  • Esc closes modals and sheets.

Screen Reader Hints

  • Track tiles: alt text matches “ by <artist>”.</li> <li>Now-playing state: <code>aria-current="true"</code> plus <code>aria-label="Now playing: <title>"</code>.</li> <li>Generating state: <code>aria-busy="true"</code> while a track is being created.</li> <li>Decorative pink glow: <code>aria-hidden="true"</code>.</li> </ul> <h3 id="reduced-motion-1">Reduced Motion</h3> <p>Honoured globally. Looping waveforms freeze; pink glow holds static; durations halved.</p> <h2 id="10-responsive-behavior">10. Responsive Behavior</h2> <h3 id="breakpoints">Breakpoints</h3> <table> <thead> <tr> <th>Name</th> <th>Width</th> <th>Use</th> </tr> </thead> <tbody> <tr> <td>Mobile</td> <td>< 640px</td> <td>Single-column feed; full-screen nav sheet</td> </tr> <tr> <td>Tablet</td> <td>640–1024px</td> <td>2–3 column track grid</td> </tr> <tr> <td>Desktop</td> <td>1024–1280px</td> <td>4-column track grid; full nav</td> </tr> <tr> <td>Wide</td> <td>1280–1536px</td> <td>5-column track grid</td> </tr> <tr> <td>Ultra</td> <td>> 1536px</td> <td>Page locks at 1280; gutters expand; grid up to 6 columns</td> </tr> </tbody> </table> <h3 id="touch-targets">Touch Targets</h3> <ul> <li>Minimum tap target: 44×44px.</li> <li>Buttons: 44px minimum height on mobile (vertical padding bumps to 12px).</li> <li>Track tile: tile = tap target; play overlay icon 48×48 at center.</li> <li>Composer / send buttons: 48×48 visual with extended tap area.</li> </ul> <h3 id="collapsing-strategy">Collapsing Strategy</h3> <ul> <li><strong>Header</strong>: full nav at ≥1024px; hamburger sheet below.</li> <li><strong>Hero</strong>: 60px → 44px → 34px headline across desktop/tablet/mobile.</li> <li><strong>Composer</strong>: full-width at mobile; max-width 720px on tablet+; centered.</li> <li><strong>Track grid</strong>: 5-up → 4-up → 3-up → 2-up → 1-up across sizes.</li> <li><strong>Section spacing</strong>: 96px → 64px → 48px across sizes.</li> <li><strong>CTAs</strong>: Sign-In + Sign-Up sit side-by-side on desktop; stack with Sign-Up on top on mobile.</li> </ul> <h3 id="image-behavior">Image Behavior</h3> <ul> <li>Track artwork uses <code>srcset</code> with 1x/2x/3x for crisp Retina rendering.</li> <li>Native lazy-loading on below-fold tiles.</li> <li><code>aspect-ratio: 1 / 1</code> locked.</li> </ul> <h3 id="container-queries">Container Queries</h3> <p>Used inside track tiles to switch caption layout (single line vs. wrap) when tile width crosses 200px.</p> <h2 id="11-content--voice">11. Content & Voice</h2> <h3 id="tone">Tone</h3> <p><strong>Direct, capable, creator-facing.</strong> Udio writes like a piece of pro equipment that happens to be friendly — confident and concrete, light on marketing exuberance. Headlines state the capability (“Make your music”); subheads explain how. The voice positions Udio as a serious creative instrument rather than a toy.</p> <h3 id="microcopy-patterns">Microcopy Patterns</h3> <ul> <li><strong>Button verbs</strong>: “Sign Up,” “Sign In,” “Create,” “Generate,” “Continue,” “Save.” Title-case, plain.</li> <li><strong>Error messages</strong>: “Couldn’t generate that track. Try again, or [contact support].”</li> <li><strong>Success confirmations</strong>: “Saved.” “Your track is ready.” Brief.</li> <li><strong>Loading states</strong>: “Generating…” or “Creating your track…” — process-honest language.</li> </ul> <h3 id="empty-states">Empty States</h3> <ul> <li><em>“No tracks yet. Describe one above to get started.”</em></li> <li><em>“No matches. Try a different prompt or genre.”</em></li> <li>Empty is treated as normal, never as an error.</li> </ul> <h3 id="cta-verb-conventions">CTA Verb Conventions</h3> <ul> <li>Primary on hero: “Sign Up,” “Create,” “Start creating”</li> <li>Secondary: “Sign In,” “Hear examples,” “See pricing”</li> <li>Footer: “Pricing,” “Discord,” “API,” “Support”</li> </ul> <p>The voice is <strong>plain-spoken and tool-confident</strong> — closer to a DAW’s quiet competence than to a hype-driven consumer launch.</p> <h2 id="12-dark-mode--theming">12. Dark Mode & Theming</h2> <p><strong>Dark-only — the black stage is the brand.</strong> Udio offers no light variant; the marketing surface, the track grid, and the studio all render on the <code>#000000</code> ground. That is the brand’s defining choice, the same way Suno’s booth is dark-first.</p> <p>There are no light-mode tokens to flip — a theme toggle audit returns score 0, no signals. If a light surface is ever needed (a rare legal or print-export context), invert to <code>bg: #f9f9f9 / text: #0a0a0a</code> and keep the pink at <code>#e30b5d</code> (it darkens to <code>#c2094f</code> for AA contrast on near-white), but <strong>never</strong> render the marketing surface or the track grid in light mode. The stage stays black.</p> <h2 id="13-lineage--influences">13. Lineage & Influences</h2> <p>Udio’s identity is <strong>a recording console reimagined as a black creative canvas</strong>. The ground is absolute <code>#000000</code>; the type is near-white <code>#f9f9f9</code> in the custom Innovator grotesque; and the one chromatic mark is a hot magenta-pink <code>#e30b5d</code> reserved almost entirely for the Sign-Up CTA. The system is deliberately monochrome so that user-generated tracks and artwork supply all the color — the chrome is the dark room, the music is the light. The sharp <code>6px</code> corners and the absence of gradients give the surface a precise, equipment-like feel: this is a studio tool, not a soft consumer feed.</p> <p>The lineage runs through three streams. From <strong>dark-canvas music UI</strong> (Apple Music, Spotify’s darker surfaces) it takes the black ground and the album-tile grid that lets artwork carry the color. From <strong>the pink-magenta music accent</strong> — the same family SoundCloud and Suno use — it takes a single saturated cue color, but applies it with more restraint, holding it almost entirely on one button. From <strong>modern grotesque type culture</strong> it takes a clean custom sans (Innovator) at large display sizes with tight tracking, in the register of foundries like Pangram Pangram. What Udio rejects: Suno’s <em>warmed</em> <code>#101012</code> canvas and soft 20px album tiles — Udio commits to absolute black and sharp 6px corners; and it rejects any secondary accent, keeping the page strictly black, near-white, grey, and one pink.</p> <p><strong>Named influences:</strong></p> <ul> <li><strong>Apple Music</strong> — dark-canvas + album-tile grid pattern; artwork carries the color. <em><a href="https://www.apple.com/apple-music/">https://www.apple.com/apple-music/</a></em></li> <li><strong>Spotify</strong> — dark music-UI register; headline-weight display type. <em><a href="https://open.spotify.com">https://open.spotify.com</a></em></li> <li><strong>Suno</strong> — the closest contemporary AI-music sibling; shared hot-pink-on-dark language, which Udio renders harder (absolute black, sharper corners). <em><a href="https://suno.com">https://suno.com</a></em></li> <li><strong>SoundCloud</strong> — the legacy pink-magenta cue color as a music-context accent. <em><a href="https://soundcloud.com">https://soundcloud.com</a></em></li> <li><strong>Pangram Pangram</strong> — modern-grotesque type culture that informs the custom Innovator display register. <em><a href="https://pangrampangram.com">https://pangrampangram.com</a></em></li> </ul> <h2 id="14-dos-and-donts">14. Do’s and Don’ts</h2> <h3 id="do">Do</h3> <ul> <li><strong>Do</strong> keep the canvas at absolute <code>#000000</code> — Udio commits all the way to black, no warm tint.</li> <li><strong>Do</strong> set type in the sans-serif <strong>Innovator</strong> family; treat any <code>Times</code> reading as the unloaded fallback to discard.</li> <li><strong>Do</strong> use near-white <code>#f9f9f9</code> for running text rather than pure white — it cuts halation on full black.</li> <li><strong>Do</strong> reserve <code>#e30b5d</code> pink for the single most important action (Sign-Up / Create) and link hover; one saturated mark per view.</li> <li><strong>Do</strong> keep Sign-In quiet — a 5% white fill — so the pink Sign-Up clearly wins. The asymmetry is the hierarchy.</li> <li><strong>Do</strong> round buttons and inputs to just <code>6px</code> — the sharp console corner is the brand.</li> <li><strong>Do</strong> carry elevation by tonal stepping (<code>#000000</code> → <code>#0a0a0a</code> → 5–8% white) and hairlines, not heavy drop shadows.</li> <li><strong>Do</strong> use 10% white hairlines (<code>rgba(255, 255, 255, 0.10)</code>) for default borders.</li> <li><strong>Do</strong> add the pink glow only to a now-generating / now-playing element — the one brand-tinted shadow.</li> <li><strong>Do</strong> let user artwork supply the color; keep the chrome monochrome.</li> </ul> <h3 id="dont">Don’t</h3> <ul> <li><strong>Don’t</strong> set Udio in a serif — <code>Times</code> in the audit is the fallback, not the face. This is the top reproduction error.</li> <li><strong>Don’t</strong> warm the canvas to <code>#101012</code> or any near-black; that is Suno’s register, not Udio’s.</li> <li><strong>Don’t</strong> introduce a second chromatic accent (no blue, no teal) — the single-spotlight discipline is the brand.</li> <li><strong>Don’t</strong> spread the pink across general UI, fills, or panels beyond the 15% wash; solid pink everywhere collapses the spotlight.</li> <li><strong>Don’t</strong> round buttons past <code>6–8px</code> into Suno’s 20px territory — the corners must stay sharp.</li> <li><strong>Don’t</strong> make Sign-In as loud as Sign-Up; the muted secondary is intentional.</li> <li><strong>Don’t</strong> add gradients, meshes, or glow beyond the single pink-glow state — the black is flat and total.</li> <li><strong>Don’t</strong> use pure white for body copy at small sizes; halation against <code>#000000</code> hurts readability.</li> <li><strong>Don’t</strong> use pink text below 18px on black without bumping weight — <code>#e30b5d</code> on black is 4.47:1 (large-text AA only).</li> <li><strong>Don’t</strong> ship a light mode for the marketing surface or track grid — the stage is black.</li> </ul> <h2 id="15-agent-prompt-guide">15. Agent Prompt Guide</h2> <h3 id="quick-color-reference">Quick Color Reference</h3> <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8; overflow-x: auto;" tabindex="0" data-language="plaintext"><code><span class="line"><span>bg: #000000</span></span> <span class="line"><span>bg-alt: #08080a</span></span> <span class="line"><span>surface: #0a0a0a</span></span> <span class="line"><span>surface-soft: rgba(255, 255, 255, 0.05)</span></span> <span class="line"><span>text: #f9f9f9</span></span> <span class="line"><span>text-strong: #ffffff</span></span> <span class="line"><span>text-muted: #c2c2c2</span></span> <span class="line"><span>text-soft: #8a8a8a</span></span> <span class="line"><span>brand: #e30b5d</span></span> <span class="line"><span>brand-deep: #c2094f</span></span> <span class="line"><span>border: rgba(255, 255, 255, 0.10)</span></span> <span class="line"><span>border-strong: rgba(255, 255, 255, 0.18)</span></span></code></pre> <h3 id="example-component-prompts">Example Component Prompts</h3> <ol> <li> <p><strong>“Create a Udio-style hero — absolute <code>#000000</code> black canvas, a centered 60px headline in the Innovator grotesque (sans-serif, NOT a serif) with <code>-0.02em</code> tracking in near-white <code>#f9f9f9</code>. Below it, 16px body weight 400 in <code>#c2c2c2</code>. A dual CTA row: a <code>6px</code>-radius solid magenta-pink <code>#e30b5d</code> ‘Sign Up’ button with white label, and beside it a quiet ‘Sign In’ button at <code>rgba(255, 255, 255, 0.05)</code> fill with a 10% white hairline.”</strong></p> </li> <li> <p><strong>“Design a Udio prompt composer — <code>#0a0a0a</code> background, <code>1px rgba(255, 255, 255, 0.18)</code> border, <code>12px</code> radius, 16px placeholder ‘Describe your song…’ in <code>#8a8a8a</code> (Innovator 400). A pink <code>#e30b5d</code> ‘Create’ button hard-right with a white label. Focus expands the ring to 3px at 30% pink.”</strong></p> </li> <li> <p><strong>“Build a Udio track tile — 1:1 aspect, <code>8px</code> radius, <code>#0a0a0a</code> placeholder ground while artwork loads, no border. Hover scales 1.02× with a soft black shadow and a fade-in play overlay. Title and artist drop below: title in Innovator 500 / 14px near-white, artist in 400 / 13px <code>#8a8a8a</code>.”</strong></p> </li> <li> <p><strong>“Render the Udio now-generating state — same as the track tile, but add a pink glow shadow <code>0 0 24px rgba(227, 11, 93, 0.35)</code> and an optional 1px pink hairline ring. The glow pulses subtly between 35% and 50% opacity over 2s, paused under prefers-reduced-motion.”</strong></p> </li> <li> <p><strong>“Compose a Udio nav — 64px header, transparent over the black stage with 12px backdrop-blur on scroll, Udio wordmark hard-left in near-white Innovator 600. Link list Innovator 500 / 14px near-white with <code>#e30b5d</code> hover. Right-side: quiet ‘Sign In’ (5% white fill, 6px) + primary pink ‘Sign Up’ (6px). Make the two CTAs visibly asymmetric.”</strong></p> </li> <li> <p><strong>“Create a Udio pricing card — <code>#0a0a0a</code> fill, <code>1px rgba(255, 255, 255, 0.10)</code> hairline, <code>12px</code> radius, 24px padding. Plan name in Innovator 600 / 24px near-white, price in 700 / 40px, feature list in 400 / 16px <code>#c2c2c2</code>. The Pro plan’s CTA is the only pink <code>#e30b5d</code> button; the free plan uses the 5%-white secondary.”</strong></p> </li> </ol> <h3 id="iteration-guide">Iteration Guide</h3> <ol> <li><strong>Start with <code>#000000</code>, not a near-black.</strong> If the bg is <code>#101012</code> or any warm tint, you’re in Suno’s booth; Udio runs the lights fully down.</li> <li><strong>Make sure the type is sans-serif.</strong> If your headline rendered in a serif, you copied the <code>Times</code> fallback — swap to a clean grotesque (Innovator) immediately.</li> <li><strong>Use near-white <code>#f9f9f9</code>, not <code>#ffffff</code>, for body.</strong> The single notch down reduces glare on full black.</li> <li><strong>Add the pink exactly once.</strong> <code>#e30b5d</code> belongs on the single primary action (Sign-Up / Create) and link hover — never as a fill or a second button.</li> <li><strong>Mute the secondary CTA.</strong> Sign-In should be a 5%-white fill so the pink Sign-Up wins; if both buttons look equally loud, you’ve lost the hierarchy.</li> <li><strong>Sharpen the corners to 6px.</strong> If buttons and inputs are at 12–20px, you’re too soft; tighten to the console radius.</li> <li><strong>Strip any second accent.</strong> Remove blues, teals, gradients, and meshes — keep the page black, near-white, grey, and one pink.</li> <li><strong>Carry depth with tone, not shadow.</strong> Step surfaces <code>#000000</code> → <code>#0a0a0a</code> → 5–8% white and use hairlines; reserve the only glow for the pink now-generating state.</li> </ol> </div></section></div><section id="install" class="mt-24 rounded-[16px] border border-border-brand bg-brand/5 p-6 md:p-10" data-astro-cid-hsdqhonn><span class="label mb-4 block" data-astro-cid-hsdqhonn>Ship with this</span><h2 class="text-[28px] md:text-[36px] font-medium tracking-[-0.025em] leading-[1.1] max-w-[640px]" data-astro-cid-hsdqhonn>Drop <span class="font-mono" data-astro-cid-hsdqhonn>udio</span> into your project, then ship the actual sections in <em data-astro-cid-hsdqhonn>an afternoon</em>.</h2><div class="mt-8 grid sm:grid-cols-2 gap-3" data-astro-cid-hsdqhonn><div class="rounded-[10px] border border-border bg-bg-card p-4 font-mono text-[13px]" data-astro-cid-hsdqhonn><div class="text-[10px] uppercase tracking-[0.15em] text-text-faint mb-2" data-astro-cid-hsdqhonn>1 · install design</div><code class="text-text" data-astro-cid-hsdqhonn>npx @webdesignhot/design-md add udio</code></div><div class="rounded-[10px] border border-border bg-bg-card p-4 font-mono text-[13px]" data-astro-cid-hsdqhonn><div class="text-[10px] uppercase tracking-[0.15em] text-text-faint mb-2" data-astro-cid-hsdqhonn>2 · ship landing page</div><code class="text-text" data-astro-cid-hsdqhonn>npx agentkit init --design udio</code></div></div><a href="/products/agentkit" class="mt-6 inline-flex items-center gap-2 text-[13px] text-text-dim hover:text-brand transition-colors" data-astro-cid-hsdqhonn>How AgentKit reads DESIGN.md <span aria-hidden data-astro-cid-hsdqhonn>→</span></a></section><section id="related" class="mt-24" data-astro-cid-hsdqhonn><span class="label mb-6 block" data-astro-cid-hsdqhonn>You might also like</span><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5" data-astro-cid-hsdqhonn><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/suno/" class="flex flex-col flex-1 min-h-0" aria-label="View Suno DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #101012; color: #f7f4ef; font-family: "Neue Montreal", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #f7f4ef1A; color: #f7f4ef; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #f7f4ef1A; color: #f7f4ef; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">sans</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #fd429c; border-radius: 20px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "Neue Montreal", "SF Pro Display", system-ui, -apple-system, sans-serif;">Suno</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #f7f4ef; opacity: 0.72; font-family: "Neue Montreal", "SF Pro Text", system-ui, -apple-system, sans-serif;">A near-black booth with cream Neue Montreal and a hot-pink cue light — a music studio, a…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #f7f4ef; border-color: #f7f4ef33; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #fd429c; color: #101012; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Suno</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="suno">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #101012;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #f7f4ef;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #fd429c;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="suno" aria-label="Favorite suno" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/bolt-new/" class="flex flex-col flex-1 min-h-0" aria-label="View Bolt DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #1e1e21; color: #ffffff; font-family: "Inter", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 6px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 6px;">bold</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #1488fc; border-radius: 16px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "Inter Display", "SF Pro Display", system-ui, -apple-system, sans-serif;">Bolt</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #ffffff; opacity: 0.72; font-family: "Inter", "SF Pro Text", system-ui, -apple-system, sans-serif;">An electric-blue command line for the web — StackBlitz's AI builder on a near-black #1e1…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #ffffff; border-color: #ffffff33; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 6px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #1488fc; color: #1e1e21; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 6px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Bolt</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="bolt-new">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #1e1e21;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #1488fc;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #2ba6ff;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="bolt-new" aria-label="Favorite bolt-new" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/leonardo-ai/" class="flex flex-col flex-1 min-h-0" aria-label="View Leonardo.Ai DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #000000; color: #ffffff; font-family: "canvaSans", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">bold</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #ffffff; border-radius: 12px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "ufficioDisplay", "SF Pro Display", system-ui, -apple-system, sans-serif;">Leonardo.Ai</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #ffffff; opacity: 0.72; font-family: "canvaSans", "SF Pro Text", system-ui, -apple-system, sans-serif;">A pure-black cinematic canvas where ufficioDisplay headlines and white full-pill CTAs fr…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #ffffff; border-color: #ffffff33; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #ffffff; color: #000000; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Leonardo.Ai</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="leonardo-ai">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #000000;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #ffffff;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #8b5cf6;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="leonardo-ai" aria-label="Favorite leonardo-ai" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/recraft/" class="flex flex-col flex-1 min-h-0" aria-label="View Recraft DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #000000; color: #ffffff; font-family: "Inter", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">sans</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #d2fc31; border-radius: 12px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "ABC Gravity Condensed", "SF Pro Display", system-ui, -apple-system, sans-serif;">Recraft</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #ffffff; opacity: 0.72; font-family: "Inter", "SF Pro Text", system-ui, -apple-system, sans-serif;">A jet-black studio where ABC Gravity Condensed slams the headline at weight 900 and a si…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #ffffff; border-color: #ffffff33; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #d2fc31; color: #000000; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Recraft</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="recraft">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #000000;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #d2fc31;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #0000ee;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="recraft" aria-label="Favorite recraft" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/apple-music/" class="flex flex-col flex-1 min-h-0" aria-label="View Apple Music DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #000000; color: #ffffff; font-family: "SF Pro", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">music</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #fa233b; border-radius: 12px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "SF Pro", "SF Pro Display", system-ui, -apple-system, sans-serif;">Apple Music</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #ffffff; opacity: 0.72; font-family: "SF Pro", "SF Pro Text", system-ui, -apple-system, sans-serif;">Pink-red gradient hero with album-grid kinesthetics — SF Pro precision, signature `#fa23…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #ffffff; border-color: #ffffff33; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #fa233b; color: #000000; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Apple Music</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="apple-music">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #000000;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #fa233b;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #ffffff;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="apple-music" aria-label="Favorite apple-music" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/bmw-m/" class="flex flex-col flex-1 min-h-0" aria-label="View BMW M DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #0a0a0a; color: #e6e6e6; font-family: "BMW Type Next Latin", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #e6e6e61A; color: #e6e6e6; opacity: 0.75; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #e6e6e61A; color: #e6e6e6; opacity: 0.75; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">motorsport</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #e22718; border-radius: 14px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "BMW Type Next Latin", "SF Pro Display", system-ui, -apple-system, sans-serif;">BMW M</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #e6e6e6; opacity: 0.72; font-family: "BMW Type Next Latin", "SF Pro Text", system-ui, -apple-system, sans-serif;">Performance black on M-blue/M-violet/M-red — the motorsport variant that turns BMW corpo…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #e6e6e6; border-color: #e6e6e633; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #e22718; color: #0a0a0a; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">BMW M</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="bmw-m">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #0a0a0a;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #1c69d4;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #e22718;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="bmw-m" aria-label="Favorite bmw-m" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/groq/" class="flex flex-col flex-1 min-h-0" aria-label="View Groq DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #f3f3ee; color: #2d2f33; font-family: "Space Grotesk", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #2d2f331A; color: #2d2f33; opacity: 0.75; font-family: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">light</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #2d2f331A; color: #2d2f33; opacity: 0.75; font-family: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">bold</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #f43e01; border-radius: 12px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "Space Grotesk", "SF Pro Display", system-ui, -apple-system, sans-serif;">Groq</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #2d2f33; opacity: 0.72; font-family: "Space Grotesk", "SF Pro Text", system-ui, -apple-system, sans-serif;">Warm off-white canvas, light-weight Space Grotesk, and a single hot `#f43e01` orange — s…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #2d2f33; border-color: #2d2f3333; font-family: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #f43e01; color: #f3f3ee; font-family: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 8px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">Groq</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="groq">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #f3f3ee;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #f43e01;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #2d2f33;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="groq" aria-label="Favorite groq" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article><article class="group relative overflow-hidden rounded-[14px] border transition-colors flex flex-col h-full border-border hover:border-border-strong bg-bg-card hover:bg-bg-card-hover"><a href="/design.md/hbo-max/" class="flex flex-col flex-1 min-h-0" aria-label="View HBO Max DESIGN.md"><div class="relative flex flex-col p-5 flex-1 min-h-0" style="background: #0b0c0f; color: #ffffff; font-family: "Sharp Grotesk Text", "SF Pro Text", system-ui, -apple-system, sans-serif;"><div class="flex flex-wrap gap-1.5 mb-3"><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 4px;">dark</span><span class="text-[10px] uppercase tracking-[0.12em] px-1.5 py-0.5" style="background: #ffffff1A; color: #ffffff; opacity: 0.75; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 4px;">bold</span></div><div class="flex items-center gap-2.5"><span class="block w-5 h-5 shrink-0" style="background: #0072ff; border-radius: 6px;"></span><span class="text-[15px] font-medium tracking-[-0.01em] truncate" style="font-family: "Sharp Grotesk", "SF Pro Display", system-ui, -apple-system, sans-serif;">HBO Max</span></div><p class="mt-2 text-[12.5px] leading-[1.45] line-clamp-3" style="color: #ffffff; opacity: 0.72; font-family: "Sharp Grotesk Text", "SF Pro Text", system-ui, -apple-system, sans-serif;">Deep purple-black premium streaming canvas with custom Sharp Grotesk and the unmistakabl…</p><div class="mt-auto pt-3 flex gap-2"><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5 border" style="color: #ffffff; border-color: #ffffff33; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 4px;">Docs</span><span class="text-[11px] uppercase tracking-[0.12em] px-2.5 py-1.5" style="background: #0072ff; color: #0b0c0f; font-family: "SFMono-Regular", ui-monospace, "SF Mono", Menlo, monospace; border-radius: 4px;">Install</span></div></div><div class="flex items-center gap-3 px-4 py-3 border-t border-border bg-bg-card group-hover:bg-bg-card-hover transition-colors"><div class="flex-1 min-w-0"><div class="text-[15px] font-medium text-text tracking-[-0.01em] truncate">HBO Max</div><div class="text-[11px] font-mono text-text-faint mt-0.5 truncate">webdesignhot<span class="ml-2 text-text-faint hidden" data-install-badge data-slug="hbo-max">· <span data-install-count>0</span> installs</span></div></div><div class="flex gap-1 shrink-0"><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #0b0c0f;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #0072ff;" aria-hidden></span><span class="w-3 h-3 rounded-[3px] border border-black/20" style="background: #ffffff;" aria-hidden></span></div></div></a><div class="absolute top-3 right-3 z-10"><button type="button" data-fav-button data-slug="hbo-max" aria-label="Favorite hbo-max" aria-pressed="false" class="w-9 h-9 inline-flex items-center justify-center rounded-full bg-bg-card/85 backdrop-blur border border-border hover:border-border-strong text-text-dim hover:text-brand transition-colors"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg></button></div></article></div></section><aside class="mt-24 pt-8 border-t border-border-soft" data-astro-cid-hsdqhonn><p class="text-[12px] font-mono text-text-faint leading-[1.7] max-w-[680px]" data-astro-cid-hsdqhonn><span class="uppercase tracking-[0.15em] text-text-soft" data-astro-cid-hsdqhonn>Trademark notice</span><br data-astro-cid-hsdqhonn><span class="text-text-soft" data-astro-cid-hsdqhonn>Udio</span> and related marks are trademarks of their respective owners. This DESIGN.md is an editorial extraction of publicly observable design tokens from <a href="https://www.udio.com" target="_blank" rel="noopener" aria-label="Visit www.udio.com (opens in new tab)" class="text-text-soft hover:text-text underline-offset-2 hover:underline inline-flex items-baseline gap-1" data-astro-cid-hsdqhonn>www.udio.com<span aria-hidden class="text-text-faint text-[0.85em]" data-astro-cid-hsdqhonn>↗</span></a>, not affiliated with or endorsed by the trademark holder. See our <a href="/design.md/trademarks" class="text-text-soft hover:text-text underline-offset-2 hover:underline" data-astro-cid-hsdqhonn>trademark policy</a> or contact <a href="mailto:trademarks@webdesignhot.com" class="text-text-soft hover:text-text underline-offset-2 hover:underline" data-astro-cid-hsdqhonn>trademarks@webdesignhot.com</a> for takedown / correction requests.</p></aside></article><aside class="token-tweaker" data-tweaker aria-label="Live token tweaker" data-astro-cid-zywdkkkw><button type="button" class="tweaker-toggle" data-tweaker-toggle aria-expanded="false" data-astro-cid-zywdkkkw><span class="tweaker-toggle-dot" aria-hidden data-astro-cid-zywdkkkw></span><span class="tweaker-toggle-text" data-astro-cid-zywdkkkw>Tweak</span></button><div class="tweaker-panel" data-tweaker-panel hidden data-astro-cid-zywdkkkw><header class="tweaker-head" data-astro-cid-zywdkkkw><span class="text-[11px] font-mono uppercase tracking-[0.15em] text-text-faint" data-astro-cid-zywdkkkw>Live tweaker</span><div class="flex items-center gap-2" data-astro-cid-zywdkkkw><button type="button" class="tweaker-reset" data-tweaker-reset data-astro-cid-zywdkkkw>reset</button><button type="button" class="tweaker-close" data-tweaker-close aria-label="Close" data-astro-cid-zywdkkkw>×</button></div></header><p class="tweaker-hint" data-astro-cid-zywdkkkw>Drag a color, every preview re-renders. Permalink updates as you tweak.</p><div class="tweaker-rows" data-astro-cid-zywdkkkw><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="bg" data-default="#000000" value="#000000" aria-label="Background color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Background</span><code class="tweaker-value" data-tweaker-value="bg" data-astro-cid-zywdkkkw>#000000</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="surface" data-default="#0a0a0a" value="#0a0a0a" aria-label="Surface color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Surface</span><code class="tweaker-value" data-tweaker-value="surface" data-astro-cid-zywdkkkw>#0a0a0a</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="text" data-default="#f9f9f9" value="#f9f9f9" aria-label="Text color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Text</span><code class="tweaker-value" data-tweaker-value="text" data-astro-cid-zywdkkkw>#f9f9f9</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="textDim" data-default="#f9f9f9" value="#f9f9f9" aria-label="Text dim color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Text dim</span><code class="tweaker-value" data-tweaker-value="textDim" data-astro-cid-zywdkkkw>#f9f9f9</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="border" data-default="#ffffff" value="#ffffff" aria-label="Border color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Border</span><code class="tweaker-value" data-tweaker-value="border" data-astro-cid-zywdkkkw>#ffffff</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="brand" data-default="#e30b5d" value="#e30b5d" aria-label="Brand color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>Brand</span><code class="tweaker-value" data-tweaker-value="brand" data-astro-cid-zywdkkkw>#e30b5d</code></label><label class="tweaker-row" data-astro-cid-zywdkkkw><input type="color" data-tweaker-input data-role="onBrand" data-default="#ffffff" value="#ffffff" aria-label="On brand color" data-astro-cid-zywdkkkw><span class="tweaker-label" data-astro-cid-zywdkkkw>On brand</span><code class="tweaker-value" data-tweaker-value="onBrand" data-astro-cid-zywdkkkw>#ffffff</code></label></div></div></aside><script type="module">function e(){let e=document.querySelector(`[data-tweaker]`);if(!e)return;let t=e.querySelector(`[data-tweaker-toggle]`),n=e.querySelector(`[data-tweaker-close]`),r=e.querySelector(`[data-tweaker-reset]`),i=e.querySelector(`[data-tweaker-panel]`),a=Array.from(e.querySelectorAll(`[data-tweaker-input]`)),o=Array.from(e.querySelectorAll(`[data-tweaker-value]`)).reduce((e,t)=>{let n=t.dataset.tweakerValue;return e[n]=t,e},{});if(!t||!i)return;function s(e){t.setAttribute(`aria-expanded`,e?`true`:`false`),e?i.removeAttribute(`hidden`):i.setAttribute(`hidden`,``)}t.addEventListener(`click`,()=>s(t.getAttribute(`aria-expanded`)!==`true`)),n?.addEventListener(`click`,()=>s(!1));function c(e){document.querySelectorAll(`iframe.design-tryon-iframe`).forEach(t=>{try{t.contentWindow?.postMessage({type:`design-md/theme`,roles:e},`*`)}catch{}})}function l(){let e={};return a.forEach(t=>{let n=t.dataset.role;e[n]=t.value}),e}function u(){let e=[];a.forEach(t=>{let n=t.dataset.role;t.value!==t.dataset.default&&e.push(`${n}:${t.value.replace(`#`,``)}`)});let t=e.length?`#tweak=${e.join(`,`)}`:``;location.hash!==t&&history.replaceState(null,``,location.pathname+location.search+t)}function d(){let e=l();Object.entries(e).forEach(([e,t])=>{o[e]&&(o[e].textContent=t)}),c(e),u()}a.forEach(e=>e.addEventListener(`input`,d)),r?.addEventListener(`click`,()=>{a.forEach(e=>{e.value=e.dataset.default}),d()});function f(){let e=location.hash.match(/^#tweak=(.+)$/);if(!e)return;let t=Object.fromEntries(e[1].split(`,`).map(e=>{let[t,n]=e.split(`:`);return[t,n?`#${n}`:``]})),n=!1;a.forEach(e=>{let r=e.dataset.role;t[r]&&(e.value=t[r],n=!0)}),n&&requestAnimationFrame(d)}f()}e();</script><div id="cmdk-overlay" class="hidden fixed inset-0 z-[100] bg-bg/70 backdrop-blur-sm items-start justify-center pt-[12vh] px-4" role="dialog" aria-label="Command palette" aria-modal="true"><div class="w-full max-w-[640px] rounded-[14px] border border-border-strong bg-bg-card shadow-2xl overflow-hidden"><div class="flex items-center px-4 border-b border-border"><span class="text-[12px] font-mono text-text-faint mr-3">⌘K</span><input id="cmdk-input" type="text" placeholder="Search designs, run a command…" class="flex-1 bg-transparent border-0 outline-none py-4 text-[15px] text-text font-display placeholder:text-text-faint" autocomplete="off"><kbd class="text-[11px] font-mono text-text-faint border border-border rounded px-2 py-1">esc</kbd></div><ul id="cmdk-list" role="listbox" class="max-h-[55vh] overflow-y-auto py-2"></ul><div class="flex items-center justify-between px-4 py-3 border-t border-border text-[11px] font-mono text-text-faint"><span>Type <span class="text-text-dim">/</span> for commands · <span class="text-text-dim">↑↓</span> nav · <span class="text-text-dim">⏎</span> open</span><span>490 designs</span></div></div></div><script>window.__cmdk_data = [{"id":"agentkit","name":"AgentKit","tags":"dark light bright cool","swatch":"#c6f432"},{"id":"apple","name":"Apple","tags":"light minimal sans spacious","swatch":"#0071e3"},{"id":"linear","name":"Linear","tags":"dark minimal sans mono","swatch":"#5e6ad2"},{"id":"notion","name":"Notion","tags":"light editorial sans serif","swatch":"#0075de"},{"id":"stripe","name":"Stripe","tags":"light editorial sans cool","swatch":"#533afd"},{"id":"tailwindcss","name":"Tailwind CSS","tags":"light sans mono structured","swatch":"#06b6d4"},{"id":"vercel","name":"Vercel","tags":"light minimal sans mono","swatch":"#171717"},{"id":"webdesignhot","name":"webdesignhot","tags":"dark editorial mono serif","swatch":"#c6f432"},{"id":"aave","name":"Aave","tags":"light friendly sans crypto","swatch":"#978fff"},{"id":"accenture","name":"Accenture","tags":"dark structured sans enterprise","swatch":"#a600ff"},{"id":"accor","name":"Accor","tags":"hospitality travel hotels booking","swatch":"#1e1853"},{"id":"ada-health","name":"Ada Health","tags":"light sans health editorial","swatch":"#293754"},{"id":"adidas","name":"Adidas","tags":"dark fashion sportswear sans","swatch":"#000000"},{"id":"adobe","name":"Adobe","tags":"light structured sans dense","swatch":"#fa0f00"},{"id":"aesop","name":"Aesop","tags":"light minimal sans editorial","swatch":"#333333"},{"id":"affinity","name":"Affinity","tags":"design-tools graphics photo publishing","swatch":"#ffffff"},{"id":"affirm","name":"Affirm","tags":"dark structured sans fintech","swatch":"#4a4af4"},{"id":"airbnb","name":"Airbnb","tags":"light consumer marketplace sans","swatch":"#ff385c"},{"id":"airtable","name":"Airtable","tags":"light editorial sans warm","swatch":"#181d26"},{"id":"alibaba","name":"Alibaba","tags":"marketplace b2b dense orange","swatch":"#ff6a00"},{"id":"allbirds","name":"Allbirds","tags":"light minimal sans commerce","swatch":"#3a6b52"},{"id":"amazon","name":"Amazon","tags":"light marketplace dense sans","swatch":"#ff9900"},{"id":"aws","name":"Amazon Web Services","tags":"light dense sans structured","swatch":"#ff9900"},{"id":"amboss","name":"AMBOSS","tags":"light blue sans search","swatch":"#047a88"},{"id":"amex","name":"American Express","tags":"light structured sans fintech","swatch":"#006fcf"},{"id":"amplitude","name":"Amplitude","tags":"light sans structured data","swatch":"#1e61f0"},{"id":"anthropic","name":"Anthropic","tags":"light editorial serif sans","swatch":"#cc785c"},{"id":"anytype","name":"Anytype","tags":"dark sans minimal colorful","swatch":"#3cd9b3"},{"id":"apple-music","name":"Apple Music","tags":"dark music streaming sans","swatch":"#fa233b"},{"id":"apple-tv","name":"Apple TV+","tags":"dark minimal sans cinematic","swatch":"#ffffff"},{"id":"arbitrum","name":"Arbitrum","tags":"light structured sans cool","swatch":"#28a0f0"},{"id":"arc","name":"Arc","tags":"light warm playful sans","swatch":"#2404AA"},{"id":"are-na","name":"Are.na","tags":"light minimal sans dense","swatch":"#000000"},{"id":"asana","name":"Asana","tags":"light sans approachable purple","swatch":"#796eff"},{"id":"astro","name":"Astro","tags":"dark structured sans spacious","swatch":"#ff5d01"},{"id":"asus","name":"ASUS","tags":"dark gaming hardware asia","swatch":"#cd0000"},{"id":"atlassian","name":"Atlassian","tags":"light structured sans enterprise","swatch":"#0a0a0a"},{"id":"audi","name":"Audi","tags":"dark premium sans monochrome","swatch":"#ffffff"},{"id":"auth0","name":"Auth0","tags":"dark identity auth sans","swatch":"#7fc8ff"},{"id":"away","name":"Away","tags":"light editorial sans commerce","swatch":"#a9c4d4"},{"id":"axa","name":"AXA","tags":"light corporate sans blue","swatch":"#00008f"},{"id":"axiom","name":"Axiom","tags":"dark structured sans mono","swatch":"#1aaaff"},{"id":"axios","name":"Axios","tags":"editorial serif sans structured","swatch":"#0044a5"},{"id":"babbel","name":"Babbel","tags":"light orange sans learning","swatch":"#fe4d01"},{"id":"bain","name":"Bain & Company","tags":"light editorial red sans","swatch":"#cc0000"},{"id":"bandai-namco","name":"Bandai Namco Entertainment","tags":"gaming publisher anime franchises","swatch":"#e60012"},{"id":"bandcamp","name":"Bandcamp","tags":"light structured sans warm","swatch":"#629aa0"},{"id":"base-org","name":"Base","tags":"light sans crypto web3","swatch":"#0000ff"},{"id":"base44","name":"Base44","tags":"light structured sans ai","swatch":"#ff773c"},{"id":"baseten","name":"Baseten","tags":"light purple sans mono","swatch":"#6c5ce7"},{"id":"bazel","name":"Bazel","tags":"oss build-system monorepo cache","swatch":"#0c713a"},{"id":"bbc","name":"BBC News","tags":"editorial sans serif news","swatch":"#bb1919"},{"id":"bear-app","name":"Bear","tags":"light editorial sans soft","swatch":"#dd4c4f"},{"id":"beehiiv","name":"beehiiv","tags":"light dark sans structured","swatch":"#000000"},{"id":"best-buy","name":"Best Buy","tags":"light retail electronics sans","swatch":"#fff000"},{"id":"binance","name":"Binance","tags":"cool structured dense dark","swatch":"#fcd535"},{"id":"biome","name":"Biome","tags":"light minimal sans developer","swatch":"#0065da"},{"id":"black-forest-labs","name":"Black Forest Labs","tags":"light minimal sans monochrome","swatch":"#07130e"},{"id":"blizzard","name":"Blizzard Entertainment","tags":"gaming dark cinematic blue","swatch":"#38a8ff"},{"id":"bloomberg","name":"Bloomberg","tags":"editorial sans dense financial","swatch":"#fa7900"},{"id":"bluesky","name":"Bluesky","tags":"light dark social sans","swatch":"#0085ff"},{"id":"blur-io","name":"Blur","tags":"dark brutalist dense trader","swatch":"#ff8700"},{"id":"bmw","name":"BMW","tags":"light corporate sans blue","swatch":"#1c69d4"},{"id":"bmw-m","name":"BMW M","tags":"dark motorsport sans bold","swatch":"#1c69d4"},{"id":"bolt-new","name":"Bolt","tags":"dark bold sans ai","swatch":"#1488fc"},{"id":"booking","name":"Booking.com","tags":"light marketplace travel sans","swatch":"#003580"},{"id":"bose","name":"Bose","tags":"dark premium sans monochrome","swatch":"#ffffff"},{"id":"bcg","name":"Boston Consulting Group","tags":"light editorial serif green","swatch":"#96f878"},{"id":"brex","name":"Brex","tags":"light sans structured cool","swatch":"#a855ff"},{"id":"brilliant-org","name":"Brilliant","tags":"dark structured sans playful","swatch":"#fc6e51"},{"id":"bugatti","name":"Bugatti","tags":"luxury dark sans serif","swatch":"#ffffff"},{"id":"bun","name":"Bun","tags":"light playful retro sans","swatch":"#f472b6"},{"id":"buttondown","name":"Buttondown","tags":"light minimal sans creator","swatch":"#0069ff"},{"id":"cal-com","name":"Cal.com","tags":"light minimal sans soft","swatch":"#111111"},{"id":"calm","name":"Calm","tags":"dark wellness sans atmospheric","swatch":"#0066ff"},{"id":"canva","name":"Canva","tags":"design-tools creative templates collaboration","swatch":"#8b3dff"},{"id":"capacities","name":"Capacities","tags":"light editorial sans serif","swatch":"#1a1a1f"},{"id":"capital-one","name":"Capital One","tags":"light structured sans fintech","swatch":"#0276b1"},{"id":"captions","name":"Captions","tags":"light sans bold playful","swatch":"#6c4df7"},{"id":"caraway","name":"Caraway","tags":"light warm soft serif","swatch":"#1f3438"},{"id":"cartesia","name":"Cartesia","tags":"light minimal sans mono","swatch":"#0a0a0a"},{"id":"cash-app","name":"Cash App","tags":"dark vibrant sans mono","swatch":"#0e0e0e"},{"id":"casper","name":"Casper","tags":"light friendly sans commerce","swatch":"#012169"},{"id":"character-ai","name":"Character.AI","tags":"light sans soft structured","swatch":"#202024"},{"id":"chase","name":"Chase","tags":"light structured sans fintech","swatch":"#0060f0"},{"id":"chess-com","name":"Chess.com","tags":"gaming chess community competitive","swatch":"#ffffff"},{"id":"chevrolet","name":"Chevrolet","tags":"light american classic sans","swatch":"#cd9834"},{"id":"chime","name":"Chime","tags":"dark green banking app","swatch":"#00d27b"},{"id":"circleci","name":"CircleCI","tags":"light structured sans developer","swatch":"#00db75"},{"id":"citizenm","name":"citizenM","tags":"bold sans travel photography","swatch":"#eb0033"},{"id":"classpass","name":"ClassPass","tags":"light playful sans warm","swatch":"#ec5e8a"},{"id":"claude-ai","name":"Claude.ai","tags":"light editorial sans serif","swatch":"#cd6f47"},{"id":"clerk-com","name":"Clerk","tags":"dark auth sans technical","swatch":"#6c47ff"},{"id":"cleveland-clinic","name":"Cleveland Clinic","tags":"healthcare hospital editorial trust","swatch":"#555555"},{"id":"clickhouse","name":"ClickHouse","tags":"dark yellow mono-accent sans","swatch":"#faff69"},{"id":"cloudflare","name":"Cloudflare","tags":"light sans bright structured","swatch":"#ff5e1f"},{"id":"cloudinary","name":"Cloudinary","tags":"light blue sans technical","swatch":"#3448c5"},{"id":"cmake","name":"CMake","tags":"oss build-system cpp cross-platform","swatch":"#3eae2b"},{"id":"coda","name":"Coda","tags":"light sans structured","swatch":"#0066ff"},{"id":"codecademy","name":"Codecademy","tags":"education developer courses interactive","swatch":"#ffffff"},{"id":"coderabbit","name":"CodeRabbit","tags":"dark structured sans developer","swatch":"#ff570a"},{"id":"codesandbox","name":"CodeSandbox","tags":"dark sans developer sandbox","swatch":"#eaff96"},{"id":"cognition","name":"Cognition","tags":"light sans serif technical","swatch":"#191919"},{"id":"cohere","name":"Cohere","tags":"light editorial sans restrained","swatch":"#003c33"},{"id":"coinbase","name":"Coinbase","tags":"light minimal dense clean","swatch":"#0052ff"},{"id":"composio","name":"Composio","tags":"dark blue mono-accent sans","swatch":"#0007cd"},{"id":"convex","name":"Convex","tags":"light sans developer warm","swatch":"#1a1a1a"},{"id":"corsair","name":"Corsair","tags":"dark gaming hardware peripherals","swatch":"#ffff00"},{"id":"costco","name":"Costco","tags":"light retail marketplace sans","swatch":"#005dab"},{"id":"coursera","name":"Coursera","tags":"light education sans trustworthy","swatch":"#0056d2"},{"id":"craft","name":"Craft","tags":"light serif sans premium","swatch":"#030302"},{"id":"curl","name":"curl","tags":"oss networking cli http","swatch":"#173b5b"},{"id":"cursor","name":"Cursor","tags":"light warm sans mono","swatch":"#f54e00"},{"id":"cvs","name":"CVS Health","tags":"light structured sans healthcare","swatch":"#cc0000"},{"id":"databricks","name":"Databricks","tags":"light structured sans enterprise","swatch":"#1b3139"},{"id":"datadog","name":"Datadog","tags":"light structured sans dense","swatch":"#632ca6"},{"id":"dbt","name":"dbt Labs","tags":"light sans structured data","swatch":"#fe6703"},{"id":"deel","name":"Deel","tags":"dark sans structured warm","swatch":"#ff4d2e"},{"id":"deepseek","name":"DeepSeek","tags":"light minimal sans structured","swatch":"#4d6bfe"},{"id":"deliveroo","name":"Deliveroo","tags":"light dense sans cool","swatch":"#00ccbc"},{"id":"dell","name":"Dell","tags":"light business hardware b2b","swatch":"#007db8"},{"id":"deloitte","name":"Deloitte","tags":"light structured sans enterprise","swatch":"#86bc25"},{"id":"delta-air","name":"Delta Air Lines","tags":"light structured sans cool","swatch":"#003366"},{"id":"deno","name":"Deno","tags":"light playful sans structured","swatch":"#000000"},{"id":"descript","name":"Descript","tags":"light editorial sans serif","swatch":"#651a39"},{"id":"devolver","name":"Devolver Digital","tags":"gaming indie publisher editorial","swatch":"#f04a3a"},{"id":"discord","name":"Discord","tags":"bright sans playful dense","swatch":"#ffffff"},{"id":"disney-plus","name":"Disney+","tags":"dark navy gradient sans","swatch":"#0089ec"},{"id":"docker","name":"Docker","tags":"oss containers devops developer-tools","swatch":"#2560ff"},{"id":"doordash","name":"DoorDash","tags":"light marketplace sans red-orange","swatch":"#ff3008"},{"id":"drizzle","name":"Drizzle ORM","tags":"light sans mono developer","swatch":"#c5f74f"},{"id":"duolingo","name":"Duolingo","tags":"bright playful rounded warm","swatch":"#58cc02"},{"id":"dydx","name":"dYdX","tags":"dark structured sans crypto","swatch":"#7774ff"},{"id":"dyson","name":"Dyson","tags":"light cool sans structured","swatch":"#333333"},{"id":"edx","name":"edX","tags":"education courses teal orange","swatch":"#d64000"},{"id":"elevenlabs","name":"ElevenLabs","tags":"dark light minimal sans","swatch":"#ffffff"},{"id":"emirates","name":"Emirates","tags":"light premium serif travel","swatch":"#d71921"},{"id":"epic-games","name":"Epic Games","tags":"dark bold structured gaming","swatch":"#0078f2"},{"id":"ethereum-org","name":"Ethereum","tags":"light educational community open-source","swatch":"#1c64f2"},{"id":"etsy","name":"Etsy","tags":"light marketplace sans warm","swatch":"#f1641e"},{"id":"everlane","name":"Everlane","tags":"light minimal sans commerce","swatch":"#121212"},{"id":"excalidraw","name":"Excalidraw","tags":"light playful sans soft","swatch":"#1b1b1f"},{"id":"expedia","name":"Expedia","tags":"light marketplace travel sans","swatch":"#00255d"},{"id":"fairphone","name":"Fairphone","tags":"light bold sans product","swatch":"#00433d"},{"id":"fal","name":"fal","tags":"light minimal mono ai","swatch":"#252527"},{"id":"fantastical","name":"Fantastical","tags":"light minimal sans bright","swatch":"#408fff"},{"id":"ferrari","name":"Ferrari","tags":"luxury dark sans photography","swatch":"#da291c"},{"id":"figma","name":"Figma","tags":"light bright sans mono","swatch":"#dceeb1"},{"id":"ft","name":"Financial Times","tags":"editorial serif dense structured","swatch":"#0d7680"},{"id":"fireworks-ai","name":"Fireworks AI","tags":"light orange purple sans","swatch":"#6720ff"},{"id":"fly-io","name":"Fly.io","tags":"editorial serif sans mono","swatch":"#7c3aed"},{"id":"ford","name":"Ford","tags":"light corporate sans blue","swatch":"#003478"},{"id":"fortnite","name":"Fortnite","tags":"dark playful sans bright","swatch":"#fcfd00"},{"id":"four-seasons","name":"Four Seasons Hotels and Resorts","tags":"hospitality luxury editorial travel","swatch":"#000000"},{"id":"framer","name":"Framer","tags":"light dark bright sans","swatch":"#000000"},{"id":"frontegg","name":"Frontegg","tags":"light auth b2b identity","swatch":"#1a1a2f"},{"id":"futurelearn","name":"FutureLearn","tags":"education courses university editorial","swatch":"#de00a5"},{"id":"gameloft","name":"Gameloft","tags":"gaming mobile publisher franchises","swatch":"#0095f3"},{"id":"gamma","name":"Gamma","tags":"light editorial sans ai","swatch":"#0540ad"},{"id":"garmin","name":"Garmin","tags":"light dark structured sans","swatch":"#000000"},{"id":"gemini-google","name":"Gemini (Google)","tags":"light minimal sans soft","swatch":"#1a73e8"},{"id":"ghost","name":"Ghost","tags":"light editorial sans serif","swatch":"#15171a"},{"id":"git","name":"Git","tags":"oss version-control developer-tools distributed","swatch":"#f05033"},{"id":"github","name":"GitHub","tags":"dark sans mono dense","swatch":"#5fed83"},{"id":"copilot","name":"GitHub Copilot","tags":"light minimal sans mono","swatch":"#000000"},{"id":"gitlab","name":"GitLab","tags":"light structured sans developer","swatch":"#fc6d26"},{"id":"gitpod","name":"Gitpod","tags":"light structured sans serif","swatch":"#0a0e19"},{"id":"glean","name":"Glean","tags":"light sans enterprise","swatch":"#343ced"},{"id":"glif","name":"Glif","tags":"light playful sans ai","swatch":"#2e9e4f"},{"id":"glossier","name":"Glossier","tags":"light white sans structured","swatch":"#000000"},{"id":"gog","name":"GOG","tags":"gaming marketplace dark-header purple","swatch":"#d9d9d9"},{"id":"stitch-google","name":"Google Stitch","tags":"dark minimal sans ai","swatch":"#8b83ff"},{"id":"grafana","name":"Grafana","tags":"dark structured sans mono","swatch":"#f46800"},{"id":"granola","name":"Granola","tags":"light editorial serif sans","swatch":"#5b6f00"},{"id":"graphite-dev","name":"Graphite","tags":"dark minimal sans developer","swatch":"#3b82f6"},{"id":"graza","name":"Graza","tags":"light bold playful food","swatch":"#d1e030"},{"id":"groq","name":"Groq","tags":"light bold sans ai","swatch":"#f43e01"},{"id":"grubhub","name":"Grubhub","tags":"light marketplace sans serif-display","swatch":"#f44129"},{"id":"gumroad","name":"Gumroad","tags":"light bold sans creator","swatch":"#ff90e8"},{"id":"gymshark","name":"Gymshark","tags":"light bold sans commerce","swatch":"#000000"},{"id":"harvey","name":"Harvey","tags":"dark serif minimal warm","swatch":"#fafaf9"},{"id":"hashicorp","name":"HashiCorp","tags":"dark multi-color enterprise sans","swatch":"#7b42bc"},{"id":"hashnode","name":"Hashnode","tags":"dark sans mono cool","swatch":"#2962ff"},{"id":"hbo-max","name":"HBO Max","tags":"dark bold sans premium","swatch":"#0072ff"},{"id":"headspace","name":"Headspace","tags":"light wellness sans playful","swatch":"#ffac1d"},{"id":"headway","name":"Headway","tags":"light soft sans healthcare","swatch":"#0b663d"},{"id":"healthgrades","name":"Healthgrades","tags":"healthcare directory providers search","swatch":"#007c83"},{"id":"height","name":"Height","tags":"light pastel sans calm","swatch":"#7551dc"},{"id":"heroui","name":"HeroUI","tags":"light components sans open-source","swatch":"#006fee"},{"id":"hey-com","name":"HEY","tags":"light bold sans email","swatch":"#5522fa"},{"id":"heygen","name":"HeyGen","tags":"light sans bright","swatch":"#00c3ff"},{"id":"hilton","name":"Hilton","tags":"light structured sans cool","swatch":"#005091"},{"id":"homebrew","name":"Homebrew","tags":"oss package-manager macos linux","swatch":"#ffd79a"},{"id":"honda","name":"Honda","tags":"light sans photography editorial","swatch":"#cc0000"},{"id":"hp","name":"HP","tags":"light technology hardware mainstream","swatch":"#0096d6"},{"id":"hubspot","name":"HubSpot","tags":"light warm sans saas","swatch":"#fcfcfa"},{"id":"huggingface","name":"Hugging Face","tags":"dark sans dense playful","swatch":"#ffd21e"},{"id":"hulu","name":"Hulu","tags":"dark neon sans dense","swatch":"#1ce783"},{"id":"hume","name":"Hume AI","tags":"light warm sans ai","swatch":"#222222"},{"id":"hyatt","name":"Hyatt","tags":"light premium sans travel","swatch":"#1a1a1a"},{"id":"hyperliquid","name":"Hyperliquid","tags":"dark minimal mono crypto","swatch":"#97fce4"},{"id":"ibm","name":"IBM","tags":"enterprise light sans square","swatch":"#0f62fe"},{"id":"ideogram","name":"Ideogram","tags":"light sans spacious minimal","swatch":"#8864e4"},{"id":"ihg-hotels","name":"IHG Hotels & Resorts","tags":"hospitality travel booking hotels","swatch":"#1f4456"},{"id":"ikea","name":"IKEA","tags":"light structured sans commerce","swatch":"#ffdb00"},{"id":"inngest","name":"Inngest","tags":"dark sans developer infra","swatch":"#cbb26a"},{"id":"instacart","name":"Instacart","tags":"light sans friendly marketplace","swatch":"#0aad0a"},{"id":"intercom","name":"Intercom","tags":"light cream sans saas","swatch":"#000ce1"},{"id":"itch-io","name":"itch.io","tags":"gaming indie marketplace community","swatch":"#222222"},{"id":"jenkins","name":"Jenkins","tags":"oss ci-cd automation plugins","swatch":"#0d6efd"},{"id":"jetblue","name":"JetBlue","tags":"light playful sans cool","swatch":"#0033a0"},{"id":"jitter","name":"Jitter","tags":"light playful sans motion","swatch":"#b593ff"},{"id":"jupiter","name":"Jupiter","tags":"dark playful sans crypto","swatch":"#c7f284"},{"id":"kagi","name":"Kagi","tags":"light editorial sans serif","swatch":"#ffb87a"},{"id":"kayak","name":"KAYAK","tags":"light marketplace travel sans","swatch":"#ff690f"},{"id":"khan-academy","name":"Khan Academy","tags":"light education sans friendly","swatch":"#14bf96"},{"id":"kinde","name":"Kinde","tags":"light auth billing sans","swatch":"#0f0f0f"},{"id":"kit-com","name":"Kit","tags":"light editorial sans spacious","swatch":"#1e1e1e"},{"id":"klarna","name":"Klarna","tags":"light playful sans fintech","swatch":"#ffa8cd"},{"id":"kraken","name":"Kraken","tags":"light structured dense cool","swatch":"#7132f5"},{"id":"krea","name":"Krea","tags":"dark sans spacious minimal","swatch":"#ffffff"},{"id":"kubernetes","name":"Kubernetes","tags":"oss cloud-native orchestration containers","swatch":"#326ce5"},{"id":"lambda","name":"Lambda","tags":"dark sans mono technical","swatch":"#6236f4"},{"id":"lamborghini","name":"Lamborghini","tags":"luxury dark sans photography","swatch":"#ffc000"},{"id":"langchain","name":"LangChain","tags":"dark navy sans mono","swatch":"#1e90ff"},{"id":"ledger","name":"Ledger","tags":"light minimal clean crypto","swatch":"#ff5300"},{"id":"lego","name":"Lego","tags":"light playful sans bright","swatch":"#ffd500"},{"id":"lemonsqueezy","name":"Lemon Squeezy","tags":"light dark playful sans","swatch":"#ffc233"},{"id":"lemonade","name":"Lemonade","tags":"light pink serif illustration","swatch":"#ff0083"},{"id":"leonardo-ai","name":"Leonardo.Ai","tags":"dark bold sans ai","swatch":"#ffffff"},{"id":"liquid-death","name":"Liquid Death","tags":"dark bold brutalist heavy-metal","swatch":"#ffffff"},{"id":"livekit","name":"LiveKit","tags":"dark sans developer infra","swatch":"#1fd5f9"},{"id":"llamaindex","name":"LlamaIndex","tags":"light blue sans mono","swatch":"#1b9aff"},{"id":"llvm","name":"LLVM","tags":"oss compiler toolchain systems","swatch":"#2f7f91"},{"id":"logitech","name":"Logitech","tags":"light consumer-tech hardware peripherals","swatch":"#00b8fc"},{"id":"loom","name":"Loom","tags":"light sans friendly blue","swatch":"#1868db"},{"id":"lottiefiles","name":"LottieFiles","tags":"light sans playful","swatch":"#019d91"},{"id":"lovable-dev","name":"Lovable","tags":"light sans soft playful","swatch":"#ff66c4"},{"id":"lowes","name":"Lowe's","tags":"light retail marketplace sans","swatch":"#012169"},{"id":"lufthansa","name":"Lufthansa","tags":"light navy yellow structured","swatch":"#ffad00"},{"id":"lululemon","name":"lululemon","tags":"light warm sans structured","swatch":"#140f0f"},{"id":"luma","name":"Luma AI","tags":"dark minimal sans ai","swatch":"#000000"},{"id":"lush","name":"LUSH","tags":"retail ecommerce beauty colorful","swatch":"#111111"},{"id":"magic-dev","name":"Magic","tags":"light minimal sans research","swatch":"#0090ff"},{"id":"magiceden","name":"Magic Eden","tags":"light boutique marketplace nft","swatch":"#e42575"},{"id":"mailchimp","name":"Mailchimp","tags":"light warm serif sans","swatch":"#241c15"},{"id":"marriott","name":"Marriott","tags":"light structured serif sans","swatch":"#a4793f"},{"id":"mastercard","name":"Mastercard","tags":"light fintech payments editorial","swatch":"#141413"},{"id":"masterclass","name":"MasterClass","tags":"dark editorial premium cinema","swatch":"#ffffff"},{"id":"mayo-clinic","name":"Mayo Clinic","tags":"healthcare trust blue editorial","swatch":"#0057b8"},{"id":"mckinsey","name":"McKinsey & Company","tags":"editorial consulting serif dark","swatch":"#2251ff"},{"id":"medium","name":"Medium","tags":"light editorial serif sans","swatch":"#1a8917"},{"id":"mejuri","name":"Mejuri","tags":"light white minimal editorial","swatch":"#0a0a0a"},{"id":"mercedes-benz","name":"Mercedes-Benz","tags":"luxury dark sans photography","swatch":"#00adef"},{"id":"mercury","name":"Mercury","tags":"light editorial sans serif","swatch":"#5f6ad2"},{"id":"meta","name":"Meta","tags":"light corporate social sans","swatch":"#0467df"},{"id":"metamask","name":"MetaMask","tags":"light structured sans warm","swatch":"#f6851b"},{"id":"microsoft","name":"Microsoft","tags":"light structured sans dense","swatch":"#0067b8"},{"id":"midjourney","name":"Midjourney","tags":"dark editorial mono sans","swatch":"#2d0e36"},{"id":"mindstudio","name":"MindStudio","tags":"light dark-hero sans agents","swatch":"#0069ff"},{"id":"minecraft","name":"Minecraft","tags":"dark playful blocky green","swatch":"#3c8527"},{"id":"minimax","name":"MiniMax","tags":"light mono-then-vivid sans geometric","swatch":"#0a0a0a"},{"id":"mintlify","name":"Mintlify","tags":"light minimal sans spacious","swatch":"#0c8c5e"},{"id":"miro","name":"Miro","tags":"light playful sans warm","swatch":"#ffd02f"},{"id":"mistral","name":"Mistral","tags":"light brutalist sans bright","swatch":"#1f1f1f"},{"id":"modal","name":"Modal","tags":"dark mono bright dense","swatch":"#7fee64"},{"id":"monday-com","name":"Monday.com","tags":"light colorful poppins bold","swatch":"#ff3d57"},{"id":"mongodb","name":"MongoDB","tags":"light dual-mode sans green-cta","swatch":"#00ed64"},{"id":"monzo","name":"Monzo","tags":"light bold sans fintech","swatch":"#ff4f40"},{"id":"motion-app","name":"Motion","tags":"light ai calendar sans","swatch":"#16a34a"},{"id":"msi","name":"MSI","tags":"dark gaming hardware taiwan","swatch":"#ff0000"},{"id":"mux","name":"Mux","tags":"light sans mono developer","swatch":"#000000"},{"id":"myfitnesspal","name":"MyFitnessPal","tags":"light structured sans dense","swatch":"#0066ee"},{"id":"neon","name":"Neon","tags":"dark sans mono structured","swatch":"#34d59a"},{"id":"netflix","name":"Netflix","tags":"dark bold sans dense","swatch":"#e50914"},{"id":"netlify","name":"Netlify","tags":"light dark sans developer","swatch":"#32e6e2"},{"id":"nginx","name":"NGINX","tags":"oss web-server networking infrastructure","swatch":"#009639"},{"id":"nike","name":"Nike","tags":"light fashion sans photographic","swatch":"#111111"},{"id":"nintendo","name":"Nintendo","tags":"light playful rounded warm","swatch":"#e60012"},{"id":"nix","name":"Nix","tags":"oss package-manager reproducible declarative","swatch":"#5277c3"},{"id":"npm","name":"npm","tags":"oss package-manager javascript registry","swatch":"#cb3837"},{"id":"nubank","name":"Nubank","tags":"light dark bold sans","swatch":"#ffffff"},{"id":"nuxt","name":"Nuxt","tags":"dark sans structured cool","swatch":"#00dc82"},{"id":"nvidia","name":"NVIDIA","tags":"enterprise sans tech dense","swatch":"#76b900"},{"id":"oatly","name":"Oatly","tags":"retail food editorial playful","swatch":"#111111"},{"id":"obsidian","name":"Obsidian","tags":"dark structured sans notes","swatch":"#7c3aed"},{"id":"omnivore","name":"Omnivore","tags":"light dark sans minimal","swatch":"#1f2937"},{"id":"on-running","name":"On","tags":"light structured sans commerce","swatch":"#000000"},{"id":"onemedical","name":"One Medical","tags":"healthcare primary-care telehealth trust","swatch":"#004d49"},{"id":"onlook","name":"Onlook","tags":"dark minimal sans mono","swatch":"#ffffff"},{"id":"openai","name":"OpenAI","tags":"light minimal sans spacious","swatch":"#000000"},{"id":"openrouter","name":"OpenRouter","tags":"dark black mono sans","swatch":"#ffffff"},{"id":"opensea","name":"OpenSea","tags":"dark dense marketplace nft","swatch":"#2081e2"},{"id":"openssl","name":"OpenSSL","tags":"oss security cryptography infrastructure","swatch":"#6a1720"},{"id":"openstax","name":"OpenStax","tags":"light structured sans education","swatch":"#d4450c"},{"id":"opentable","name":"OpenTable","tags":"light booking restaurants red","swatch":"#da3743"},{"id":"opentelemetry","name":"OpenTelemetry","tags":"oss observability tracing telemetry","swatch":"#4f61ab"},{"id":"optimism-io","name":"Optimism","tags":"light infrastructure web3 layer2","swatch":"#ff0420"},{"id":"ory","name":"Ory","tags":"light identity open-source sans","swatch":"#0f172a"},{"id":"oscar-health","name":"Oscar Health","tags":"light editorial sans health","swatch":"#4f50ff"},{"id":"our-place","name":"Our Place","tags":"light warm serif commerce","swatch":"#af5a3c"},{"id":"oura","name":"Oura","tags":"dark fitness sans premium","swatch":"#d6c283"},{"id":"paddle","name":"Paddle","tags":"dark warm serif condensed","swatch":"#e4e1d1"},{"id":"paper-website","name":"Paper Website","tags":"light editorial serif spacious","swatch":"#1a1a1a"},{"id":"patagonia","name":"Patagonia","tags":"light warm sans structured","swatch":"#cd0000"},{"id":"patreon","name":"Patreon","tags":"light warm sans playful","swatch":"#ff424d"},{"id":"paypal","name":"PayPal","tags":"light corporate sans trustworthy","swatch":"#003087"},{"id":"peloton","name":"Peloton","tags":"dark fitness sans instructor-led","swatch":"#cb1e4e"},{"id":"penpot","name":"Penpot","tags":"light sans open-source mint","swatch":"#31efb8"},{"id":"perplexity","name":"Perplexity","tags":"light editorial sans spacious","swatch":"#20808d"},{"id":"phantom-app","name":"Phantom","tags":"dark structured sans cool","swatch":"#ab9ff2"},{"id":"picoko","name":"Picoko","tags":"ai ecommerce product-photography saas","swatch":"#fe1c71"},{"id":"pika","name":"Pika","tags":"light bold sans ai","swatch":"#ffd184"},{"id":"pinecone-io","name":"Pinecone","tags":"light cyan sans mono","swatch":"#1cb0d0"},{"id":"pinterest","name":"Pinterest","tags":"light minimal sans grid","swatch":"#e60023"},{"id":"pitch","name":"Pitch","tags":"dark light bold sans","swatch":"#5318eb"},{"id":"plaid","name":"Plaid","tags":"light sans structured cool","swatch":"#0a85ea"},{"id":"plain","name":"Plain","tags":"light minimal sans bright","swatch":"#1ad379"},{"id":"planetscale","name":"PlanetScale","tags":"dark mono dense structured","swatch":"#c11027"},{"id":"playstation","name":"PlayStation","tags":"dark structured sans cool","swatch":"#0070d1"},{"id":"pluralsight","name":"Pluralsight","tags":"education developer skills enterprise","swatch":"#e7005e"},{"id":"polar","name":"Polar","tags":"dark editorial serif sans","swatch":"#5b3eea"},{"id":"polygon-tech","name":"Polygon","tags":"light enterprise infrastructure web3","swatch":"#8247e5"},{"id":"porsche","name":"Porsche","tags":"luxury light sans photography","swatch":"#d5001c"},{"id":"postgresql","name":"PostgreSQL","tags":"oss database sql documentation","swatch":"#336791"},{"id":"posthog","name":"PostHog","tags":"light warm playful sans","swatch":"#cd8407"},{"id":"postmark","name":"Postmark","tags":"light playful sans warm","swatch":"#1c1d1f"},{"id":"prime-video","name":"Prime Video","tags":"dark blue sans dense","swatch":"#1399ff"},{"id":"prisma","name":"Prisma","tags":"light sans developer clean","swatch":"#14b8a6"},{"id":"progressive","name":"Progressive","tags":"light corporate sans blue","swatch":"#0077b3"},{"id":"prometheus","name":"Prometheus","tags":"oss observability monitoring metrics","swatch":"#e64a22"},{"id":"propelauth","name":"PropelAuth","tags":"light auth b2b multi-tenant","swatch":"#151531"},{"id":"protopie","name":"ProtoPie","tags":"design-tools prototyping interaction teams","swatch":"#181818"},{"id":"pypi","name":"PyPI","tags":"oss package-index python registry","swatch":"#006dad"},{"id":"python","name":"Python","tags":"oss language runtime community","swatch":"#3776ab"},{"id":"qatar-airways","name":"Qatar Airways","tags":"light premium burgundy sans","swatch":"#f2f3fa"},{"id":"quizlet","name":"Quizlet","tags":"light playful sans rounded","swatch":"#4257b2"},{"id":"qwik","name":"Qwik","tags":"dark sans structured cool","swatch":"#ac7ef4"},{"id":"railway","name":"Railway","tags":"dark editorial serif sans","swatch":"#553f83"},{"id":"rainbow","name":"Rainbow","tags":"light playful sans crypto","swatch":"#ff54bb"},{"id":"raindrop-io","name":"Raindrop.io","tags":"light minimal sans soft","swatch":"#0b7ed0"},{"id":"ramp","name":"Ramp","tags":"light editorial sans structured","swatch":"#fcfb70"},{"id":"rare-beauty","name":"Rare Beauty","tags":"light soft serif sans","swatch":"#9b6dd4"},{"id":"raycast","name":"Raycast","tags":"dark minimal sans mono","swatch":"#56c2ff"},{"id":"razer","name":"Razer","tags":"dark gaming neon bold","swatch":"#44d62c"},{"id":"readme","name":"ReadMe","tags":"light friendly sans serif","swatch":"#0e2af5"},{"id":"readwise","name":"Readwise","tags":"light warm soft serif","swatch":"#ff7a45"},{"id":"recraft","name":"Recraft","tags":"dark sans condensed bold","swatch":"#d2fc31"},{"id":"reddit","name":"Reddit","tags":"bright orange sans dense","swatch":"#ff4500"},{"id":"redis","name":"Redis","tags":"oss database cache real-time","swatch":"#ff4438"},{"id":"relume","name":"Relume","tags":"light sans monochrome editorial","swatch":"#161616"},{"id":"remarkable","name":"reMarkable","tags":"light minimal sans product","swatch":"#2559f4"},{"id":"remix-run","name":"Remix","tags":"light brutalist sans structured","swatch":"#000000"},{"id":"render","name":"Render","tags":"light sans spacious bright","swatch":"#8a05ff"},{"id":"replicate","name":"Replicate","tags":"light dark mono sans","swatch":"#202020"},{"id":"replit","name":"Replit","tags":"dark sans mono dense","swatch":"#1fe0ea"},{"id":"resend","name":"Resend","tags":"dark editorial serif sans","swatch":"#f0f0f0"},{"id":"retool","name":"Retool","tags":"light structured sans dense","swatch":"#3a55fc"},{"id":"reuters","name":"Reuters","tags":"editorial sans dense news","swatch":"#ff8000"},{"id":"revolut","name":"Revolut","tags":"dark bold sans fintech","swatch":"#191c1f"},{"id":"riot-games","name":"Riot Games","tags":"dark bold structured gaming","swatch":"#d13639"},{"id":"ritual","name":"Ritual","tags":"light editorial sans commerce","swatch":"#142b6f"},{"id":"rive-app","name":"Rive","tags":"light playful sans bright","swatch":"#1d1d1b"},{"id":"robinhood","name":"Robinhood","tags":"dark editorial serif sans","swatch":"#000000"},{"id":"roblox","name":"Roblox","tags":"light bold friendly gaming","swatch":"#ed1d24"},{"id":"runpod","name":"RunPod","tags":"dark purple sans mono","swatch":"#673ab7"},{"id":"runway-ml","name":"Runway","tags":"dark editorial sans dense","swatch":"#eef1f5"},{"id":"rust-lang","name":"Rust","tags":"oss language systems documentation","swatch":"#f74c00"},{"id":"salesforce","name":"Salesforce","tags":"light structured sans dense","swatch":"#0176d3"},{"id":"sap","name":"SAP","tags":"light enterprise sans cobalt","swatch":"#0070f2"},{"id":"scale-ai","name":"Scale AI","tags":"light big-type sans enterprise","swatch":"#5933b2"},{"id":"segment","name":"Segment","tags":"light sans navy blue","swatch":"#1866ee"},{"id":"semafor","name":"Semafor","tags":"editorial serif light paper-cream","swatch":"#3a6d78"},{"id":"sendgrid","name":"SendGrid","tags":"light sans structured cool","swatch":"#1f74ff"},{"id":"sentry","name":"Sentry","tags":"dark structured sans mono","swatch":"#7553ff"},{"id":"shadcn-ui","name":"shadcn/ui","tags":"light dark minimal mono","swatch":"#0a0a0a"},{"id":"shopify","name":"Shopify","tags":"dark sans dramatic ethereal","swatch":"#36F4A4"},{"id":"shortwave","name":"Shortwave","tags":"dark structured sans email","swatch":"#356aff"},{"id":"sierra","name":"Sierra","tags":"light minimal warm calm","swatch":"#006838"},{"id":"signal-app","name":"Signal","tags":"light dark messaging privacy","swatch":"#3a76f0"},{"id":"sketch","name":"Sketch","tags":"design-tools interface prototyping systems","swatch":"#151515"},{"id":"skillshare","name":"Skillshare","tags":"education creative classes marketplace","swatch":"#0b1215"},{"id":"skims","name":"SKIMS","tags":"light minimal sans editorial","swatch":"#2d2a26"},{"id":"slack","name":"Slack","tags":"light sans dense structured","swatch":"#611f69"},{"id":"snowflake","name":"Snowflake","tags":"light structured sans enterprise","swatch":"#249EDC"},{"id":"solana-com","name":"Solana","tags":"dark brutalist sans bright","swatch":"#9945ff"},{"id":"solid-js","name":"SolidJS","tags":"dark sans structured cool","swatch":"#2c4f7c"},{"id":"sololearn","name":"Sololearn","tags":"dark sans learning rounded","swatch":"#2493df"},{"id":"sonos","name":"Sonos","tags":"dark minimal sans photography","swatch":"#ffffff"},{"id":"soundcloud","name":"SoundCloud","tags":"light bold sans dense","swatch":"#ff5500"},{"id":"sourcegraph","name":"Sourcegraph","tags":"dark structured sans developer","swatch":"#f34e3f"},{"id":"southwest","name":"Southwest Airlines","tags":"light bold sans travel","swatch":"#ffbf27"},{"id":"spacex","name":"SpaceX","tags":"dark cinematic aerospace photographic","swatch":"#f0f0fa"},{"id":"spline","name":"Spline","tags":"dark sans playful creative","swatch":"#0062ff"},{"id":"spotify","name":"Spotify","tags":"dark bold sans dense","swatch":"#1ed760"},{"id":"sqlite","name":"SQLite","tags":"oss database sql embedded","swatch":"#0f6b8a"},{"id":"square","name":"Square","tags":"light minimal sans monochrome","swatch":"#000000"},{"id":"stability-ai","name":"Stability AI","tags":"dark sans spacious cool","swatch":"#a381ff"},{"id":"stackblitz","name":"StackBlitz","tags":"dark sans structured developer","swatch":"#1574ef"},{"id":"starbucks","name":"Starbucks","tags":"light retail coffee sans","swatch":"#006241"},{"id":"steam","name":"Steam","tags":"dark bold structured gaming","swatch":"#66c0f4"},{"id":"steelseries","name":"SteelSeries","tags":"dark gaming hardware peripherals","swatch":"#ff6900"},{"id":"storybook","name":"Storybook","tags":"light structured sans developer","swatch":"#ff4785"},{"id":"strava","name":"Strava","tags":"light fitness sans athletic","swatch":"#fc4c02"},{"id":"stytch","name":"Stytch","tags":"light auth passwordless sans","swatch":"#1d1d1d"},{"id":"substack","name":"Substack","tags":"light editorial serif sans","swatch":"#ff6719"},{"id":"suno","name":"Suno","tags":"dark sans spacious warm","swatch":"#f7f4ef"},{"id":"sunsama","name":"Sunsama","tags":"light warm cream sans","swatch":"#e07a5f"},{"id":"supabase","name":"Supabase","tags":"dark mono sans dense","swatch":"#3ecf8e"},{"id":"supercell","name":"Supercell","tags":"gaming mobile characters playful","swatch":"#0f62d6"},{"id":"superhuman","name":"Superhuman","tags":"light minimal sans spacious","swatch":"#714cb6"},{"id":"supreme","name":"Supreme","tags":"light fashion streetwear monospace","swatch":"#cc0000"},{"id":"svelte","name":"Svelte","tags":"light minimal sans structured","swatch":"#ff3e00"},{"id":"synthesia","name":"Synthesia","tags":"light sans enterprise","swatch":"#3e57da"},{"id":"t-mobile","name":"T-Mobile","tags":"light bold sans telco","swatch":"#e20074"},{"id":"tailscale","name":"Tailscale","tags":"light structured sans networking","swatch":"#d04841"},{"id":"tana-app","name":"Tana","tags":"dark editorial serif minimal","swatch":"#e1f0bd"},{"id":"target","name":"Target","tags":"light retail marketplace sans","swatch":"#cc0000"},{"id":"teladoc","name":"Teladoc Health","tags":"healthcare telehealth services trust","swatch":"#351f65"},{"id":"telegram","name":"Telegram","tags":"light blue sans clean","swatch":"#2aabee"},{"id":"temporal","name":"Temporal","tags":"dark indigo technical sans","swatch":"#444ce7"},{"id":"tesla","name":"Tesla","tags":"light minimal sans photography","swatch":"#3e6ae1"},{"id":"theatlantic","name":"The Atlantic","tags":"editorial serif magazine longform","swatch":"#fbb33b"},{"id":"theeconomist","name":"The Economist","tags":"editorial serif dense structured","swatch":"#e3120b"},{"id":"theguardian","name":"The Guardian","tags":"editorial serif slab dense","swatch":"#052962"},{"id":"home-depot","name":"The Home Depot","tags":"light retail marketplace sans","swatch":"#f96302"},{"id":"nytimes","name":"The New York Times","tags":"editorial serif dense structured","swatch":"#d0021b"},{"id":"newyorker","name":"The New Yorker","tags":"editorial serif classic magazine","swatch":"#000000"},{"id":"washingtonpost","name":"The Washington Post","tags":"editorial serif dense political","swatch":"#000000"},{"id":"things-app","name":"Things","tags":"light minimal sans soft","swatch":"#5c9cf5"},{"id":"threads-app","name":"Threads","tags":"dark sans clean spacious","swatch":"#ffffff"},{"id":"tiktok","name":"TikTok","tags":"dark neon sans playful","swatch":"#fe2c55"},{"id":"tinybird","name":"Tinybird","tags":"dark green mono-accent sans","swatch":"#27f795"},{"id":"tldraw","name":"tldraw","tags":"light playful sans soft","swatch":"#1d1d1d"},{"id":"todoist","name":"Todoist","tags":"light warm sans friendly","swatch":"#e44232"},{"id":"together-ai","name":"Together AI","tags":"light dark ai infrastructure","swatch":"#0f1f3d"},{"id":"toyota","name":"Toyota","tags":"light mainstream sans red","swatch":"#eb0a1e"},{"id":"trigger-dev","name":"Trigger.dev","tags":"dark sans developer workflow","swatch":"#a8ff53"},{"id":"tripadvisor","name":"Tripadvisor","tags":"hospitality travel reviews discovery","swatch":"#00aa6c"},{"id":"turbo","name":"Turbo","tags":"dark sans structured cool","swatch":"#ff1e56"},{"id":"turso","name":"Turso","tags":"dark sans mono structured","swatch":"#00face"},{"id":"twilio","name":"Twilio","tags":"light sans structured bright","swatch":"#f22f46"},{"id":"twitch","name":"Twitch","tags":"dark bold sans dense","swatch":"#9146ff"},{"id":"uber-eats","name":"Uber Eats","tags":"light marketplace sans monochrome","swatch":"#000000"},{"id":"ubisoft","name":"Ubisoft","tags":"gaming publisher franchises cinematic","swatch":"#006ef5"},{"id":"udacity","name":"Udacity","tags":"dark structured sans education","swatch":"#175cff"},{"id":"udemy","name":"Udemy","tags":"light education sans friendly","swatch":"#a435f0"},{"id":"udio","name":"Udio","tags":"dark bold sans ai","swatch":"#e30b5d"},{"id":"uizard","name":"Uizard","tags":"dark playful sans ai","swatch":"#a881fe"},{"id":"uniqlo","name":"Uniqlo","tags":"light fashion basics sans","swatch":"#ff0000"},{"id":"uniswap","name":"Uniswap","tags":"light playful sans rounded","swatch":"#ff007a"},{"id":"united","name":"United Airlines","tags":"light navy structured sans","swatch":"#1414d2"},{"id":"upstash","name":"Upstash","tags":"light sans developer structured","swatch":"#00bc7d"},{"id":"v0-app","name":"v0","tags":"light sans mono minimal","swatch":"#171717"},{"id":"valorant","name":"Valorant","tags":"dark brutalist sans structured","swatch":"#ff4655"},{"id":"vapi","name":"Vapi","tags":"dark sans developer","swatch":"#7ccf00"},{"id":"venmo","name":"Venmo","tags":"light social sans friendly","swatch":"#3d95ce"},{"id":"visa","name":"Visa","tags":"light fintech payments global","swatch":"#1434CB"},{"id":"vite","name":"Vite","tags":"dark minimal sans mono","swatch":"#646cff"},{"id":"vodafone","name":"Vodafone","tags":"telecom corporate light red","swatch":"#e60000"},{"id":"volkswagen","name":"Volkswagen","tags":"light friendly sans blue","swatch":"#001e50"},{"id":"vuori","name":"Vuori","tags":"light sans warm photography-led","swatch":"#333333"},{"id":"walmart","name":"Walmart","tags":"light retail marketplace sans","swatch":"#0071ce"},{"id":"warby-parker","name":"Warby Parker","tags":"light editorial serif commerce","swatch":"#1050d0"},{"id":"warp-dev","name":"Warp","tags":"dark minimal sans mono","swatch":"#c2ff00"},{"id":"wayfair","name":"Wayfair","tags":"light retail marketplace sans","swatch":"#0a0a0a"},{"id":"weaviate","name":"Weaviate","tags":"light green sans mono","swatch":"#1cdb46"},{"id":"webflow","name":"Webflow","tags":"light structured sans spacious","swatch":"#4353ff"},{"id":"whimsical","name":"Whimsical","tags":"design-tools whiteboard diagrams wireframes","swatch":"#7c5cff"},{"id":"whoop","name":"WHOOP","tags":"dark fitness sans athletic","swatch":"#a0d10b"},{"id":"wikipedia","name":"Wikipedia","tags":"light structured serif minimal","swatch":"#3366cc"},{"id":"windsurf","name":"Windsurf","tags":"light warm sans developer","swatch":"#34e8bb"},{"id":"wired","name":"WIRED","tags":"editorial magazine sharp light","swatch":"#000000"},{"id":"wireguard","name":"WireGuard","tags":"oss vpn networking security","swatch":"#88171a"},{"id":"wise","name":"Wise","tags":"light minimal sans structured","swatch":"#9fe870"},{"id":"wispr-flow","name":"Wispr Flow","tags":"light editorial serif sans","swatch":"#f0d7ff"},{"id":"workday","name":"Workday","tags":"light enterprise sans orange","swatch":"#f37721"},{"id":"workos","name":"WorkOS","tags":"light identity auth sans","swatch":"#29363d"},{"id":"wyndham","name":"Wyndham Hotels & Resorts","tags":"hospitality travel hotels booking","swatch":"#0065ab"},{"id":"twitter-x","name":"X","tags":"dark mono-accent sans dense","swatch":"#ffffff"},{"id":"xai","name":"xAI","tags":"light minimal mono sans","swatch":"#0a0a0a"},{"id":"xbox","name":"Xbox","tags":"dark structured sans bright","swatch":"#107c10"},{"id":"ycombinator","name":"Y Combinator","tags":"light brutalist sans bright","swatch":"#f26625"},{"id":"you-com","name":"You.com","tags":"light sans structured cool","swatch":"#5368ee"},{"id":"youtube","name":"YouTube","tags":"video dense dark-default sans","swatch":"#ffffff"},{"id":"zed","name":"Zed","tags":"light minimal serif editor","swatch":"#004edb"},{"id":"zeplin","name":"Zeplin","tags":"design-tools handoff tokens collaboration","swatch":"#419bf9"},{"id":"zocdoc","name":"Zocdoc","tags":"light yellow structured sans","swatch":"#3a2b71"},{"id":"zoom","name":"Zoom","tags":"light structured sans communication","swatch":"#0b5cff"},{"id":"zora","name":"Zora","tags":"light creator vibrant web3","swatch":"#5a3eff"}];</script><script> ;(() => { const overlay = document.getElementById('cmdk-overlay') const input = document.getElementById('cmdk-input') const list = document.getElementById('cmdk-list') if (!overlay || !input || !list) return const designs = window.__cmdk_data || [] const COMMANDS = [ { kind: 'cmd', name: 'Extract from URL', hint: 'paste any URL', href: '/design.md/extract' }, { kind: 'cmd', name: 'Create with chat', hint: 'AI generator', href: '/design.md/create' }, { kind: 'cmd', name: 'Favorites', hint: 'starred designs', href: '/design.md/favorites' }, { kind: 'cmd', name: 'CLI docs', hint: 'design-md npm package', href: '/design.md/cli' }, { kind: 'cmd', name: 'Spec', hint: 'webdesignhot 0.2', href: '/design.md/spec' }, { kind: 'cmd', name: 'About', hint: 'what is DESIGN.md', href: '/design.md/about' }, { kind: 'cmd', name: 'Submit a design', hint: 'add yours', href: '/design.md/submit' }, ] let idx = 0 let visible = [] function fuzzy(needle, hay) { let i = 0 const n = needle.toLowerCase() const h = hay.toLowerCase() for (const c of n) { const f = h.indexOf(c, i) if (f === -1) return false i = f + 1 } return true } function render(q) { const isCmd = q.startsWith('/') const needle = isCmd ? q.slice(1).trim() : q.trim() visible = [] if (isCmd || !needle) { for (const c of COMMANDS) { if (!needle || fuzzy(needle, c.name)) visible.push(c) } } if (!isCmd) { for (const d of designs) { if (!needle || fuzzy(needle, d.name) || fuzzy(needle, d.id) || fuzzy(needle, d.tags)) { visible.push({ kind: 'design', name: d.name, hint: d.tags, href: '/design.md/' + d.id, swatch: d.swatch }) } if (visible.length > 80) break } } idx = Math.min(idx, Math.max(0, visible.length - 1)) paint() } function el(tag, props) { const e = document.createElement(tag) if (props) for (const k of Object.keys(props)) { if (k === 'text') e.textContent = props[k] else if (k === 'style') e.setAttribute('style', props[k]) else if (k === 'class') e.className = props[k] else if (k.startsWith('data-')) e.setAttribute(k, props[k]) else e[k] = props[k] } return e } function paint() { list.replaceChildren() visible.forEach((item, i) => { const li = el('li', { role: 'option', 'data-idx': String(i), class: 'flex items-center gap-3 px-4 py-2.5 cursor-pointer text-[13px] ' + (i === idx ? 'bg-bg-card-hover' : 'hover:bg-bg-card-hover'), }) if (item.kind === 'design') { const swatchSafe = /^#[0-9a-fA-F]{3,8}$/.test(item.swatch || '') ? item.swatch : '#888' li.append( el('span', { class: 'size-4 rounded-[4px] shrink-0', style: 'background:' + swatchSafe }), el('span', { class: 'text-text', text: item.name }), el('span', { class: 'text-text-faint font-mono text-[11px] ml-auto', text: item.hint || '' }), ) } else { li.append( el('span', { class: 'text-text-dim font-mono text-[11px] uppercase', text: 'cmd' }), el('span', { class: 'text-text', text: item.name }), el('span', { class: 'text-text-faint text-[11px] ml-auto', text: item.hint }), ) } li.addEventListener('click', () => go(item)) list.append(li) }) } function go(item) { if (item && item.href) location.href = item.href } function open() { overlay.classList.remove('hidden') overlay.classList.add('flex') input.value = '' idx = 0 render('') requestAnimationFrame(() => input.focus()) } function close() { overlay.classList.add('hidden') overlay.classList.remove('flex') } document.addEventListener('keydown', (e) => { if ((e.metaKey || e.ctrlKey) && e.key === 'k') { e.preventDefault() overlay.classList.contains('hidden') ? open() : close() return } if (overlay.classList.contains('hidden')) return if (e.key === 'Escape') { e.preventDefault() close() } else if (e.key === 'ArrowDown') { e.preventDefault() idx = Math.min(idx + 1, visible.length - 1) paint() } else if (e.key === 'ArrowUp') { e.preventDefault() idx = Math.max(idx - 1, 0) paint() } else if (e.key === 'Enter') { e.preventDefault() go(visible[idx]) } }) overlay.addEventListener('click', (e) => { if (e.target === overlay) close() }) input.addEventListener('input', (e) => { idx = 0 render(e.target.value) }) window.openCmdK = open })() </script></main><footer class="border-t border-border mt-32 mb-[var(--nav-pill-clearance)] sm:mb-0"><div class="max-w-[1200px] mx-auto px-6 py-10 grid grid-cols-1 md:grid-cols-5 gap-10"><div class="md:col-span-2"><a href="/" class="font-medium tracking-tight text-[15px]">webdesignhot<span class="text-brand">.</span></a><p class="mt-3 text-[13px] text-text-dim max-w-sm leading-relaxed">AI-native landing page kits for builders of AI agents, dev tools, and SaaS. One site. Five kits. Ship in a weekend.</p></div><div><span class="label">Products</span><ul class="mt-4 space-y-2.5 text-[13px]"><li><a href="/products/agentkit" class="text-text-dim hover:text-text transition-colors">AgentKit</a></li><li><span class="text-text-faint">DevToolKit · soon</span></li><li><span class="text-text-faint">ChatbotKit · soon</span></li><li><span class="text-text-faint">GenerativeKit · soon</span></li><li><span class="text-text-faint">B2BKit · soon</span></li></ul></div><div><span class="label">Designs.md</span><ul class="mt-4 space-y-2.5 text-[13px]"><li><a href="/design.md/" class="text-text-dim hover:text-text transition-colors">Directory</a></li><li><a href="/design.md/cli" class="text-text-dim hover:text-text transition-colors">CLI</a></li><li><a href="/design.md/spec" class="text-text-dim hover:text-text transition-colors">Spec extensions</a></li><li><a href="/design.md/create" class="text-text-dim hover:text-text transition-colors">Create</a></li><li><a href="/design.md/extract" class="text-text-dim hover:text-text transition-colors">Extract</a></li><li><a href="/design.md/favorites" class="text-text-dim hover:text-text transition-colors">Favorites</a></li><li><a href="/design.md/submit" class="text-text-dim hover:text-text transition-colors">Submit</a></li><li><a href="/design.md/feed.xml" class="text-text-dim hover:text-text transition-colors inline-flex items-center gap-1.5">RSS<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg></a></li></ul></div><div><span class="label">Site</span><ul class="mt-4 space-y-2.5 text-[13px]"><li><a href="/changelog" class="text-text-dim hover:text-text transition-colors">Changelog</a></li><li><a href="/about" class="text-text-dim hover:text-text transition-colors">About</a></li><li><a href="/terms" class="text-text-dim hover:text-text transition-colors">Terms</a></li><li><a href="/privacy" class="text-text-dim hover:text-text transition-colors">Privacy</a></li></ul></div></div><div class="border-t border-border"><div class="max-w-[1200px] mx-auto px-6 py-6 flex justify-between items-center"><span class="text-[11px] text-text-faint font-mono tracking-wider">© 2026 webdesignhot.com</span><span class="text-[11px] text-text-faint font-mono tracking-wider">Made for <em>AI builders</em></span></div></div></footer></div></body></html><script type="module">function e(){document.querySelectorAll(`[data-copy]`).forEach(e=>{e.addEventListener(`click`,async()=>{let t=e.dataset.copy||``;if(t)try{await navigator.clipboard.writeText(t);let n=e.innerText;e.innerText=`copied`,setTimeout(()=>{e.innerText=n},1500)}catch{}})})}e();</script>