Diff

Hashnode vs Brex

72 token-level differences between these two design systems.

Role tokens
Background
#0f1117 #ffffff
Text
#ffffff #0e0f12
Brand
#2962ff #a855ff
Border
rgba(255, 255, 255, 0.08) rgba(14, 15, 18, 0.09)
Display font
Inter Söhne
Body size
16px 16px
colors 67 changed
~ bg #0f1117 #ffffff
~ bg-soft #0a0c12 #f5f5f7
~ surface #161a23 #ffffff
~ text #ffffff #0e0f12
~ text-strong #ffffff #000000
~ text-body #e5e7eb #1c1d22
~ text-soft #a8b1bf #8a8d96
~ text-muted #6b7280 #5a5d66
~ text-faint #4b5563 #b0b3bb
~ brand #2962ff #a855ff
~ brand-hover #1d4ed8 #9744ee
~ brand-deep #1e40af #6b2ed3
~ brand-soft rgba(41, 98, 255, 0.12) #f3e8ff
~ brand-glow rgba(41, 98, 255, 0.32) rgba(168, 85, 255, 0.32)
~ brand-tint rgba(41, 98, 255, 0.08) rgba(168, 85, 255, 0.08)
~ link #2962ff #5b6dff
~ link-hover #3b82f6 #3b4eff
~ border rgba(255, 255, 255, 0.08) rgba(14, 15, 18, 0.09)
~ border-soft rgba(255, 255, 255, 0.04) rgba(14, 15, 18, 0.06)
~ border-strong rgba(255, 255, 255, 0.15) rgba(14, 15, 18, 0.16)
~ border-brand rgba(41, 98, 255, 0.40) rgba(168, 85, 255, 0.40)
~ shadow-elev rgba(0, 0, 0, 0.40) rgba(14, 15, 18, 0.08) 0 12px 32px -8px
~ scrim rgba(15, 17, 23, 0.80) rgba(14, 15, 18, 0.60)
~ success-soft rgba(16, 185, 129, 0.12) rgba(16, 185, 129, 0.10)
~ warning-soft rgba(245, 158, 11, 0.12) rgba(245, 158, 11, 0.10)
~ danger-soft rgba(239, 68, 68, 0.12) rgba(239, 68, 68, 0.10)
~ info #2962ff #5b6dff
~ info-soft rgba(41, 98, 255, 0.12) rgba(91, 109, 255, 0.10)
+ 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-soft #f7f7f9
+ surface-cool #f0f0f3
+ surface-dark #0e0f12
+ text-on-dark #ffffff
+ text-on-dark-soft #a3a6af
+ brand-strong #7e3df0
+ brand-pink #ff5cad
+ accent #5b6dff
+ accent-strong #3b4eff
+ accent-soft rgba(91, 109, 255, 0.10)
+ shadow-ambient rgba(14, 15, 18, 0.04)
+ shadow-card rgba(14, 15, 18, 0.04) 0 4px 20px
+ 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-hero linear-gradient(135deg, #ff5cad 0%, #a855ff 60%, #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%)
bg-elev-1 #161a23
bg-elev-2 #1f2937
bg-elev-3 #252b3a
surface-light #ffffff
cta-bg #2962ff
selected #2962ff
shadow-soft rgba(0, 0, 0, 0.20)
shadow-deep rgba(0, 0, 0, 0.60)
shadow-glow rgba(41, 98, 255, 0.15)
syntax-keyword #c084fc
syntax-string #86efac
syntax-number #fbbf24
syntax-comment #6b7280
syntax-fn #60a5fa
typography 5 changed
~ display {"family":"Inter","size":72} {"family":"Söhne","size":96}
~ h1 {"family":"Inter","size":40} {"family":"Söhne","size":56}
~ h2 {"family":"Inter","size":32} {"family":"Söhne","size":40}
~ body {"family":"Inter","size":16} {"family":"Söhne","size":16}
~ label {"family":"JetBrains Mono","size":12} {"family":"Söhne Mono","size":11}
radius identical
No differences.
spacing identical
No differences.
↻ Swap direction · Brex → Hashnode