← all systems cursor
edit →

Design System Inspired by Cursor

1. Visual Theme & Atmosphere

Cursor’s website is a study in warm minimalism meets code-editor elegance. The entire experience is built on a warm off-white canvas (#f2f1ed) with dark warm-brown text (#26251e) — not pure black, not neutral gray, but a deeply warm near-black with a yellowish undertone that evokes old paper, ink, and craft. This warmth permeates every surface: backgrounds lean toward cream (#e6e5e0, #ebeae5), borders dissolve into transparent warm overlays using oklab color space, and even the error state (#cf2d56) carries warmth rather than clinical red. The result feels more like a premium print publication than a tech website.

The custom CursorGothic font is the typographic signature — a gothic sans-serif with aggressive negative letter-spacing at display sizes (-2.16px at 72px) that creates a compressed, engineered feel. As a secondary voice, the jjannon serif font (with OpenType "cswh" contextual swash alternates) provides literary counterpoint for body copy and editorial passages. The monospace voice comes from berkeleyMono, a refined coding font that connects the marketing site to Cursor’s core identity as a code editor. This three-font system (gothic display, serif body, mono code) gives Cursor one of the most typographically rich palettes in developer tooling.

The border system is particularly distinctive — Cursor uses oklab() color space for border colors, applying warm brown at various alpha levels (0.1, 0.2, 0.55) to create borders that feel organic rather than mechanical. The signature border color oklab(0.263084 -0.00230259 0.0124794 / 0.1) is not a simple rgba value but a perceptually uniform color that maintains visual consistency across different backgrounds.

Key Characteristics:

2. Color Palette & Roles

Primary

Accent

Semantic

Timeline / Feature Colors

Surface Scale

Border Colors

Shadows & Depth

3. Typography Rules

Font Family

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Display HeroCursorGothic72px (4.50rem)4001.10 (tight)-2.16pxMaximum compression, hero statements
Section HeadingCursorGothic36px (2.25rem)4001.20 (tight)-0.72pxFeature sections, CTA headlines
Sub-headingCursorGothic26px (1.63rem)4001.25 (tight)-0.325pxCard headings, sub-sections
Title SmallCursorGothic22px (1.38rem)4001.30 (tight)-0.11pxSmaller titles, list headings
Body Serifjjannon19.2px (1.20rem)5001.50normalEditorial body with "cswh"
Body Serif SMjjannon17.28px (1.08rem)4001.35normalStandard body text, descriptions
Body SansCursorGothic16px (1.00rem)4001.50normal/0.08pxUI body text
Button LabelCursorGothic14px (0.88rem)4001.00 (tight)normalPrimary button text
Button CaptionCursorGothic14px (0.88rem)4001.500.14pxSecondary button with "ss09"
CaptionCursorGothic11px (0.69rem)400-5001.50normalSmall captions, metadata
System Headingsystem-ui20px (1.25rem)7001.55normalSystem UI headings
System Captionsystem-ui13px (0.81rem)500-6001.33normalSystem UI labels
System Microsystem-ui11px (0.69rem)5001.27 (tight)0.048pxUppercase micro labels
Mono BodyberkeleyMono12px (0.75rem)4001.67 (relaxed)normalCode blocks
Mono SmallberkeleyMono11px (0.69rem)4001.33-0.275pxInline code, terminal
Lato HeadingLato16px (1.00rem)6001.33normalLato section headings
Lato CaptionLato14px (0.88rem)400-6001.33normalLato captions
Lato MicroLato12px (0.75rem)400-6001.27 (tight)0.053pxLato small labels

Principles

4. Component Stylings

Buttons

Primary (Warm Surface)

Secondary Pill

Tertiary Pill

Ghost (Transparent)

Light Surface

Cards & Containers

Inputs & Forms

Image Treatment

Distinctive Components

AI Timeline

Code Editor Previews

Pricing Cards

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

Border Radius Scale

6. Depth & Elevation

LevelTreatmentUse
Flat (Level 0)No shadowPage background, text blocks
Border Ring (Level 1)oklab(0.263 / 0.1) 0px 0px 0px 1pxStandard card/container border (warm oklab)
Border Medium (Level 1b)oklab(0.263 / 0.2) 0px 0px 0px 1pxEmphasized borders, active states
Ambient (Level 2)rgba(0,0,0,0.02) 0px 0px 16px, rgba(0,0,0,0.008) 0px 0px 8pxFloating elements, subtle glow
Elevated Card (Level 3)rgba(0,0,0,0.14) 0px 28px 70px, rgba(0,0,0,0.1) 0px 14px 32px, oklab ringModals, popovers, elevated cards
Focusrgba(0,0,0,0.1) 0px 4px 12px on button focusInteractive focus feedback

Shadow Philosophy: Cursor’s depth system is built around two ideas. First, borders use perceptually uniform oklab color space rather than rgba, ensuring warm brown borders look consistent across different background tones. Second, elevation shadows use dramatically large blur values (28px, 70px) with moderate opacity (0.14, 0.1), creating a diffused, atmospheric lift rather than hard-edged drop shadows. Cards don’t feel like they float above the page — they feel like the page has gently opened a space for them.

Decorative Depth

7. Interaction & Motion

Hover States

Focus States

Transitions

8. Responsive Behavior

Breakpoints

NameWidthKey Changes
Mobile<600pxSingle column, reduced padding, stacked navigation
Tablet Small600-768px2-column grids begin
Tablet768-900pxExpanded card grids, sidebar appears
Desktop Small900-1279pxFull layout forming
Desktop>1279pxFull layout, maximum content width

Touch Targets

Collapsing Strategy

Image Behavior

9. Agent Prompt Guide

Quick Color Reference

Example Component Prompts

Iteration Guide

  1. Always use warm tones — #f2f1ed background, #26251e text, never pure white/black for primary surfaces
  2. Letter-spacing scales with font size for CursorGothic: -2.16px at 72px, -0.72px at 36px, -0.325px at 26px, normal at 16px
  3. Use rgba(38, 37, 30, alpha) as a CSS-compatible fallback for oklab borders
  4. Three fonts, three voices: CursorGothic (display/UI), jjannon (editorial), berkeleyMono (code)
  5. Pill shapes (9999px radius) for tags and filters; 8px radius for primary buttons and cards
  6. Hover states use #cf2d56 text color — the warm crimson shift is a signature interaction
  7. Shadows use large blur values (28px, 70px) for diffused atmospheric depth
  8. The sub-8px spacing scale (1.5, 2, 2.5, 3, 4, 5, 6px) is critical for icon/text micro-alignment