Calm vs Substack
55 token-level differences between these two design systems.
Background
#f6f1e6 → #ffffff Text
#1d2629 → #363737 Brand
#1d4763 → #ff6719 Border
#d8d2c4 → rgba(0, 0, 0, 0.10) Display font
Visby Round → Cahuenga Body size
16px → 19px colors 44 changed
~
bg #f6f1e6 → #ffffff ~
bg-soft #fbf8f0 → #f6f6f3 ~
brand #1d4763 → #ff6719 ~
brand-hover #163847 → #e85412 ~
brand-deep #091e29 → #cc4a0e ~
brand-tint #dde6ed → rgba(255, 103, 25, 0.10) ~
on-brand #f6f1e6 → #ffffff ~
text #1d2629 → #363737 ~
text-strong #091e29 → #1a1a1a ~
text-muted #5a6770 → #878787 ~
text-soft #8a949c → #666c70 ~
text-faint #bcc4ca → #a8a8a8 ~
border #d8d2c4 → rgba(0, 0, 0, 0.10) ~
border-strong #bcb6a8 → rgba(0, 0, 0, 0.20) ~
border-soft #e8e3d6 → rgba(0, 0, 0, 0.06) ~
success #2a4a3e → #0d8050 ~
warning #cb9c45 → #d97706 ~
danger #a35353 → #dc2626 ~
info #1d4763 → #2563eb +
bg-elev #fafaf7 +
bg-cream #fbf9f4 +
surface-warm #fafaf7 +
text-link #363737 +
brand-tint-strong rgba(255, 103, 25, 0.18) +
border-warm rgba(0, 0, 0, 0.08) +
selection-bg rgba(255, 103, 25, 0.20) +
shadow-soft rgba(0, 0, 0, 0.06) +
shadow-medium rgba(0, 0, 0, 0.10) +
reading-rule rgba(0, 0, 0, 0.08) −
bg-deeper #ede5d3 −
bg-warm #f9f4ea −
surface-soft #fbf8f0 −
surface-cream #f0e9d8 −
brand-pressed #102835 −
forest #2a4a3e −
forest-deep #1c3a30 −
forest-soft #dce5e0 −
text-on-brand #f6f1e6 −
link #1d4763 −
link-hover #2a4a3e −
selected-bg #dde6ed −
border-brand #1d4763 −
amber #cb9c45 −
rose #c47e7e typography 5 changed
~
display {"family":"Visby Round","size":72} → {"family":"Cahuenga","size":56} ~
h1 {"family":"Visby Round","size":36} → {"family":"Cahuenga","size":40} ~
h2 {"family":"Visby Round","size":28} → {"family":"Cahuenga","size":32} ~
body {"family":"Visby Round","size":16} → {"family":"Spectral","size":19} ~
label {"family":"SFMono-Regular","size":12} → {"family":"Monaco","size":13} radius 2 changed
~
button 12px → 6px ~
card 16px → 12px spacing 4 changed
~
xs 0px → 4px ~
md 24px → 16px ~
lg 48px → 32px ~
xl 80px → 48px