---
name: yanolja-design-reference
provider: DesignSkill (https://designskill.dev)
reference: nol.yanolja.com
source_url: https://nol.yanolja.com/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T07:44:04.456Z
mode: full-render
classification: reference_only
---

# Yanolja — Design Reference (measured)

Measured design tokens extracted from `https://nol.yanolja.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), 483 observation records.
- Primary action color observed as `#4154ff` (basis: cross-validated, confidence 0.98).
- Dominant font family: **Pretendard** (×2578; secondary ui-sans-serif ×1).
- Type scale observed at 8 sizes from 11px to 32px.
- Corner radius values in use: 12px, 16px, 6px, 20px….
- 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}` | `#4154ff` | cross-validated | 0.98 | ×50 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×965 |
| `{color.ink}` | `#1b1c1f` | cross-validated | 0.95 | ×1880 |
| `{color.muted}` | `#6e6f73` | inferred | 0.7 | ×191 |
| `{color.surface}` | `#f2f3f7` | inferred | 0.7 | ×580 |
| `{color.accent}` | `#e5000f` | inferred | 0.65 | ×258 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#1b1c1f` | 43.1% | color, background-color, border-color, fill | ×1880 (cross-validated, 0.95) |
| `#ffffff` | 22.1% | background-color, border-color, color, --tw-ring-offset-color, --tw-gradient-to | ×965 (cross-validated, 0.95) |
| `#f2f3f7` | 13.3% | background-color, border-color, color, --tw-gradient-to, fill | ×580 (cross-validated, 0.94) |
| `#e5000f` | 5.9% | background-color, color, border-color, caret-color | ×258 (cross-validated, 0.93) |
| `#6e6f73` | 4.4% | color, background-color | ×191 (cross-validated, 0.93) |
| `#000000` | 2.9% | background-color, border-color, color, box-shadow | ×125 (cross-validated, 0.92) |
| `#000000` | 1.7% | background-color | ×74 (observed, 0.76) |
| `#dadbdf` | 1.5% | background-color, color, border-color, --bubble-stroke | ×63 (cross-validated, 0.91) |
| `#000000` | 1.4% | background-color, border-color | ×62 (observed, 0.76) |
| `#4154ff` | 1.1% | color, background-color, border-color, outline | ×50 (cross-validated, 0.91) |
| `#ffffff` | 0.9% | background-color | ×40 (observed, 0.75) |
| `#8b8d92` | 0.3% | color, border-color | ×15 (inferred, 0.59) |
| `#dfe2ff` | 0.1% | background-color, border-color | ×5 (inferred, 0.58) |
| `#2432ad` | 0.1% | background-color | ×5 (inferred, 0.58) |
| `#8279ff` | 0.2% | background-color, border-color, box-shadow | ×7 (inferred, 0.58) |
| `#b6b7bb` | 0.1% | color | ×3 (inferred, 0.57) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Pretendard` | ×2578 |
| `ui-sans-serif` | ×1 |
| `ui-monospace` | ×1 |
| `swiper-icons` | ×1 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 32px | ×37 |
| `{type.h1}` | 20px | ×218 |
| `{type.h2}` | 18px | ×336 |
| `{type.h3}` | 16px | ×819 |
| `{type.body-lg}` | 14px | ×355 |
| `{type.body}` | 13px | ×406 |
| `{type.body-sm}` | 12px | ×337 |
| `{type.caption}` | 11px | ×82 |

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

## Spacing

| Value | Observed |
|---|---|
| `4px` | ×1042 |
| `2px` | ×917 |
| `16px` | ×519 |
| `10px` | ×307 |
| `8px` | ×290 |
| `20px` | ×100 |
| `6px` | ×65 |
| `12px` | ×64 |
| `40px` | ×62 |
| `24px` | ×58 |
| `32px` | ×56 |
| `3px` | ×30 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `12px` | ×525 |
| `16px` | ×264 |
| `6px` | ×234 |
| `20px` | ×183 |
| `28px` | ×58 |
| `24px` | ×25 |
| `10px` | ×11 |
| `8px` | ×10 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset` | ×84 |
| `#000000` | ×42 |
| `rgba(0, 0, 0, 0.1) 0px 0px 8px 0px` | ×26 |
| `var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)` | ×14 |
| `var(--core-ui-category-shadow,0 0 8px 0 rgba(0,0,0,.05))` | ×3 |
| `0 0 6px 0 rgba(0,0,0,.2)` | ×3 |

## Motion

| Duration | Observed |
|---|---|
| `0.3s` | ×140 |
| `0.15s` | ×38 |
| `0.16s` | ×20 |
| `0.1s` | ×18 |
| `0.2s` | ×10 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#ffffff` · text `#1b1c1f` · radius `999px` · padding `4px 16px` · font `16px/700` | ×6 |
| form.input | bg `#ffffff` · text `#1b1c1f` · border `0px solid rgb(27, 28, 31)` · radius `0px` · padding `0px` · height `19` | ×1 |
| nav | height `68px` · position `static` · link `#1b1c1f` | — |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.6) 80%);
```

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#1b1c1f` | `#ffffff` | 17.04 | pass | observed ×879 |
| `#ffffff` | `#ffffff` | 1 | fail | observed ×141 |
| `#e5000f` | `#ffffff` | 4.84 | pass | observed ×126 |
| `#6e6f73` | `#ffffff` | 5.02 | pass | observed ×47 |
| `#6e6f73` | `#f7f8fb` | 4.73 | pass | observed ×42 |
| `#1b1c1f` | `#f7f8fb` | 16.04 | pass | observed ×41 |
| `#ffffff` | `#000000` | 21 | pass | observed ×9 |
| `#000000` | `#ffffff` | 21 | pass | observed ×3 |
| `#1b1c1f` | `#ffffff` | 17.04 | pass | ink_on_background |
| `#ffffff` | `#4154ff` | 5.33 | pass | white_on_primary |
| `#6e6f73` | `#ffffff` | 5.02 | pass | muted_on_background |

1 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}` (`#4154ff`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#1b1c1f`) on `{color.background}` (`#ffffff`).
- Set all text in `Pretendard` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (12px, 16px, 6px, 20px) — 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://nol.yanolja.com/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T07:44:04.456Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 00, 01, 02, 03, 04, 05, 06, 09, 10, 11, 12 · missing: cards, badges
- Degraded stages (extraction failure ≠ design change — exclude from diffs): state-observation

---

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