Khan Academy vs Substack
66 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#21242c → #363737 Brand
#14bf96 → #ff6719 Border
#d6d8de → rgba(0, 0, 0, 0.10) Display font
Lato → Cahuenga Body size
16px → 19px colors 60 changed
~
bg-cream #fef9e9 → #fbf9f4 ~
text #21242c → #363737 ~
text-strong #0c0d0f → #1a1a1a ~
text-muted #5b5e6b → #878787 ~
text-soft #797d8a → #666c70 ~
text-link #0a7d63 → #363737 ~
brand #14bf96 → #ff6719 ~
brand-hover #0e9a78 → #e85412 ~
brand-deep #0a7d63 → #cc4a0e ~
border #d6d8de → rgba(0, 0, 0, 0.10) ~
border-soft #e7e9ed → rgba(0, 0, 0, 0.06) ~
border-strong #a8aab2 → rgba(0, 0, 0, 0.20) ~
success #0a7d63 → #0d8050 ~
warning #d68a17 → #d97706 ~
danger #d23a48 → #dc2626 ~
info #1865f2 → #2563eb +
bg-elev #fafaf7 +
bg-soft #f6f6f3 +
surface-warm #fafaf7 +
text-faint #a8a8a8 +
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) −
bg-warm #f7f8fa −
bg-muted #fafbfc −
bg-deep #21242c −
bg-promo #e3f9f1 −
surface-elevated #ffffff −
surface-hover #f7f8fa −
surface-soft #f0fcf7 −
surface-strong #e7e9ed −
text-disabled #a8aab2 −
text-on-brand #ffffff −
text-link-hover #06664f −
brand-active #0a7d63 −
brand-soft #e3f9f1 −
accent-blue #1865f2 −
accent-yellow #f4cf3e −
accent-orange #e07c2c −
accent-purple #9059ff −
accent-red #d23a48 −
accent-pink #e879b7 −
border-focus #14bf96 −
mastery-attempted #a8aab2 −
mastery-familiar #1865f2 −
mastery-proficient #9059ff −
mastery-mastered #0a7d63 −
energy-points #f4cf3e −
streak-fire #e07c2c −
shadow-card rgba(33,36,44,0.08) −
shadow-modal rgba(33,36,44,0.20) −
shadow-popover rgba(33,36,44,0.12) −
success-soft #e3f9f1 −
warning-soft #fef9e9 −
danger-soft #fdebed −
info-soft #e6efff typography 5 changed
~
display {"family":"Lato","size":56} → {"family":"Cahuenga","size":56} ~
h1 {"family":"Lato","size":40} → {"family":"Cahuenga","size":40} ~
h2 {"family":"Lato","size":32} → {"family":"Cahuenga","size":32} ~
body {"family":"Lato","size":16} → {"family":"Spectral","size":19} ~
label {"family":"Source Code Pro","size":11} → {"family":"Monaco","size":13} radius 1 changed
~
card 8px → 12px spacing identical
No differences.