Twitch vs Semafor
95 token-level differences between these two design systems.
Background
#0e0e10 → #f8f5d7 Text
#efeff1 → #1f1d1a Brand
#9146ff → #3a6d78 Border
#3a3a3d → #d8d0a8 Display font
Inter → FeatureFlatHeadline Body size
14px → 18px colors 83 changed
~
bg #0e0e10 → #f8f5d7 ~
surface #1f1f23 → #f8f5d7 ~
surface-strong #26262c → #e8e3b5 ~
surface-soft #18181b → #f5f1c9 ~
text #efeff1 → #1f1d1a ~
text-strong #ffffff → #000000 ~
text-muted #898997 → #5a5651 ~
brand #9146ff → #3a6d78 ~
brand-hover #a970ff → #2d5a64 ~
brand-active #772ce8 → #1f4750 ~
brand-deep #5c16c5 → #1a3a44 ~
border #3a3a3d → #d8d0a8 ~
border-soft #26262c → #e8e2c2 ~
border-strong #53535f → #7a756f ~
shadow-card rgba(0,0,0,0.5) → rgba(31,29,26,0.06) ~
shadow-modal rgba(0,0,0,0.76) → rgba(31,29,26,0.3) ~
success #00f593 → #2a8a4f ~
warning #ffd84a → #cc7a00 ~
danger #eb0400 → #a62d2d ~
info #4d8eff → #3a6d78 +
bg-section #f8f5d7 +
bg-section-flagship #f8f5d7 +
bg-section-africa #f8f5d7 +
bg-dark #1f1d1a +
bg-darkest #0d0c0a +
surface-paper #ffffff +
surface-quote #fefbe8 +
surface-card-elevated #fcfae0 +
text-soft #7a756f +
text-faint #a39e96 +
text-on-teal #ffffff +
text-on-dark #f8f5d7 +
brand-soft #cce0e4 +
link #3a6d78 +
link-hover #2d5a64 +
link-visited #7a756f +
on-dark #f8f5d7 +
border-rule #1f1d1a +
border-teal #3a6d78 +
shadow-elev rgba(31,29,26,0.1) +
scrim rgba(31,29,26,0.6) +
success-soft #dff0e7 +
warning-soft #fde9cc +
danger-soft #f0d4d4 +
info-soft #cce0e4 +
flag-flagship #3a6d78 +
flag-africa #c46b3a +
flag-principals #3a6d78 +
flag-net-zero #2a8a4f +
flag-tech #5a4a8a +
flag-business #3a6d78 +
flag-media #a62d2d +
flag-gulf #c46b3a −
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-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%) −
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":"FeatureFlatHeadline","size":72} ~
h1 {"family":"Inter","size":40} → {"family":"FeatureFlatHeadline","size":28} ~
h2 {"family":"Inter","size":32} → {"family":"FeatureFlatHeadline","size":22} ~
body {"family":"Inter","size":14} → {"family":"FeatureFlatText","size":18} ~
label {"family":"Roboto Mono","size":11} → {"family":"Courier New","size":11} radius 2 changed
~
button 6px → 4px ~
card 8px → 6px spacing 5 changed
~
xs 4px → 2px ~
sm 8px → 4px ~
md 16px → 12px ~
lg 32px → 24px ~
xl 48px → 40px