Duolingo vs Optimism
78 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#4b4b4b → #000000 Brand
#58cc02 → #ff0420 Border
#e5e5e5 → #e0e0e0 Display font
din-round → Optimism Display Body size
16px → 16px colors 66 changed
~
bg-soft #f7f7f7 → #f5f5f5 ~
text #4b4b4b → #000000 ~
text-muted #777777 → #5a5a5a ~
brand #58cc02 → #ff0420 ~
brand-hover #61e002 → #cc0319 ~
brand-deep #3a8c00 → #7d020f ~
border #e5e5e5 → #e0e0e0 ~
border-strong #d4d4d4 → #c0c0c0 ~
border-soft #f0f0f0 → #ebebeb +
bg-strong #e6e6e6 +
bg-dark #000000 +
bg-dark-elev #1a1a1a +
bg-dark-deep #0a0a0a +
surface-card #ffffff +
surface-card-soft #f5f5f5 +
text-body #1a1a1a +
text-subtle #8a8a8a +
text-on-dark #ffffff +
text-on-dark-soft #a8a8a8 +
brand-active #a30214 +
brand-soft #ff04201a +
brand-glow rgba(255,4,32,0.40) +
brand-bright #ff3344 +
semantic-up #10b981 +
semantic-down #ef4444 +
semantic-warning #f59e0b +
semantic-info #ff0420 +
gradient-hero linear-gradient(135deg, #000000 0%, #1a1a1a 60%, #7d020f 100%) +
gradient-red linear-gradient(135deg, #ff0420 0%, #cc0319 100%) +
focus-ring rgba(255,4,32,0.45) +
scrim rgba(0,0,0,0.65) +
link #ff0420 +
link-hover #cc0319 −
bg-warm #fff4dd −
surface #ffffff −
surface-soft #fafafa −
surface-tinted #f0fff0 −
text-strong #3c3c3c −
text-soft #afafaf −
text-faint #d4d4d4 −
text-on-brand #ffffff −
text-link #1cb0f6 −
brand-pressed #46a302 −
brand-tint #d7ffb8 −
streak-orange #ff9600 −
streak-orange-deep #cc7700 −
heart-red #ff4b4b −
heart-red-deep #e02e2e −
xp-gold #ffc800 −
xp-gold-deep #cc9f00 −
super-purple #ce82ff −
super-purple-deep #a560d4 −
macaw-blue #1cb0f6 −
macaw-blue-deep #0a8acf −
border-brand #58cc02 −
shadow-button #46a302 −
shadow-card rgba(0, 0, 0, 0.08) −
shadow-modal rgba(0, 0, 0, 0.16) −
success #58cc02 −
success-bg #d7ffb8 −
warning #ff9600 −
warning-bg #fff4dd −
danger #ff4b4b −
danger-bg #ffe5e5 −
info #1cb0f6 −
info-bg #ddf4ff typography 5 changed
~
display {"family":"din-round","size":88} → {"family":"Optimism Display","size":72} ~
h1 {"family":"din-round","size":40} → {"family":"Optimism Display","size":40} ~
h2 {"family":"din-round","size":32} → {"family":"Optimism Display","size":32} ~
body {"family":"Lexend Deca","size":16} → {"family":"Inter","size":16} ~
label {"family":"SFMono-Regular","size":14} → {"family":"JetBrains Mono","size":11} radius 2 changed
~
card 24px → 12px ~
pill 9999px → 999px spacing 5 changed
~
xs 0px → 4px ~
sm 4px → 8px ~
md 12px → 16px ~
lg 24px → 32px ~
xl 40px → 64px