---
name: brunch-design-reference
provider: DesignSkill (https://designskill.dev)
reference: brunch.co.kr
source_url: https://brunch.co.kr/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:33:28.086Z
mode: full-render
classification: reference_only
---

# Brunch — Design Reference (measured)

Measured design tokens extracted from `https://brunch.co.kr/` 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), 763 observation records.
- Primary action color observed as `#00c6be` (basis: cross-validated, confidence 0.73).
- Dominant font family: **Noto Sans Light** (×1168; secondary Noto Sans DemiLight ×511).
- Type scale observed at 8 sizes from 11px to 28px.
- Corner radius values in use: 20px, 2px, 16px, 25px….
- Not observed in this extraction: forms, cards.

## 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}` | `#00c6be` | cross-validated | 0.73 | ×102 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×1148 |
| `{color.ink}` | `#333333` | cross-validated | 0.95 | ×750 |
| `{color.muted}` | `#959595` | inferred | 0.7 | ×702 |
| `{color.surface}` | `#eeeeee` | inferred | 0.7 | ×244 |
| `{color.accent}` | `#4e608e` | inferred | 0.65 | ×16 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#ffffff` | 29.3% | background-color, color, border-color, box-shadow | ×1148 (cross-validated, 0.95) |
| `#333333` | 19.2% | color, background-color, border-color, box-shadow | ×750 (cross-validated, 0.95) |
| `#959595` | 17.9% | color, border-color | ×702 (cross-validated, 0.94) |
| `#bfbfbf` | 10.4% | color, background-color, border-color | ×409 (cross-validated, 0.94) |
| `#eeeeee` | 6.2% | border-color, box-shadow, background-color | ×244 (cross-validated, 0.93) |
| `#dddddd` | 3.4% | border-color, background-color, color | ×133 (cross-validated, 0.92) |
| `#666666` | 2.7% | color, border-color | ×107 (cross-validated, 0.92) |
| `#00c6be` | 2.6% | color, border-color, background-color | ×102 (cross-validated, 0.92) |
| `#000000` | 2.1% | background-color, color, border-color, box-shadow | ×83 (cross-validated, 0.91) |
| `#111111` | 2.0% | color, background-color | ×78 (cross-validated, 0.91) |
| `#ede2df` | 0.8% | margin-top, background-color | ×32 (cross-validated, 0.9) |
| `#4e608e` | 0.4% | background-color | ×16 (observed, 0.74) |
| `#8e5b4e` | 0.4% | background-color | ×16 (observed, 0.74) |
| `#000000` | 0.4% | background-color | ×16 (observed, 0.74) |
| `#cacaca` | 0.3% | color | ×12 (observed, 0.74) |
| `#000000` | 0.3% | color | ×12 (observed, 0.74) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Noto Sans Light` | ×1168 |
| `Noto Sans DemiLight` | ×511 |
| `Georgia` | ×459 |
| `Nanum Myeongjo` | ×279 |
| `Pretendard JP Variable` | ×73 |
| `SF Pro Bold` | ×17 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 28px | ×46 |
| `{type.h1}` | 26px | ×68 |
| `{type.h2}` | 20px | ×68 |
| `{type.h3}` | 16px | ×250 |
| `{type.body-lg}` | 14px | ×315 |
| `{type.body}` | 13px | ×164 |
| `{type.body-sm}` | 12px | ×1342 |
| `{type.caption}` | 11px | ×133 |

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

## Spacing

| Value | Observed |
|---|---|
| `3px` | ×408 |
| `22px` | ×390 |
| `10px` | ×268 |
| `4px` | ×239 |
| `12px` | ×228 |
| `30px` | ×145 |
| `5px` | ×122 |
| `14px` | ×101 |
| `19px` | ×96 |
| `20px` | ×95 |
| `46px` | ×78 |
| `17px` | ×54 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `20px` | ×105 |
| `2px` | ×24 |
| `16px` | ×20 |
| `25px` | ×18 |
| `30px` | ×9 |
| `15px` | ×4 |
| `40px` | ×4 |
| `42px` | ×3 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgba(0, 0, 0, 0.1) 0px 10px 20px 0px` | ×12 |
| `#000000` | ×7 |
| `#eeeeee` | ×3 |
| `0 1px #eee` | ×3 |
| `#333333` | ×2 |
| `1px 1px 0 hsla(0,0%,100%,.06)` | ×2 |

## Motion

| Duration | Observed |
|---|---|
| `0.3s` | ×200 |
| `0.2s` | ×34 |
| `.3s` | ×8 |
| `0.5s` | ×6 |
| `.2s` | ×5 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#ffffff` · text `#00c6be` · radius `16px` · padding `0px` · font `13px/400` | ×1 |
| button.outline | text `#333333` · border `1px solid rgb(221, 221, 221)` · radius `30px` · padding `0px 15px 0px 23px` · font `14px` | ×1 |
| badge | bg `#ffffff` · text `#959595` · radius `20px` · font `12px/400` · padding `4px 10px` | ×14 |
| nav | height `60px` · position `static` · link `#333333` | — |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.11)), none;
```

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| focus | outline-color | `rgb(51, 51, 51)` | `rgb(0, 95, 204)` |
| focus | outline-width | `3px` | `1px` |
| focus | outline-color | `rgb(102, 102, 102)` | `rgb(0, 95, 204)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#959595` | `#ffffff` | 3 | fail | observed ×318 |
| `#ffffff` | `#ffffff` | 1 | fail | observed ×300 |
| `#333333` | `#ffffff` | 12.63 | pass | observed ×243 |
| `#bfbfbf` | `#ffffff` | 1.84 | fail | observed ×114 |
| `#bfbfbf` | `#101010` | 10.35 | pass | observed ×45 |
| `#bbbbbb` | `#ffffff` | 1.92 | fail | observed ×30 |
| `#666666` | `#ffffff` | 5.74 | pass | observed ×27 |
| `#111111` | `#ffffff` | 18.88 | pass | observed ×24 |
| `#000000` | `#ffffff` | 21 | pass | observed ×17 |
| `#00c6be` | `#ffffff` | 2.14 | fail | observed ×12 |
| `#ffffff` | `#8e5b4e` | 5.59 | pass | observed ×12 |
| `#ffffff` | `#101010` | 19.03 | pass | observed ×9 |
| `#333333` | `#ffffff` | 12.63 | pass | ink_on_background |
| `#ffffff` | `#00c6be` | 2.14 | fail | white_on_primary |
| `#959595` | `#ffffff` | 3 | fail | muted_on_background |

7 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}` (`#00c6be`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#333333`) on `{color.background}` (`#ffffff`).
- Set all text in `Noto Sans Light` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (20px, 2px, 16px, 25px) — 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 (forms, cards) 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.

## Provenance

- Source: https://brunch.co.kr/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T09:33:28.086Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 00, 01, 02, 03, 04, 05, 08, 09, 10, 11, 12 · missing: forms, cards
- Degraded stages (extraction failure ≠ design change — exclude from diffs): state-observation

---

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