
primary
#080808
--color-primary
on primary
#FFFFFF
--color-on-primary
ink
#080808
--color-ink
ink strong
#222222
--color-ink-strong
body
#363636
--color-body
body mid
#5A5A5A
--color-body-mid
mute
#898989
--color-mute
mute soft
#ABABAB
--color-mute-soft
hairline
#D8D8D8
--color-hairline
canvas
#FFFFFF
--color-canvas
accent purple
#7A3DFF
--color-accent-purple
accent pink
#ED52CB
--color-accent-pink
accent blue
#3B89FF
--color-accent-blue
accent blue deep
#006ACC
--color-accent-blue-deep
accent blue info
#146EF5
--color-accent-blue-info
accent orange
#FF6B00
--color-accent-orange
accent green
#00D722
--color-accent-green
accent yellow
#FFAE13
--color-accent-yellow
accent red
#EE1D36
--color-accent-red
字体家族
WF Visual Sans Variable, Inter, system-ui, -apple-system, sans-serif / WF Visual Sans Variable, Inter, system-ui, sans-serif / WFVisualSans-Mono, Inconsolata, ui-monospace, SFMono-Regular, Menlo, monospace
字重
备注
3 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Webflow-Inspired — Style Reference
> An inspired interpretation of Webflow's design language — a visual web development platform whose surface contrasts a deep near-black `#080808` primary against a generous white canvas, broken by a five-stop chromatic accent system (purple / pink / blue / orange / green) that maps to the brand's product categories, and anchored by the proprietary WF Visual Sans family used at restrained 500 / 600 weights with negative tracking.
**Theme:** light
**Source website:** [https://webflow.com/](https://webflow.com/)
Use the live official website to compare and validate this extracted snapshot. The current source website remains authoritative.
Tokens — Colors
| Name | Value | Token | Role |
|---|---|---|---|
| primary | `#080808` | `--color-primary` | primary role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| ink | `#080808` | `--color-ink` | ink role extracted from the source design |
| ink strong | `#222222` | `--color-ink-strong` | ink strong role extracted from the source design |
| body | `#363636` | `--color-body` | body role extracted from the source design |
| body mid | `#5a5a5a` | `--color-body-mid` | body mid role extracted from the source design |
| mute | `#898989` | `--color-mute` | mute role extracted from the source design |
| mute soft | `#ababab` | `--color-mute-soft` | mute soft role extracted from the source design |
| hairline | `#d8d8d8` | `--color-hairline` | hairline role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| accent purple | `#7a3dff` | `--color-accent-purple` | accent purple role extracted from the source design |
| accent pink | `#ed52cb` | `--color-accent-pink` | accent pink role extracted from the source design |
| accent blue | `#3b89ff` | `--color-accent-blue` | accent blue role extracted from the source design |
| accent blue deep | `#006acc` | `--color-accent-blue-deep` | accent blue deep role extracted from the source design |
| accent blue info | `#146ef5` | `--color-accent-blue-info` | accent blue info role extracted from the source design |
| accent orange | `#ff6b00` | `--color-accent-orange` | accent orange role extracted from the source design |
| accent green | `#00d722` | `--color-accent-green` | accent green role extracted from the source design |
| accent yellow | `#ffae13` | `--color-accent-yellow` | accent yellow role extracted from the source design |
| accent red | `#ee1d36` | `--color-accent-red` | accent red role extracted from the source design |
Tokens — Typography
WF Visual Sans Variable, Inter, system-ui, -apple-system, sans-serif · `--font-primary`
WF Visual Sans Variable, Inter, system-ui, sans-serif · `--font-family-2`
WFVisualSans-Mono, Inconsolata, ui-monospace, SFMono-Regular, Menlo, monospace · `--font-family-3`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-xxl | 80px | 83.2px | -0.8px | `--text-display-xxl` |
| display-xl | 56px | 58.24px | 0 | `--text-display-xl` |
| display-lg | 44.8px | 46.6px | 0 | `--text-display-lg` |
| display-md | 32px | 41.6px | 0 | `--text-display-md` |
| display-sm | 24px | 31.2px | 0 | `--text-display-sm` |
| display-xs | 20px | 28px | 0 | `--text-display-xs` |
| eyebrow-uppercase | 15px | 19.5px | 1.5px | `--text-eyebrow-uppercase` |
| eyebrow-uppercase-sm | 12px | 12px | 0.6px | `--text-eyebrow-uppercase-sm` |
| body-lg | 28.8px | 46.08px | -0.288px | `--text-body-lg` |
| body-md | 16px | 25.6px | -0.16px | `--text-body-md` |
| body-md-strong | 16px | 25.6px | -0.16px | `--text-body-md-strong` |
| body-sm | 14px | 22.4px | 0 | `--text-body-sm` |
| body-sm-strong | 14px | 22.4px | 0 | `--text-body-sm-strong` |
| caption | 12.8px | 15.36px | 0 | `--text-caption` |
| caption-mono | 12px | 18px | 0 | `--text-caption-mono` |
| button-md | 16px | 25.6px | -0.16px | `--text-button-md` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 2px | `--spacing-xxs` |
| xs | 4px | `--spacing-xs` |
| sm | 8px | `--spacing-sm` |
| md | 12px | `--spacing-md` |
| lg | 16px | `--spacing-lg` |
| xl | 20px | `--spacing-xl` |
| 2xl | 24px | `--spacing-2xl` |
| 3xl | 32px | `--spacing-3xl` |
Border Radius
| Name | Value | Token |
|---|---|---|
| none | 0px | `--radius-none` |
| xs | 2px | `--radius-xs` |
| sm | 4px | `--radius-sm` |
| md | 8px | `--radius-md` |
| full | 9999px | `--radius-full` |
Layout
Components
nav bar
**Role:** nav bar component
nav link
**Role:** nav link component
button primary
**Role:** button primary component
button secondary
**Role:** button secondary component
button text arrow
**Role:** button text arrow component
button icon circular
**Role:** button icon circular component
text input
**Role:** text input component
badge info
**Role:** badge info component
badge info soft
**Role:** badge info soft component
card feature
**Role:** card feature component
card feature dark
**Role:** card feature dark component
card pricing
**Role:** card pricing component
hero band
**Role:** hero band component
hero band dark
**Role:** hero band dark component
content band
**Role:** content band component
category card purple
**Role:** category card purple component
category card blue
**Role:** category card blue component
category card orange
**Role:** category card orange component
category card green
**Role:** category card green component
category card pink
**Role:** category card pink component
footer
**Role:** footer component
ex pricing tier
**Role:** ex pricing tier component
ex pricing tier featured
**Role:** ex pricing tier featured component
ex product selector
**Role:** ex product selector component
ex cart drawer
**Role:** ex cart drawer component
ex app shell row
**Role:** ex app shell row component
ex data table cell
**Role:** ex data table cell component
ex auth form card
**Role:** ex auth form card component
ex modal card
**Role:** ex modal card component
ex empty state card
**Role:** ex empty state card component
ex toast
**Role:** ex toast component
Do's and Don'ts
Do
Don't
Layout
Use the documented spacing scale and component geometry as the implementation baseline. Validate responsive composition and current page rhythm against [the live source](https://webflow.com/).