Diff

Substack vs Windsurf

49 token-level differences between these two design systems.

Role tokens
Background
#ffffff #f6eede
Text
#363737 #0b100f
Brand
#ff6719 #34e8bb
Border
rgba(0, 0, 0, 0.10) #c0c1c6
Display font
Cahuenga tomatoGrotesk
Body size
19px 16px
colors 39 changed
~ bg #ffffff #f6eede
~ bg-soft #f6f6f3 #fbf7ee
~ text #363737 #0b100f
~ text-faint #a8a8a8 #8a8f8b
~ text-muted #878787 #5a615d
~ brand #ff6719 #34e8bb
~ brand-deep #cc4a0e #0fbf97
~ on-brand #ffffff #003326
~ border rgba(0, 0, 0, 0.10) #c0c1c6
~ border-soft rgba(0, 0, 0, 0.06) #e3e0d6
~ success #0d8050 #0fbf97
~ warning #d97706 #c08a2e
~ danger #dc2626 #d8413f
~ info #2563eb #4380b4
+ surface-dark #0b100f
+ surface-dark-soft #141a18
+ text-on-dark #ffffff
+ text-body #3a423f
+ text-on-dark-muted rgba(255, 255, 255, 0.7)
+ link #0b100f
+ link-hover #0fbf97
+ border-dark rgba(255, 255, 255, 0.12)
+ ring rgba(67, 128, 180, 0.5)
+ shadow-tint rgba(11, 16, 15, 0.10)
bg-elev #fafaf7
bg-cream #fbf9f4
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-strong rgba(0, 0, 0, 0.20)
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)
typography 5 changed
~ display {"family":"Cahuenga","size":56} {"family":"tomatoGrotesk","size":72}
~ h1 {"family":"Cahuenga","size":40} {"family":"tomatoGrotesk","size":48}
~ h2 {"family":"Cahuenga","size":32} {"family":"tomatoGrotesk","size":40}
~ body {"family":"Spectral","size":19} {"family":"Inter","size":16}
~ label {"family":"Monaco","size":13} {"family":"SFMono-Regular","size":13}
radius 1 changed
~ button 6px 8px
spacing 4 changed
~ xs 4px 0px
~ sm 8px 4px
~ md 16px 12px
~ xl 48px 64px
↻ Swap direction · Windsurf → Substack