xAI vs shadcn/ui
64 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#0a0a0a → #0a0a0a Brand
#0a0a0a → #0a0a0a Border
#d5d9e2 → #e4e4e7 Display font
Universal Sans Display → Geist Body size
16px → 16px colors 55 changed
~
surface #f9f8f6 → #fafafa ~
text-strong #0a0a0a → #000000 ~
text-muted #6b7280 → #71717a ~
brand-hover #1f1f1f → #1a1a1a ~
brand-active #2c2c2c → #27272a ~
on-brand #0a0a0a → #fafafa ~
link #111827 → #0a0a0a ~
link-hover #0a0a0a → #3f3f46 ~
ring #3b82f6 → #0a0a0a ~
border #d5d9e2 → #e4e4e7 ~
border-soft rgba(10,10,10,0.08) → #f4f4f5 ~
border-strong rgba(10,10,10,0.16) → #d4d4d8 ~
shadow-color rgba(0,0,0,0.10) → rgba(0, 0, 0, 0.05) ~
success #248430 → #10b981 ~
warning #b45309 → #f59e0b +
surface-strong #f4f4f5 +
surface-muted #f4f4f5 +
surface-accent #f4f4f5 +
surface-elevated #ffffff +
text-secondary #3f3f46 +
text-faint #a1a1aa +
destructive #ef4444 +
destructive-hover #dc2626 +
destructive-foreground #fafafa +
input #e4e4e7 +
input-border #e4e4e7 +
selection-bg rgba(10, 10, 10, 0.1) +
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 #fafafa −
surface-terminal #f8f7f5 −
surface-card #fffffff2 −
surface-hover rgba(10,10,10,0.04) −
surface-press rgba(10,10,10,0.08) −
header-bg rgba(255,255,255,0.85) −
text-terminal #262626 −
text-subtle #8a8f98 −
text-on-brand #ffffff −
link-visited #111827 −
scrim rgba(10,10,10,0.5) −
terminal-fg #262626 −
terminal-green #248430 −
terminal-green-bg #e3efe4 −
terminal-red #be2e31 −
terminal-red-bg #f8eaea −
success-bg #ecfdf3 −
info-bg #f0f8ff −
warning-bg #fffcf0 −
danger #be2e31 −
danger-bg #fff0f0 typography 5 changed
~
display {"family":"Universal Sans Display","size":80} → {"family":"Geist","size":56} ~
h1 {"family":"Universal Sans Display","size":60} → {"family":"Geist","size":40} ~
h2 {"family":"Universal Sans Display","size":48} → {"family":"Geist","size":32} ~
body {"family":"Universal Sans","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