taste-skill / Style guides / Cursor style
How to build a UI in the Cursor style
Cursor (cursor.com) reads as Warm Archival Paper & Frontier AI Research Craft — Warm archival paper canvas (#F7F7F4 / #F2F1ED) with deep charcoal-olive ink (#26251E), bespoke CursorGothic + EB Garamond editorial quotes + BerkeleyMono diff blocks and timeline tokens. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.
Source: computed styles extracted from
https://www.cursor.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Cursor is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Cursor.Live preview with Cursor tokens
Cursor style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Cursor canvas, text, muted and accent tokens.
Card on extracted card recipe
Accent link: #26251E · border
rgba(39, 39, 29, 0.1)Color palette (light mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #F7F7F4 | bg-[#F7F7F4] | Primary Cursor page canvas |
| surfaceElevated | #F2F1ED | bg-[#F2F1ED] | Primary elevated card & bento surface |
| surfaceSecondary | #F7F7F4 | bg-[#F7F7F4] | Secondary interactive container / hover fill |
| borderPrimary | rgba(39, 39, 29, 0.1) | border-[rgba(39,39,29,0.1)] | Primary structural divider (1px rgba(39,39,29,0.1)) |
| borderSecondary | rgba(38, 38, 26, 0.08) | border-[rgba(38,38,26,0.08)] | Secondary nested module or pill border |
| textPrimary | #26251E | text-[#26251E] | Hero H1, section H2 & high-contrast foreground |
| textMuted | rgba(38, 36, 29, 0.55) | text-[rgba(38,36,29,0.55)] | Lead paragraphs, descriptions & muted labels |
| accentPrimary | #26251E | bg-[#26251E] | Primary interactive CTA & brand highlight (9999px (Pill)) |
| accentSecondary | rgba(18, 18, 18, 0.05) | text-[rgba(18,18,18,0.05)] | Secondary badge, syntax or telemetry highlight |
Typography
Heading CursorGothic · body CursorGothic / EB Garamond · mono berkeleyMono
| Level | Computed spec |
|---|---|
| Hero H1 | 26px | line-height 32.5px (leading-[1.25]) | letter-spacing -0.32px (tracking-[-0.012em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic |
| Section H2 (Primary) | 36px | line-height 43.2px (leading-[1.2]) | letter-spacing -0.72px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic |
| Section H2 (Secondary) | 22px | line-height 28.6px (leading-[1.3]) | letter-spacing -0.11px (tracking-[-0.005em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic |
| Card / Feature H3 | 22px | line-height 28.6px (leading-[1.3]) | letter-spacing -0.11px (tracking-[-0.005em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic |
| Body Copy (Paragraph) | 17.3px | line-height 23.3px (leading-[1.35]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(38, 36, 29, 0.55) (text-[rgba(38,36,29,0.55)]) | font EB Garamond |
| Monospace / Code Block | 13px | line-height 18.6px (leading-[1.43]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font berkeleyMono |
Spacing, radius, depth and motion
| Token family | Most frequent values (count on page) |
|---|---|
| Border radius | 4px ×93 · 8px ×28 · 10px ×16 · 2px ×5 · 1.5px ×5 · 3px ×2 |
| Box shadow | rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px ×6 · rgb(252, 252, 252) 0px 0px 0px 2px ×3 · rgba(0, 0, 0, 0.3) 0px 22px 70px 4px, rgba(0, 0, 0, 0.15) 0px 0px 0px 0.5px ×1 |
| Grid / flex gap | 8px ×59 · 6px ×27 · 3px ×22 · 4px ×15 · 2px ×12 · 0px 10px ×8 |
| Container max-width | 1300px ×9 · 658.321px ×5 · 672px ×1 · 740px ×1 |
| Section vertical padding | 67px / 67px ×2 · 112px / 67px ×1 · 0px / 34px ×1 |
| Easing | cubic-bezier(0.4, 0, 0.2, 1) ×62 · ease ×35 · cubic-bezier(0.25, 1, 0.5, 1) ×3 |
| Duration | 0.15s ×56 · 0.6s ×26 · 0.12s ×8 · 0.2s ×5 |
Component recipes
Buttons (8 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Contact sales | 27px | 5.6px 10.5px | 9999px | transparent#26251E | 1px solid rgba(40, 35, 30, 0.2) | 14px / 400 |
| Request a demo → | 43px | 12.48px 21.6px | 9999px | #E6E5E0#26251E | 1px solid rgba(42, 42, 42, 0.02) | 16px / 400 |
| Button | 51px | 10px 12px | 0px | #EBEAE5#26251E | none | 12px / 400 |
| See projects | 35px | 6px 12px | 0px | rgba(34, 34, 34, 0.06)rgba(38, 36, 29, 0.55) | none | 17.28px / 400 |
| Button | 53px | 8px 8px | 10px | rgba(18, 18, 18, 0.05)#141414 | none | 16px / 400 |
Cards (4 distinct)
| # | Background | Border | Radius | Padding | Shadow |
|---|---|---|---|---|---|
| 1 | #F2F1ED | none | 10px | 0px 0px | rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px |
| 2 | #F7F7F4 | 1px solid rgba(39, 39, 29, 0.1) | 8px | 0px 0px | none |
| 3 | transparent | none | 10px | 0px 0px | rgba(0, 0, 0, 0.3) 0px 22px 70px 4px, rgba(0, 0, 0, 0.15) 0px 0px 0px 0.5px |
| 4 | transparent | none | 8px | 0px 0px | none |
Rules: what never to do in the Cursor style
- NEVER substitute generic uncalibrated gray backgrounds for Cursor’s exact
#F7F7F4canvas and#F2F1EDsurface pairing. - NEVER replace
CursorGothicdisplay typography or ignore its signature scale (36px / -0.02em (w400)). - NEVER use thick opaque borders that clash with
rgba(39, 39, 29, 0.1)(1px rgba(39,39,29,0.1)). - NEVER deviate from the signature button geometry (
9999px (Pill)) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with
berkeleyMono.
Copy-paste kit
CSS variables
:root {
/* Cursor style — extracted from cursor.com by taste-skill */
--canvas: #F7F7F4;
--surface: #F2F1ED;
--text: #26251E;
--text-muted: rgba(38, 36, 29, 0.55);
--accent: #26251E;
--border: rgba(39, 39, 29, 0.1);
--font-heading: CursorGothic, Inter, system-ui, -apple-system, sans-serif;
--font-body: 'CursorGothic / EB Garamond', Inter, system-ui, -apple-system, sans-serif;
--font-mono: 'berkeleyMono', 'JetBrains Mono', ui-monospace, monospace;
--h1-size: 36px;
--h1-tracking: -0.02em;
--h1-weight: 400;
--radius-button: 9999px;
--radius-common: 4px;
--shadow-common: rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px;
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--duration: 0.15s;
}tailwind.config.js
// tailwind.config.js — Cursor style tokens (taste-skill)
module.exports = {
theme: {
extend: {
colors: {
canvas: "#F7F7F4",
surface: "#F2F1ED",
ink: "#26251E",
muted: "rgba(38, 36, 29, 0.55)",
accent: "#26251E",
line: "rgba(39, 39, 29, 0.1)",
},
fontFamily: {
heading: ["CursorGothic", 'Inter', 'system-ui', 'sans-serif'],
sans: ["CursorGothic / EB Garamond", 'Inter', 'system-ui', 'sans-serif'],
mono: ["berkeleyMono", 'ui-monospace', 'monospace'],
},
fontSize: { display: ["36px", { letterSpacing: "-0.02em", fontWeight: "400" }] },
borderRadius: { button: "9999px", card: "4px" },
boxShadow: { brand: "rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px" },
transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 0.2, 1)" },
},
},
};.cursor/skills/cursor-style/SKILL.md
--- name: cursor-style description: Build UI in the Cursor visual style (Warm Archival Paper & Frontier AI Research Craft). Use when the user asks for a Cursor-like look. --- # Cursor Style — Quick Rules (source: cursor.com, extracted by taste-skill) ## Tokens - canvasBg: #F7F7F4 — Primary Cursor page canvas - surfaceElevated: #F2F1ED — Primary elevated card & bento surface - surfaceSecondary: #F7F7F4 — Secondary interactive container / hover fill - borderPrimary: rgba(39, 39, 29, 0.1) — Primary structural divider (1px rgba(39,39,29,0.1)) - borderSecondary: rgba(38, 38, 26, 0.08) — Secondary nested module or pill border - textPrimary: #26251E — Hero H1, section H2 & high-contrast foreground - textMuted: rgba(38, 36, 29, 0.55) — Lead paragraphs, descriptions & muted labels - accentPrimary: #26251E — Primary interactive CTA & brand highlight (9999px (Pill)) - accentSecondary: rgba(18, 18, 18, 0.05) — Secondary badge, syntax or telemetry highlight ## Typography - Heading font: CursorGothic; body: CursorGothic / EB Garamond; mono: berkeleyMono - Hero H1: 26px | line-height 32.5px (leading-[1.25]) | letter-spacing -0.32px (tracking-[-0.012em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic - Section H2 (Primary): 36px | line-height 43.2px (leading-[1.2]) | letter-spacing -0.72px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic - Section H2 (Secondary): 22px | line-height 28.6px (leading-[1.3]) | letter-spacing -0.11px (tracking-[-0.005em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic - Card / Feature H3: 22px | line-height 28.6px (leading-[1.3]) | letter-spacing -0.11px (tracking-[-0.005em]) | weight 400 (font-[400]) | color #26251E (text-[#26251E]) | font CursorGothic ## Components - Primary button: height 27px, padding 5.6px 10.5px, radius 9999px, bg transparent, text #26251E, 14px / 400 - Card: bg #F2F1ED, border none, radius 10px, padding 0px 0px ## Never - NEVER substitute generic uncalibrated gray backgrounds for Cursor’s exact #F7F7F4 canvas and #F2F1ED surface pairing. - NEVER replace CursorGothic display typography or ignore its signature scale (36px / -0.02em (w400)). - NEVER use thick opaque borders that clash with rgba(39, 39, 29, 0.1) (1px rgba(39,39,29,0.1)). - NEVER deviate from the signature button geometry (9999px (Pill)) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with berkeleyMono. Full 120-line spec: https://taste-skill.pages.dev/taste/cursor/
Or install the full spec
npx taste-skill add cursor
Related
Cursor full token specCursor ButtonsCursor CardsCursor Pricing TableRaycast vs CursorCursor vs AnthropicCursor vs Notion
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →