Diff

shadcn/ui vs Windsurf

57 token-level differences between these two design systems.

Role tokens
Background
#ffffff #f6eede
Text
#0a0a0a #0b100f
Brand
#0a0a0a #34e8bb
Border
#e4e4e7 #c0c1c6
Display font
Geist tomatoGrotesk
Body size
16px 16px
colors 48 changed
~ bg #ffffff #f6eede
~ surface #fafafa #ffffff
~ text #0a0a0a #0b100f
~ text-muted #71717a #5a615d
~ text-faint #a1a1aa #8a8f8b
~ brand #0a0a0a #34e8bb
~ on-brand #fafafa #003326
~ link #0a0a0a #0b100f
~ link-hover #3f3f46 #0fbf97
~ border #e4e4e7 #c0c1c6
~ border-soft #f4f4f5 #e3e0d6
~ ring #0a0a0a rgba(67, 128, 180, 0.5)
~ success #10b981 #0fbf97
~ warning #f59e0b #c08a2e
~ info #3b82f6 #4380b4
+ bg-soft #fbf7ee
+ surface-dark #0b100f
+ surface-dark-soft #141a18
+ text-on-dark #ffffff
+ text-body #3a423f
+ text-on-dark-muted rgba(255, 255, 255, 0.7)
+ brand-deep #0fbf97
+ border-dark rgba(255, 255, 255, 0.12)
+ danger #d8413f
+ shadow-tint rgba(11, 16, 15, 0.10)
surface-strong #f4f4f5
surface-muted #f4f4f5
surface-accent #f4f4f5
surface-elevated #ffffff
text-strong #000000
text-secondary #3f3f46
brand-hover #1a1a1a
brand-active #27272a
destructive #ef4444
destructive-hover #dc2626
destructive-foreground #fafafa
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)
chart-1 #e76e50
chart-2 #2a9d90
chart-3 #274754
chart-4 #e8c468
chart-5 #f4a462
typography 5 changed
~ display {"family":"Geist","size":56} {"family":"tomatoGrotesk","size":72}
~ h1 {"family":"Geist","size":40} {"family":"tomatoGrotesk","size":48}
~ h2 {"family":"Geist","size":32} {"family":"tomatoGrotesk","size":40}
~ body {"family":"Geist","size":16} {"family":"Inter","size":16}
~ label {"family":"Geist Mono","size":14} {"family":"SFMono-Regular","size":13}
radius identical
No differences.
spacing 4 changed
~ xs 4px 0px
~ sm 8px 4px
~ md 16px 12px
~ xl 48px 64px
↻ Swap direction · Windsurf → shadcn/ui