Light neutral canvas with a bold purple primary, vivid status colors, and sophisticated gradients. 18 tokens across surfaces, text, interaction, and decoration.
White
#ffffff
Page background, cards
Snow
#f6f9fc
Secondary sections
Mist
#e3e8ee
Borders, dividers
Iron
#c1c9d2
Placeholder, disabled
Slate
#697386
Secondary text
Storm
#425466
Body text
Midnight
#0a2540
Headings, nav
Stripe Purple
#635bff
Primary brand, CTA
Purple Light
#7a73ff
Hover states
Purple Dark
#4b45c6
Pressed states
Purple Wash
#f0eeff
Highlights, selected
Mint
#00d4aa
Success states
Coral
#ff5a5f
Error states
Amber
#ffbb00
Warning states
Cyan
#80e9ff
Info accents
Gradients
gradient-hero
Hero backgrounds, feature banners
gradient-purple
Button hovers, card accents
gradient-warm
Status banners, attention surfaces
gradient-subtle
Subtle section differentiation
Typography
Type Scale
Inter as primary typeface (substitute for Stripe Font). Geometric precision with tight letter-spacing for a modern, technical voice.
BodyDefault body text for readable content15px / 1.6 / —
Body-smDense data, comparison rows14px / 1.5 / —
CaptionMeta info · Footer · Labels12px / 1.5 / 0.02px
Fonts
PrimaryInter400–700 · 12–56px
MonoJetBrains Mono400–500 · Code, API keys
BrandStripe FontProprietary · Inter substitute
Layout
Spacing & Shapes
Base unit 4px. Comfortable density with generous whitespace. 16-step spacing scale, 8 border radius values.
Spacing Scale (4px base)
44px
88px
1616px
2424px
4040px
6464px
9696px
160160px
Border Radius
sm4px
default6px
md8px
lg12px
xl16px
pill9999px
Shadows
Cardsubtle layer
Elevateddropdowns
Modaloverlays
Focusinputs
Elevation
Surfaces
Layered whites with subtle shadows. 4 distinct surface levels using border and shadow rather than color shifts.
White#ffffff
Snow#f6f9fc
Cardshadow layer
Purple Wash#f0eeff
Components
Button Variants
Primary (Stripe Purple), secondary (outlined), and ghost variants. Clean hierarchy with precise padding and radius.
Primary Button (Filled)
Main call to action — highest visual weight
.btn-primary
Stripe Purple (#635bff) background, White text, 6px radius. Hover darkens to Purple Dark (#4b45c6). Use exclusively for the single most important action.
Secondary Button (Outlined)
Secondary interactive actions
.btn-secondary
Storm (#425466) text, Mist border, White background. Hover adds Snow background and Storm border. For less prominent actions.
Ghost Button
Tertiary actions, inline links
.btn-ghost
Stripe Purple text, purple border, transparent background. Hover adds Purple Wash background. For inline actions and navigation.
Badge
Status indicators, labels
.badge
NewActiveErrorWarning
Pill-shaped (9999px radius), 12px font weight 600, color-coded for status. Purple for brand, Mint for success, Coral for error, Amber for warning.
Input Field
Text inputs, form controls
input
White background, 6px radius, Mist border. Focus state uses Stripe Purple border with a subtle purple ring shadow.
Code Block
Code snippets, API examples
.code-block
const stripe = require('stripe')('sk_test_...');
Snow background, 8px radius, Mist border, 16px padding. Stripe Mono at 14px. Keywords in purple, strings in mint.
Guidelines
Do's & Don'ts
Do — Embrace
White (#ffffff) as primary page background
Stripe Purple (#635bff) for CTAs and active states