Substack vs Cursor
52 token-level differences between these two design systems.
Background
#ffffff → #f7f7f4 Text
#363737 → #26251e Brand
#ff6719 → #f54e00 Border
rgba(0, 0, 0, 0.10) → #e6e5e0 Display font
Cahuenga → CursorGothic Body size
19px → 16px colors 44 changed
~
bg #ffffff → #f7f7f4 ~
bg-soft #f6f6f3 → #fafaf7 ~
text #363737 → #26251e ~
text-strong #1a1a1a → #26251e ~
text-soft #666c70 → rgba(38, 37, 30, 0.6) ~
text-faint #a8a8a8 → #a09c92 ~
text-muted #878787 → #807d72 ~
brand #ff6719 → #f54e00 ~
border rgba(0, 0, 0, 0.10) → #e6e5e0 ~
border-strong rgba(0, 0, 0, 0.20) → #cfcdc4 ~
border-soft rgba(0, 0, 0, 0.06) → #efeee8 ~
success #0d8050 → #1f8a65 ~
warning #d97706 → #c08532 ~
danger #dc2626 → #cf2d56 ~
info #2563eb → #9fbbe0 +
surface-soft #f2f1ed +
surface-strong #e6e5e0 +
text-body #5a5852 +
brand-active #d04200 +
link #26251e +
link-hover #f54e00 +
border-translucent rgba(38, 37, 30, 0.1) +
timeline-thinking #dfa88f +
timeline-grep #9fc9a2 +
timeline-read #9fbbe0 +
timeline-edit #c0a8dd +
timeline-done #c08532 +
selection-orange #f54e00 +
diff-add-bg rgba(31, 138, 101, 0.12) +
diff-remove-bg rgba(207, 45, 86, 0.12) +
shadow-tint rgba(38, 37, 30, 0.08) −
bg-elev #fafaf7 −
bg-cream #fbf9f4 −
surface-warm #fafaf7 −
text-link #363737 −
brand-hover #e85412 −
brand-deep #cc4a0e −
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) −
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":"CursorGothic","size":72} ~
h1 {"family":"Cahuenga","size":40} → {"family":"CursorGothic","size":48} ~
h2 {"family":"Cahuenga","size":32} → {"family":"CursorGothic","size":36} ~
body {"family":"Spectral","size":19} → {"family":"CursorGothic","size":16} ~
label {"family":"Monaco","size":13} → {"family":"JetBrains Mono","size":11} radius 2 changed
~
button 6px → 8px ~
card 12px → 20px spacing 1 changed
~
xl 48px → 64px