Fantastical vs Optimism
70 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#1d1e1f → #000000 Brand
#408fff → #ff0420 Border
rgba(0,0,0,0.10) → #e0e0e0 Display font
Effra → Optimism Display Body size
18px → 16px colors 60 changed
~
bg-soft #f7f8fa → #f5f5f5 ~
text #1d1e1f → #000000 ~
text-muted #5e6166 → #5a5a5a ~
brand #408fff → #ff0420 ~
brand-hover #1f73ec → #cc0319 ~
brand-soft rgba(116,116,128,0.08) → #ff04201a ~
border rgba(0,0,0,0.10) → #e0e0e0 ~
border-soft rgba(0,0,0,0.06) → #ebebeb ~
border-strong rgba(0,0,0,0.16) → #c0c0c0 ~
semantic-warning #ff9500 → #f59e0b ~
semantic-info #408fff → #ff0420 +
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-glow rgba(255,4,32,0.40) +
on-brand #ffffff +
brand-deep #7d020f +
brand-bright #ff3344 +
semantic-up #10b981 +
semantic-down #ef4444 +
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-cooler #f2f4f7 −
surface #f0f2f6 −
surface-warm #fafbfc −
surface-elev #ffffff −
text-strong #000000 −
text-soft #86878a −
text-faint #b5b6b9 −
brand-tint #e8f1ff −
accent-cyan #5ac8fa −
accent-cyan-deep #34aadc −
accent-magenta #d94aff −
accent-magenta-deep #c71fea −
accent-green #34c759 −
accent-green-deep #28a745 −
accent-orange #ff9500 −
accent-orange-deep #e07b00 −
accent-yellow #ffcc00 −
accent-pink #ff2d55 −
accent-purple #af52de −
accent-indigo #5856d6 −
shadow-card rgba(0,0,0,0.04) −
shadow-elev rgba(0,0,0,0.08) −
shadow-deep rgba(0,0,0,0.12) −
shadow-glow rgba(64,143,255,0.18) −
semantic-success #34c759 −
semantic-danger #ff3b30 typography 5 changed
~
display {"family":"Effra","size":80} → {"family":"Optimism Display","size":72} ~
h1 {"family":"Effra","size":56} → {"family":"Optimism Display","size":40} ~
h2 {"family":"Effra","size":40} → {"family":"Optimism Display","size":32} ~
body {"family":"Effra","size":18} → {"family":"Inter","size":16} ~
label {"family":"JetBrains Mono","size":14} → {"family":"JetBrains Mono","size":11} radius 3 changed
~
button 16px → 12px ~
card 20px → 12px ~
pill 24px → 999px spacing 2 changed
~
lg 48px → 32px ~
xl 96px → 64px