{
  "id": "cursor",
  "version": "1.0.0",
  "name": "Cursor",
  "description": "Cursor is an AI-first code editor — a fork of VS Code engineered around long-context model reasoning, project-wide edit operations, and an agentic terminal. The marketing surface at cursor.com reads as quietly editorial rather than loud-tech: a warm \"Sand\" near-paper canvas, deep \"Cursor Ink\" text, and a single hot \"Cursor Orange\" (#F54E00) accent. Product chrome inverts to a \"Cursor Night\" dark canvas with ANSI-aligned semantic greens and reds. Typography on the marketing site is Cursor's proprietary \"CursorGothic\" sans with a \"BerkeleyMono\" mono pair; neither is publicly distributed.\n",
  "provenance": {
    "source": "https://www.cursor.com/",
    "license": "Proprietary — All Rights Reserved",
    "attribution": "Cursor and the Cursor mark are trademarks of Anysphere, Inc. Visual identity captured from the deployed stylesheet on cursor.com (--color-theme-*, --color-bg, --color-accent, --font-mono token families).\n",
    "importedDate": "2026-05-19",
    "notes": "Derived from live site CSS at https://www.cursor.com/ on 2026-05-19; no public brand guide located. The proprietary \"CursorGothic\" sans is declared via @font-face on cursor.com but is not publicly distributed; Inter is the open-source rendering substitute. The proprietary \"BerkeleyMono\" mono is not publicly distributed; JetBrains Mono Nerd Font is the open-source rendering substitute. Although Cursor's product chrome (the IDE itself) is dark-first, the marketing brand surface is light-first — `identity` is therefore mapped to the sand canvas rather than the night canvas.\n"
  },
  "tags": [
    "cursor",
    "ai",
    "developer-tools",
    "code-editor",
    "warm",
    "light-first",
    "paper"
  ],
  "palette": {
    "ref": "cursor@1.0.0",
    "swatches": [
      {
        "id": "sand-canvas",
        "name": "Sand Canvas",
        "value": "#F7F7F4",
        "description": "Page canvas — the warm near-paper surface cursor.com reads against.",
        "aliases": []
      },
      {
        "id": "sand-card",
        "name": "Sand Card",
        "value": "#F2F1ED",
        "description": "Subtle elevated card surface; one step warmer than canvas.",
        "aliases": []
      },
      {
        "id": "sand-card-hover",
        "name": "Sand Card Hover",
        "value": "#EBEAE5",
        "description": "Hover state for card surfaces on the sand canvas.",
        "aliases": []
      },
      {
        "id": "sand-border",
        "name": "Sand Border",
        "value": "#E1E0DB",
        "description": "Quiet divider on the sand canvas; near-canvas border.",
        "aliases": []
      },
      {
        "id": "cursor-ink",
        "name": "Cursor Ink",
        "value": "#26251E",
        "description": "Primary text on sand canvas; dark-mode canvas inversion.",
        "aliases": []
      },
      {
        "id": "cursor-ink-secondary",
        "name": "Cursor Ink Secondary",
        "value": "#4A443B",
        "description": "Secondary text; muted ink for body copy de-emphasis.",
        "aliases": []
      },
      {
        "id": "cursor-ink-tertiary",
        "name": "Cursor Ink Tertiary",
        "value": "#76716A",
        "description": "Tertiary text / caption ink; quiet metadata.",
        "aliases": []
      },
      {
        "id": "cursor-orange",
        "name": "Cursor Orange",
        "value": "#F54E00",
        "description": "Cursor's signature hot orange accent — the brand's primary action color.",
        "aliases": []
      },
      {
        "id": "cursor-orange-pressed",
        "name": "Cursor Orange Pressed",
        "value": "#DB7042",
        "description": "Pressed / muted variant of cursor orange used on hover-secondary surfaces.",
        "aliases": []
      },
      {
        "id": "cursor-green",
        "name": "Cursor Green",
        "value": "#1F8A65",
        "description": "ANSI-aligned success green from the product UI.",
        "aliases": []
      },
      {
        "id": "cursor-red",
        "name": "Cursor Red",
        "value": "#CF2D56",
        "description": "ANSI-aligned error red from the product UI.",
        "aliases": []
      },
      {
        "id": "cursor-night",
        "name": "Cursor Night",
        "value": "#1A1A17",
        "description": "Dark-mode canvas — the inverted product chrome surface.",
        "aliases": []
      },
      {
        "id": "cursor-night-elevated",
        "name": "Cursor Night Elevated",
        "value": "#26251E",
        "description": "Elevated surface in dark mode; one step above canvas.",
        "aliases": []
      },
      {
        "id": "cursor-night-border",
        "name": "Cursor Night Border",
        "value": "#3C3933",
        "description": "Quiet divider on the cursor-night canvas.",
        "aliases": []
      }
    ],
    "modes": {
      "light": {
        "roles": {
          "background": "sand-canvas",
          "surface": "sand-card",
          "surface-elevated": "sand-card-hover",
          "text-primary": "cursor-ink",
          "text-secondary": "cursor-ink-secondary",
          "text-tertiary": "cursor-ink-tertiary",
          "primary": "cursor-orange",
          "primary-hover": "cursor-orange-pressed",
          "accent": "cursor-orange",
          "accent-hover": "cursor-orange-pressed",
          "success": "cursor-green",
          "warning": "cursor-orange",
          "error": "cursor-red",
          "border": "sand-border"
        }
      },
      "dark": {
        "roles": {
          "background": "cursor-night",
          "surface": "cursor-night-elevated",
          "surface-elevated": "cursor-ink-secondary",
          "text-primary": "sand-canvas",
          "text-secondary": "sand-card-hover",
          "text-tertiary": "cursor-ink-tertiary",
          "primary": "cursor-orange",
          "primary-hover": "cursor-orange-pressed",
          "accent": "cursor-orange",
          "accent-hover": "cursor-orange-pressed",
          "success": "cursor-green",
          "warning": "cursor-orange",
          "error": "cursor-red",
          "border": "cursor-night-border"
        }
      }
    }
  },
  "fonts": [
    {
      "role": "heading",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "body",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "mono",
      "ref": "jetbrainsmono-nerdfont@1.0.0",
      "family": "JetBrainsMono Nerd Font",
      "classification": "monospace",
      "source": {
        "kind": "external",
        "family": "JetBrainsMono Nerd Font",
        "notes": "Nerd-Font-patched build of JetBrains Mono. Not available via Google Fonts. Download woff2/ttf files from the Nerd Fonts GitHub release and self-host, or install system-wide for terminal/IDE use.\n"
      },
      "fallbackStack": [
        "JetBrains Mono",
        "Fira Code",
        "Menlo",
        "Monaco",
        "Consolas",
        "Liberation Mono",
        "monospace"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        }
      ]
    }
  ],
  "roles": {
    "colors": {
      "identity": "sand-canvas",
      "on-identity": "cursor-ink",
      "primary": "cursor-orange",
      "primary-hover": "cursor-orange-pressed",
      "accent": "cursor-orange",
      "accent-hover": "cursor-orange-pressed",
      "mark": "cursor-ink",
      "success": "cursor-green",
      "warning": "cursor-orange",
      "error": "cursor-red",
      "text-primary-light": "cursor-ink",
      "text-primary-dark": "sand-canvas",
      "background-light": "sand-canvas",
      "background-dark": "cursor-night",
      "surface-light": "sand-card",
      "surface-dark": "cursor-night-elevated",
      "text-secondary-light": "cursor-ink-secondary",
      "text-tertiary-light": "cursor-ink-tertiary",
      "border-light": "sand-border"
    },
    "typography": {
      "display": "heading",
      "prose": "body",
      "code": "mono"
    }
  },
  "assets": [],
  "rules": [
    {
      "type": "contrastRatio",
      "target": "text-primary",
      "severity": "error",
      "rationale": "Cursor Ink (#26251E) on Sand Canvas (#F7F7F4) reads at ~15:1 — comfortably above WCAG AA. The brand's editorial posture and long-form documentation rewards holding the AA floor decisively rather than nudging into AAA-only territory.\n",
      "against": "background",
      "minRatio": 4.5,
      "standard": "WCAG-AA"
    },
    {
      "type": "colorChoice",
      "target": "roles.colors.primary",
      "severity": "error",
      "rationale": "Cursor Orange (#F54E00) is the single hot accent on the cursor.com marketing surface (--color-theme-accent on the live site). The product greens and reds are reserved for ANSI semantic states and must not stand in for the primary brand action color; the inks are text, not action.\n",
      "allowed": [
        "cursor-orange",
        "cursor-orange-pressed"
      ],
      "forbidden": [
        "cursor-green",
        "cursor-red",
        "cursor-ink",
        "sand-card"
      ]
    },
    {
      "type": "colorChoice",
      "target": "roles.colors.mark",
      "severity": "error",
      "rationale": "The Cursor wordmark on the live marketing site renders in Cursor Ink on light canvas or Sand Canvas on the night canvas — monochromatic, not orange. The orange is an action accent, not a logo fill.\n",
      "allowed": [
        "cursor-ink",
        "sand-canvas"
      ],
      "forbidden": [
        "cursor-orange",
        "cursor-green",
        "cursor-red"
      ]
    },
    {
      "type": "forbiddenTreatment",
      "target": "logo",
      "severity": "error",
      "rationale": "Cursor's identity is restrained by design. Recolored, skewed, or gradient-filled marks conflict with the quiet, editorial voice of the cursor.com surface.\n",
      "treatments": [
        "stretched",
        "rotated",
        "recolored",
        "drop-shadow",
        "gradient-fill",
        "on-busy-photo"
      ]
    },
    {
      "type": "enumMembership",
      "target": "typography.heading.fontWeight",
      "severity": "warning",
      "rationale": "The live cursor.com surface renders display headings in the 400–600 weight band on the proprietary CursorGothic face. Heavier weights (700+) push the brand into a louder marketing voice than the editorial baseline supports.\n",
      "allowed": [
        "400",
        "500",
        "600"
      ]
    },
    {
      "type": "fontPairing",
      "target": "typography.code",
      "severity": "recommendation",
      "rationale": "Cursor pairs its proprietary BerkeleyMono with the sans for inline code on the marketing site; JetBrains Mono Nerd Font (the open-source substitute) reads cleanly at 0.875× of the body size and preserves the editorial rhythm.\n",
      "requires": "prose",
      "minSizeRatio": 0.875
    },
    {
      "type": "contextRestriction",
      "target": "roles.colors.warning",
      "severity": "error",
      "rationale": "Cursor Orange does double duty as accent + warning on the live site (--color-warning aliases to --color-theme-accent). The error state is the separate Cursor Red (#CF2D56) — orange must not stand in for destructive or failure states.\n",
      "allowedContexts": [
        "call-to-action",
        "inline-highlight",
        "product-emphasis"
      ],
      "forbiddenContexts": [
        "error-state",
        "destructive-action"
      ]
    },
    {
      "type": "accessibilityRequirement",
      "target": "*",
      "severity": "error",
      "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The sand canvas and Cursor Ink combination starts well above AA; consumers must hold that floor when adapting the palette.\n",
      "standard": "WCAG-AA",
      "criterion": "1.4.3"
    },
    {
      "type": "compositionConstraint",
      "target": "roles.colors.primary",
      "severity": "recommendation",
      "rationale": "Cursor Orange is calibrated to read on the warm sand canvas and on the cursor-night dark canvas. Pairing it adjacent to the ANSI green or red introduces a chromatic conflict — three saturated hues competing — that breaks the calm one-accent voice of the brand.\n",
      "pairsWith": [
        "sand-canvas",
        "sand-card",
        "cursor-night",
        "cursor-ink"
      ],
      "doesNotPairWith": [
        "cursor-red",
        "cursor-green"
      ]
    }
  ]
}
