Rainbow vs Lovable
64 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#000000 → #1a1a23 Brand
#ff54bb → #ff66c4 Border
#e6e6ea → #0000000f Display font
SF Pro Rounded Black → Inter Body size
16px → 17px colors 52 changed
~
surface #ffffff → #f4f5f8 ~
text #000000 → #1a1a23 ~
text-muted #6b6b6f → #6b6e7d ~
brand #ff54bb → #ff66c4 ~
on-brand #0000ee → #ffffff ~
border #e6e6ea → #0000000f ~
border-strong #000000 → #0000001a +
bg-soft #fafafb +
bg-elev #f8f9fc +
surface-2 #ebedf2 +
surface-3 #dfe2ea +
surface-tint-pink #fff0f8 +
surface-tint-violet #f4eeff +
text-strong #0a0a14 +
text-soft #9498a8 +
text-faint #c1c4d0 +
text-on-brand #ffffff +
brand-mid #c068dd +
brand-end #9b6bff +
brand-solid #a665ff +
brand-hover #8f54f0 +
brand-active #7d44e0 +
accent-cream #fff1e6 +
accent-cream-deep #ffd9bf +
accent-mint #bdf3d8 +
accent-mint-deep #7ed4a8 +
accent-sky #cfe9ff +
accent-yellow #fff5b8 +
border-subtle #00000008 +
border-brand #ff66c4 +
border-focus #9b6bff +
success #22c55e +
success-bg #dcfce7 +
warning #f59e0b +
warning-bg #fef3c7 +
danger #ef4444 +
danger-bg #fee2e2 +
info #9b6bff +
info-bg #f4eeff −
surface-soft #f7f7f8 −
text-subtle #9a9aa0 −
brand-orange #ff8a00 −
brand-blue #3897ff −
brand-purple #9b4dff −
on-brand-black #000000 −
link #0000ee −
link-hover #0000cc −
focus-ring rgba(255,84,187,0.45) −
scrim rgba(0,0,0,0.45) −
semantic-up #1db954 −
semantic-down #ff3b30 −
semantic-warning #ff8a00 typography 5 changed
~
display {"family":"SF Pro Rounded Black","size":72} → {"family":"Inter","size":88} ~
h1 {"family":"SF Pro Rounded Black","size":40} → {"family":"Inter","size":48} ~
h2 {"family":"SF Pro Rounded Black","size":32} → {"family":"Inter","size":36} ~
body {"family":"SF Pro Rounded Black","size":16} → {"family":"Inter","size":17} ~
label {"family":"SFMono-Regular","size":13} → {"family":"JetBrains Mono","size":14} radius 2 changed
~
button 14px → 12px ~
card 20px → 40px spacing 5 changed
~
xs 4px → 0px ~
sm 8px → 4px ~
md 16px → 12px ~
lg 32px → 24px ~
xl 64px → 40px