Postmark vs Substack
58 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#1c1d1f → #363737 Brand
#ffde00 → #ff6719 Border
#e5e5e2 → rgba(0, 0, 0, 0.10) Display font
Inter → Cahuenga Body size
17px → 19px colors 52 changed
~
bg-soft #fafaf7 → #f6f6f3 ~
bg-cream #fdfaf0 → #fbf9f4 ~
surface #fff8d4 → #ffffff ~
text #1c1d1f → #363737 ~
text-strong #000000 → #1a1a1a ~
text-muted #5c5e63 → #878787 ~
text-soft #8a8d93 → #666c70 ~
text-faint #b3b6bc → #a8a8a8 ~
brand #ffde00 → #ff6719 ~
brand-hover #f0d000 → #e85412 ~
brand-deep #b39600 → #cc4a0e ~
on-brand #1c1d1f → #ffffff ~
border #e5e5e2 → rgba(0, 0, 0, 0.10) ~
border-soft #f0f0ed → rgba(0, 0, 0, 0.06) ~
border-strong #cdcdc8 → rgba(0, 0, 0, 0.20) ~
shadow-soft rgba(28,29,31,0.06) → rgba(0, 0, 0, 0.06) ~
shadow-medium rgba(28,29,31,0.10) → rgba(0, 0, 0, 0.10) +
bg-elev #fafaf7 +
surface-warm #fafaf7 +
text-link #363737 +
brand-tint rgba(255, 103, 25, 0.10) +
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) +
success #0d8050 +
warning #d97706 +
danger #dc2626 +
info #2563eb +
reading-rule rgba(0, 0, 0, 0.08) −
surface-neutral #f5f5f2 −
surface-2 #f0f0ed −
bg-dark #1c1d1f −
bg-dark-2 #26272a −
text-on-dark #ffffff −
text-on-dark-soft #c9ccd1 −
brand-active #e6c500 −
brand-soft #fff8d4 −
link #1c4eb8 −
link-hover #1a3f99 −
accent-blue #1c4eb8 −
accent-blue-soft #e6edff −
accent-green #22c55e −
accent-green-soft #dcfce7 −
accent-red #dc2626 −
accent-red-soft #fee2e2 −
accent-amber #f59e0b −
border-dark #3a3b3e −
shadow-strong rgba(28,29,31,0.18) −
semantic-success #22c55e −
semantic-warning #f59e0b −
semantic-danger #dc2626 −
semantic-info #1c4eb8 typography 5 changed
~
display {"family":"Inter","size":72} → {"family":"Cahuenga","size":56} ~
h1 {"family":"Inter","size":48} → {"family":"Cahuenga","size":40} ~
h2 {"family":"Inter","size":40} → {"family":"Cahuenga","size":32} ~
body {"family":"Inter","size":17} → {"family":"Spectral","size":19} ~
label {"family":"JetBrains Mono","size":12} → {"family":"Monaco","size":13} radius 1 changed
~
button 8px → 6px spacing identical
No differences.