M

Medium

Consumer & Media · Editorial black and green — long-form writing with a publication-quality design system.

Color Palette

Primary

#1A8917

Secondary

#000000

Accent 1

#FFFFFF

Typography

Charter

The quick brown fox

jumps over the lazy dog

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Component Preview

Navigation Bar

Medium · Features · Pricing

#FFFFFF — accent

Spacing Scale (4px base)

4

8

16

24

32

48

.cursorrules
# Medium Design System — .cursorrules
# Generated by StyleExtract · styleextract.com/vault/medium

You are a senior frontend developer building UI that matches the Medium design system exactly.
Read this entire file before writing any component.

## Brand Identity
Company    : Medium
Primary    : #1A8917
Secondary  : #000000
Accent     : #FFFFFF
Font       : Charter, Georgia, serif
Radius     : 4px
Voice      : Editorial black and green — long-form writing with a publication-quality design system.

## CSS Custom Properties
```css
:root {
  --color-primary:   #1A8917;
  --color-secondary: #000000;
  --color-accent:    #FFFFFF;
  --color-text:      #FFFFFF;
  --color-surface:   #1C1C1E;
  --color-border:    #2C2C2E;
  --font-sans:       "Charter", system-ui, -apple-system, sans-serif;
  --radius:          4px;
}
```

## Tailwind Config
```js
// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        primary:   "#1A8917",
        secondary: "#000000",
        accent:    "#FFFFFF",
      },
      fontFamily: {
        sans: ["Charter", "system-ui", "sans-serif"],
      },
      borderRadius: {
        brand: "4px",
      },
    },
  },
};
```

## Typography
```
heading-font:    Charter, Georgia, serif
heading-weight:  700
heading-tracking: -0.02em
body-font:       Charter, Georgia, serif
body-size:       16px
body-line-height: 1.6
```

## Spacing Scale
Base: 4px  |  Scale: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96px
Never use arbitrary values like 13px, 22px, or 50px.

## Component Rules

### Primary Button
background-color: #1A8917
color: #FFFFFF
border-radius: 4px
padding: 12px 24px
font-weight: 600
font-size: 14px
transition: opacity 0.15s
&:hover { opacity: 0.88 }

### Secondary Button
background-color: transparent
border: 1.5px solid #1A8917
color: #1A8917
border-radius: 4px
padding: 11px 23px

### Card
background: #1C1C1E
border: 1px solid #2C2C2E
border-radius: 16px
padding: 24px
box-shadow: 0 1px 3px rgba(0,0,0,0.08)

### Navigation
background: #000000
color: #FFFFFF
height: 60px
padding: 0 24px
```

## Rules
DO:
- Use the exact hex values defined in CSS Custom Properties
- Maintain Medium's aesthetic: Editorial black and green — long-form writing with a publication-quality design system.
- Apply 4px base-unit spacing throughout
- Use Charter for all text elements
- Meet WCAG AA contrast (4.5:1 minimum for body text)

DON'T:
- Invent colors outside the defined palette
- Use system-default blue (#0000EE) for links — use var(--color-primary)
- Apply border-radius values not on the brand scale
- Use font-weight below 400 or above 900

2,611 characters

STYLE.mdAI Agent File
---
brand:
  name: "Medium"
  category: "Consumer & Media"
  primary: "#1A8917"
  secondary: "#000000"
  accent: "#FFFFFF"
typography:
  heading: "Charter, Georgia, serif"
  headingWeight: 700
  headingTracking: "-0.02em"
  body: "Charter, Georgia, serif"
  bodySize: "16px"
  lineHeight: 1.6
spacing:
  base: 4
  scale: [4, 8, 12, 16, 24, 32, 48, 64, 96]
shape:
  radiusSm: "4px"
  radiusMd: "4px"
  radiusLg: "16px"
  radiusXl: "24px"
---

# Medium Design System
> AI Agent Context — read this entire file before generating any UI for Medium
> Source: StyleExtract Vault · styleextract.com/vault/medium

## Brand Overview
Editorial black and green — long-form writing with a publication-quality design system.

## Color System

| Role      | Hex       | Usage                          |
|-----------|-----------|-------------------------------|
| Primary   | `#1A8917` | CTAs, links, key accents  |
| Secondary | `#000000` | Backgrounds, headings    |
| Accent    | `#FFFFFF` | Highlights, badges, icons |
| Surface   | `#1C1C1E` | Card backgrounds |
| Border    | `#2C2C2E` | Dividers, outlines |

ALWAYS use `#1A8917` for primary interactive elements and CTAs.
NEVER invent colors outside the palette above.

## Typography

- **Heading font**: Charter, Georgia, serif
- **Heading weight**: 700 / letter-spacing −0.02em
- **Body font**: Charter, Georgia, serif
- **Body size**: 16px / line-height 1.6

## Spacing System

Base unit is **4px**. Allowed values: 4, 8, 12, 16, 24, 32, 48, 64, 96px.
Never use arbitrary values.

## Component Patterns

### Buttons
```
Primary:   bg #1A8917  · text #FFFFFF  · rounded-[4px]  · px-6 py-3  · font-semibold
Secondary: transparent    · border-[#1A8917]       · text-[#1A8917]      · px-6 py-3
```

### Cards
```
bg white (dark: #1C1C1E) · border #E5E5E7 (dark: #2C2C2E) · rounded-2xl · p-6 · shadow-sm
```

### Navigation
```
bg #000000 · text #FFFFFF · h-[60px] · px-6 · logo-left · links-right
```

## Accessibility
- All text WCAG AA (4.5:1 minimum)
- Interactive targets: 44×44px minimum
- Never convey state via color alone

## Brand Voice
Editorial black and green — long-form writing with a publication-quality design system.

2,176 characters

How to use these files

  1. 1.Copy .cursorrules and paste it as a new file named .cursorrules in your project root.
  2. 2.Copy STYLE.md as STYLE.md in your repo root for Claude, Bolt.new, or any agent that reads Markdown context.
  3. 3.All subsequent AI-generated components will automatically match the Medium design system.

Need a custom brand?

Extract any live website in 30 seconds.

Get a custom .cursorrules, STYLE.md, 17-page PDF brand book, CSS variables, Tailwind config, Figma tokens, and AI brand voice — all generated from the live site.

Extract a brand →