Twitch vs Substack
69 token-level differences between these two design systems.
Background
#0e0e10 → #ffffff Text
#efeff1 → #363737 Brand
#9146ff → #ff6719 Border
#3a3a3d → rgba(0, 0, 0, 0.10) Display font
Inter → Cahuenga Body size
14px → 19px colors 63 changed
~
bg #0e0e10 → #ffffff ~
surface #1f1f23 → #ffffff ~
text #efeff1 → #363737 ~
text-strong #ffffff → #1a1a1a ~
text-muted #898997 → #878787 ~
text-link #bf94ff → #363737 ~
brand #9146ff → #ff6719 ~
brand-hover #a970ff → #e85412 ~
brand-deep #5c16c5 → #cc4a0e ~
border #3a3a3d → rgba(0, 0, 0, 0.10) ~
border-soft #26262c → rgba(0, 0, 0, 0.06) ~
border-strong #53535f → rgba(0, 0, 0, 0.20) ~
success #00f593 → #0d8050 ~
warning #ffd84a → #d97706 ~
danger #eb0400 → #dc2626 ~
info #4d8eff → #2563eb +
bg-elev #fafaf7 +
bg-cream #fbf9f4 +
bg-soft #f6f6f3 +
surface-warm #fafaf7 +
text-soft #666c70 +
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-alt #18181b −
bg-deep #000000 −
surface-strong #26262c −
surface-soft #18181b −
surface-elevated #26262c −
surface-card #1f1f23 −
surface-chat #1f1f23 −
surface-chat-hover #26262c −
text-base #efeff1 −
text-alt #adadb8 −
text-disabled #53535f −
brand-active #772ce8 −
brand-2024 #9146ff −
brand-classic #6441a4 −
accent-magenta #fab4ff −
accent-cheer-red #ff4248 −
accent-cheer-orange #f5b53a −
accent-cheer-blue #4d8eff −
accent-cheer-green #00d6cc −
accent-cheer-purple #9c3eff −
scrim-card linear-gradient(0deg, rgba(0,0,0,0.85) 0%, transparent 100%) −
shadow-card rgba(0,0,0,0.5) −
shadow-modal rgba(0,0,0,0.76) −
danger-text #ff4d4d −
live-indicator #eb0400 −
live-pill-bg #eb0400 −
follow-purple #9146ff −
subscribe-tier-1 #9146ff −
subscribe-tier-2 #3ea6f5 −
subscribe-tier-3 #f5b53a −
highlight-mod #00ad03 −
highlight-vip #e005b9 −
highlight-broadcaster #eb0400 −
highlight-prime #3ea6f5 typography 5 changed
~
display {"family":"Inter","size":72} → {"family":"Cahuenga","size":56} ~
h1 {"family":"Inter","size":40} → {"family":"Cahuenga","size":40} ~
h2 {"family":"Inter","size":32} → {"family":"Cahuenga","size":32} ~
body {"family":"Inter","size":14} → {"family":"Spectral","size":19} ~
label {"family":"Roboto Mono","size":11} → {"family":"Monaco","size":13} radius 1 changed
~
card 8px → 12px spacing identical
No differences.