Calm vs WHOOP
63 token-level differences between these two design systems.
Background
#f6f1e6 → #000000 Text
#1d2629 → #ffffff Brand
#1d4763 → #a0d10b Border
#d8d2c4 → #1f1f1f Display font
Visby Round → Inter Body size
16px → 16px colors 52 changed
~
bg #f6f1e6 → #000000 ~
surface #ffffff → #0a0a0a ~
surface-soft #fbf8f0 → #141414 ~
brand #1d4763 → #a0d10b ~
brand-hover #163847 → #88b609 ~
brand-deep #091e29 → #476005 ~
text #1d2629 → #ffffff ~
text-strong #091e29 → #ffffff ~
text-muted #5a6770 → #b5b5b5 ~
text-soft #8a949c → #8a8a8a ~
text-faint #bcc4ca → #5e5e5e ~
text-on-brand #f6f1e6 → #000000 ~
link #1d4763 → #ffffff ~
link-hover #2a4a3e → #a0d10b ~
border #d8d2c4 → #1f1f1f ~
border-strong #bcb6a8 → #2e2e2e ~
border-soft #e8e3d6 → #141414 ~
success #2a4a3e → #16ec06 ~
warning #cb9c45 → #ffde00 ~
danger #a35353 → #ff0026 ~
info #1d4763 → #0093e7 +
bg-elev #0a0a0a +
bg-elev-strong #141414 +
bg-light #ffffff +
surface-strong #1f1f1f +
brand-active #739707 +
brand-pale #e8f3c6 +
brand-soft #0c1102 +
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) +
shadow-elev rgba(0,0,0,0.8) −
bg-soft #fbf8f0 −
bg-deeper #ede5d3 −
bg-warm #f9f4ea −
surface-cream #f0e9d8 −
brand-pressed #102835 −
brand-tint #dde6ed −
on-brand #f6f1e6 −
forest #2a4a3e −
forest-deep #1c3a30 −
forest-soft #dce5e0 −
selected-bg #dde6ed −
border-brand #1d4763 −
amber #cb9c45 −
rose #c47e7e typography 5 changed
~
display {"family":"Visby Round","size":72} → {"family":"Inter","size":72} ~
h1 {"family":"Visby Round","size":36} → {"family":"Inter","size":40} ~
h2 {"family":"Visby Round","size":28} → {"family":"Inter","size":32} ~
body {"family":"Visby Round","size":16} → {"family":"Inter","size":16} ~
label {"family":"SFMono-Regular","size":12} → {"family":"Inter","size":11} radius 2 changed
~
button 12px → 8px ~
card 16px → 12px spacing 4 changed
~
xs 0px → 4px ~
md 24px → 16px ~
lg 48px → 32px ~
xl 80px → 48px