You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Core metaphor: "Lighting up your knowledge map" — each workspace is an uncharted territory, skills glow brighter as you master them, the graph fills with color as you grow
Aesthetic Direction
Direction: Dopamine Max — deep dark canvas where high-saturation colors explode like neon. Light mode companion with warm white canvas and the same vibrant palette.
Decoration level: Expressive — ambient glow blobs, glassmorphism cards, node glow effects, particle bursts on unlock. Decoration is tied to function (glow = mastery, pulse = learning, particles = state change).
Mood: Rewarding, energetic, visually addictive. Every interaction gives dopamine feedback. Like a game achievement system meets premium developer tool.
Reference sites: Apple Fitness achievements, Honkai: Star Rail UI, Figma gradient interfaces
Typography
Display/Hero: Satoshi (Black 900, Bold 700) — geometric with warmth, pairs well with rounded iOS aesthetic. Load from Fontshare.
Body/UI: Plus Jakarta Sans (400–700) — rounder and friendlier than Inter, optimized for screen reading. Load from Google Fonts.
Mono/Data/Brand: JetBrains Mono (400–700) — brand DNA, used for logo, data tables, code, labels. Load from Google Fonts.
Scale:
Hero: clamp(48px, 7vw, 76px) / 900 / -0.035em
H1: 28px / 700 / -0.02em
H2: 18px / 700 / -0.02em
Body: 15px / 400 / normal
Small: 13px / 500
Caption: 11px / 600 / 0.12em uppercase (mono)
Data: 13px mono
Color
Dark Mode (primary)
Background: #0A0A12 (deep purple-black)
Surface: rgba(255,255,255,0.05) with backdrop-filter: saturate(180%) blur(20px)
Surface hover: rgba(255,255,255,0.08)
Surface strong: rgba(255,255,255,0.10)
Border: rgba(255,255,255,0.08)
Border light: rgba(255,255,255,0.12)
Text: #F0F0F5
Text muted: #9090A8
Text dim: #5A5A72
Light Mode
Background: #FFFBF5 (warm cream — NOT cold white)
Surface: rgba(255,255,255,0.9) with backdrop-filter, box-shadow: 0 2px 12px rgba(200,140,80,0.06)
Surface hover: #FFF5E8
Border: rgba(200,160,100,0.15) (warm brown tint — NOT cold gray)
Border light: rgba(200,160,100,0.2)
Text: #2D2016 (warm dark brown)
Text muted: #9E8B76
Text dim: #C4B5A3
Dopamine Palette — Dark Mode (neon, high-saturation)
The same neon palette looks harsh on warm cream backgrounds. Light mode uses a dedicated warmer variant:
Name
Dark Hex
Light Hex
Shift
Cherry
#FF6B6B
#FF8A80
softer coral
Teal
#4ECDC4
#5CD6C8
warmer mint
Gold
#FFE66D
#FFD54F
warm gold
Lavender
#A78BFA
#B39DDB
softer wisteria
Hot Pink
#FF9FF3
#F8BBD0
peach pink
Electric
#6C5CE7
#9575CD
softer purple
Sky
#74B9FF
#81D4FA
warm sky
Lime
#55EFC4
#69F0AE
warm mint green
Coral
#FF7675
#FFAB91
peach
Peach
#FFEAA7
#FFE0B2
warm cream
Semantic Colors
Dark mode: Success #55EFC4, Warning #FFE66D, Error #FF6B6B, Info #74B9FF
Light mode: Success #69F0AE, Warning #FFD54F, Error #FF8A80, Info #81D4FA
Category → Color Mapping
Each skill category gets a dedicated dopamine color. The graph becomes a colorful map where you can identify domains at a glance. Use the dark or light variant depending on the active theme.
Gradient Patterns
Dark mode CTA: linear-gradient(135deg, Electric, Hot Pink)
Light mode CTA: linear-gradient(135deg, Coral, Hot Pink)
Hero text: linear-gradient(135deg, Cherry, Hot Pink, Lavender, Sky) with animation
Progress bars: linear-gradient(90deg, Teal, Lime)
Ambient blobs (dark): Electric and Hot Pink, blur(120px), opacity 0.15
Ambient blobs (light): Peach/Gold (#FFCC80) and Hot Pink, blur(120px), opacity 0.12–0.15
Light Mode Adaptations
Warm cream base #FFFBF5, all borders/shadows use warm brown tones (rgba(200,160,100,...)) — NEVER cold gray
Independent warmer color palette — not the same hex values as dark mode
All colored nodes have white border (2px solid rgba(255,255,255,0.7)) + white halo ring (box-shadow: 0 0 0 3px rgba(255,255,255,0.5))
All colored nodes/buttons use white text — never dark text on bright colors (except Gold uses dark brown #6B4E00)
Tags use 12% opacity warm tint backgrounds with matching text
Pending/unstarted nodes: warm beige #FFF3E8 with dashed brown border #E8D5C0 — NEVER dark gray
Graph background: warm gradient (cream → pale pink → pale lavender), not flat white
NO black shadows anywhere — all depth via colored shadows or white halos only
Ambient gradient blobs at 12–15% opacity, peach/golden tones
Glass cards use rgba(255,255,255,0.7) + blur with warm-toned borders
No inset box-shadow with black rgba — all depth via colored shadows or white halos only
Mobile (<768px): Single column. Workspace uses tab bar to switch between panels (Sources/Main/Chat). Header nav collapses to hamburger or icon-only buttons. Graph fills full width. Touch targets minimum 44×44px.
Tablet (768–1024px): Dual-panel mode. Workspace shows Main + one side panel at a time (slide-over). Home graph fills full width with sidebar stats below.
Desktop (>1024px): Full three-panel workspace layout. Home shows graph + sidebar stats.
Full-page error: Centered layout like empty state, but with error icon + "Something went wrong" + retry button (secondary style)
Network error: Toast notification (slide in from right, auto-dismiss 5s) + persistent retry button on affected section
Theme Toggle Transition
Duration: 200ms ease
What transitions: background-color, color, border-color, box-shadow on * selector via transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s
SkillGraph: Instant re-render with new palette (no transition — D3 SVG doesn't support CSS transitions)
Default theme: Dark mode. Respect prefers-color-scheme on first visit, then persist user choice to localStorage.
Ambient Effects (Dark Mode)
Background gradient blobs: 2 fixed circles (Electric and Hot Pink), 500-600px diameter, blur(120px), opacity 0.15, slow floating animation