---
name: toss-design-reference
provider: DesignSkill (https://designskill.dev)
reference: toss.im
source_url: https://toss.im/
tool: designskill-extract/3.1.0
extracted_at: 2026-07-26T16:49:41.519Z
mode: full-render
classification: reference_only
---

# Toss — Design Reference (measured)

Measured design tokens extracted from `https://toss.im/` 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), 612 observation records.
- Primary action color observed as `#e8f3ff` (basis: declared, confidence 0.92).
- Dominant font family: **Toss Product Sans** (×1512; secondary Basier Square ×10).
- Type scale observed at 8 sizes from 13px to 40px.
- Corner radius values in use: 8px, 6px, 4px, 7px….
- 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}` | `#e8f3ff` | declared | 0.92 | ×31 — --tPrimaryWeakButtonBackground |
| `{color.background}` | `#ffffff` | cross-validated | 0.94 | ×437 |
| `{color.ink}` | `#333d4b` | cross-validated | 0.93 | ×235 |
| `{color.muted}` | `#6b7684` | inferred | 0.7 | ×398 |
| `{color.surface}` | `#f2f4f6` | inferred | 0.61 | ×60 |
| `{color.accent}` | `#e42939` | inferred | 0.6 | ×26 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#6b7684` | 17.9% | color, background-color, stroke, custom-property | ×398 (cross-validated, 0.94) |
| `#ffffff` | 19.6% | background-color, color, --tgradienttotop, custom-property | ×437 (cross-validated, 0.94) |
| `#333d4b` | 10.6% | color, background-color, custom-property | ×235 (cross-validated, 0.93) |
| `#3182f6` | 6.3% | color, background-color, border-color, box-shadow, custom-property | ×141 (cross-validated, 0.92) |
| `#4e5968` | 4.7% | color, background-color, --tdarkfillbuttonbackground, custom-property | ×104 (cross-validated, 0.92) |
| `#191f28` | 5.1% | color, background-color, --ttoastbackground, custom-property, --tlayeredgradienttotop | ×114 (cross-validated, 0.92) |
| `#000000` | 3.5% | background-color, color, box-shadow | ×79 (cross-validated, 0.91) |
| `#022047` | 4.1% | background-color, border-color, color, box-shadow | ×91 (cross-validated, 0.92) |
| `#8b95a1` | 3.2% | color, background-color, -webkit-text-fill-color, custom-property | ×72 (cross-validated, 0.91) |
| `#b0b8c1` | 3.1% | color, border-color, background-color, -webkit-text-fill-color, custom-property | ×69 (cross-validated, 0.91) |
| `#f2f4f6` | 2.7% | background-color, color, border-color, --adaptivegreybackground, custom-property | ×60 (inferred, 0.61) |
| `#001b37` | 3.5% | border-color, background-color, color, box-shadow | ×78 (inferred, 0.61) |
| `#d1d6db` | 1.6% | color, border-color, background-color, box-shadow, custom-property | ×36 (cross-validated, 0.9) |
| `#e5e8eb` | 1.4% | background-color, border-color, color, --adaptivehairlineborder, custom-property | ×31 (inferred, 0.6) |
| `#e8f3ff` | 1.4% | background-color, color, --tprimaryweakbuttonbackground, custom-property | ×31 (cross-validated, 0.9) |
| `#1b64da` | 1.4% | color, background-color, border-color, --tbluebadgecolor, custom-property | ×31 (cross-validated, 0.9) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Toss Product Sans` | ×1512 |
| `Basier Square` | ×10 |
| `sf` | ×6 |
| `SD Gothic Neo` | ×3 |
| `monospace` | ×2 |
| `sans-serif` | ×2 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 40px | ×38 |
| `{type.h1}` | 28px | ×66 |
| `{type.h2}` | 22px | ×36 |
| `{type.h3}` | 20px | ×32 |
| `{type.body-lg}` | 18px | ×31 |
| `{type.body}` | 17px | ×37 |
| `{type.body-sm}` | 15px | ×355 |
| `{type.caption}` | 13px | ×149 |

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

## Spacing

| Value | Observed |
|---|---|
| `12px` | ×149 |
| `8px` | ×133 |
| `4px` | ×129 |
| `10px` | ×124 |
| `24px` | ×84 |
| `5px` | ×83 |
| `6px` | ×79 |
| `16px` | ×78 |
| `20px` | ×67 |
| `30px` | ×65 |
| `100px` | ×48 |
| `2px` | ×44 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `8px` | ×53 |
| `6px` | ×19 |
| `4px` | ×18 |
| `7px` | ×18 |
| `22px` | ×18 |
| `12px` | ×14 |
| `16px` | ×10 |
| `5px` | ×8 |

## Elevation

| Shadow | Observed |
|---|---|
| `#001b37` | ×26 |
| `#022047` | ×22 |
| `#3182f6` | ×10 |
| `#000000` | ×8 |
| `#001733` | ×8 |
| `inset 0 0 0 2px #3182f6` | ×7 |

## Motion

| Duration | Observed |
|---|---|
| `0.2s` | ×50 |
| `.2s` | ×30 |
| `.1s` | ×12 |
| `.25s` | ×4 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#e8f3ff` · text `#1b64da` · radius `7px` · padding `11px 16px` · font `15px/600` | ×1 |
| nav | bg `#ffffff` · height `60px` · position `fixed` · link `#007bff` | — |

### Hero Gradient (observed)

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

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| hover | background-color | `rgba(0, 0, 0, 0)` | `rgba(2, 32, 71, 0.05)` |
| hover | color | `rgb(78, 89, 104)` | `rgb(0, 86, 179)` |
| hover | border-color | `rgb(78, 89, 104)` | `rgb(0, 86, 179)` |
| focus | background-color | `rgba(0, 0, 0, 0)` | `rgba(2, 32, 71, 0.05)` |
| focus | color | `rgb(78, 89, 104)` | `rgb(0, 86, 179)` |
| focus | border-color | `rgb(78, 89, 104)` | `rgb(0, 86, 179)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#6b7684` | `#f9fafb` | 4.42 | fail | observed ×174 |
| `#333d4b` | `#f9fafb` | 10.52 | pass | observed ×60 |
| `#191f28` | `#ffffff` | 16.56 | pass | observed ×22 |
| `#4e5968` | `#ffffff` | 7.11 | pass | observed ×18 |
| `#333d4b` | `#ffffff` | 11 | pass | observed ×18 |
| `#3182f6` | `#f9fafb` | 3.55 | pass | observed ×15 |
| `#b0b8c1` | `#ffffff` | 2.01 | fail | observed ×12 |
| `#191f28` | `#f9fafb` | 15.85 | pass | observed ×9 |
| `#3182f6` | `#ffffff` | 3.71 | pass | observed ×9 |
| `#ffffff` | `#ffffff` | 1 | fail | observed ×6 |
| `#8b95a1` | `#ffffff` | 3.04 | pass | observed ×3 |
| `#d1d6db` | `#ffffff` | 1.46 | fail | observed ×3 |
| `#333d4b` | `#ffffff` | 11 | pass | ink_on_background |
| `#ffffff` | `#e8f3ff` | 1.12 | fail | white_on_primary |
| `#6b7684` | `#ffffff` | 4.62 | pass | muted_on_background |

5 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}` (`#e8f3ff`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#333d4b`) on `{color.background}` (`#ffffff`).
- Set all text in `Toss Product Sans` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (8px, 6px, 4px, 7px) — 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.

## Provenance

- Source: https://toss.im/ (1 page(s))
- Tool: designskill-extract/3.1.0 · extracted 2026-07-26T16:49:41.519Z
- 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=#3182f6 vs render=#e8f3ff — render 채택

---

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