Substack vs Bolt
64 token-level differences between these two design systems.
Background
#ffffff → #1e1e21 Text
#363737 → #ffffff Brand
#ff6719 → #1488fc Border
rgba(0, 0, 0, 0.10) → rgba(255, 255, 255, 0.10) Display font
Cahuenga → Inter Display Body size
19px → 16px colors 54 changed
~
bg #ffffff → #1e1e21 ~
surface #ffffff → #26262a ~
text #363737 → #ffffff ~
text-faint #a8a8a8 → #8a8a8f ~
text-muted #878787 → #a3a3a8 ~
brand #ff6719 → #1488fc ~
brand-deep #cc4a0e → #0f6fd6 ~
on-brand #ffffff → #f3f0f5 ~
border rgba(0, 0, 0, 0.10) → rgba(255, 255, 255, 0.10) ~
border-strong rgba(0, 0, 0, 0.20) → rgba(255, 255, 255, 0.16) +
bg-deep #161618 +
surface-soft #2a2a2e +
surface-strong #2e2e33 +
text-display #fffeff +
text-medium #b2b2b8 +
text-disabled #5c5c61 +
brand-bright #2ba6ff +
brand-wash rgba(20, 136, 252, 0.12) +
on-brand-bright #ffffff +
utility-dark #101010 +
utility-dark-text rgba(255, 255, 255, 0.75) +
link #2ba6ff +
link-hover #5cbbff +
selected-bg #26262a +
border-subtle rgba(255, 255, 255, 0.06) +
border-focus #1488fc +
success-bg rgba(34, 134, 58, 0.18) +
success-text #3fce6a +
warning-bg rgba(166, 120, 20, 0.18) +
warning-text #e2b13c +
danger-bg rgba(196, 52, 60, 0.18) +
danger-text #ff6b73 +
info-bg rgba(20, 136, 252, 0.14) +
info-text #5cbbff −
bg-elev #fafaf7 −
bg-cream #fbf9f4 −
bg-soft #f6f6f3 −
surface-warm #fafaf7 −
text-strong #1a1a1a −
text-soft #666c70 −
text-link #363737 −
brand-hover #e85412 −
brand-tint rgba(255, 103, 25, 0.10) −
brand-tint-strong rgba(255, 103, 25, 0.18) −
border-soft rgba(0, 0, 0, 0.06) −
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":"Inter Display","size":80} ~
h1 {"family":"Cahuenga","size":40} → {"family":"Inter Display","size":48} ~
h2 {"family":"Cahuenga","size":32} → {"family":"Inter Display","size":32} ~
body {"family":"Spectral","size":19} → {"family":"Inter","size":16} ~
label {"family":"Monaco","size":13} → {"family":"SFMono-Regular","size":13} radius 1 changed
~
card 12px → 16px spacing 4 changed
~
xs 4px → 0px ~
sm 8px → 4px ~
md 16px → 12px ~
xl 48px → 64px