Diff

Windsurf vs shadcn/ui

57 token-level differences between these two design systems.

Role tokens
Background
#f6eede #ffffff
Text
#0b100f #0a0a0a
Brand
#34e8bb #0a0a0a
Border
#c0c1c6 #e4e4e7
Display font
tomatoGrotesk Geist
Body size
16px 16px
colors 48 changed
~ bg #f6eede #ffffff
~ surface #ffffff #fafafa
~ text #0b100f #0a0a0a
~ text-muted #5a615d #71717a
~ text-faint #8a8f8b #a1a1aa
~ brand #34e8bb #0a0a0a
~ on-brand #003326 #fafafa
~ link #0b100f #0a0a0a
~ link-hover #0fbf97 #3f3f46
~ border #c0c1c6 #e4e4e7
~ border-soft #e3e0d6 #f4f4f5
~ ring rgba(67, 128, 180, 0.5) #0a0a0a
~ success #0fbf97 #10b981
~ warning #c08a2e #f59e0b
~ info #4380b4 #3b82f6
+ 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
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)
typography 5 changed
~ display {"family":"tomatoGrotesk","size":72} {"family":"Geist","size":56}
~ h1 {"family":"tomatoGrotesk","size":48} {"family":"Geist","size":40}
~ h2 {"family":"tomatoGrotesk","size":40} {"family":"Geist","size":32}
~ body {"family":"Inter","size":16} {"family":"Geist","size":16}
~ label {"family":"SFMono-Regular","size":13} {"family":"Geist Mono","size":14}
radius identical
No differences.
spacing 4 changed
~ xs 0px 4px
~ sm 4px 8px
~ md 12px 16px
~ xl 64px 48px
↻ Swap direction · shadcn/ui → Windsurf