v0 vs Windsurf
57 token-level differences between these two design systems.
Background
#fafafa → #f6eede Text
#262626 → #0b100f Brand
#000000 → #34e8bb Border
rgba(0, 0, 0, 0.078) → #c0c1c6 Display font
GeistSans → tomatoGrotesk Body size
14px → 16px colors 46 changed
~
bg #fafafa → #f6eede ~
surface #f2f2f2 → #ffffff ~
text #262626 → #0b100f ~
text-muted #7c7c7c → #5a615d ~
text-faint #cfcfcf → #8a8f8b ~
brand #000000 → #34e8bb ~
brand-deep #000000 → #0fbf97 ~
on-brand #ffffff → #003326 ~
link #000000 → #0b100f ~
link-hover #525252 → #0fbf97 ~
border rgba(0, 0, 0, 0.078) → #c0c1c6 +
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) +
border-soft #e3e0d6 +
border-dark rgba(255, 255, 255, 0.12) +
ring rgba(67, 128, 180, 0.5) +
success #0fbf97 +
warning #c08a2e +
danger #d8413f +
info #4380b4 +
shadow-tint rgba(11, 16, 15, 0.10) −
bg-pure #ffffff −
surface-soft #f0f0f0 −
surface-strong #e6e6e6 −
text-strong #000000 −
text-medium #525252 −
text-deep #969696 −
text-soft #bababa −
brand-soft rgba(0, 0, 0, 0.08) −
selected-bg #f2f2f2 −
disabled #bababa −
border-strong rgba(0, 0, 0, 0.14) −
border-subtle rgba(0, 0, 0, 0.05) −
border-focus #000000 −
success-bg #f0f7f1 −
success-text #1f6b3e −
warning-bg #fef6e4 −
warning-text #7a5a14 −
danger-bg #fbebec −
danger-text #9a2c34 −
info-bg #f2f2f2 −
info-text #262626 typography 5 changed
~
display {"family":"GeistSans","size":48} → {"family":"tomatoGrotesk","size":72} ~
h1 {"family":"GeistSans","size":32} → {"family":"tomatoGrotesk","size":48} ~
h2 {"family":"GeistSans","size":24} → {"family":"tomatoGrotesk","size":40} ~
body {"family":"GeistSans","size":14} → {"family":"Inter","size":16} ~
label {"family":"GeistMono","size":12} → {"family":"SFMono-Regular","size":13} radius 1 changed
~
button 6px → 8px spacing 5 changed
~
xs 1px → 0px ~
sm 2px → 4px ~
md 6px → 12px ~
lg 12px → 32px ~
xl 20px → 64px