← Về thư mục
📄 / / root / .hermes / profiles / glv-director / skills / creative / popular-web-designs / templates / cursor.md

Design System: Cursor

Hermes Agent — Implementation Notes

The original site uses proprietary fonts. For self-contained HTML output, use these CDN substitutes: - Primary: Inter | Mono: JetBrains Mono - Font stack (CSS): font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; - Mono stack (CSS): font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; html <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> Use write_file to create HTML, serve via generative-widgets skill (cloudflared tunnel). Verify visual accuracy with browser_vision after generating.

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: - CursorGothic with aggressive negative letter-spacing (-2.16px at 72px, -0.72px at 36px) for compressed display headings - jjannon serif for body text with OpenType "cswh" (contextual swash alternates) - berkeleyMono for code and technical labels - Warm off-white background (#f2f1ed) instead of pure white -- the entire system is warm-shifted - Primary text color #26251e (warm near-black with yellow undertone) - Accent orange #f54e00 for brand highlight and links - oklab-space borders at various alpha levels for perceptually uniform edge treatment - Pill-shaped elements with extreme radius (33.5M px, effectively full-pill) - 8px base spacing system with fine-grained sub-8px increments (1.5px, 2px, 2.5px, 3px, 4px, 5px, 6px)

2. Color Palette & Roles

Primary

Accent

Semantic

Timeline / Feature Colors

Surface Scale

Border Colors

Shadows & Depth

3. Typography Rules

Font Family

Hierarchy

Role Font Size Weight Line Height Letter Spacing Notes
Display Hero CursorGothic 72px (4.50rem) 400 1.10 (tight) -2.16px Maximum compression, hero statements
Section Heading CursorGothic 36px (2.25rem) 400 1.20 (tight) -0.72px Feature sections, CTA headlines
Sub-heading CursorGothic 26px (1.63rem) 400 1.25 (tight) -0.325px Card headings, sub-sections
Title Small CursorGothic 22px (1.38rem) 400 1.30 (tight) -0.11px Smaller titles, list headings
Body Serif jjannon 19.2px (1.20rem) 500 1.50 normal Editorial body with "cswh"
Body Serif SM jjannon 17.28px (1.08rem) 400 1.35 normal Standard body text, descriptions
Body Sans CursorGothic 16px (1.00rem) 400 1.50 normal/0.08px UI body text
Button Label CursorGothic 14px (0.88rem) 400 1.00 (tight) normal Primary button text
Button Caption CursorGothic 14px (0.88rem) 400 1.50 0.14px Secondary button with "ss09"
Caption CursorGothic 11px (0.69rem) 400-500 1.50 normal Small captions, metadata
System Heading system-ui 20px (1.25rem) 700 1.55 normal System UI headings
System Caption system-ui 13px (0.81rem) 500-600 1.33 normal System UI labels
System Micro system-ui 11px (0.69rem) 500 1.27 (tight) 0.048px Uppercase micro labels
Mono Body berkeleyMono 12px (0.75rem) 400 1.67 (relaxed) normal Code blocks
Mono Small berkeleyMono 11px (0.69rem) 400 1.33 -0.275px Inline code, terminal
Lato Heading Lato 16px (1.00rem) 600 1.33 normal Lato section headings
Lato Caption Lato 14px (0.88rem) 400-600 1.33 normal Lato captions
Lato Micro Lato 12px (0.75rem) 400-600 1.27 (tight) 0.053px Lato small labels

Principles

4. Component Stylings

Buttons

Primary (Warm Surface) - Background: #ebeae5 (Surface 300) - Text: #26251e (Cursor Dark) - Padding: 10px 12px 10px 14px - Radius: 8px - Outline: none - Hover: text shifts to var(--color-error) (#cf2d56) - Focus shadow: rgba(0,0,0,0.1) 0px 4px 12px - Use: Primary actions, main CTAs

Secondary Pill - Background: #e6e5e0 (Surface 400) - Text: oklab(0.263 / 0.6) (60% warm brown) - Padding: 3px 8px - Radius: full pill (33.5M px) - Hover: text shifts to var(--color-error) - Use: Tags, filters, secondary actions

Tertiary Pill - Background: #e1e0db (Surface 500) - Text: oklab(0.263 / 0.6) (60% warm brown) - Radius: full pill - Use: Active filter state, selected tags

Ghost (Transparent) - Background: rgba(38, 37, 30, 0.06) (6% warm brown) - Text: rgba(38, 37, 30, 0.55) (55% warm brown) - Padding: 6px 12px - Use: Tertiary actions, dismiss buttons

Light Surface - Background: #f7f7f4 (Surface 100) or #f2f1ed (Surface 200) - Text: #26251e or oklab(0.263 / 0.9) (90%) - Padding: 0px 8px 1px 12px - Use: Dropdown triggers, subtle interactive elements

Cards & Containers

Inputs & Forms

Image Treatment

Distinctive Components

AI Timeline - Vertical timeline showing AI operations: thinking (peach), grep (sage), read (blue), edit (lavender) - Each step uses its semantic color with matching text - Connected with vertical lines - Core visual metaphor for Cursor's AI-first coding experience

Code Editor Previews - Dark code editor screenshots with warm cream border frame - berkeleyMono for code text - Syntax highlighting using timeline colors

Pricing Cards - Warm surface backgrounds with bordered containers - Feature lists using jjannon serif for readability - CTA buttons with accent orange or primary dark styling

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

Border Radius Scale

6. Depth & Elevation

Level Treatment Use
Flat (Level 0) No shadow Page background, text blocks
Border Ring (Level 1) oklab(0.263 / 0.1) 0px 0px 0px 1px Standard card/container border (warm oklab)
Border Medium (Level 1b) oklab(0.263 / 0.2) 0px 0px 0px 1px Emphasized borders, active states
Ambient (Level 2) rgba(0,0,0,0.02) 0px 0px 16px, rgba(0,0,0,0.008) 0px 0px 8px Floating 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 ring Modals, popovers, elevated cards
Focus rgba(0,0,0,0.1) 0px 4px 12px on button focus Interactive 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

Name Width Key Changes
Mobile <600px Single column, reduced padding, stacked navigation
Tablet Small 600-768px 2-column grids begin
Tablet 768-900px Expanded card grids, sidebar appears
Desktop Small 900-1279px Full layout forming
Desktop >1279px Full 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