
primary
#171717
--color-primary
on primary
#FFFFFF
--color-on-primary
ink
#171717
--color-ink
body
#4D4D4D
--color-body
mute
#888888
--color-mute
hairline
#EBEBEB
--color-hairline
hairline strong
#A1A1A1
--color-hairline-strong
canvas
#FFFFFF
--color-canvas
canvas soft
#FAFAFA
--color-canvas-soft
canvas soft 2
#F5F5F5
--color-canvas-soft-2
link
#0070F3
--color-link
link deep
#0761D1
--color-link-deep
link bg soft
#D3E5FF
--color-link-bg-soft
success
#0070F3
--color-success
error
#EE0000
--color-error
error soft
#F7D4D6
--color-error-soft
error deep
#C50000
--color-error-deep
warning
#F5A623
--color-warning
warning soft
#FFEFCF
--color-warning-soft
warning deep
#AB570A
--color-warning-deep
violet
#7928CA
--color-violet
violet soft
#D8CCF1
--color-violet-soft
violet deep
#4C2889
--color-violet-deep
cyan
#50E3C2
--color-cyan
cyan soft
#AAFFEC
--color-cyan-soft
cyan deep
#29BC9B
--color-cyan-deep
highlight pink
#FF0080
--color-highlight-pink
highlight magenta
#EB367F
--color-highlight-magenta
gradient develop start
#007CF0
--color-gradient-develop-start
gradient develop end
#00DFD8
--color-gradient-develop-end
gradient preview start
#7928CA
--color-gradient-preview-start
gradient preview end
#FF0080
--color-gradient-preview-end
gradient ship start
#FF4D4D
--color-gradient-ship-start
gradient ship end
#F9CB28
--color-gradient-ship-end
selection bg
#171717
--color-selection-bg
selection fg
#F2F2F2
--color-selection-fg
字体家族
Geist, Inter, system-ui, -apple-system, sans-serif / Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace
字重
备注
2 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Vercel — Style Reference
> An inspired interpretation of Vercel's design language — a developer-platform brand whose surface is a stark black-and-ink duet on near-white canvas, broken at hero scale by a multi-color mesh gradient (cyan / blue / magenta / amber) that acts as the entire decorative system, paired with a custom geometric sans for headlines and a monospaced caption face for technical labels.
**Theme:** light
**Source website:** [https://vercel.com/](https://vercel.com/)
Use the live official website to compare and validate this extracted snapshot. The current source website remains authoritative.
Tokens — Colors
| Name | Value | Token | Role |
|---|---|---|---|
| primary | `#171717` | `--color-primary` | primary role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| ink | `#171717` | `--color-ink` | ink role extracted from the source design |
| body | `#4d4d4d` | `--color-body` | body role extracted from the source design |
| mute | `#888888` | `--color-mute` | mute role extracted from the source design |
| hairline | `#ebebeb` | `--color-hairline` | hairline role extracted from the source design |
| hairline strong | `#a1a1a1` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| canvas soft | `#fafafa` | `--color-canvas-soft` | canvas soft role extracted from the source design |
| canvas soft 2 | `#f5f5f5` | `--color-canvas-soft-2` | canvas soft 2 role extracted from the source design |
| link | `#0070f3` | `--color-link` | link role extracted from the source design |
| link deep | `#0761d1` | `--color-link-deep` | link deep role extracted from the source design |
| link bg soft | `#d3e5ff` | `--color-link-bg-soft` | link bg soft role extracted from the source design |
| success | `#0070f3` | `--color-success` | success role extracted from the source design |
| error | `#ee0000` | `--color-error` | error role extracted from the source design |
| error soft | `#f7d4d6` | `--color-error-soft` | error soft role extracted from the source design |
| error deep | `#c50000` | `--color-error-deep` | error deep role extracted from the source design |
| warning | `#f5a623` | `--color-warning` | warning role extracted from the source design |
| warning soft | `#ffefcf` | `--color-warning-soft` | warning soft role extracted from the source design |
| warning deep | `#ab570a` | `--color-warning-deep` | warning deep role extracted from the source design |
| violet | `#7928ca` | `--color-violet` | violet role extracted from the source design |
| violet soft | `#d8ccf1` | `--color-violet-soft` | violet soft role extracted from the source design |
| violet deep | `#4c2889` | `--color-violet-deep` | violet deep role extracted from the source design |
| cyan | `#50e3c2` | `--color-cyan` | cyan role extracted from the source design |
| cyan soft | `#aaffec` | `--color-cyan-soft` | cyan soft role extracted from the source design |
| cyan deep | `#29bc9b` | `--color-cyan-deep` | cyan deep role extracted from the source design |
| highlight pink | `#ff0080` | `--color-highlight-pink` | highlight pink role extracted from the source design |
| highlight magenta | `#eb367f` | `--color-highlight-magenta` | highlight magenta role extracted from the source design |
| gradient develop start | `#007cf0` | `--color-gradient-develop-start` | gradient develop start role extracted from the source design |
| gradient develop end | `#00dfd8` | `--color-gradient-develop-end` | gradient develop end role extracted from the source design |
| gradient preview start | `#7928ca` | `--color-gradient-preview-start` | gradient preview start role extracted from the source design |
| gradient preview end | `#ff0080` | `--color-gradient-preview-end` | gradient preview end role extracted from the source design |
| gradient ship start | `#ff4d4d` | `--color-gradient-ship-start` | gradient ship start role extracted from the source design |
| gradient ship end | `#f9cb28` | `--color-gradient-ship-end` | gradient ship end role extracted from the source design |
| selection bg | `#171717` | `--color-selection-bg` | selection bg role extracted from the source design |
| selection fg | `#f2f2f2` | `--color-selection-fg` | selection fg role extracted from the source design |
Tokens — Typography
Geist, Inter, system-ui, -apple-system, sans-serif · `--font-primary`
Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace · `--font-family-2`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-xl | 48px | 48px | -2.4px | `--text-display-xl` |
| display-lg | 32px | 40px | -1.28px | `--text-display-lg` |
| display-md | 24px | 32px | -0.96px | `--text-display-md` |
| display-sm | 20px | 28px | -0.6px | `--text-display-sm` |
| body-lg | 18px | 28px | 0px | `--text-body-lg` |
| body-md | 16px | 24px | 0 | `--text-body-md` |
| body-md-strong | 16px | 24px | 0 | `--text-body-md-strong` |
| body-sm | 14px | 20px | -0.28px | `--text-body-sm` |
| body-sm-strong | 14px | 20px | -0.28px | `--text-body-sm-strong` |
| caption | 12px | 16px | 0 | `--text-caption` |
| caption-mono | 12px | 16px | 0 | `--text-caption-mono` |
| code | 13px | 20px | 0 | `--text-code` |
| button-md | 14px | 20px | 0 | `--text-button-md` |
| button-lg | 16px | 24px | 0 | `--text-button-lg` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| md | 16px | `--spacing-md` |
| lg | 24px | `--spacing-lg` |
| xl | 32px | `--spacing-xl` |
| 2xl | 40px | `--spacing-2xl` |
| 3xl | 48px | `--spacing-3xl` |
| 4xl | 64px | `--spacing-4xl` |
| 5xl | 96px | `--spacing-5xl` |
| 6xl | 128px | `--spacing-6xl` |
| section | 192px | `--spacing-section` |
Border Radius
| Name | Value | Token |
|---|---|---|
| none | 0px | `--radius-none` |
| xs | 4px | `--radius-xs` |
| sm | 6px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 16px | `--radius-xl` |
| pill-sm | 64px | `--radius-pill-sm` |
| pill | 100px | `--radius-pill` |
| full | 9999px | `--radius-full` |
Layout
Components
nav bar
**Role:** nav bar component
nav link
**Role:** nav link component
nav cta signup
**Role:** nav cta signup component
nav cta login
**Role:** nav cta login component
nav cta ask ai
**Role:** nav cta ask ai component
button primary
**Role:** button primary component
button secondary
**Role:** button secondary component
button primary sm
**Role:** button primary sm component
button secondary sm
**Role:** button secondary sm component
tab ghost
**Role:** tab ghost component
icon button circular
**Role:** icon button circular component
card marketing
**Role:** card marketing component
card marketing large
**Role:** card marketing large component
card soft
**Role:** card soft component
template card
**Role:** template card component
code editor mockup
**Role:** code editor mockup component
form input
**Role:** form input component
form input sm
**Role:** form input sm component
form input lg
**Role:** form input lg component
badge secondary
**Role:** badge secondary component
pricing card
**Role:** pricing card component
pricing card featured
**Role:** pricing card featured component
logo strip
**Role:** logo strip component
hero band
**Role:** hero band component
feature mesh band
**Role:** feature mesh band component
showcase band light
**Role:** showcase band light component
showcase band dark
**Role:** showcase band dark component
footer
**Role:** footer component
link inline
**Role:** link inline component
banner marketing
**Role:** banner marketing component
ex pricing tier
**Role:** ex pricing tier component
ex pricing tier featured
**Role:** ex pricing tier featured component
ex product selector
**Role:** ex product selector component
ex cart drawer
**Role:** ex cart drawer component
ex app shell row
**Role:** ex app shell row component
ex data table cell
**Role:** ex data table cell component
ex auth form card
**Role:** ex auth form card component
ex modal card
**Role:** ex modal card component
ex empty state card
**Role:** ex empty state card component
ex toast
**Role:** ex toast component
Do's and Don'ts
Do
Don't
Layout
Use the documented spacing scale and component geometry as the implementation baseline. Validate responsive composition and current page rhythm against [the live source](https://vercel.com/).