shadcn/ui vs Shopify
73 token-level differences between these two design systems.
Background
#ffffff → #000000 Text
#0a0a0a → #FFFFFF Brand
#0a0a0a → #c6f432 Border
#e4e4e7 → rgba(0,0,0,0.08) Display font
Geist → NeueHaasGrotesk Body size
16px → 18px colors 65 changed
~
bg #ffffff → #000000 ~
surface #fafafa → #02090A ~
text #0a0a0a → #FFFFFF ~
text-muted #71717a → #A1A1AA ~
on-brand #fafafa → #000000 ~
ring #0a0a0a → #36F4A4 +
bg-deep-teal #02090A +
bg-dark-forest #061A1C +
bg-forest #102620 +
surface-elev #061A1C +
surface-elev-2 #102620 +
border-card #1E2C31 +
border-light #E4E4E7 +
border-shade-30 #D4D4D8 +
brand-white #FFFFFF +
brand-black #000000 +
accent-neon #36F4A4 +
accent-aloe #C1FBD4 +
accent-pistachio #D4F9E0 +
accent-aloe-deep #9BE9B7 +
text-shade-30 #D4D4D8 +
text-shade-50 #71717A +
text-shade-60 #52525B +
text-shade-70 #3F3F46 +
link-muted #9797A2 +
link-sage #9DABAD +
link-lavender #BDBDCA +
link-mint #99B3AD +
on-accent #000000 +
scrim rgba(0,0,0,0.75) +
shadow-card-1 rgba(0,0,0,0.10) +
shadow-card-inset rgba(255,255,255,0.03) +
shadow-modal rgba(0,0,0,0.25) −
surface-strong #f4f4f5 −
surface-muted #f4f4f5 −
surface-accent #f4f4f5 −
surface-elevated #ffffff −
text-strong #000000 −
text-secondary #3f3f46 −
text-faint #a1a1aa −
brand #0a0a0a −
brand-hover #1a1a1a −
brand-active #27272a −
link #0a0a0a −
link-hover #3f3f46 −
destructive #ef4444 −
destructive-hover #dc2626 −
destructive-foreground #fafafa −
border #e4e4e7 −
border-soft #f4f4f5 −
border-strong #d4d4d8 −
input #e4e4e7 −
input-border #e4e4e7 −
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 typography 5 changed
~
display {"family":"Geist","size":56} → {"family":"NeueHaasGrotesk","size":72} ~
h1 {"family":"Geist","size":40} → {"family":"NeueHaasGrotesk","size":70} ~
h2 {"family":"Geist","size":32} → {"family":"NeueHaasGrotesk","size":55} ~
body {"family":"Geist","size":16} → {"family":"Inter-Variable","size":18} ~
label {"family":"Geist Mono","size":14} → {"family":"SFMono-Regular","size":12} radius 2 changed
~
button 8px → 12px ~
card 12px → 20px spacing 1 changed
~
xl 48px → 40px