---
name: hyundai-design-reference
provider: DesignSkill (https://designskill.dev)
reference: hyundai.com
source_url: https://www.hyundai.com/kr/ko/e
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:30:42.030Z
mode: full-render
classification: reference_only
---

# Hyundai — Design Reference (measured)

Measured design tokens extracted from `https://www.hyundai.com/kr/ko/e` 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), 712 observation records.
- Primary action color observed as `#002c5f` (basis: cross-validated, confidence 0.63).
- Dominant font family: **HyundaiSansTextKR** (×852; secondary HyundaiSansHeadKR ×789).
- Type scale observed at 8 sizes from 12px to 30px.
- Corner radius values in use: 6px, 15px, 10px, 4px….
- 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}` | `#002c5f` | cross-validated | 0.63 | ×229 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×728 |
| `{color.ink}` | `#000000` | cross-validated | 0.95 | ×1131 |
| `{color.muted}` | `#666666` | inferred | 0.7 | ×526 |
| `{color.surface}` | `#f6f3f2` | inferred | 0.7 | ×156 |
| `{color.accent}` | `#67c23a` | inferred | 0.6 | ×28 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#000000` | 26.2% | color, background-color, border-color, -webkit-box-shadow | ×1131 (cross-validated, 0.95) |
| `#ffffff` | 16.9% | color, background-color, border-color, -webkit-box-shadow | ×728 (cross-validated, 0.95) |
| `#666666` | 12.2% | color, border-color, background-color | ×526 (cross-validated, 0.94) |
| `#002c5f` | 5.3% | color, border-color, background-color, fill | ×229 (cross-validated, 0.93) |
| `#007fa8` | 4.1% | color, background-color, border-color | ×178 (cross-validated, 0.93) |
| `#f6f3f2` | 3.6% | background-color, border-color, -webkit-box-shadow | ×156 (cross-validated, 0.92) |
| `#999999` | 3.2% | color, background-color, border-color | ×139 (cross-validated, 0.92) |
| `#409eff` | 3.0% | color, border-color, background-color, -webkit-box-shadow | ×130 (inferred, 0.62) |
| `#000000` | 2.7% | background-color | ×116 (observed, 0.77) |
| `#c0c4cc` | 2.3% | color, border-color, background-color | ×97 (inferred, 0.62) |
| `#cccccc` | 2.5% | border-color, color, background-color, -webkit-box-shadow | ×108 (cross-validated, 0.92) |
| `#333333` | 3.3% | color, border-color, background-color | ×142 (cross-validated, 0.92) |
| `#444444` | 2.0% | background-color, border-color, color | ×85 (cross-validated, 0.91) |
| `#e5e5e5` | 2.5% | border-color, background-color, color | ×106 (cross-validated, 0.92) |
| `#909399` | 1.1% | color, background-color, border-color | ×48 (inferred, 0.61) |
| `#ebeef5` | 1.4% | border-color, background-color | ×62 (inferred, 0.61) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `HyundaiSansTextKR` | ×852 |
| `HyundaiSansHeadKR` | ×789 |
| `HyundaiSansHeadKRR` | ×210 |
| `HyundaiSansTextKRR` | ×182 |
| `Arial` | ×112 |
| `element-icons` | ×42 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 30px | ×74 |
| `{type.h1}` | 20px | ×99 |
| `{type.h2}` | 18px | ×104 |
| `{type.h3}` | 16px | ×742 |
| `{type.body-lg}` | 15px | ×112 |
| `{type.body}` | 14px | ×687 |
| `{type.body-sm}` | 13px | ×78 |
| `{type.caption}` | 12px | ×188 |

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

## Spacing

| Value | Observed |
|---|---|
| `10px` | ×496 |
| `20px` | ×283 |
| `30px` | ×282 |
| `6px` | ×211 |
| `12px` | ×203 |
| `40px` | ×156 |
| `15px` | ×125 |
| `13px` | ×114 |
| `5px` | ×93 |
| `7px` | ×88 |
| `4px` | ×56 |
| `18px` | ×56 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `6px` | ×92 |
| `15px` | ×56 |
| `10px` | ×41 |
| `4px` | ×29 |
| `3px` | ×18 |
| `2px` | ×14 |
| `20px` | ×13 |
| `1px` | ×8 |

## Elevation

| Shadow | Observed |
|---|---|
| `0 2px 12px 0 rgba(0,0,0,.1)` | ×28 |
| `0 1px 2px 0 rgba(0,0,0,.1)` | ×6 |
| `1px 2px 6px 2px rgba(0,0,0,.1)` | ×6 |
| `3px 3px 3px rgba(0,0,0,.026),-3px 3px 3px rgba(0,0,0,.026)` | ×6 |
| `rgba(0, 0, 0, 0.15) 0px 0px 20px 0px` | ×6 |
| `0 0 2px 2px #409eff` | ×4 |

## Motion

| Duration | Observed |
|---|---|
| `0.3s` | ×144 |
| `.3s` | ×50 |
| `0.2s` | ×42 |
| `0.4s` | ×34 |
| `.15s` | ×10 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#002c5f` · text `#ffffff` · radius `0px` · padding `16px 0px` · font `16px/400` | ×15 |
| badge | bg `#007fa8` · text `#000000` · radius `60%` · font `14px/400` · padding `0px` | ×1 |
| nav | height `80px` · position `absolute` · link `#000000` | — |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#000000` | `#f5f5f5` | 19.26 | pass | observed ×156 |
| `#000000` | `#f6f3f2` | 19.02 | pass | observed ×116 |
| `#666666` | `#f5f5f5` | 5.27 | pass | observed ×114 |
| `#000000` | `#000000` | 1 | fail | observed ×110 |
| `#ffffff` | `#000000` | 21 | pass | observed ×67 |
| `#666666` | `#000000` | 3.66 | fail | observed ×63 |
| `#999999` | `#1c1b1b` | 6.03 | pass | observed ×51 |
| `#ffffff` | `#002c5f` | 13.77 | pass | observed ×46 |
| `#333333` | `#f6f3f2` | 11.44 | pass | observed ×39 |
| `#444444` | `#ffffff` | 9.74 | pass | observed ×33 |
| `#002c5f` | `#f6f3f2` | 12.47 | pass | observed ×9 |
| `#002c5f` | `#ffffff` | 13.77 | pass | observed ×9 |
| `#000000` | `#ffffff` | 21 | pass | ink_on_background |
| `#ffffff` | `#002c5f` | 13.77 | pass | white_on_primary |
| `#666666` | `#ffffff` | 5.74 | pass | 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}` (`#002c5f`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#000000`) on `{color.background}` (`#ffffff`).
- Set all text in `HyundaiSansTextKR` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (6px, 15px, 10px, 4px) — 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://www.hyundai.com/kr/ko/e (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T09:30:42.030Z
- 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
- Warning: primary 불일치: static=#409eff vs render=#002c5f — render 채택

---

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