Strava (iOS)
Identity
Mobile Apps
Activity tracking + social. Strava Orange #FC4C02 as the single accent, 4pt route polyline with halo, 3-up DISTANCE/TIME/PACE grid, tabular numerals everywhere, center Record button protruding 8pt with orange glow, coal-black dark mode #0F0F0F
Typography
Ag
Ag
Ag
--text-4xl · 57pxThe quick brown fox--text-3xl · 44pxThe quick brown fox--text-2xl · 44pxThe quick brown fox--text-xl · 28pxThe quick brown fox--text-lg · 17pxThe quick brown fox--text-base · 15pxThe quick brown fox--text-sm · 13pxThe quick brown fox--text-xs · 10pxThe quick brown foxPalette
#FFFFFFPage background — defines the brand canvas.#F5F4F2Card / lifted container background.color-mix(in oklab, var(--surface), var(--fg) 6%)Tertiary surface tier (kami warm-sand).#0E0E0EPrimary text color.color-mix(in oklab, var(--fg), var(--bg) 15%)Secondary text tier (kami dark-warm).#666666Subtext / captions.color-mix(in oklab, var(--muted), var(--bg) 25%)Tertiary FG / metadata tier (kami stone).#E5E5E5Default border / card edge.color-mix(in oklab, var(--border), var(--bg) 50%)Inner row separator that should not visually compete.#FC4C02Brand accent. ≤2 visible uses per screen (lint enforced).#FFFFFFFG when --accent is the bg.#22C55ESuccess state.#F59E0BWarning state.#EF4444Danger state.Also named in DESIGN.md
#d44002Active/pressed state on Strava Orange CTAs.#f0f0f0Activity-card secondary surfaces, the stat-grid divider zones.#e8e5ddThe OpenStreetMap-derived base tile color (Strava's custom-styled raster) — warm parchment, never gray.#9a9a9aTertiary — placeholders, disabled labels, "no kudos yet".#0f0f0fPrimary dark canvas.#1a1a1aCard backgrounds, profile header on dark.Imagery & layout
Radius
6px8px10px9999pxSpacing
--space-1 · 4px--space-2 · 8px--space-3 · 12px--space-4 · 16px--space-5 · 20px--space-6 · 24px--space-8 · 32px--space-12 · 48pxElevation
--elev-raisedLayout
Layout rules
- Base unit: 4pt
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48
- Standard horizontal margin: 16pt on most screens, 24pt on activity-detail hero
- Feed card vertical gap: 8pt (cards almost touch — the visual rhythm is map snapshots)
- Section vertical gap inside activity detail: 32pt between major sections
- Content width: full minus 16pt horizontal margins