Expo
Expo 以纯白画布、柔和天蓝氛围渐变和清晰的技术排版呈现 React Native 开发平台,通过真实代码与产品界面建立轻盈、可信赖的基础设施品牌形象。

primary
#000000
--color-primary
primary active
#1A1A1A
--color-primary-active
text link
#0D74CE
--color-text-link
text link secondary
#476CFF
--color-text-link-secondary
ink
#171717
--color-ink
body
#60646C
--color-body
body strong
#171717
--color-body-strong
muted
#999999
--color-muted
muted soft
#CCCCCC
--color-muted-soft
hairline
#F0F0F3
--color-hairline
hairline soft
#F5F5F7
--color-hairline-soft
hairline strong
#DCDEE0
--color-hairline-strong
canvas
#FFFFFF
--color-canvas
canvas soft
#FAFAFA
--color-canvas-soft
surface card
#FFFFFF
--color-surface-card
surface strong
#F0F0F3
--color-surface-strong
surface dark
#171717
--color-surface-dark
surface dark elevated
#1A1A1A
--color-surface-dark-elevated
on primary
#FFFFFF
--color-on-primary
on dark
#FFFFFF
--color-on-dark
on dark soft
#B0B4BA
--color-on-dark-soft
gradient sky light
#CFE7FF
--color-gradient-sky-light
gradient sky mid
#A8C8E8
--color-gradient-sky-mid
accent warning
#AB6400
--color-accent-warning
accent preview
#8145B5
--color-accent-preview
accent link bright
#47C2FF
--color-accent-link-bright
semantic error
#EB8E90
--color-semantic-error
semantic success
#16A34A
--color-semantic-success
字体家族
'Inter', -apple-system, system-ui, sans-serif / 'Inter', sans-serif / 'JetBrains Mono', 'Fira Code', monospace
字重
备注
3 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Expo — Style Reference
> A React Native developer-platform whose marketing site reads like a quietly-confident infrastructure brand. The base canvas is pure white with a soft sky-blue gradient atmospheric wash behind the hero; near-black ink (`#171717`) carries body and display alike. The single brand voltage is **pure black** (`#000000`) for primary CTAs — minimal and editorial-feeling, paired with a small blue text-link accent (`#0d74ce`) reserved for inline body links. Type pairs Inter at modest weights (display 600, body 400) with JetBrains Mono on every code surface. The brand's strongest visual signature is the **device-mockup hero** — a centered MacBook + iPhone composite showing real Expo dev surfaces — over the gradient sky wash.
**Theme:** light
**Source website:** [https://expo.dev/](https://expo.dev/)
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 | `#000000` | `--color-primary` | primary role extracted from the source design |
| primary active | `#1a1a1a` | `--color-primary-active` | primary active role extracted from the source design |
| text link | `#0d74ce` | `--color-text-link` | text link role extracted from the source design |
| text link secondary | `#476cff` | `--color-text-link-secondary` | text link secondary role extracted from the source design |
| ink | `#171717` | `--color-ink` | ink role extracted from the source design |
| body | `#60646c` | `--color-body` | body role extracted from the source design |
| body strong | `#171717` | `--color-body-strong` | body strong role extracted from the source design |
| muted | `#999999` | `--color-muted` | muted role extracted from the source design |
| muted soft | `#cccccc` | `--color-muted-soft` | muted soft role extracted from the source design |
| hairline | `#f0f0f3` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#f5f5f7` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| hairline strong | `#dcdee0` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| canvas soft | `#fafafa` | `--color-canvas-soft` | canvas soft role extracted from the source design |
| surface card | `#ffffff` | `--color-surface-card` | surface card role extracted from the source design |
| surface strong | `#f0f0f3` | `--color-surface-strong` | surface strong role extracted from the source design |
| surface dark | `#171717` | `--color-surface-dark` | surface dark role extracted from the source design |
| surface dark elevated | `#1a1a1a` | `--color-surface-dark-elevated` | surface dark elevated role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| on dark | `#ffffff` | `--color-on-dark` | on dark role extracted from the source design |
| on dark soft | `#b0b4ba` | `--color-on-dark-soft` | on dark soft role extracted from the source design |
| gradient sky light | `#cfe7ff` | `--color-gradient-sky-light` | gradient sky light role extracted from the source design |
| gradient sky mid | `#a8c8e8` | `--color-gradient-sky-mid` | gradient sky mid role extracted from the source design |
| accent warning | `#ab6400` | `--color-accent-warning` | accent warning role extracted from the source design |
| accent preview | `#8145b5` | `--color-accent-preview` | accent preview role extracted from the source design |
| accent link bright | `#47c2ff` | `--color-accent-link-bright` | accent link bright role extracted from the source design |
| semantic error | `#eb8e90` | `--color-semantic-error` | semantic error role extracted from the source design |
| semantic success | `#16a34a` | `--color-semantic-success` | semantic success role extracted from the source design |
Tokens — Typography
'Inter', -apple-system, system-ui, sans-serif · `--font-primary`
'Inter', sans-serif · `--font-family-2`
'JetBrains Mono', 'Fira Code', monospace · `--font-family-3`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-mega | 64px | 1.05 | -1.92px | `--text-display-mega` |
| display-xl | 48px | 1.1 | -1.44px | `--text-display-xl` |
| display-lg | 36px | 1.15 | -1.08px | `--text-display-lg` |
| display-md | 28px | 1.2 | -0.84px | `--text-display-md` |
| display-sm | 22px | 1.25 | -0.5px | `--text-display-sm` |
| title-md | 18px | 1.4 | 0 | `--text-title-md` |
| title-sm | 16px | 1.4 | 0 | `--text-title-sm` |
| body-md | 16px | 1.5 | 0 | `--text-body-md` |
| body-sm | 14px | 1.5 | 0 | `--text-body-sm` |
| caption | 13px | 1.4 | 0 | `--text-caption` |
| caption-uppercase | 11px | 1.4 | 0.88px | `--text-caption-uppercase` |
| code | 13px | 1.5 | 0 | `--text-code` |
| button | 14px | 1 | 0 | `--text-button` |
| nav-link | 14px | 1.4 | 0 | `--text-nav-link` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| base | 16px | `--spacing-base` |
| md | 20px | `--spacing-md` |
| lg | 24px | `--spacing-lg` |
| xl | 32px | `--spacing-xl` |
| xxl | 48px | `--spacing-xxl` |
| section | 96px | `--spacing-section` |
Border Radius
| Name | Value | Token |
|---|---|---|
| none | 0px | `--radius-none` |
| xs | 4px | `--radius-xs` |
| sm | 6px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 16px | `--radius-xl` |
| xxl | 24px | `--radius-xxl` |
| pill | 9999px | `--radius-pill` |
| full | 9999px | `--radius-full` |
Layout
Components
top nav
**Role:** top nav component
button primary
**Role:** button primary component
button primary active
**Role:** button primary active component
button secondary
**Role:** button secondary component
button tertiary text
**Role:** button tertiary text component
hero band
**Role:** hero band component
device mockup card
**Role:** device mockup card component
feature card
**Role:** feature card component
feature card dark
**Role:** feature card dark component
workflow step card
**Role:** workflow step card component
workflow step icon
**Role:** workflow step icon component
code block
**Role:** code block component
ide mockup card
**Role:** ide mockup card component
pricing tier card
**Role:** pricing tier card component
pricing tier featured
**Role:** pricing tier featured component
text input
**Role:** text input component
badge pill
**Role:** badge pill component
ecosystem tile
**Role:** ecosystem tile component
cta band
**Role:** cta band component
testimonial card
**Role:** testimonial card component
footer light
**Role:** footer light component
footer link
**Role:** footer link 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://expo.dev/).