Cursor
Cursor 将 AI 代码编辑器塑造成安静而自信的开发者品牌,以暖奶油色编辑画布替代常见的深色 IDE 氛围,并用克制排版与真实产品界面突出专注体验。

primary
#F54E00
--color-primary
primary active
#D04200
--color-primary-active
ink
#26251E
--color-ink
body
#5A5852
--color-body
body strong
#26251E
--color-body-strong
muted
#807D72
--color-muted
muted soft
#A09C92
--color-muted-soft
hairline
#E6E5E0
--color-hairline
hairline soft
#EFEEE8
--color-hairline-soft
hairline strong
#CFCDC4
--color-hairline-strong
canvas
#F7F7F4
--color-canvas
canvas soft
#FAFAF7
--color-canvas-soft
surface card
#FFFFFF
--color-surface-card
surface strong
#E6E5E0
--color-surface-strong
on primary
#FFFFFF
--color-on-primary
timeline thinking
#DFA88F
--color-timeline-thinking
timeline grep
#9FC9A2
--color-timeline-grep
timeline read
#9FBBE0
--color-timeline-read
timeline edit
#C0A8DD
--color-timeline-edit
timeline done
#C08532
--color-timeline-done
semantic error
#CF2D56
--color-semantic-error
semantic success
#1F8A65
--color-semantic-success
字体家族
'CursorGothic', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif / 'CursorGothic', sans-serif / 'JetBrains Mono', 'Fira Code', monospace
字重
备注
3 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Cursor — Style Reference
> An AI-first code editor whose marketing site reads like a quietly-confident developer-tools brand with a warm-cream editorial canvas (`#f7f7f4`) instead of the typical dark IDE atmosphere. Near-black warm ink (`#26251e`) carries body and display alike — display sits at weight 400 with negative letter-spacing for a magazine feel rather than a bold tech voice. The single brand voltage is **Cursor Orange** (`#f54e00`) reserved for primary CTAs and the wordmark. A signature pastel timeline palette (peach, mint, blue, lavender, gold) marks AI-action stages (Thinking / Reading / Editing / Grepping / Done) — only inside in-product timeline visualizations. Cards use minimal hairlines, no shadows, generous 80px section rhythm. CursorGothic for display/body, JetBrains Mono on every code surface (which is roughly half the page).
**Theme:** light
**Source website:** [https://www.cursor.com/](https://www.cursor.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 | `#f54e00` | `--color-primary` | primary role extracted from the source design |
| primary active | `#d04200` | `--color-primary-active` | primary active role extracted from the source design |
| ink | `#26251e` | `--color-ink` | ink role extracted from the source design |
| body | `#5a5852` | `--color-body` | body role extracted from the source design |
| body strong | `#26251e` | `--color-body-strong` | body strong role extracted from the source design |
| muted | `#807d72` | `--color-muted` | muted role extracted from the source design |
| muted soft | `#a09c92` | `--color-muted-soft` | muted soft role extracted from the source design |
| hairline | `#e6e5e0` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#efeee8` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| hairline strong | `#cfcdc4` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| canvas | `#f7f7f4` | `--color-canvas` | canvas role extracted from the source design |
| canvas soft | `#fafaf7` | `--color-canvas-soft` | canvas soft role extracted from the source design |
| surface card | `#ffffff` | `--color-surface-card` | surface card role extracted from the source design |
| surface strong | `#e6e5e0` | `--color-surface-strong` | surface strong role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| timeline thinking | `#dfa88f` | `--color-timeline-thinking` | timeline thinking role extracted from the source design |
| timeline grep | `#9fc9a2` | `--color-timeline-grep` | timeline grep role extracted from the source design |
| timeline read | `#9fbbe0` | `--color-timeline-read` | timeline read role extracted from the source design |
| timeline edit | `#c0a8dd` | `--color-timeline-edit` | timeline edit role extracted from the source design |
| timeline done | `#c08532` | `--color-timeline-done` | timeline done role extracted from the source design |
| semantic error | `#cf2d56` | `--color-semantic-error` | semantic error role extracted from the source design |
| semantic success | `#1f8a65` | `--color-semantic-success` | semantic success role extracted from the source design |
Tokens — Typography
'CursorGothic', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif · `--font-primary`
'CursorGothic', sans-serif · `--font-family-2`
'JetBrains Mono', 'Fira Code', monospace · `--font-family-3`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-mega | 72px | 1.1 | -2.16px | `--text-display-mega` |
| display-lg | 36px | 1.2 | -0.72px | `--text-display-lg` |
| display-md | 26px | 1.25 | -0.325px | `--text-display-md` |
| display-sm | 22px | 1.3 | -0.11px | `--text-display-sm` |
| title-md | 18px | 1.4 | 0 | `--text-title-md` |
| title-sm | 16px | 1.4 | 0 | `--text-title-sm` |
| body-md | 16px | 1.5 | 0 | `--text-body-md` |
| body-tracked | 16px | 1.5 | 0.08px | `--text-body-tracked` |
| body-sm | 14px | 1.5 | 0 | `--text-body-sm` |
| caption | 13px | 1.4 | 0 | `--text-caption` |
| caption-uppercase | 11px | 1.4 | 0.88px | `--text-caption-uppercase` |
| code | 13px | 1.5 | 0 | `--text-code` |
| button | 14px | 1 | 0 | `--text-button` |
| nav-link | 14px | 1.4 | 0 | `--text-nav-link` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| base | 16px | `--spacing-base` |
| md | 20px | `--spacing-md` |
| lg | 24px | `--spacing-lg` |
| xl | 32px | `--spacing-xl` |
| xxl | 48px | `--spacing-xxl` |
| section | 80px | `--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 | 9999px | `--radius-pill` |
| full | 9999px | `--radius-full` |
Layout
Components
top nav
**Role:** top nav component
button primary
**Role:** button primary component
button primary active
**Role:** button primary active component
button secondary
**Role:** button secondary component
button tertiary text
**Role:** button tertiary text component
button download
**Role:** button download component
hero band
**Role:** hero band component
ide mockup card
**Role:** ide mockup card component
ide pane
**Role:** ide pane component
feature card
**Role:** feature card component
comparison card
**Role:** comparison card component
timeline pill thinking
**Role:** timeline pill thinking component
timeline pill grep
**Role:** timeline pill grep component
timeline pill read
**Role:** timeline pill read component
timeline pill edit
**Role:** timeline pill edit component
timeline pill done
**Role:** timeline pill done component
code block
**Role:** code block component
pricing tier card
**Role:** pricing tier card component
pricing tier featured
**Role:** pricing tier featured component
text input
**Role:** text input component
badge pill
**Role:** badge pill component
cta band
**Role:** cta band component
testimonial card
**Role:** testimonial card component
footer
**Role:** footer component
footer link
**Role:** footer link 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://www.cursor.com/).