Spotify vs Semafor
87 token-level differences between these two design systems.
Background
#121212 → #f8f5d7 Text
#ffffff → #1f1d1a Brand
#1ed760 → #3a6d78 Border
#282828 → #d8d0a8 Display font
Spotify Mix → FeatureFlatHeadline Body size
14px → 18px colors 75 changed
~
bg #121212 → #f8f5d7 ~
surface #181818 → #f8f5d7 ~
surface-strong #282828 → #e8e3b5 ~
surface-soft #1a1a1a → #f5f1c9 ~
text #ffffff → #1f1d1a ~
text-strong #ffffff → #000000 ~
text-muted #727272 → #5a5651 ~
brand #1ed760 → #3a6d78 ~
brand-hover #1fdf64 → #2d5a64 ~
brand-active #169c46 → #1f4750 ~
brand-deep #137a3a → #1a3a44 ~
on-brand #000000 → #ffffff ~
border #282828 → #d8d0a8 ~
border-soft #181818 → #e8e2c2 ~
border-strong #727272 → #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 #1ed760 → #2a8a4f ~
warning #ffa42b → #cc7a00 ~
danger #e91429 → #a62d2d ~
info #509bf5 → #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-deep #000000 −
bg-base #000000 −
surface-elevated #2a2a2a −
surface-tinted rgba(0,0,0,0.5) −
surface-card #181818 −
surface-now-playing #181818 −
text-base #ffffff −
text-subdued #a7a7a7 −
text-bright-accent #1ed760 −
text-disabled #535353 −
brand-classic #1db954 −
accent-pink #ff6437 −
accent-yellow #f0ff5b −
accent-purple #b28cff −
scrim-top linear-gradient(180deg, rgba(0,0,0,0.6) 0%, transparent 100%) −
scrim-card linear-gradient(0deg, rgba(0,0,0,0.7) 0%, transparent 100%) −
danger-text #f15e6c −
explicit-badge #727272 −
liked-heart #1ed760 −
premium-badge #1ed760 −
equalizer-bar #1ed760 typography 5 changed
~
display {"family":"Spotify Mix","size":96} → {"family":"FeatureFlatHeadline","size":72} ~
h1 {"family":"Spotify Mix","size":40} → {"family":"FeatureFlatHeadline","size":28} ~
h2 {"family":"Spotify Mix","size":32} → {"family":"FeatureFlatHeadline","size":22} ~
body {"family":"Spotify Mix","size":14} → {"family":"FeatureFlatText","size":18} ~
label {"family":"SFMono-Regular","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