WHOOP vs Cal.com
64 token-level differences between these two design systems.
Background
#000000 → #f4f4f4 Text
#ffffff → #111111 Brand
#a0d10b → #111111 Border
#1f1f1f → rgba(0, 0, 0, 0.08) Display font
Inter → Cal Sans Body size
16px → 16px colors 57 changed
~
bg #000000 → #f4f4f4 ~
surface #0a0a0a → #ffffff ~
surface-soft #141414 → #f8f9fa ~
surface-strong #1f1f1f → #e5e7eb ~
brand #a0d10b → #111111 ~
brand-active #739707 → #242424 ~
text #ffffff → #111111 ~
text-strong #ffffff → #000000 ~
text-muted #b5b5b5 → #898989 ~
text-soft #8a8a8a → #6b7280 ~
text-faint #5e5e5e → #9ca3af ~
link #ffffff → #0000ee ~
link-hover #a0d10b → #0000aa ~
border #1f1f1f → rgba(0, 0, 0, 0.08) ~
border-soft #141414 → #f3f4f6 ~
border-strong #2e2e2e → #e5e7eb +
bg-soft #fafafa +
surface-card #f5f5f5 +
surface-dark #101010 +
surface-dark-elev #1a1a1a +
text-body #374151 +
brand-disabled #e5e7eb +
on-brand #ffffff +
on-dark #ffffff +
on-dark-soft #a1a1aa +
link-visited #551a8b +
brand-accent #3b82f6 +
badge-orange #fb923c +
badge-pink #ec4899 +
badge-violet #8b5cf6 +
badge-emerald #34d399 +
semantic-success #10b981 +
semantic-warning #f59e0b +
semantic-danger #ef4444 +
semantic-info #3b82f6 −
bg-elev #0a0a0a −
bg-elev-strong #141414 −
bg-light #ffffff −
brand-hover #88b609 −
brand-pale #e8f3c6 −
brand-deep #476005 −
brand-soft #0c1102 −
text-on-brand #000000 −
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) −
success #16ec06 −
warning #ffde00 −
danger #ff0026 −
info #0093e7 typography 4 changed
~
display {"family":"Inter","size":72} → {"family":"Cal Sans","size":64} ~
h1 {"family":"Inter","size":40} → {"family":"Cal Sans","size":36} ~
h2 {"family":"Inter","size":32} → {"family":"Cal Sans","size":28} ~
label {"family":"Inter","size":11} → {"family":"JetBrains Mono","size":11} radius 1 changed
~
card 12px → 20px spacing 2 changed
~
lg 32px → 48px ~
xl 48px → 96px