Twitch vs Modal
89 token-level differences between these two design systems.
Background
#0e0e10 → #0c0c0c Text
#efeff1 → #ffffff Brand
#9146ff → #7fee64 Border
#3a3a3d → rgba(255, 255, 255, 0.1) Display font
Inter → Söhne Body size
14px → 16px colors 78 changed
~
bg #0e0e10 → #0c0c0c ~
text #efeff1 → #ffffff ~
text-muted #898997 → #737373 ~
brand #9146ff → #7fee64 ~
brand-hover #a970ff → #6dd954 ~
brand-active #772ce8 → #5cc548 ~
on-brand #ffffff → #0c0c0c ~
border #3a3a3d → rgba(255, 255, 255, 0.1) ~
border-strong #53535f → rgba(255, 255, 255, 0.2) ~
success #00f593 → #7fee64 ~
warning #ffd84a → #fbbf24 ~
danger #eb0400 → #f87171 ~
info #4d8eff → #60a5fa +
bg-elev-1 #141414 +
bg-elev-2 #1c1c1c +
bg-elev-3 #262626 +
bg-elev-4 #333333 +
bg-overlay rgba(0, 0, 0, 0.78) +
text-soft #a3a3a3 +
text-faint #525252 +
text-on-brand #0c0c0c +
brand-tint rgba(127, 238, 100, 0.12) +
brand-tint-strong rgba(127, 238, 100, 0.2) +
brand-glow rgba(127, 238, 100, 0.4) +
accent-output #7fee64 +
accent-prompt #a3eb8e +
accent-syntax-keyword #7fee64 +
accent-syntax-string #fbbf24 +
accent-syntax-comment #737373 +
accent-syntax-fn #a3eb8e +
border-subtle rgba(255, 255, 255, 0.05) +
border-brand rgba(127, 238, 100, 0.4) +
border-focus #7fee64 +
success-bg rgba(127, 238, 100, 0.12) +
warning-bg rgba(251, 191, 36, 0.12) +
danger-bg rgba(248, 113, 113, 0.12) +
info-bg rgba(96, 165, 250, 0.12) +
on-bg #ffffff +
on-surface #ffffff +
on-warning #0c0c0c +
on-danger #ffffff −
bg-alt #18181b −
bg-deep #000000 −
surface #1f1f23 −
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-link #bf94ff −
text-disabled #53535f −
brand-deep #5c16c5 −
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 −
border-soft #26262c −
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":"Söhne","size":88} ~
h1 {"family":"Inter","size":40} → {"family":"Söhne","size":56} ~
h2 {"family":"Inter","size":32} → {"family":"Söhne","size":36} ~
body {"family":"Inter","size":14} → {"family":"Söhne","size":16} ~
label {"family":"Roboto Mono","size":11} → {"family":"Modal Mono","size":11} radius 1 changed
~
card 8px → 12px spacing 5 changed
~
xs 4px → 0px ~
sm 8px → 2px ~
md 16px → 8px ~
lg 32px → 20px ~
xl 48px → 32px