Volkswagen vs Substack
58 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#3c3c3c → #363737 Brand
#001e50 → #ff6719 Border
#dde1e6 → rgba(0, 0, 0, 0.10) Display font
VW Head → Cahuenga Body size
16px → 19px colors 50 changed
~
bg-soft #f4f5f7 → #f6f6f3 ~
text #3c3c3c → #363737 ~
text-muted #6a7280 → #878787 ~
text-faint #9aa3ad → #a8a8a8 ~
brand #001e50 → #ff6719 ~
brand-hover #000f2c → #e85412 ~
brand-deep #000914 → #cc4a0e ~
border #dde1e6 → rgba(0, 0, 0, 0.10) ~
border-strong #b6bdc7 → rgba(0, 0, 0, 0.20) ~
border-soft #eceef1 → rgba(0, 0, 0, 0.06) ~
shadow-soft rgba(0,30,80,0.06) → rgba(0, 0, 0, 0.06) ~
success #1f8b46 → #0d8050 ~
warning #f0a020 → #d97706 ~
danger #cb2026 → #dc2626 ~
info #00b0f0 → #2563eb +
bg-elev #fafaf7 +
bg-cream #fbf9f4 +
surface-warm #fafaf7 +
text-soft #666c70 +
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) +
shadow-medium rgba(0, 0, 0, 0.10) +
reading-rule rgba(0, 0, 0, 0.08) −
bg-card #ffffff −
bg-strong #e8eaee −
bg-dark #001e50 −
bg-dark-elev #0a2e6a −
bg-deep #000914 −
bg-id #00b0f0 −
surface-soft #f4f5f7 −
surface-card #ffffff −
surface-table #fafbfc −
text-ink #001e50 −
brand-disabled #cdd5df −
brand-id #00b0f0 −
brand-id-deep #0090d0 −
on-dark #ffffff −
on-dark-soft #bcc6d2 −
on-id #001e50 −
accent-r-line-red #cb2026 −
accent-gti-red #cb2026 −
border-on-dark rgba(255,255,255,0.18) −
link #001e50 −
link-hover #0040a0 −
ring #001e50 −
shadow-elev rgba(0,30,80,0.12) −
shadow-deep rgba(0,9,20,0.32) typography 5 changed
~
display {"family":"VW Head","size":72} → {"family":"Cahuenga","size":56} ~
h1 {"family":"VW Head","size":40} → {"family":"Cahuenga","size":40} ~
h2 {"family":"VW Head","size":32} → {"family":"Cahuenga","size":32} ~
body {"family":"VW Text","size":16} → {"family":"Spectral","size":19} ~
label {"family":"JetBrains Mono","size":11} → {"family":"Monaco","size":13} radius 1 changed
~
button 8px → 6px spacing 2 changed
~
lg 48px → 32px ~
xl 96px → 48px