BMW M vs WHOOP
60 token-level differences between these two design systems.
Background
#0a0a0a → #000000 Text
#e6e6e6 → #ffffff Brand
#e22718 → #a0d10b Border
rgba(255,255,255,0.12) → #1f1f1f Display font
BMW Type Next Latin → Inter Body size
16px → 16px colors 52 changed
~
bg #0a0a0a → #000000 ~
bg-elev #161616 → #0a0a0a ~
text #e6e6e6 → #ffffff ~
text-muted #a3a3a3 → #b5b5b5 ~
text-faint #6b6b6b → #5e5e5e ~
brand #e22718 → #a0d10b ~
brand-hover #b81f12 → #88b609 ~
brand-active #9d1a0e → #739707 ~
border rgba(255,255,255,0.12) → #1f1f1f ~
border-strong rgba(255,255,255,0.24) → #2e2e2e ~
link #0066b1 → #ffffff ~
link-hover #1c69d4 → #a0d10b ~
success #22c55e → #16ec06 ~
warning #f59e0b → #ffde00 ~
danger #e22718 → #ff0026 ~
info #0066b1 → #0093e7 +
bg-elev-strong #141414 +
surface-soft #141414 +
surface-strong #1f1f1f +
brand-pale #e8f3c6 +
brand-deep #476005 +
brand-soft #0c1102 +
text-soft #8a8a8a +
text-on-brand #000000 +
border-soft #141414 +
border-input #3d3d3d +
recovery-green #16ec06 +
recovery-yellow #ffde00 +
recovery-red #ff0026 +
strain-blue #0093e7 +
sleep-blue #7eb8d9 +
hrv-purple #9c7ed9 +
scrim rgba(0,0,0,0.85) +
shadow-card rgba(0,0,0,0.6) −
bg-strong #1f1f1f −
bg-light-soft #f5f5f5 −
surface-card #161616 −
surface-card-hover #1f1f1f −
text-on-light #0a0a0a −
on-brand #ffffff −
m-blue #0066b1 −
m-violet #5b1f7a −
m-red #e22718 −
m-blue-electric #1c69d4 −
m-gradient-start #0066b1 −
m-gradient-mid #5b1f7a −
m-gradient-end #e22718 −
border-light #e6e6e6 −
ring #e22718 −
shadow-soft rgba(0,0,0,0.6) −
shadow-deep rgba(0,0,0,0.95) −
glow-red rgba(226,39,24,0.4) typography 5 changed
~
display {"family":"BMW Type Next Latin","size":72} → {"family":"Inter","size":72} ~
h1 {"family":"BMW Type Next Latin","size":40} → {"family":"Inter","size":40} ~
h2 {"family":"BMW Type Next Latin","size":32} → {"family":"Inter","size":32} ~
body {"family":"BMW Type Next Latin","size":16} → {"family":"Inter","size":16} ~
label {"family":"JetBrains Mono","size":11} → {"family":"Inter","size":11} radius 1 changed
~
card 14px → 12px spacing 2 changed
~
lg 48px → 32px ~
xl 96px → 48px