---
name: zigzag-design-reference
provider: DesignSkill (https://designskill.dev)
reference: zigzag.kr
source_url: https://zigzag.kr/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T07:37:13.375Z
mode: full-render
classification: reference_only
---

# Zigzag — Design Reference (measured)

Measured design tokens extracted from `https://zigzag.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), 428 observation records.
- Primary action color observed as `#fee500` (basis: inferred, confidence 0.45).
- Dominant font family: **Pretendard JP** (×1285; secondary Pretendard ×14).
- Type scale observed at 8 sizes from 11px to 32px.
- Corner radius values in use: 4px, 100px, 8px, 16px….
- 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}` | `#fee500` | inferred | 0.45 | ×2 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×1191 |
| `{color.ink}` | `#1f2020` | cross-validated | 0.92 | ×115 |
| `{color.muted}` | `#878f91` | inferred | 0.7 | ×155 |
| `{color.surface}` | `#ecedee` | inferred | 0.7 | ×33 |
| `{color.accent}` | `#fa6ee3` | inferred | 0.57 | ×4 |

### 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` | 67.8% | color, background-color, --zds-color-palette-common-white | ×1191 (cross-validated, 0.95) |
| `#878f91` | 8.8% | color | ×155 (cross-validated, 0.92) |
| `#c6cbcd` | 4.9% | background-color, border-color | ×86 (observed, 0.76) |
| `#1f2020` | 6.6% | color, background-color | ×115 (cross-validated, 0.92) |
| `#292b2b` | 2.7% | color | ×48 (observed, 0.76) |
| `#ecedee` | 1.9% | background-color, border-color | ×33 (cross-validated, 0.9) |
| `#000000` | 1.3% | background-color, color, box-shadow | ×23 (inferred, 0.6) |
| `#000000` | 1.3% | background-color | ×22 (observed, 0.75) |
| `#121212` | 1.3% | color, --zds-component-chip-button-container-icon-wrapper-gradient | ×22 (cross-validated, 0.9) |
| `#fb4333` | 1.0% | color, --zds-color-semantic-brand-selected | ×17 (cross-validated, 0.89) |
| `#b3babd` | 0.7% | color | ×13 (cross-validated, 0.89) |
| `#606567` | 0.5% | color | ×8 (cross-validated, 0.88) |
| `#697175` | 0.2% | color | ×4 (inferred, 0.57) |
| `#a1a9ad` | 0.3% | color | ×5 (inferred, 0.58) |
| `#fa6ee3` | 0.2% | background-color, --zds-color-semantic-brand-zigzag | ×4 (inferred, 0.57) |
| `#fee500` | 0.1% | background-color, --zds-color-semantic-brand-kakao | ×2 (inferred, 0.57) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Pretendard JP` | ×1285 |
| `Pretendard` | ×14 |
| `monospace` | ×2 |
| `swiper-icons` | ×2 |
| `system-ui` | ×1 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 32px | ×408 |
| `{type.h1}` | 24px | ×205 |
| `{type.h2}` | 18px | ×215 |
| `{type.h3}` | 16px | ×33 |
| `{type.body-lg}` | 15px | ×12 |
| `{type.body}` | 13px | ×132 |
| `{type.body-sm}` | 12px | ×231 |
| `{type.caption}` | 11px | ×64 |

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

## Spacing

| Value | Observed |
|---|---|
| `54px` | ×612 |
| `8px` | ×398 |
| `6px` | ×188 |
| `4px` | ×109 |
| `2px` | ×61 |
| `16px` | ×48 |
| `10px` | ×38 |
| `5px` | ×36 |
| `12px` | ×33 |
| `14px` | ×18 |
| `3px` | ×12 |
| `20px` | ×6 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `4px` | ×965 |
| `100px` | ×21 |
| `8px` | ×12 |
| `16px` | ×12 |
| `12px` | ×6 |
| `2px` | ×4 |

## Elevation

| Shadow | Observed |
|---|---|
| `#000000` | ×4 |
| `var(--zds-shadow-medium)` | ×3 |
| `var(--zds-shadow-large)` | ×2 |
| `0 2px 6px #000` | ×1 |
| `0 8px 32px 0 rgba(0,0,0,.1)` | ×1 |
| `0 2px 4px 0 rgba(0,0,0,.2),inset 0 -1px 4px 0 rgba(0,0,0,.1)` | ×1 |

## Motion

| Duration | Observed |
|---|---|
| `0.25s` | ×230 |
| `0.1s` | ×12 |
| `.1s` | ×10 |
| `.3s` | ×4 |
| `9999s` | ×2 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#f1ecea` · text `#000000` · radius `0px` · padding `0px 17px` · font `16px/400` | ×1 |
| badge | bg `#242729` · text `#ffffff` · radius `100px` · font `12px/600` · padding `5px 12px` | ×1 |
| nav | bg `#ffffff` · height `52px` · position `relative` · link `#292b2b` | — |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
```

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#ffffff` | `#ffffff` | 1 | fail | observed ×462 |
| `#878f91` | `#f9fafa` | 3.15 | fail | observed ×60 |
| `#1f2020` | `#ffffff` | 16.33 | pass | observed ×34 |
| `#292b2b` | `#ffffff` | 14.24 | pass | observed ×24 |
| `#242729` | `#ffffff` | 15.03 | pass | observed ×17 |
| `#878f91` | `#ffffff` | 3.3 | fail | observed ×16 |
| `#121212` | `#ffffff` | 18.73 | pass | observed ×9 |
| `#fb4333` | `#ffffff` | 3.53 | fail | observed ×8 |
| `#b3babd` | `#f9fafa` | 1.88 | fail | observed ×6 |
| `#ffffff` | `#242729` | 15.03 | pass | observed ×3 |
| `#606567` | `#f9fafa` | 5.65 | pass | observed ×3 |
| `#1f2020` | `#ffffff` | 16.33 | pass | ink_on_background |
| `#ffffff` | `#fee500` | 1.28 | fail | white_on_primary |
| `#878f91` | `#ffffff` | 3.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}` (`#fee500`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#1f2020`) on `{color.background}` (`#ffffff`).
- Set all text in `Pretendard JP` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (4px, 100px, 8px, 16px) — 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.
- Treat `{color.primary}`, `{color.accent}` with caution — confidence below 0.6.

## Provenance

- Source: https://zigzag.kr/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T07:37:13.375Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 00, 01, 02, 03, 04, 05, 08, 09, 10, 11, 12 · missing: forms, cards
- Warning: primary 불일치: static=#fa6ee3 vs render=#fee500 — render 채택

---

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