---
name: bugs-design-reference
provider: DesignSkill (https://designskill.dev)
reference: music.bugs.co.kr
source_url: https://music.bugs.co.kr/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:25:14.016Z
mode: full-render
classification: reference_only
---

# Bugs — Design Reference (measured)

Measured design tokens extracted from `https://music.bugs.co.kr/` 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), 725 observation records.
- Primary action color observed as `#3a3635` (basis: declared, confidence 0.92).
- Dominant font family: **나눔바른고딕** (×1617; secondary Pretendard ×421).
- Type scale observed at 8 sizes from 11px to 21px.
- Corner radius values in use: 40px, 13px, 5px, 3px….
- Not observed in this extraction: nav, 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}` | `#3a3635` | declared | 0.92 | ×1230 — --txt-primary |
| `{color.background}` | `#ffffff` | declared | 0.92 | ×1130 — --bg |
| `{color.ink}` | `#000000` | cross-validated | 0.94 | ×640 |
| `{color.muted}` | `#757271` | inferred | 0.7 | ×1235 |
| `{color.surface}` | `#efefef` | inferred | 0.7 | ×1002 |
| `{color.accent}` | `#ff3d33` | declared | 0.9 | ×242 — --txt-accent |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#757271` | 17.5% | color, background-color, border-color, --txt-secondary, custom-property | ×1235 (cross-validated, 0.95) |
| `#3a3635` | 17.4% | color, background-color, border-color, --txt-primary | ×1230 (cross-validated, 0.95) |
| `#ffffff` | 16.0% | background-color, color, border-color, text-shadow | ×1130 (cross-validated, 0.95) |
| `#000000` | 9.1% | background-color, color, border-color, -webkit-tap-highlight-color | ×640 (cross-validated, 0.94) |
| `#efefef` | 14.2% | border-color, background-color, --section-divider-border | ×1002 (cross-validated, 0.95) |
| `#ff3d33` | 3.4% | color, border-color, background-color, --txt-accent | ×242 (inferred, 0.63) |
| `#000000` | 3.0% | background-color, color | ×210 (observed, 0.78) |
| `#e5e5e5` | 4.1% | border-color, background-color, box-shadow, color | ×290 (cross-validated, 0.93) |
| `#999999` | 2.2% | color, background-color, border-color | ×157 (cross-validated, 0.92) |
| `#151515` | 1.9% | color, --bugs-essential-text-primary, custom-property | ×138 (cross-validated, 0.92) |
| `#d9d9d9` | 2.8% | border-color, background-color, color, --btn-primary-border | ×197 (cross-validated, 0.93) |
| `#666666` | 1.5% | color, background-color, border-color | ×103 (cross-validated, 0.92) |
| `#878685` | 1.0% | color, background-color | ×69 (cross-validated, 0.91) |
| `#ff6600` | 0.7% | color | ×50 (inferred, 0.61) |
| `#ff564c` | 0.8% | border-color, background-color, color, --btn-strong-bg | ×58 (cross-validated, 0.91) |
| `#000000` | 0.6% | border-color, color | ×42 (observed, 0.75) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `나눔바른고딕` | ×1617 |
| `Pretendard` | ×421 |
| `SpoqaHanSansNeo` | ×17 |
| `RixMgo` | ×5 |
| `NanumSquareNeo` | ×5 |
| `verdana` | ×5 |

Use **나눔바른고딕** as the default family — it accounts for the overwhelming majority of observed text nodes.

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 21px | ×62 |
| `{type.h1}` | 19px | ×120 |
| `{type.h2}` | 17px | ×100 |
| `{type.h3}` | 15px | ×478 |
| `{type.body-lg}` | 14px | ×209 |
| `{type.body}` | 13px | ×1083 |
| `{type.body-sm}` | 12px | ×1112 |
| `{type.caption}` | 11px | ×280 |

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

## Spacing

| Value | Observed |
|---|---|
| `20px` | ×536 |
| `10px` | ×523 |
| `15px` | ×342 |
| `4px` | ×333 |
| `6px` | ×250 |
| `5px` | ×219 |
| `8px` | ×203 |
| `30px` | ×185 |
| `2px` | ×152 |
| `7px` | ×151 |
| `3px` | ×60 |
| `18px` | ×42 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `40px` | ×72 |
| `13px` | ×48 |
| `5px` | ×33 |
| `3px` | ×33 |
| `4px` | ×23 |
| `8px` | ×17 |
| `1px` | ×13 |
| `18px` | ×6 |

## Elevation

| Shadow | Observed |
|---|---|
| `#e5e5e5` | ×14 |
| `inset 0 0 0 1px #e5e5e5` | ×14 |
| `rgba(7, 0, 2, 0.1) 10px 10px 15px 0px` | ×6 |
| `10px 10px 15px 0 rgba(7, 0, 2, 0.1)` | ×4 |
| `0 0 5px #aaa` | ×2 |
| `none !important` | ×2 |

## Motion

| Duration | Observed |
|---|---|
| `0.3s` | ×55 |
| `0.7s` | ×2 |
| `.4s` | ×2 |
| `0s` | ×1 |
| `0.05s` | ×1 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#000000` · text `#3a3635` · radius `0px` · padding `0px` · font `13px/400` | ×4 |
| button.outline | text `#151515` · border `1px solid rgba(0, 0, 0, 0.15)` · radius `6px` · padding `0px 11px 0px 0px` · font `15px` | ×1 |
| form.input | bg `#000000` · text `#151515` · border `0px solid rgb(21, 21, 21)` · radius `3px` · padding `0px 0px 0px 20px` · height `34` | ×1 |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#3a3635` | `#ffffff` | 11.94 | pass | observed ×157 |
| `#757271` | `#ffffff` | 4.77 | pass | observed ×148 |
| `#757271` | `#000000` | 4.4 | fail | observed ×120 |
| `#3a3635` | `#dfe5e8` | 9.39 | pass | observed ×99 |
| `#000000` | `#ffffff` | 21 | pass | observed ×90 |
| `#3a3635` | `#000000` | 1.76 | fail | observed ×60 |
| `#151515` | `#ffffff` | 18.26 | pass | observed ×57 |
| `#000000` | `#000000` | 1 | fail | observed ×42 |
| `#757271` | `#dfe5e8` | 3.75 | fail | observed ×42 |
| `#878685` | `#000000` | 5.78 | pass | observed ×30 |
| `#000000` | `#dfe5e8` | 16.51 | pass | observed ×18 |
| `#ffffff` | `#eff1f6` | 1.13 | fail | observed ×18 |
| `#000000` | `#ffffff` | 21 | pass | ink_on_background |
| `#ffffff` | `#3a3635` | 11.94 | pass | white_on_primary |
| `#757271` | `#ffffff` | 4.77 | 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}` (`#3a3635`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#000000`) on `{color.background}` (`#ffffff`).
- Set all text in `나눔바른고딕` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (40px, 13px, 5px, 3px) — 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 (nav, 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://music.bugs.co.kr/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T09:25:14.016Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 01, 02, 03, 04, 05, 06, 09, 10, 11, 12 · missing: nav, cards, badges
- Degraded stages (extraction failure ≠ design change — exclude from diffs): state-observation
- Warning: primary 불일치: static=#ff3d33 vs render=#3a3635 — render 채택

---

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