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
Project type: Data-heavy web dashboard — dark-first, self-hosted
Mascot: Pim — a blue penguin detective with a magnifying glass. Appears in empty states, onboarding, error pages, and the Flutter SDK overlay. Pim gives CodeScout warmth and personality that most dev tools lack.
Aesthetic Direction
Direction: Industrial/Utilitarian with character — function-first, data-dense, but softened by Pim and thoughtful empty states
Decoration level: Intentional — Pim appears in "human" moments (empty states, errors, onboarding). Data-dense views (log viewer, timeline) are clean and type-driven with no decoration.
Mood: Professional but approachable. A developer tool that feels like it was built by someone who cares, not generated by a template. Darker and warmer than GitHub's dark theme.
Anti-patterns: No purple gradients, no 3-column feature grids with icons in circles, no generic hero sections, no "clean modern UI" vagueness.
Typography
Display/Hero: Plus Jakarta Sans 800 — bold, geometric, confident. Used for page titles ("Projects"), logo wordmark.
Body: Plus Jakarta Sans 400/500 — clean readability at 13-15px. Labels use 500 weight.
UI/Labels: Plus Jakarta Sans 600 — buttons, nav links, tab labels.
Data/Tables: JetBrains Mono 400 — log timestamps, session IDs, project IDs, request IDs. Must support font-variant-numeric: tabular-nums for aligned columns.
sm: 13px — body text, table cells, input text, nav links
base: 15px — card titles, primary body
lg: 18px — section headings
xl: 20px — page headings ("Projects")
2xl: 24px — major headings
display: 28px+ — hero/marketing only (not used in dashboard)
Color
Approach
Restrained — one blue accent, dark neutrals, color is used sparingly and meaningfully. Log level badges are the one place color is bold (intentional risk — makes the log viewer scannable at a glance).
Surfaces (dark mode — primary)
Token
Hex
Usage
chinese-black
#111214
Page background (base)
cs-container
#0D0D0F
Nav bar, elevated containers
cs-card
#17181C
Card backgrounds, modals
eerie-black
#1B1C1D
Elevated surfaces, hover states
cs-input
#151619
Input field backgrounds (border #2B2B2E)
Borders
Token
Hex
Usage
cs-border
#21262D
Default borders (cards, inputs, dividers)
border-muted
#30363D
Stronger borders (hover states)
border-focus
#078DEE
Focus rings, active input borders
Text
Token
Hex
Usage
fnt-platinum
#E7E7E8
Primary text (headings, card titles)
text-primary
#F0F0F0
Input text, body content
cs-muted
#8B949E
Secondary text (descriptions, labels, nav links)
text-placeholder
#444444
Input placeholders
arsenic
#414143
Disabled text, very muted
Brand / Accent
Token
Hex
Usage
cs-primary
#078DEE
Primary actions, active tabs, links, focus borders
primary-crayola
#2667FF
Alternative blue (logo, gradients)
blue-cola
#078DEE
Tertiary blue accent
primary-hover
#2563EB
Button hover state
primary-active
#1D4ED8
Button active/pressed state
Log Level Colors (bold badges — intentional risk)
These are saturated and punchy. They only appear on the level badge itself, not the entire log row. This makes the log viewer scannable at a glance — you can spot errors instantly.
Level
Hex
Background (15% opacity)
Fatal
#FF4D6A
rgba(255,77,106,0.15)
Error
#F85149
rgba(248,81,73,0.15)
Warning
#D29922
rgba(210,153,34,0.15)
Info
#0084FF
rgba(0,132,255,0.15)
Debug
#3FB950
rgba(63,185,80,0.15)
Verbose
#8B949E
rgba(139,148,158,0.12)
System
#A371F7
rgba(163,113,247,0.15)
Semantic
Token
Hex
Usage
Success
#3FB950
Sync complete, connection established
Warning
#D29922
Retry attempts, degraded state
Error
#F85149
Connection lost, sync failed
Info
#58A6FF
Informational banners, tips
Light Mode
Strategy: invert surfaces (white base, light gray cards), reduce color saturation by 10-20%, keep the same accent blue. Dark mode is the primary experience; light mode is secondary.
Dark Token
Light Override
chinese-black
#FFFFFF
cs-card
#F6F8FA
cs-border
#D0D7DE
text-primary
#1F2328
cs-muted
#656D76
cs-primary
#0069CC (slightly darker for contrast)
Spacing
Base unit: 4px
Density: Comfortable — generous padding on cards and sections, tighter in data-dense views (log rows)
Scale:
Token
px
Usage
2xs
2
Hairline gaps
xs
4
Inline spacing, icon gaps
sm
8
Input padding, button gaps, card internal gaps
gap
6
Label-to-input gap (specific to forms — from your login screen)