Fantastical vs shadcn/ui
73 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#1d1e1f → #0a0a0a Brand
#408fff → #0a0a0a Border
rgba(0,0,0,0.10) → #e4e4e7 Display font
Effra → Geist Body size
18px → 16px colors 63 changed
~
surface #f0f2f6 → #fafafa ~
text #1d1e1f → #0a0a0a ~
text-muted #5e6166 → #71717a ~
text-faint #b5b6b9 → #a1a1aa ~
brand #408fff → #0a0a0a ~
brand-hover #1f73ec → #1a1a1a ~
border rgba(0,0,0,0.10) → #e4e4e7 ~
border-soft rgba(0,0,0,0.06) → #f4f4f5 ~
border-strong rgba(0,0,0,0.16) → #d4d4d8 +
surface-strong #f4f4f5 +
surface-muted #f4f4f5 +
surface-accent #f4f4f5 +
surface-elevated #ffffff +
text-secondary #3f3f46 +
brand-active #27272a +
on-brand #fafafa +
link #0a0a0a +
link-hover #3f3f46 +
destructive #ef4444 +
destructive-hover #dc2626 +
destructive-foreground #fafafa +
input #e4e4e7 +
input-border #e4e4e7 +
ring #0a0a0a +
selection-bg rgba(10, 10, 10, 0.1) +
shadow-color rgba(0, 0, 0, 0.05) +
shadow-color-md rgba(0, 0, 0, 0.1) +
shadow-color-lg rgba(0, 0, 0, 0.15) +
success #10b981 +
warning #f59e0b +
info #3b82f6 +
chart-1 #e76e50 +
chart-2 #2a9d90 +
chart-3 #274754 +
chart-4 #e8c468 +
chart-5 #f4a462 −
bg-soft #f7f8fa −
bg-cooler #f2f4f7 −
surface-warm #fafbfc −
surface-elev #ffffff −
text-soft #86878a −
brand-soft rgba(116,116,128,0.08) −
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-warning #ff9500 −
semantic-danger #ff3b30 −
semantic-info #408fff typography 5 changed
~
display {"family":"Effra","size":80} → {"family":"Geist","size":56} ~
h1 {"family":"Effra","size":56} → {"family":"Geist","size":40} ~
h2 {"family":"Effra","size":40} → {"family":"Geist","size":32} ~
body {"family":"Effra","size":18} → {"family":"Geist","size":16} ~
label {"family":"JetBrains Mono","size":14} → {"family":"Geist Mono","size":14} radius 3 changed
~
button 16px → 8px ~
card 20px → 12px ~
pill 24px → 9999px spacing 2 changed
~
lg 48px → 32px ~
xl 96px → 48px