---
name: ssfshop-design-reference
provider: DesignSkill (https://designskill.dev)
reference: ssfshop.com
source_url: https://www.ssfshop.com/main
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:27:16.201Z
mode: full-render
classification: reference_only
---

# SSFShop — Design Reference (measured)

Measured design tokens extracted from `https://www.ssfshop.com/main` 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), 557 observation records.
- Primary action color observed as `#7e00ff` (basis: inferred, confidence 0.9).
- Dominant font family: **Pretendard** (×5536; secondary SSF_Bold ×6).
- Type scale observed at 8 sizes from 11px to 32px.
- Corner radius values in use: 12px, 4px, 2px, 70px….
- Not observed in this extraction: forms, 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}` | `#7e00ff` | inferred | 0.9 | ×390 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×2025 |
| `{color.ink}` | `#111111` | cross-validated | 0.95 | ×2091 |
| `{color.muted}` | `#969696` | inferred | 0.7 | ×438 |
| `{color.surface}` | `#efefef` | inferred | 0.7 | ×436 |
| `{color.accent}` | `#00a99e` | inferred | 0.58 | ×6 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#111111` | 30.3% | background-color, custom-property, color, border-color | ×2091 (cross-validated, 0.95) |
| `#ffffff` | 29.4% | background-color, color, --white, border-color | ×2025 (cross-validated, 0.95) |
| `#b0b0b0` | 9.5% | color, background-color, border-color | ×652 (cross-validated, 0.94) |
| `#7e00ff` | 5.7% | background-color, color | ×390 (observed, 0.79) |
| `#969696` | 6.3% | custom-property, color, border-color, background-color | ×438 (cross-validated, 0.94) |
| `#dcc3fe` | 2.8% | color | ×192 (observed, 0.78) |
| `#000000` | 2.2% | background-color, border-color, box-shadow, custom-property, color | ×151 (cross-validated, 0.92) |
| `#767676` | 2.2% | color, custom-property | ×150 (cross-validated, 0.92) |
| `#efefef` | 6.3% | background-color, border-color | ×436 (cross-validated, 0.94) |
| `#d5d5d5` | 1.5% | border-color, background-color, color | ×105 (inferred, 0.62) |
| `#c9c9c9` | 1.0% | color | ×66 (observed, 0.76) |
| `#f0e5fa` | 0.4% | border-color | ×28 (inferred, 0.6) |
| `#e5e5e5` | 0.4% | border-color, background-color, box-shadow | ×25 (cross-validated, 0.9) |
| `#333333` | 0.3% | color, background-color | ×21 (inferred, 0.59) |
| `#a4a4a4` | 0.3% | color | ×20 (inferred, 0.59) |
| `#f7eeff` | 0.3% | background-color | ×19 (inferred, 0.59) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Pretendard` | ×5536 |
| `SSF_Bold` | ×6 |
| `SamsungOneKoreanOTF` | ×4 |
| `SSF_Regular` | ×3 |
| `system-ui` | ×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 | ×306 |
| `{type.h1}` | 21px | ×132 |
| `{type.h2}` | 17px | ×546 |
| `{type.h3}` | 15px | ×1308 |
| `{type.body-lg}` | 14px | ×2045 |
| `{type.body}` | 13px | ×246 |
| `{type.body-sm}` | 12px | ×420 |
| `{type.caption}` | 11px | ×462 |

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

## Spacing

| Value | Observed |
|---|---|
| `10px` | ×965 |
| `12px` | ×742 |
| `8px` | ×728 |
| `6px` | ×677 |
| `20px` | ×537 |
| `40px` | ×487 |
| `22px` | ×432 |
| `30px` | ×403 |
| `4px` | ×276 |
| `15px` | ×181 |
| `2px` | ×180 |
| `5px` | ×166 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `12px` | ×231 |
| `4px` | ×90 |
| `2px` | ×61 |
| `70px` | ×36 |
| `6px` | ×13 |
| `3px` | ×12 |
| `20px` | ×6 |
| `5px` | ×6 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgba(0, 0, 0, 0.08) 0px 0px 8px 0px` | ×13 |
| `#000000` | ×10 |
| `0 0 8px rgba(0,0,0,.08)` | ×3 |
| `0 0 0 1000px #fff inset!important` | ×2 |
| `0 0 8px 0 rgba(0,0,0,.08)` | ×2 |
| `0 0 2px var(--white)` | ×2 |

## Motion

| Duration | Observed |
|---|---|
| `.5s` | ×55 |
| `.3s` | ×27 |
| `0.5s` | ×19 |
| `1s` | ×8 |
| `0.3s` | ×6 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.outline | text `#111111` · border `1px solid rgb(229, 229, 229)` · radius `6px` · padding `12px 0px 12px 14px` · font `14px` | ×1 |
| nav | height `162px` · position `relative` · link `#c9c9c9` | — |

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| focus | outline-width | `3px` | `0px` |
| focus | outline-width | `3px` | `0px` |
| focus | outline-width | `3px` | `0px` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#111111` | `#ffffff` | 18.88 | pass | observed ×987 |
| `#ffffff` | `#ffffff` | 1 | fail | observed ×855 |
| `#b0b0b0` | `#ffffff` | 2.17 | fail | observed ×309 |
| `#969696` | `#ffffff` | 2.96 | fail | observed ×189 |
| `#7e00ff` | `#ffffff` | 6.3 | pass | observed ×189 |
| `#dcc3fe` | `#ffffff` | 1.58 | fail | observed ×96 |
| `#c9c9c9` | `#ffffff` | 1.66 | fail | observed ×27 |
| `#767676` | `#f5f5f5` | 4.17 | fail | observed ×21 |
| `#767676` | `#ffffff` | 4.54 | pass | observed ×15 |
| `#c9c9c9` | `#000000` | 12.68 | pass | observed ×6 |
| `#ffffff` | `#111111` | 18.88 | pass | observed ×3 |
| `#111111` | `#f5f5f5` | 17.32 | pass | observed ×3 |
| `#111111` | `#ffffff` | 18.88 | pass | ink_on_background |
| `#ffffff` | `#7e00ff` | 6.3 | pass | white_on_primary |
| `#969696` | `#ffffff` | 2.96 | 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}` (`#7e00ff`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#111111`) on `{color.background}` (`#ffffff`).
- Set all text in `Pretendard` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (12px, 4px, 2px, 70px) — 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, 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.
- Treat `{color.accent}` with caution — confidence below 0.6.

## Provenance

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

---

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