EVADE Design System
Overview
80s Synthwave/Neon aesthetic with Dynamic Hybrid approach: crystal-clear UI layered over rich atmospheric backgrounds. Apple Award-worthy polish.
Color Palette
const COLORS = {
// Backgrounds
backgroundDeep: '#0a0a12', // Deep space black (primary)
backgroundPanel: '#1a1a2e', // Dark purple-black (panels/modals)
// Neon Accents
neonCyan: '#00f5ff', // Player, highlights, primary actions
neonMagenta: '#ff2a6d', // Enemies, danger, warnings
neonPurple: '#9d4edd', // UI accents, secondary actions
chromeGold: '#ffd700', // Titles, achievements, rewards
hotPink: '#ff00aa', // Secondary accents
// Supporting
gridLines: '#4a1a6b', // Subtle purple grid
textPrimary: '#ffffff',
textMuted: '#888888',
// Gradients
sunBands: ['#ff2a6d', '#ffd700', '#ff6b35'], // Horizon sun
}
Visual Motifs (Layered)
| Layer |
Element |
Animation |
| 1 |
Deep black + star particles |
Slow parallax drift |
| 2 |
Perspective grid floor |
Subtle forward movement |
| 3 |
Horizon sun (banded) |
Position varies by screen context |
| 4 |
Geometric halos (hexagons/circles) |
Slow counter-rotation |
| 5 |
UI elements |
Glow pulses, micro-interactions |
Per-Screen Sun Position:
- Main Menu: 60% up (welcoming)
- High Scores: Higher (triumphant)
- Shop: Lower (sunset/relaxed)
- Play: Hidden (no distraction)
- Game Over: Below horizon (defeat)
Typography
| Use |
Style |
Properties |
| Game title "EVADE" |
Chrome gradient |
Gold-white-gold, cyan outer glow, 72px bold |
| Screen titles |
Chrome |
Smaller chrome, consistent glow |
| Buttons |
Geometric sans |
All caps, wide letter-spacing, 20px bold |
| Body text |
Geometric sans |
Clean, high contrast white |
| Labels/muted |
Geometric sans |
Muted gray, smaller |
Button Styles
Primary (Play, main actions):
{
background: 'transparent',
borderWidth: 1,
borderColor: COLORS.neonCyan,
shadowColor: COLORS.neonCyan,
shadowRadius: 8,
}
Secondary (Settings, back):
{
background: 'transparent',
borderWidth: 1,
borderColor: COLORS.neonPurple,
}
Glass-morphic panels:
{
backgroundColor: 'rgba(26, 26, 46, 0.8)',
backdropFilter: 'blur(10px)', // Web only, use opacity on native
borderRadius: 12,
borderWidth: 1,
borderColor: 'rgba(157, 78, 221, 0.3)',
}
Micro-interactions
| Element |
Interaction |
Effect |
| Button touch |
Press |
Scale 0.98, border flash white |
| Button release |
Release |
Ripple glow outward |
| Toggle switch |
State change |
Overshoot spring, glow pulse |
| Score change |
Increment |
Roll animation, gold flash |
| Item collect |
Pickup |
Bounce + sparkle particles |
Screen Transitions
| Transition |
Effect |
| Menu → Play |
Grid rushes forward, sun dips, UI fades |
| Play → Game Over |
White flash, chromatic aberration, blur in |
| Any → Modal |
Dim background 40%, modal scales up |
| Horizontal nav |
Parallax slide (background slower than UI) |
Game Entities
Player:
- 3-layer glow: inner white, mid color, outer soft
- Shape/color from cosmetics
- Shield: pulsing cyan hexagonal barrier
Enemies:
- Neon edge glow (not solid fill)
- Shape = speed tier (circle/square/triangle)
- Color fades red → yellow near despawn
Boosters:
- Green octagon with inner glow pulse
- Clear icon inside (plus/shield/x3)
- Sparkle particles around edges
Modal Structure
┌─────────────────────────────────────┐
│ [Hexagonal frame border with glow] │
│ │
│ TITLE (chrome) │
│ │
│ Content area │
│ │
│ ┌─────────────────────────────┐ │
│ │ PRIMARY ACTION │ │ ← Cyan border
│ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────┐ │
│ │ SECONDARY ACTION │ │ ← Purple border
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────┘
- Game Over modal: Magenta border (danger)
- Continue modal: Cyan border (opportunity)
- Shop/Settings: Purple border (neutral)
Quick Reference
| Need |
Use |
| Primary action |
Cyan border button |
| Secondary action |
Purple border button |
| Danger/warning |
Magenta color |
| Success/reward |
Chrome gold |
| Player highlight |
Neon cyan |
| Panel background |
Glass-morphic dark purple |
| Section headers |
Uppercase, letter-spaced, purple + line |
Common Mistakes
| Mistake |
Fix |
| Solid color buttons |
Use transparent + border + glow |
| White backgrounds |
Always dark (#0a0a12 or #1a1a2e) |
| System fonts |
Use geometric sans with letter-spacing |
| Static elements |
Add subtle glow pulse or drift |
| Competing visual layers |
Dim background during gameplay |
| Harsh edges |
Add glow/blur for neon effect |
1---2name: evade-design3description: Use when working on EVADE game UI, creating screens, styling components, or making visual decisions. Apply for any React Native code touching colors, typography, layouts, animations, or visual elements.4---5
6# EVADE Design System
7
8## Overview
9
1080s Synthwave/Neon aesthetic with Dynamic Hybrid approach: crystal-clear UI layered over rich atmospheric backgrounds. Apple Award-worthy polish.
11
12## Color Palette
13
14```typescript
15const COLORS = {
16 // Backgrounds
17 backgroundDeep: '#0a0a12', // Deep space black (primary)
18 backgroundPanel: '#1a1a2e', // Dark purple-black (panels/modals)
19
20 // Neon Accents
21 neonCyan: '#00f5ff', // Player, highlights, primary actions
22 neonMagenta: '#ff2a6d', // Enemies, danger, warnings
23 neonPurple: '#9d4edd', // UI accents, secondary actions
24 chromeGold: '#ffd700', // Titles, achievements, rewards
25 hotPink: '#ff00aa', // Secondary accents
26
27 // Supporting
28 gridLines: '#4a1a6b', // Subtle purple grid
29 textPrimary: '#ffffff',
30 textMuted: '#888888',
31
32 // Gradients
33 sunBands: ['#ff2a6d', '#ffd700', '#ff6b35'], // Horizon sun
34}
35```
36
37## Visual Motifs (Layered)
38
39| Layer | Element | Animation |
40|-------|---------|-----------|
41| 1 | Deep black + star particles | Slow parallax drift |
42| 2 | Perspective grid floor | Subtle forward movement |
43| 3 | Horizon sun (banded) | Position varies by screen context |
44| 4 | Geometric halos (hexagons/circles) | Slow counter-rotation |
45| 5 | UI elements | Glow pulses, micro-interactions |
46
47**Per-Screen Sun Position:**
48- Main Menu: 60% up (welcoming)
49- High Scores: Higher (triumphant)
50- Shop: Lower (sunset/relaxed)
51- Play: Hidden (no distraction)
52- Game Over: Below horizon (defeat)
53
54## Typography
55
56| Use | Style | Properties |
57|-----|-------|------------|
58| Game title "EVADE" | Chrome gradient | Gold-white-gold, cyan outer glow, 72px bold |
59| Screen titles | Chrome | Smaller chrome, consistent glow |
60| Buttons | Geometric sans | All caps, wide letter-spacing, 20px bold |
61| Body text | Geometric sans | Clean, high contrast white |
62| Labels/muted | Geometric sans | Muted gray, smaller |
63
64## Button Styles
65
66**Primary (Play, main actions):**
67```typescript
68{
69 background: 'transparent',
70 borderWidth: 1,
71 borderColor: COLORS.neonCyan,
72 shadowColor: COLORS.neonCyan,
73 shadowRadius: 8,
74}
75```
76
77**Secondary (Settings, back):**
78```typescript
79{
80 background: 'transparent',
81 borderWidth: 1,
82 borderColor: COLORS.neonPurple,
83}
84```
85
86**Glass-morphic panels:**
87```typescript
88{
89 backgroundColor: 'rgba(26, 26, 46, 0.8)',
90 backdropFilter: 'blur(10px)', // Web only, use opacity on native
91 borderRadius: 12,
92 borderWidth: 1,
93 borderColor: 'rgba(157, 78, 221, 0.3)',
94}
95```
96
97## Micro-interactions
98
99| Element | Interaction | Effect |
100|---------|-------------|--------|
101| Button touch | Press | Scale 0.98, border flash white |
102| Button release | Release | Ripple glow outward |
103| Toggle switch | State change | Overshoot spring, glow pulse |
104| Score change | Increment | Roll animation, gold flash |
105| Item collect | Pickup | Bounce + sparkle particles |
106
107## Screen Transitions
108
109| Transition | Effect |
110|------------|--------|
111| Menu → Play | Grid rushes forward, sun dips, UI fades |
112| Play → Game Over | White flash, chromatic aberration, blur in |
113| Any → Modal | Dim background 40%, modal scales up |
114| Horizontal nav | Parallax slide (background slower than UI) |
115
116## Game Entities
117
118**Player:**
119- 3-layer glow: inner white, mid color, outer soft
120- Shape/color from cosmetics
121- Shield: pulsing cyan hexagonal barrier
122
123**Enemies:**
124- Neon edge glow (not solid fill)
125- Shape = speed tier (circle/square/triangle)
126- Color fades red → yellow near despawn
127
128**Boosters:**
129- Green octagon with inner glow pulse
130- Clear icon inside (plus/shield/x3)
131- Sparkle particles around edges
132
133## Modal Structure
134
135```
136┌─────────────────────────────────────┐
137│ [Hexagonal frame border with glow] │
138│ │
139│ TITLE (chrome) │
140│ │
141│ Content area │
142│ │
143│ ┌─────────────────────────────┐ │
144│ │ PRIMARY ACTION │ │ ← Cyan border
145│ └─────────────────────────────┘ │
146│ │
147│ ┌─────────────────────────────┐ │
148│ │ SECONDARY ACTION │ │ ← Purple border
149│ └─────────────────────────────┘ │
150│ │
151└─────────────────────────────────────┘
152```
153
154- Game Over modal: Magenta border (danger)
155- Continue modal: Cyan border (opportunity)
156- Shop/Settings: Purple border (neutral)
157
158## Quick Reference
159
160| Need | Use |
161|------|-----|
162| Primary action | Cyan border button |
163| Secondary action | Purple border button |
164| Danger/warning | Magenta color |
165| Success/reward | Chrome gold |
166| Player highlight | Neon cyan |
167| Panel background | Glass-morphic dark purple |
168| Section headers | Uppercase, letter-spaced, purple + line |
169
170## Common Mistakes
171
172| Mistake | Fix |
173|---------|-----|
174| Solid color buttons | Use transparent + border + glow |
175| White backgrounds | Always dark (#0a0a12 or #1a1a2e) |
176| System fonts | Use geometric sans with letter-spacing |
177| Static elements | Add subtle glow pulse or drift |
178| Competing visual layers | Dim background during gameplay |
179| Harsh edges | Add glow/blur for neon effect |