---
name: musinsa-design-reference
provider: DesignSkill (https://designskill.dev)
reference: musinsa.com
source_url: https://www.musinsa.com/main/musinsa/recommend?gf=A
tool: designskill-extract/3.1.0
extracted_at: 2026-07-26T16:54:55.633Z
mode: full-render
classification: reference_only
---

# Musinsa — Design Reference (measured)

Measured design tokens extracted from `https://www.musinsa.com/main/musinsa/recommend?gf=A` by designskill-extract/3.1.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), 510 observation records.
- Primary action color observed as `#0f5fff` (basis: cross-validated, confidence 0.96).
- Dominant font family: **Pretendard** (×2224; secondary Hiragino Sans ×4).
- Type scale observed at 8 sizes from 10px to 20px.
- Corner radius values in use: 4px, 32px, 2px, 100px….
- Not observed in this extraction: cards, 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}` | `#0f5fff` | cross-validated | 0.96 | ×58 |
| `{color.background}` | `#fafafa` | declared | 0.92 | ×0 — --layout-bg-color |
| `{color.ink}` | `#000000` | cross-validated | 0.95 | ×1138 |
| `{color.muted}` | `#666666` | inferred | 0.7 | ×157 |
| `{color.surface}` | `#ffffff` | inferred | 0.7 | ×1635 |
| `{color.accent}` | `#f31110` | inferred | 0.65 | ×221 |

### 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` | 40.5% | color, background-color, border-color, --tw-ring-offset-color, --layout-bg-contents-color | ×1635 (cross-validated, 0.95) |
| `#000000` | 28.1% | background-color, color, border-color, --tw-shadow | ×1138 (cross-validated, 0.95) |
| `#ffffff` | 6.8% | color, border-color, background-color | ×273 (observed, 0.78) |
| `#f31110` | 5.5% | border-color, background-color, color, --tw-gradient-to | ×221 (cross-validated, 0.93) |
| `#666666` | 3.9% | color, border-color, background-color, fill | ×157 (cross-validated, 0.92) |
| `#ffffff` | 3.3% | background-color | ×135 (observed, 0.77) |
| `#ebebeb` | 3.2% | border-color, background-color, color, fill | ×128 (cross-validated, 0.92) |
| `#e0e0e0` | 1.4% | border-color, background-color, color, fill | ×58 (cross-validated, 0.91) |
| `#8a8a8a` | 1.3% | background-color | ×54 (observed, 0.76) |
| `#0f5fff` | 1.4% | background-color, color, border-color, --tw-gradient-to | ×58 (cross-validated, 0.91) |
| `#cccccc` | 0.7% | color, border-color, background-color, fill | ×27 (inferred, 0.6) |
| `#8a8a8a` | 0.7% | border-color, background-color, color, fill | ×27 (cross-validated, 0.9) |
| `#1a1b1f` | 0.6% | background-color, border-color, color, fill | ×26 (cross-validated, 0.9) |
| `#3a6eff` | 0.4% | background-color, color, border-color, fill | ×16 (cross-validated, 0.89) |
| `#f7e74b` | 0.3% | background-color, color | ×13 (cross-validated, 0.89) |
| `#4086fc` | 0.4% | color, --tw-ring-color | ×14 (cross-validated, 0.89) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Pretendard` | ×2224 |
| `Hiragino Sans` | ×4 |
| `PingFang SC` | ×4 |
| `PingFang TC` | ×4 |
| `ui-sans-serif` | ×1 |
| `ui-monospace` | ×1 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 20px | ×205 |
| `{type.h1}` | 18px | ×9 |
| `{type.h2}` | 16px | ×24 |
| `{type.h3}` | 14px | ×131 |
| `{type.body-lg}` | 13px | ×1436 |
| `{type.body}` | 12px | ×84 |
| `{type.body-sm}` | 11px | ×387 |
| `{type.caption}` | 10px | ×6 |

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

## Spacing

| Value | Observed |
|---|---|
| `8px` | ×610 |
| `6px` | ×516 |
| `4px` | ×425 |
| `12px` | ×301 |
| `2px` | ×244 |
| `5px` | ×90 |
| `14px` | ×60 |
| `24px` | ×53 |
| `20px` | ×24 |
| `16px` | ×22 |
| `18px` | ×18 |
| `10px` | ×14 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `4px` | ×305 |
| `32px` | ×140 |
| `2px` | ×45 |
| `100px` | ×36 |
| `40px` | ×6 |
| `8px` | ×5 |
| `18px` | ×3 |

## Elevation

| Shadow | Observed |
|---|---|
| `var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)` | ×4 |
| `var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)` | ×2 |
| `0 4px 6px rgba(0,0,0,.1)` | ×2 |

## Motion

| Duration | Observed |
|---|---|
| `0.1s` | ×190 |
| `0.3s` | ×6 |
| `.15s` | ×6 |
| `1s` | ×5 |
| `0.2s` | ×3 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#ffffff` · text `#000000` · radius `4px` · padding `5px 8px 5px 5px` · font `14px/400` | ×9 |
| form.input | bg `#ffffff` · text `#8a8a8a` · border `0px solid rgb(235, 235, 235)` · radius `4px` · padding `8px 28px 8px 8px` · height `36` | ×1 |
| nav | height `56px` · position `sticky` · link `#ffffff` | — |

### Interaction States (observed)

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

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#000000` | `#ffffff` | 21 | pass | observed ×276 |
| `#ffffff` | `#ffffff` | 1 | fail | observed ×164 |
| `#000000` | `#f0f0f0` | 18.43 | pass | observed ×138 |
| `#f31110` | `#ffffff` | 4.29 | fail | observed ×86 |
| `#666666` | `#f0f0f0` | 5.04 | pass | observed ×69 |
| `#ffffff` | `#0f5fff` | 5.12 | pass | observed ×64 |
| `#ffffff` | `#1a1b1f` | 17.21 | pass | observed ×55 |
| `#000000` | `#f5f5f5` | 19.26 | pass | observed ×42 |
| `#4086fc` | `#1a1b1f` | 4.94 | pass | observed ×6 |
| `#ff6b6b` | `#1a1b1f` | 6.2 | pass | observed ×6 |
| `#f7e74b` | `#1a1b1f` | 13.51 | pass | observed ×6 |
| `#f19053` | `#1a1b1f` | 7.25 | pass | observed ×6 |
| `#000000` | `#fafafa` | 20.12 | pass | ink_on_background |
| `#ffffff` | `#0f5fff` | 5.12 | pass | white_on_primary |
| `#666666` | `#fafafa` | 5.5 | 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}` (`#0f5fff`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#000000`) on `{color.background}` (`#fafafa`).
- Set all text in `Pretendard` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (4px, 32px, 2px, 100px) — 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 (cards, 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.

## Provenance

- Source: https://www.musinsa.com/main/musinsa/recommend?gf=A (1 page(s))
- Tool: designskill-extract/3.1.0 · extracted 2026-07-26T16:54:55.633Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 00, 01, 02, 03, 04, 05, 06, 09, 10, 11, 12 · missing: cards, badges
- Warning: primary 불일치: static=#245eff vs render=#0f5fff — render 채택

---

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