Colors
The design system uses a cohesive, token-based palette with dedicated light and dark mode values. Core tokens and full shade ramps are defined in setup.css and exposed as Tailwind utility colors.
Surface elevation story
3 layersUse background for page canvas, surface for standard containers, and surface-raised for overlays that need stronger separation.
Light
surface
Card / Sidebar / Input
surface-raised
Popover / Modal
Dark
surface
Card / Sidebar / Input
surface-raised
Popover / Modal
Brand
3 tokensCore brand colors that define the identity of the design system.
Light
Primary
Secondary
Tertiary
Dark
Primary
Secondary
Tertiary
Surface
4 tokensLayered neutrals for page canvas, components, and elevated overlays.
Light
Background
Surface
Surface Raised
Border
Dark
Background
Surface
Surface Raised
Border
Semantic
4 tokensStatus and feedback colors communicating state at a glance.
Light
Info
Success
Warning
Error
Dark
Info
Success
Warning
Error
Data Visualization
5 tokensChart tokens with dedicated values for both themes.
Light
Chart 1
Chart 2
Chart 3
Chart 4
Chart 5
Dark
Chart 1
Chart 2
Chart 3
Chart 4
Chart 5
Shade ramps
50-950Full ramps are provided for foundational color families so you can pick consistent hover, active, and tinted background states.
Primary scale
--color-primary-[50-950]Interactive hierarchy from subtle tints to strong emphasis.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Secondary scale
--color-secondary-[50-950]Soft neutral accents, subtle states, and layered backgrounds.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Tertiary scale
--color-tertiary-[50-950]Accent spectrum for highlights and complementary emphasis.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Info scale
--color-info-[50-950]Informational spectrum for badges, alerts, and charts.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Success scale
--color-success-[50-950]Positive feedback spectrum across filled and tinted states.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Warning scale
--color-warning-[50-950]Caution spectrum for advisory and pending states.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Error scale
--color-error-[50-950]Destructive spectrum for errors and danger indicators.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Base neutral scale
--color-base-[50-950]Neutral foundation used by surface and text tokens.
Light
50
100
200
300
400
500
600
700
800
900
950
Dark
50
100
200
300
400
500
600
700
800
900
950
Surface hierarchy
The neutral surface system uses three layers to communicate elevation and visual priority:
background: Page canvas and app shell backdrop.surface: Standard containers such as cards, sidebars, and inputs.surface-raised: Floating or elevated UI such as dropdowns, popovers, and modals.
Use this progression consistently so overlays feel intentionally lifted above base content.
<main className="bg-background text-text min-h-screen p-6">
<section className="bg-surface border border-border rounded-xl p-4">
Base content on surface
<div className="mt-4 bg-surface-raised border border-border rounded-lg p-3 shadow-sm">
Elevated content (popover/modal style)
</div>
</section>
</main>Shade ramps
In addition to core tokens (for example primary, success, warning), the system provides 50-950 ramps such as --color-primary-50 ... --color-primary-950.
Use ramps when you need nuanced states:
- Lower steps (50-200): Subtle backgrounds and soft tints.
- Mid steps (300-600): Interactive fills, hovers, and active states.
- Higher steps (700-950): Strong contrast accents, text on light tints, and emphasis.
Usage
import '@/lib_public/setup.css'
// Use CSS variables as tailwind classes
<div className="bg-primary text-primary-foreground">
Primary color background with foreground text
</div>
<div className="bg-primary-100 text-primary-900">
Subtle tinted background using the primary ramp
</div>
<div className="bg-surface-raised border border-border">
Elevated panel
</div>