v0 vs Twitch
80 token-level differences between these two design systems.
Background
#fafafa → #0e0e10 Text
#262626 → #efeff1 Brand
#000000 → #9146ff Border
rgba(0, 0, 0, 0.078) → #3a3a3d Display font
GeistSans → Inter Body size
14px → 14px colors 69 changed
~
bg #fafafa → #0e0e10 ~
surface #f2f2f2 → #1f1f23 ~
surface-soft #f0f0f0 → #18181b ~
surface-strong #e6e6e6 → #26262c ~
text #262626 → #efeff1 ~
text-strong #000000 → #ffffff ~
text-muted #7c7c7c → #898997 ~
brand #000000 → #9146ff ~
brand-deep #000000 → #5c16c5 ~
border rgba(0, 0, 0, 0.078) → #3a3a3d ~
border-strong rgba(0, 0, 0, 0.14) → #53535f ~
danger-text #9a2c34 → #ff4d4d +
bg-alt #18181b +
bg-deep #000000 +
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-hover #a970ff +
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 +
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) +
success #00f593 +
warning #ffd84a +
danger #eb0400 +
info #4d8eff +
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 −
bg-pure #ffffff −
text-medium #525252 −
text-deep #969696 −
text-soft #bababa −
text-faint #cfcfcf −
brand-soft rgba(0, 0, 0, 0.08) −
link #000000 −
link-hover #525252 −
selected-bg #f2f2f2 −
disabled #bababa −
border-subtle rgba(0, 0, 0, 0.05) −
border-focus #000000 −
success-bg #f0f7f1 −
success-text #1f6b3e −
warning-bg #fef6e4 −
warning-text #7a5a14 −
danger-bg #fbebec −
info-bg #f2f2f2 −
info-text #262626 typography 5 changed
~
display {"family":"GeistSans","size":48} → {"family":"Inter","size":72} ~
h1 {"family":"GeistSans","size":32} → {"family":"Inter","size":40} ~
h2 {"family":"GeistSans","size":24} → {"family":"Inter","size":32} ~
body {"family":"GeistSans","size":14} → {"family":"Inter","size":14} ~
label {"family":"GeistMono","size":12} → {"family":"Roboto Mono","size":11} radius 1 changed
~
card 12px → 8px spacing 5 changed
~
xs 1px → 4px ~
sm 2px → 8px ~
md 6px → 16px ~
lg 12px → 32px ~
xl 20px → 48px