Diff

Brex vs Optimism

78 token-level differences between these two design systems.

Role tokens
Background
#ffffff #ffffff
Text
#0e0f12 #000000
Brand
#a855ff #ff0420
Border
rgba(14, 15, 18, 0.09) #e0e0e0
Display font
Söhne Optimism Display
Body size
16px 16px
colors 70 changed
~ bg-soft #f5f5f7 #f5f5f5
~ text #0e0f12 #000000
~ text-body #1c1d22 #1a1a1a
~ text-muted #5a5d66 #5a5a5a
~ text-on-dark-soft #a3a6af #a8a8a8
~ brand #a855ff #ff0420
~ brand-deep #6b2ed3 #7d020f
~ brand-hover #9744ee #cc0319
~ brand-soft #f3e8ff #ff04201a
~ brand-glow rgba(168, 85, 255, 0.32) rgba(255,4,32,0.40)
~ link #5b6dff #ff0420
~ link-hover #3b4eff #cc0319
~ border rgba(14, 15, 18, 0.09) #e0e0e0
~ border-soft rgba(14, 15, 18, 0.06) #ebebeb
~ border-strong rgba(14, 15, 18, 0.16) #c0c0c0
~ scrim rgba(14, 15, 18, 0.60) rgba(0,0,0,0.65)
~ gradient-hero linear-gradient(135deg, #ff5cad 0%, #a855ff 60%, #5b6dff 100%) linear-gradient(135deg, #000000 0%, #1a1a1a 60%, #7d020f 100%)
+ bg-strong #e6e6e6
+ bg-dark #000000
+ bg-dark-elev #1a1a1a
+ bg-dark-deep #0a0a0a
+ surface-card #ffffff
+ surface-card-soft #f5f5f5
+ text-subtle #8a8a8a
+ brand-active #a30214
+ brand-bright #ff3344
+ semantic-up #10b981
+ semantic-down #ef4444
+ semantic-warning #f59e0b
+ semantic-info #ff0420
+ gradient-red linear-gradient(135deg, #ff0420 0%, #cc0319 100%)
+ focus-ring rgba(255,4,32,0.45)
bg-tile #f0f0f3
bg-soft-2 #f7f7f9
bg-ink #0e0f12
bg-violet #1a0d2e
bg-gradient-wash linear-gradient(180deg, rgba(255, 92, 173, 0.06) 0%, rgba(168, 85, 255, 0.06) 50%, rgba(91, 109, 255, 0.06) 100%)
surface #ffffff
surface-soft #f7f7f9
surface-cool #f0f0f3
surface-dark #0e0f12
text-strong #000000
text-soft #8a8d96
text-faint #b0b3bb
brand-strong #7e3df0
brand-pink #ff5cad
brand-tint rgba(168, 85, 255, 0.08)
accent #5b6dff
accent-strong #3b4eff
accent-soft rgba(91, 109, 255, 0.10)
cta-text #ffffff
border-brand rgba(168, 85, 255, 0.40)
shadow-ambient rgba(14, 15, 18, 0.04)
shadow-card rgba(14, 15, 18, 0.04) 0 4px 20px
shadow-elev rgba(14, 15, 18, 0.08) 0 12px 32px -8px
shadow-popover rgba(14, 15, 18, 0.10) 0 16px 40px -16px
shadow-modal rgba(14, 15, 18, 0.20) 0 24px 64px -16px
shadow-glow-brand rgba(168, 85, 255, 0.24) 0 8px 32px -4px
gradient-primary linear-gradient(135deg, #ff5cad 0%, #a855ff 50%, #5b6dff 100%)
gradient-wash linear-gradient(135deg, rgba(255, 92, 173, 0.10) 0%, rgba(168, 85, 255, 0.10) 50%, rgba(91, 109, 255, 0.10) 100%)
gradient-vertical linear-gradient(180deg, #ff5cad 0%, #a855ff 50%, #5b6dff 100%)
gradient-radial radial-gradient(circle at 30% 30%, #ff5cad 0%, #a855ff 50%, #5b6dff 100%)
success #10b981
success-soft rgba(16, 185, 129, 0.10)
warning #f59e0b
warning-soft rgba(245, 158, 11, 0.10)
danger #ef4444
danger-soft rgba(239, 68, 68, 0.10)
info #5b6dff
info-soft rgba(91, 109, 255, 0.10)
typography 5 changed
~ display {"family":"Söhne","size":96} {"family":"Optimism Display","size":72}
~ h1 {"family":"Söhne","size":56} {"family":"Optimism Display","size":40}
~ h2 {"family":"Söhne","size":40} {"family":"Optimism Display","size":32}
~ body {"family":"Söhne","size":16} {"family":"Inter","size":16}
~ label {"family":"Söhne Mono","size":11} {"family":"JetBrains Mono","size":11}
radius 2 changed
~ button 8px 12px
~ pill 9999px 999px
spacing 1 changed
~ xl 48px 64px
↻ Swap direction · Optimism → Brex