
primary
#1C1C1E
--color-primary
on primary
#FFFFFF
--color-on-primary
brand yellow
#FFD02F
--color-brand-yellow
brand yellow deep
#FCB900
--color-brand-yellow-deep
yellow light
#FFF4C4
--color-yellow-light
yellow dark
#746019
--color-yellow-dark
brand blue
#4262FF
--color-brand-blue
blue 450
#5B76FE
--color-blue-450
blue pressed
#2A41B6
--color-blue-pressed
brand coral
#FF9999
--color-brand-coral
coral light
#FFC6C6
--color-coral-light
coral dark
#600000
--color-coral-dark
brand rose
#FFD8F4
--color-brand-rose
rose light
#FDE0F0
--color-rose-light
brand pink
#FDE0F0
--color-brand-pink
brand teal
#0FBCB0
--color-brand-teal
teal light
#C3FAF5
--color-teal-light
moss dark
#187574
--color-moss-dark
brand orange light
#FFE6CD
--color-brand-orange-light
brand red
#FBD4D4
--color-brand-red
brand red dark
#E3C5C5
--color-brand-red-dark
success accent
#00B473
--color-success-accent
canvas
#FFFFFF
--color-canvas
surface
#F7F8FA
--color-surface
surface soft
#FAFBFC
--color-surface-soft
surface yellow
#FFF8E0
--color-surface-yellow
surface pricing featured
#F5F3FF
--color-surface-pricing-featured
hairline
#E0E2E8
--color-hairline
hairline soft
#EEF0F3
--color-hairline-soft
hairline strong
#C7CAD5
--color-hairline-strong
ink deep
#050038
--color-ink-deep
ink
#1C1C1E
--color-ink
charcoal
#2C2C34
--color-charcoal
slate
#555A6A
--color-slate
steel
#6B6F7E
--color-steel
stone
#8E91A0
--color-stone
muted
#A5A8B5
--color-muted
on dark
#FFFFFF
--color-on-dark
on dark muted
#A5A8B5
--color-on-dark-muted
footer bg
#1C1C1E
--color-footer-bg
字体家族
Roobert PRO
字重
备注
1 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Miro — Style Reference
> Miro presents itself as the AI-powered visual workspace through a confident, almost playful brand voice — anchored by its signature canary yellow ({colors.brand-yellow}) wordmark over white canvas, broken open by colorful pastel feature tints (rose, teal, coral, orange, mint) that echo the actual sticky-note color palette used on the live whiteboard. Black-pill primary buttons dominate marketing, real Miro-board mockups serve as feature illustrations, and a 4-tier pricing grid leads into a dense comparison table. Roobert PRO carries display headlines; the system supports homepage, pricing, AI Workflows product page, agile vertical, and customer stories surfaces.
**Theme:** light
**Source website:** [https://miro.com/](https://miro.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 | `#1c1c1e` | `--color-primary` | primary role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| brand yellow | `#ffd02f` | `--color-brand-yellow` | brand yellow role extracted from the source design |
| brand yellow deep | `#fcb900` | `--color-brand-yellow-deep` | brand yellow deep role extracted from the source design |
| yellow light | `#fff4c4` | `--color-yellow-light` | yellow light role extracted from the source design |
| yellow dark | `#746019` | `--color-yellow-dark` | yellow dark role extracted from the source design |
| brand blue | `#4262ff` | `--color-brand-blue` | brand blue role extracted from the source design |
| blue 450 | `#5b76fe` | `--color-blue-450` | blue 450 role extracted from the source design |
| blue pressed | `#2a41b6` | `--color-blue-pressed` | blue pressed role extracted from the source design |
| brand coral | `#ff9999` | `--color-brand-coral` | brand coral role extracted from the source design |
| coral light | `#ffc6c6` | `--color-coral-light` | coral light role extracted from the source design |
| coral dark | `#600000` | `--color-coral-dark` | coral dark role extracted from the source design |
| brand rose | `#ffd8f4` | `--color-brand-rose` | brand rose role extracted from the source design |
| rose light | `#fde0f0` | `--color-rose-light` | rose light role extracted from the source design |
| brand pink | `#fde0f0` | `--color-brand-pink` | brand pink role extracted from the source design |
| brand teal | `#0fbcb0` | `--color-brand-teal` | brand teal role extracted from the source design |
| teal light | `#c3faf5` | `--color-teal-light` | teal light role extracted from the source design |
| moss dark | `#187574` | `--color-moss-dark` | moss dark role extracted from the source design |
| brand orange light | `#ffe6cd` | `--color-brand-orange-light` | brand orange light role extracted from the source design |
| brand red | `#fbd4d4` | `--color-brand-red` | brand red role extracted from the source design |
| brand red dark | `#e3c5c5` | `--color-brand-red-dark` | brand red dark role extracted from the source design |
| success accent | `#00b473` | `--color-success-accent` | success accent role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| surface | `#f7f8fa` | `--color-surface` | surface role extracted from the source design |
| surface soft | `#fafbfc` | `--color-surface-soft` | surface soft role extracted from the source design |
| surface yellow | `#fff8e0` | `--color-surface-yellow` | surface yellow role extracted from the source design |
| surface pricing featured | `#f5f3ff` | `--color-surface-pricing-featured` | surface pricing featured role extracted from the source design |
| hairline | `#e0e2e8` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#eef0f3` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| hairline strong | `#c7cad5` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| ink deep | `#050038` | `--color-ink-deep` | ink deep role extracted from the source design |
| ink | `#1c1c1e` | `--color-ink` | ink role extracted from the source design |
| charcoal | `#2c2c34` | `--color-charcoal` | charcoal role extracted from the source design |
| slate | `#555a6a` | `--color-slate` | slate role extracted from the source design |
| steel | `#6b6f7e` | `--color-steel` | steel role extracted from the source design |
| stone | `#8e91a0` | `--color-stone` | stone role extracted from the source design |
| muted | `#a5a8b5` | `--color-muted` | muted role extracted from the source design |
| on dark | `#ffffff` | `--color-on-dark` | on dark role extracted from the source design |
| on dark muted | `#a5a8b5` | `--color-on-dark-muted` | on dark muted role extracted from the source design |
| footer bg | `#1c1c1e` | `--color-footer-bg` | footer bg role extracted from the source design |
Tokens — Typography
Roobert PRO · `--font-primary`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| hero-display | 80px | 1.05 | -2px | `--text-hero-display` |
| display-lg | 60px | 1.1 | -1.5px | `--text-display-lg` |
| heading-1 | 48px | 1.15 | -1px | `--text-heading-1` |
| heading-2 | 36px | 1.2 | -0.5px | `--text-heading-2` |
| heading-3 | 28px | 1.25 | 0 | `--text-heading-3` |
| heading-4 | 22px | 1.3 | 0 | `--text-heading-4` |
| heading-5 | 18px | 1.4 | 0 | `--text-heading-5` |
| subtitle | 18px | 1.5 | 0 | `--text-subtitle` |
| body-md | 16px | 1.5 | 0 | `--text-body-md` |
| body-md-medium | 16px | 1.5 | 0 | `--text-body-md-medium` |
| body-sm | 14px | 1.5 | 0 | `--text-body-sm` |
| body-sm-medium | 14px | 1.5 | 0 | `--text-body-sm-medium` |
| caption | 13px | 1.4 | 0 | `--text-caption` |
| caption-bold | 13px | 1.4 | 0 | `--text-caption-bold` |
| micro | 12px | 1.4 | 0 | `--text-micro` |
| micro-uppercase | 11px | 1.4 | 0.5px | `--text-micro-uppercase` |
| button-md | 14px | 1.3 | 0 | `--text-button-md` |
| stat-display | 64px | 1.1 | -1.5px | `--text-stat-display` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| md | 16px | `--spacing-md` |
| lg | 20px | `--spacing-lg` |
| xl | 24px | `--spacing-xl` |
| xxl | 32px | `--spacing-xxl` |
| xxxl | 40px | `--spacing-xxxl` |
| section-sm | 48px | `--spacing-section-sm` |
| section | 64px | `--spacing-section` |
| section-lg | 96px | `--spacing-section-lg` |
| hero | 120px | `--spacing-hero` |
Border Radius
| Name | Value | Token |
|---|---|---|
| xs | 4px | `--radius-xs` |
| sm | 6px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 16px | `--radius-xl` |
| xxl | 20px | `--radius-xxl` |
| xxxl | 28px | `--radius-xxxl` |
| feature | 32px | `--radius-feature` |
| full | 9999px | `--radius-full` |
Layout
Components
button primary
**Role:** button primary component
button primary pressed
**Role:** button primary pressed component
button primary disabled
**Role:** button primary disabled component
button yellow
**Role:** button yellow component
button blue
**Role:** button blue component
button secondary
**Role:** button secondary component
button on dark
**Role:** button on dark component
button ghost
**Role:** button ghost component
button link
**Role:** button link component
button icon circular
**Role:** button icon circular component
card base
**Role:** card base component
card feature
**Role:** card feature component
card feature yellow
**Role:** card feature yellow component
card feature coral
**Role:** card feature coral component
card feature teal
**Role:** card feature teal component
card feature rose
**Role:** card feature rose component
card customer story
**Role:** card customer story component
card stat
**Role:** card stat component
pricing card
**Role:** pricing card component
pricing card featured
**Role:** pricing card featured component
pricing card enterprise
**Role:** pricing card enterprise component
text input
**Role:** text input component
text input focused
**Role:** text input focused component
search pill
**Role:** search pill component
filter dropdown
**Role:** filter dropdown component
pill tab
**Role:** pill tab component
pill tab active
**Role:** pill tab active component
toggle monthly yearly
**Role:** toggle monthly yearly component
badge promo
**Role:** badge promo component
badge tag yellow
**Role:** badge tag yellow component
badge tag purple
**Role:** badge tag purple component
badge tag coral
**Role:** badge tag coral component
badge success
**Role:** badge success component
badge discount
**Role:** badge discount component
promo banner
**Role:** promo banner component
comparison table
**Role:** comparison table component
comparison row
**Role:** comparison row component
template card
**Role:** template card component
whiteboard mockup
**Role:** whiteboard mockup component
faq accordion item
**Role:** faq accordion item component
logo wall item
**Role:** logo wall item component
hero band marketing
**Role:** hero band marketing component
cta banner dark
**Role:** cta banner dark component
industry tile
**Role:** industry tile component
capterra badge
**Role:** capterra badge component
footer region
**Role:** footer region component
footer link
**Role:** footer link component
app store badge
**Role:** app store badge 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://miro.com/).