Design language comparison
Modal vs Neon
Both Modal and Neon commit to a dark-canvas approach, and they pair different display families (Inter Variable vs GeistMono). Beyond surface, motion levels are both expressive.
Palette · side by side
Up to 8 dominant swatches eachSide A · dark
Modal
Full Page
#5b6d5c
foreground
#000000
foreground
#ddffdc
background
#def0dd
background
#7fee64
accent
#181818
foreground
#10a550
accent
#485346
neutral
Side B · dark
Neon
Full Page
#ffffff
background
#2c6d4c
brand
#000000
foreground
#94979e
foreground
#797d86
foreground
#c9cbcf
foreground
#afb1b6
foreground
#61646b
neutral
Typography · side by side
Primary family + weight ladder + sampleSide A · dark
Modal
Full Page
- Display
- Goga
- Body
- Inter Variable
- Weights
- 400 · 500
Sample
The quick brown fox jumps over the lazy dog.
1234567890 — Body sample renders in the captured family if your browser has it; otherwise system fallback signals the weight ladder.
Side B · dark
Neon
Full Page
- Display
- Inter
- Body
- Inter
- Mono
- GeistMono
- Weights
- 400 · 500
Sample
The quick brown fox jumps over the lazy dog.
1234567890 — Body sample renders in the captured family if your browser has it; otherwise system fallback signals the weight ladder.
Spacing scale · side by side
Base unit + first 8 scale valuesSide A · dark
Modal
Full Page
- Base unit
- 4 px
- Container max
- 1400 px
Side B · dark
Neon
Full Page
- Base unit
- 4 px
- Container max
- 1856 px
Motion vocabulary · side by side
Level + durations + easingsSide A · dark
Modal
Full Page
- Level
- expressive
- Libraries
- —
Durations
Easings
Side B · dark
Neon
Full Page
- Level
- expressive
- Libraries
- Framer Motion
Durations
Easings
Palette & spacing overlap
Their palettes share 13% of swatches at the dominant tier — a quiet signal both teams drew from the same neutral library before applying brand accents. Their spacing scales overlap by 92% (4, 6, 8, 10, 12 px shared) — a rhythm any agent can transfer between the two systems with minimal recalibration.
Shared swatches (2)
Curator verdict
If you are building an interface that needs to reference both, Modal's restraint reads as the safer default and Neon's rhythm provides the accent moments — pair them at section-level, not at component-level.