Substack vs PostHog
57 token-level differences between these two design systems.
Background
#ffffff → #eeefe9 Text
#363737 → #23251d Brand
#ff6719 → #cd8407 Border
rgba(0, 0, 0, 0.10) → rgba(35,37,29,0.12) Display font
Cahuenga → IBM Plex Sans Variable Body size
19px → 16px colors 51 changed
~
bg #ffffff → #eeefe9 ~
surface-warm #fafaf7 → #faf9f3 ~
text #363737 → #23251d ~
text-soft #666c70 → #6e7065 ~
text-faint #a8a8a8 → #a8aaa1 ~
text-muted #878787 → #4d4f46 ~
brand #ff6719 → #cd8407 ~
brand-hover #e85412 → #eb9d2a ~
brand-deep #cc4a0e → #7d5104 ~
on-brand #ffffff → #23251d ~
border rgba(0, 0, 0, 0.10) → rgba(35,37,29,0.12) ~
border-strong rgba(0, 0, 0, 0.20) → rgba(35,37,29,0.24) ~
border-soft rgba(0, 0, 0, 0.06) → rgba(35,37,29,0.06) +
bg-deep #e6e7df +
bg-cooler #f5f6ef +
surface-alt #d2d3cc +
surface-dark #1d1f17 +
text-on-dark #eeefe9 +
text-on-brand #23251d +
brand-active #a36a05 +
brand-warm #f35454 +
brand-warm-hover #ff7575 +
brand-warm-deep #c43838 +
brand-blue #1d4aff +
brand-blue-hover #2754ff +
brand-blue-deep #0d2ec4 +
accent-mint #76eaa3 +
accent-purple #9d4cf2 +
border-dark rgba(255,255,255,0.10) +
shadow-card rgba(35,37,29,0.06) +
shadow-elev rgba(35,37,29,0.10) +
semantic-success #76eaa3 +
semantic-warning #cd8407 +
semantic-danger #f35454 +
semantic-info #1d4aff −
bg-elev #fafaf7 −
bg-cream #fbf9f4 −
bg-soft #f6f6f3 −
text-strong #1a1a1a −
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 −
shadow-soft rgba(0, 0, 0, 0.06) −
shadow-medium rgba(0, 0, 0, 0.10) −
reading-rule rgba(0, 0, 0, 0.08) typography 5 changed
~
display {"family":"Cahuenga","size":56} → {"family":"IBM Plex Sans Variable","size":88} ~
h1 {"family":"Cahuenga","size":40} → {"family":"IBM Plex Sans Variable","size":60} ~
h2 {"family":"Cahuenga","size":32} → {"family":"IBM Plex Sans Variable","size":44} ~
body {"family":"Spectral","size":19} → {"family":"IBM Plex Sans Variable","size":16} ~
label {"family":"Monaco","size":13} → {"family":"Source Code Pro","size":11} radius 1 changed
~
button 6px → 8px spacing identical
No differences.