---
name: posthog-design-reference
provider: DesignSkill (https://designskill.dev)
reference: posthog.com
source_url: https://posthog.com/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T08:22:56.719Z
mode: full-render
classification: reference_only
---

# PostHog — Design Reference (measured)

Measured design tokens extracted from `https://posthog.com/` by designskill-extract/3.2.0.
Every value below was observed in the live page (×N = observation count). Values not listed were **not observed** — do not invent them.
This document is `reference_only`: an analysis of a third-party site, not a license to its brand assets.

## Overview

- Extraction mode: **full-render** (viewports 390/768/1440px × light/dark), 1 page(s), 671 observation records.
- Primary action color observed as `#925d05` (basis: inferred, confidence 0.53).
- Dominant font family: **RoundHog** (×1043; secondary Source Code Pro ×22).
- Type scale observed at 8 sizes from 12px to 30px.
- Corner radius values in use: 4px, 6px, 2px, 8px….
- Not observed in this extraction: nav, forms, badges.

## Colors

### Role Tokens

Semantic roles inferred from observed usage. `basis` tells how the role was established (declared CSS var > cross-validated > inferred).

| Token | Value | Basis | Confidence | Observed |
|---|---|---|---|---|
| `{color.primary}` | `#925d05` | inferred | 0.53 | ×25 |
| `{color.background}` | `#1e1f23` | cross-validated | 0.93 | ×328 |
| `{color.ink}` | `#ffffff` | cross-validated | 0.94 | ×439 |
| `{color.muted}` | `#626674` | inferred | 0.7 | ×29 |
| `{color.surface}` | `#000000` | inferred | 0.7 | ×199 |
| `{color.accent}` | `#111827` | inferred | 0.65 | ×34 |

### Observed Palette

Full measured palette ordered by usage share. `Used in` lists the CSS properties the color appeared on.

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#d1d5db` | 15.5% | color | ×394 (observed, 0.79) |
| `#ffffff` | 17.3% | background-color, color, border-color, fill | ×439 (cross-validated, 0.94) |
| `#000000` | 7.8% | background-color, color, border-color, box-shadow, --tw-shadow | ×199 (cross-validated, 0.93) |
| `#1e1f23` | 12.9% | background-color, border-color, color, --tw-gradient-to, text-shadow | ×328 (cross-validated, 0.93) |
| `#f54e00` | 4.7% | background-color, color, border-color, --tw-gradient-to | ×119 (cross-validated, 0.92) |
| `#3e424f` | 7.4% | border-color, color, background-color | ×189 (observed, 0.78) |
| `#aeb3c2` | 3.1% | color | ×80 (observed, 0.76) |
| `#2f80fa` | 2.5% | background-color, border-color, color, --tw-gradient-to | ×64 (cross-validated, 0.91) |
| `#f7a501` | 2.4% | background-color, border-color, color, --tw-gradient-to | ×62 (cross-validated, 0.91) |
| `#eb9d2a` | 2.5% | background-color, border-color, color, --tw-gradient-to, --tw-gradient-from | ×63 (cross-validated, 0.91) |
| `#6aa84f` | 1.7% | background-color, border-color, color, fill | ×42 (cross-validated, 0.9) |
| `#111827` | 1.3% | --tw-prose-headings, color | ×34 (cross-validated, 0.9) |
| `#eeefe9` | 1.3% | background-color, border-color, color, --tw-gradient-to | ×34 (cross-validated, 0.9) |
| `#2d2e37` | 1.0% | background-color | ×25 (observed, 0.75) |
| `#626674` | 1.1% | color, border-color, --tw-prose-captions | ×29 (cross-validated, 0.9) |
| `#edeef4` | 0.9% | color | ×24 (observed, 0.75) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `RoundHog` | ×1043 |
| `Source Code Pro` | ×22 |
| `IBM Plex Sans Variable` | ×12 |
| `-apple-system` | ×4 |
| `Arial` | ×4 |
| `Impact` | ×4 |

Use **RoundHog** as the default family — it accounts for the overwhelming majority of observed text nodes.

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 30px | ×62 |
| `{type.h1}` | 18px | ×280 |
| `{type.h2}` | 17px | ×36 |
| `{type.h3}` | 16px | ×39 |
| `{type.body-lg}` | 15px | ×55 |
| `{type.body}` | 14px | ×494 |
| `{type.body-sm}` | 13px | ×144 |
| `{type.caption}` | 12px | ×39 |

The most frequently observed size is **14px** (×494) — treat it as the default body size.

## Spacing

| Value | Observed |
|---|---|
| `6px` | ×520 |
| `8px` | ×444 |
| `4px` | ×343 |
| `24px` | ×315 |
| `2px` | ×299 |
| `12px` | ×273 |
| `16px` | ×263 |
| `32px` | ×178 |
| `48px` | ×156 |
| `64px` | ×51 |
| `20px` | ×45 |
| `40px` | ×39 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `4px` | ×205 |
| `6px` | ×113 |
| `2px` | ×85 |
| `8px` | ×12 |
| `20px` | ×8 |
| `5px` | ×4 |

## Elevation

| Shadow | Observed |
|---|---|
| `#000000` | ×76 |
| `var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)` | ×30 |
| `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.25) 0px 25px 50px -12px` | ×18 |
| `var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)` | ×6 |
| `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.1) 0px 2px 4px -2px` | ×6 |
| `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(255, 255, 255, 0.4) 0px 0px 6px 2px` | ×6 |

## Motion

| Duration | Observed |
|---|---|
| `0.15s` | ×116 |
| `0.2s` | ×78 |
| `.15s` | ×23 |
| `0.7s` | ×9 |
| `.25s` | ×8 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#925d05` · text `#fafafa` · radius `6px` · padding `0px` · font `18px/600` | ×2 |
| button.outline | text `#d1d5db` · border `1px solid rgb(255, 255, 255)` · radius `0px` · padding `8px 12px` · font `18px` | ×2 |
| card | bg `#1e1f23` · radius `6px` · border `1px solid rgb(62, 66, 79)` · shadow `rgba(14, 18, 22, 0.35) 0px 10px 38px -10px, rgba(14, 18, 22, 0.2) 0px 10px 20px -15px` · padding `16px` | ×1 |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgb(253, 238, 205), rgb(255, 254, 244));
```

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| focus | background-color | `rgba(0, 0, 0, 0)` | `rgb(56, 58, 71)` |
| focus | background-color | `rgba(0, 0, 0, 0)` | `rgb(56, 58, 71)` |
| focus | background-color | `rgba(0, 0, 0, 0)` | `rgb(56, 58, 71)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#d1d5db` | `#1d1f27` | 11.16 | pass | observed ×124 |
| `#ffffff` | `#1d1f27` | 16.44 | pass | observed ×72 |
| `#374151` | `#eeefe9` | 8.91 | pass | observed ×66 |
| `#111827` | `#eeefe9` | 15.34 | pass | observed ×27 |
| `#d1d5db` | `#2d2e37` | 9.15 | pass | observed ×26 |
| `#aeb3c2` | `#1d1f27` | 7.85 | pass | observed ×20 |
| `#fafafa` | `#1e1f23` | 15.77 | pass | observed ×14 |
| `#ffffff` | `#eeefe9` | 1.16 | fail | observed ×13 |
| `#374151` | `#e5e7e0` | 8.26 | pass | observed ×13 |
| `#edeef4` | `#1d1f27` | 14.2 | pass | observed ×12 |
| `#65675e` | `#eeefe9` | 4.97 | pass | observed ×10 |
| `#aeb3c2` | `#1e1f23` | 7.86 | pass | observed ×10 |
| `#ffffff` | `#1e1f23` | 16.46 | pass | ink_on_background |
| `#ffffff` | `#925d05` | 5.54 | pass | white_on_primary |
| `#626674` | `#1e1f23` | 2.88 | fail | muted_on_background |

2 measured pair(s) fail AA — if you reuse those pairs, adjust lightness until the ratio reaches 4.5:1.

## Usage Rules

### Do
- Use `{color.primary}` (`#925d05`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#ffffff`) on `{color.background}` (`#1e1f23`).
- Set all text in `RoundHog` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (4px, 6px, 2px, 8px) — no intermediate values were observed.
- Cite this file's token names (`{color.*}`, `{type.*}`) when generating UI so output stays traceable to observations.

### Don't
- Don't invent colors, sizes, shadows, or spacing not listed above — absence means *not observed*, and this document records observations only.
- Don't assume the missing blocks (nav, forms, badges) don't exist on the site — they were simply not captured in this run.
- Don't copy brand assets (logo, wordmark, imagery, copy) — `reference_only` covers measured style values, not brand identity.
- Treat `{color.primary}` with caution — confidence below 0.6.

## Provenance

- Source: https://posthog.com/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T08:22:56.719Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 01, 02, 03, 04, 05, 07, 09, 10, 11, 12 · missing: nav, forms, badges
- Warning: primary 불일치: static=#f7a501 vs render=#925d05 — render 채택

---

<sub>Generated & served by [DesignSkill](https://designskill.dev)</sub>
