---
name: cj-design-reference
provider: DesignSkill (https://designskill.dev)
reference: cj.net
source_url: https://www.cj.net/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:35:30.455Z
mode: full-render
classification: reference_only
---

# CJ — Design Reference (measured)

Measured design tokens extracted from `https://www.cj.net/` 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), 396 observation records.
- Primary action color observed as `#ff9700` (basis: cross-validated, confidence 0.89).
- Dominant font family: **cj-body-regular** (×3353; secondary cj-title-bold ×619).
- Type scale observed at 8 sizes from 9px to 30px.
- Corner radius values in use: 11px, 13px, 15px, 20px….
- Not observed in this extraction: nav, 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}` | `#ff9700` | cross-validated | 0.89 | ×574 |
| `{color.background}` | `#1d1f22` | cross-validated | 0.92 | ×135 |
| `{color.ink}` | `#97989a` | cross-validated | 0.95 | ×2650 |
| `{color.muted}` | `#666d7a` | inferred | 0.58 | ×10 |
| `{color.surface}` | `#000000` | inferred | 0.7 | ×95 |
| `{color.accent}` | `#006ecd` | inferred | 0.59 | ×14 |

### Observed Palette

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

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#97989a` | 58.1% | custom-property, color, border-color, background-color | ×2650 (cross-validated, 0.95) |
| `#ffffff` | 18.3% | color, border-color, background-color, stroke | ×834 (cross-validated, 0.95) |
| `#ff9700` | 12.6% | background-color, color, --color-cj-yellow, custom-property, border-color | ×574 (cross-validated, 0.94) |
| `#1d1f22` | 3.0% | background-color, --color-background-dark, custom-property, color, border-color | ×135 (cross-validated, 0.92) |
| `#000000` | 2.1% | background-color, border-color, color, box-shadow | ×95 (cross-validated, 0.92) |
| `#000000` | 0.7% | background-color | ×32 (observed, 0.75) |
| `#ffffff` | 0.7% | border-color | ×32 (observed, 0.75) |
| `#d9d9d9` | 0.8% | border-color, background-color, custom-property | ×38 (cross-validated, 0.9) |
| `#006ecd` | 0.3% | background-color, color, outline, custom-property | ×14 (inferred, 0.59) |
| `#e1e1e1` | 0.3% | background-color | ×12 (observed, 0.74) |
| `#381e0b` | 0.2% | background-color | ×10 (inferred, 0.58) |
| `#36100b` | 0.2% | background-color | ×10 (inferred, 0.58) |
| `#22101a` | 0.2% | background-color | ×10 (inferred, 0.58) |
| `#666d7a` | 0.2% | border-color, color, background-color, --color-cj-gray, custom-property | ×10 (inferred, 0.58) |
| `#c8c8c8` | 0.2% | background-color | ×9 (inferred, 0.58) |
| `#8e8e8e` | 0.2% | border-color, color | ×11 (inferred, 0.59) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `cj-body-regular` | ×3353 |
| `cj-title-bold` | ×619 |
| `cj-bold-small-cap` | ×7 |
| `cj-jp-body-regular` | ×3 |
| `cj-body-light` | ×1 |
| `cj-title-medium` | ×1 |

Use **cj-body-regular** as the default family — it accounts for the overwhelming majority of observed text nodes.

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 30px | ×16 |
| `{type.h1}` | 20px | ×14 |
| `{type.h2}` | 16px | ×268 |
| `{type.h3}` | 14px | ×1144 |
| `{type.body-lg}` | 13px | ×1282 |
| `{type.body}` | 12px | ×20 |
| `{type.body-sm}` | 10px | ×216 |
| `{type.caption}` | 9px | ×1078 |

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

## Spacing

| Value | Observed |
|---|---|
| `20px` | ×272 |
| `5px` | ×246 |
| `8px` | ×216 |
| `12px` | ×97 |
| `30px` | ×56 |
| `40px` | ×49 |
| `10px` | ×48 |
| `15px` | ×36 |
| `60px` | ×35 |
| `16px` | ×28 |
| `50px` | ×26 |
| `6px` | ×24 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `11px` | ×248 |
| `13px` | ×248 |
| `15px` | ×246 |
| `20px` | ×47 |
| `22.5px` | ×22 |
| `30px` | ×20 |
| `50px` | ×20 |
| `16.5px` | ×20 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgba(0, 0, 0, 0.2) 2px 2px 2px 0px` | ×32 |
| `#000000` | ×6 |
| `2px 2px 2px #0003` | ×5 |
| `0 0 0 1px #ff0` | ×1 |
| `0 0 0 1px #f0f` | ×1 |
| `0 0 1px #000` | ×1 |

## Motion

| Duration | Observed |
|---|---|
| `0.6s` | ×80 |
| `0.3s` | ×74 |
| `0.7s` | ×58 |
| `0.5s` | ×28 |
| `1s` | ×10 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#333333` · text `#ffffff` · radius `0px` · padding `0px` · font `14px/400` | ×1 |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgb(29, 31, 34), rgba(29, 31, 34, 0) 10%);
```

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| hover | color | `rgb(255, 255, 255)` | `rgb(255, 156, 11)` |
| hover | border-color | `rgb(255, 255, 255)` | `rgb(255, 156, 11)` |
| hover | outline-color | `rgb(255, 255, 255)` | `rgb(255, 156, 11)` |
| focus | color | `rgb(255, 255, 255)` | `rgb(255, 151, 0)` |
| focus | border-color | `rgb(255, 255, 255)` | `rgb(255, 151, 0)` |
| focus | outline-color | `rgb(255, 255, 255)` | `rgb(0, 110, 205)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#97989a` | `#1d1f22` | 5.72 | pass | observed ×1313 |
| `#ffffff` | `#1d1f22` | 16.52 | pass | observed ×387 |
| `#ff9700` | `#1d1f22` | 7.61 | pass | observed ×279 |
| `#000000` | `#1d1f22` | 1.27 | fail | observed ×3 |
| `#ffffff` | `#333333` | 12.63 | pass | observed ×3 |
| `#ffffff` | `#000000` | 21 | pass | observed ×3 |
| `#97989a` | `#1d1f22` | 5.72 | pass | ink_on_background |
| `#ffffff` | `#ff9700` | 2.17 | fail | white_on_primary |
| `#666d7a` | `#1d1f22` | 3.17 | fail | muted_on_background |

3 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}` (`#ff9700`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#97989a`) on `{color.background}` (`#1d1f22`).
- Set all text in `cj-body-regular` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (11px, 13px, 15px, 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 (nav, 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.muted}`, `{color.accent}` with caution — confidence below 0.6.

## Provenance

- Source: https://www.cj.net/ (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T09:35:30.455Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 01, 02, 03, 04, 05, 09, 10, 11, 12 · missing: nav, forms, cards, badges
- Degraded stages (extraction failure ≠ design change — exclude from diffs): state-observation
- Warning: primary 불일치: static=#006ecd vs render=#ff9700 — render 채택

---

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