Kagi vs Vercel
90 token-level differences between these two design systems.
Background
#fffbf5 → #fafafa Text
#2b2417 → #171717 Brand
#ffb87a → #0070f3 Border
rgba(0, 0, 0, 0.10) → hsla(0, 0%, 90%, 1) Display font
IBM Plex Sans → Geist Body size
17px → 16px colors 78 changed
~
bg #fffbf5 → #fafafa ~
surface #fbf2e2 → #ffffff ~
text #2b2417 → #171717 ~
text-faint #a99a7d → #a3a3a3 ~
on-brand #1c170d → #ffffff ~
brand #ffb87a → #0070f3 ~
brand-hover #f3a45f → #0061d5 ~
brand-deep #c97a3b → #0050b3 ~
brand-soft #ffe5c8 → rgba(0, 112, 243, 0.10) ~
link #c97a3b → #0070f3 ~
link-hover #a55d24 → #0070f3 ~
border rgba(0, 0, 0, 0.10) → hsla(0, 0%, 90%, 1) ~
border-strong rgba(0, 0, 0, 0.18) → hsla(0, 0%, 80%, 1) ~
border-soft rgba(0, 0, 0, 0.08) → hsla(0, 0%, 95%, 1) +
bg-pure #ffffff +
bg-elev #f5f5f5 +
bg-deeper #ededed +
bg-ink #0a0a0a +
bg-pure-black #000000 +
surface-elev #fafafa +
text-pure #000000 +
text-secondary #525252 +
text-tertiary #737373 +
text-on-dark #ededed +
text-on-dark-soft #a3a3a3 +
brand-tint rgba(0, 112, 243, 0.06) +
focus hsla(212, 100%, 48%, 1) +
cta-bg #171717 +
cta-text #ffffff +
cta-bg-secondary #ffffff +
cta-text-secondary #171717 +
border-deep hsla(0, 0%, 70%, 1) +
shadow-ambient rgba(0, 0, 0, 0.04) +
shadow-card rgba(0, 0, 0, 0.04) +
shadow-elev rgba(0, 0, 0, 0.06) +
shadow-deep rgba(0, 0, 0, 0.10) +
scrim rgba(0, 0, 0, 0.40) +
gradient-conic conic-gradient(from 230deg at 50% 50%, #0070f3, #00b8ff, #7928ca, #ff0080, #0070f3) +
gradient-blue linear-gradient(135deg, #0070f3 0%, #00b8ff 100%) +
gradient-edge linear-gradient(180deg, transparent 0%, rgba(0, 112, 243, 0.20) 100%) +
success #0070f3 +
success-soft rgba(0, 112, 243, 0.10) +
warning #f5a623 +
warning-soft rgba(245, 166, 35, 0.10) +
danger #e00 +
danger-soft rgba(238, 0, 0, 0.10) +
info #0070f3 +
info-soft rgba(0, 112, 243, 0.10) −
bg-soft #fff6e8 −
surface-strong #f4e8ce −
surface-hover #fff0d8 −
surface-elevated #fffefa −
text-strong #1c170d −
text-medium #3a3120 −
text-muted #6b5d47 −
text-soft #8a7a5e −
on-cta #1c170d −
brand-active #e89348 −
brand-faint #fff4e3 −
brand-glow rgba(255, 184, 122, 0.32) −
accent #7d6ce0 −
accent-hover #6b5acc −
accent-soft #e8e3ff −
selected-bg #fbf2e2 −
disabled-bg #f4e8ce −
disabled-text #a99a7d −
border-warm rgba(201, 122, 59, 0.20) −
border-focus #c97a3b −
success-bg #e0ebd0 −
success-text #3d5a47 −
warning-bg #fde8c7 −
warning-text #7a5e1f −
danger-bg #f7d8d2 −
danger-text #8a3a3a −
info-bg #e8e3ff −
info-text #3a3a6a −
shadow-rgb 43, 36, 23 −
shadow-warm 201, 122, 59 typography 5 changed
~
display {"family":"IBM Plex Sans","size":80} → {"family":"Geist","size":72} ~
h1 {"family":"IBM Plex Sans","size":56} → {"family":"Geist","size":40} ~
h2 {"family":"IBM Plex Sans","size":40} → {"family":"Geist","size":32} ~
body {"family":"IBM Plex Sans","size":17} → {"family":"Geist","size":16} ~
label {"family":"IBM Plex Mono","size":13} → {"family":"Geist Mono","size":11} radius 2 changed
~
button 8px → 6px ~
card 16px → 8px spacing 5 changed
~
xs 1px → 4px ~
sm 2px → 8px ~
md 6px → 16px ~
lg 16px → 32px ~
xl 24px → 48px