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

# Wavve — Design Reference (measured)

Measured design tokens extracted from `https://www.wavve.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), 406 observation records.
- Primary action color observed as `#0000ee` (basis: inferred, confidence 0.88).
- Dominant font family: **NotoSans** (×783; secondary WavvePADO ×1).
- Type scale observed at 8 sizes from 12px to 36px.
- Corner radius values in use: 12px, 4px, 8px, 30px….
- Not observed in this extraction: cards, badges, elevation.

## 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}` | `#0000ee` | inferred | 0.88 | ×32 |
| `{color.background}` | `#ffffff` | cross-validated | 0.93 | ×270 |
| `{color.ink}` | `#717171` | cross-validated | 0.92 | ×115 |
| `{color.muted}` | `#5e5e5e` | inferred | 0.59 | ×16 |
| `{color.surface}` | `#cccccc` | inferred | 0.57 | ×3 |
| `{color.accent}` | `#003710` | inferred | 0.65 | ×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 |
|---|---|---|---|
| `#000000` | 19.0% | background-color, border-color | ×468 (observed, 0.79) |
| `#252525` | 18.7% | background-color, border-color | ×460 (cross-validated, 0.94) |
| `#ffffff` | 11.0% | color, background-color, border-color | ×270 (cross-validated, 0.93) |
| `#3887ff` | 9.9% | color, border-color | ×244 (cross-validated, 0.93) |
| `#a5a5a5` | 7.4% | color, border-color, background-color, scrollbar-face-color | ×183 (cross-validated, 0.93) |
| `#1b1b1b` | 6.3% | background-color, border-color, scrollbar-track-color | ×154 (cross-validated, 0.92) |
| `#ffffff` | 5.1% | border-color, background-color | ×126 (observed, 0.77) |
| `#ffffff` | 5.1% | color | ×126 (observed, 0.77) |
| `#717171` | 4.7% | border-color, color, background-color | ×115 (cross-validated, 0.92) |
| `#2f2f2f` | 4.2% | background-color, border-color | ×102 (cross-validated, 0.92) |
| `#000000` | 1.8% | background-color, border-color, color | ×45 (cross-validated, 0.91) |
| `#1351f9` | 1.5% | background-color, border-color, color | ×37 (inferred, 0.6) |
| `#0000ee` | 1.3% | color | ×32 (observed, 0.75) |
| `#5e5e5e` | 0.7% | background-color, color | ×16 (inferred, 0.59) |
| `#d9d9d9` | 0.3% | border-color, color | ×7 (inferred, 0.58) |
| `#7e7e7e` | 0.2% | color, background-color | ×6 (inferred, 0.58) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `NotoSans` | ×783 |
| `WavvePADO` | ×1 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 36px | ×5 |
| `{type.h1}` | 24px | ×141 |
| `{type.h2}` | 20px | ×42 |
| `{type.h3}` | 18px | ×65 |
| `{type.body-lg}` | 16px | ×230 |
| `{type.body}` | 14px | ×83 |
| `{type.body-sm}` | 13px | ×14 |
| `{type.caption}` | 12px | ×324 |

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

## Spacing

| Value | Observed |
|---|---|
| `8px` | ×315 |
| `5px` | ×228 |
| `20px` | ×190 |
| `80px` | ×164 |
| `10px` | ×117 |
| `12px` | ×113 |
| `18px` | ×72 |
| `4px` | ×36 |
| `40px` | ×29 |
| `60px` | ×24 |
| `50px` | ×18 |
| `6px` | ×12 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `12px` | ×627 |
| `4px` | ×238 |
| `8px` | ×19 |
| `30px` | ×8 |
| `20px` | ×6 |
| `2px` | ×5 |
| `100px` | ×4 |

## Motion

| Duration | Observed |
|---|---|
| `0.15s` | ×213 |
| `0.5s` | ×6 |
| `.3s` | ×3 |
| `.2s` | ×3 |
| `.7s` | ×1 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| form.input | bg `#252525` · text `#a5a5a5` · border `1px solid rgb(37, 37, 37)` · radius `0px` · padding `0px 0px 0px 13px` · height `38` | ×1 |
| nav | bg `#1b1b1b` · height `74px` · position `sticky` · link `#0000ee` | — |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#ffffff` | `#1b1b1b` | 17.22 | pass | observed ×120 |
| `#3887ff` | `#252525` | 4.44 | fail | observed ×117 |
| `#717171` | `#1b1b1b` | 3.53 | fail | observed ×54 |
| `#a5a5a5` | `#1b1b1b` | 6.99 | pass | observed ×48 |
| `#ffffff` | `#252525` | 15.33 | pass | observed ×20 |
| `#000000` | `#1b1b1b` | 1.22 | fail | observed ×12 |
| `#0000ee` | `#252525` | 1.63 | fail | observed ×10 |
| `#0000ee` | `#1b1b1b` | 1.83 | fail | observed ×6 |
| `#ffffff` | `#003710` | 13.51 | pass | observed ×6 |
| `#ffffff` | `#1e0604` | 19.39 | pass | observed ×6 |
| `#717171` | `#ffffff` | 4.88 | pass | ink_on_background |
| `#ffffff` | `#0000ee` | 9.4 | pass | white_on_primary |
| `#5e5e5e` | `#ffffff` | 6.48 | 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}` (`#0000ee`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#717171`) on `{color.background}` (`#ffffff`).
- Set all text in `NotoSans` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (12px, 4px, 8px, 30px) — 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, elevation) 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.surface}` with caution — confidence below 0.6.

## Provenance

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

---

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