Series: Gestalt Color System - Core and Flow
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β CSS VARIABLE ARCHITECTURE β
β β
β 4-Level Hierarchy: From Primitive to Context β
β Establishing the Foundation for Core & Flow System β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The SMPC Color Architecture
Understanding the Hierarchical Structure
The Monolex color system follows the SMPC (Simplicity is Managed Part Chaos) principle with a clear 4-level hierarchy. This structure provides the foundation for the Core and Flow naming convention.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SMPC 4-LEVEL COLOR HIERARCHY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β LEVEL 4: CONTEXTUAL RELATIONSHIPS β
β βββββββββββββββββββββββββββββββββββ β
β β --bg-primary-text β Background-foreground pairs β
β β --bg-accent-success-text β Text colors for semantic backgrounds β
β β --status-success-bg β Status indicator backgrounds β
β β β
β ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β References β
β v β
β LEVEL 3: COMPONENT COLORS β
β βββββββββββββββββββββββββ β
β β --color-context-menu-bg β Component-specific definitions β
β β --color-file-explorer-* β File explorer specifics β
β β --dialog-shadow β Dialog shadows β
β β β
β ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β References β
β v β
β LEVEL 2: SEMANTIC COLORS β
β ββββββββββββββββββββββββ β
β β --oklch-primary β OKLCH Core Colors β
β β --oklch-success β OKLCH Semantic Colors β
β β --oklch-primary-hover β OKLAB Flow Colors (derived) β
β β --oklch-primary-muted β OKLAB Flow Colors (derived) β
β β β
β ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β References β
β v β
β LEVEL 1: PRIMITIVE COLORS β
β βββββββββββββββββββββββββ β
β β --color-bg-primary β Raw HEX values (#000000) β
β β --color-text-primary β Raw color definitions β
β β --color-ansi-red β ANSI terminal colors β
β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 1: Primitive Colors
Raw Value Definitions
Level 1 represents the absolute foundation - raw color values that form the identity of the application. These are the βatomicβ values from which everything else derives.Copy
/* LEVEL 1: Primitive Colors (Raw Values) */
/* Dark Theme (Default) */
:root {
/* Background Colors */
--color-bg-primary: #000000; /* Pure black */
--color-bg-secondary: #090e13; /* L=5.5% */
--color-bg-tertiary: #0b1117; /* L=7% */
--color-bg-hover: rgba(147, 161, 161, 0.08);
/* Text Colors */
--color-text-primary: #93a1a1;
--color-text-secondary: #657b83;
--color-text-tertiary: #586e75;
/* Terminal Colors - CRITICAL for xterm.js theme */
--color-terminal-bg: var(--color-bg-primary);
--color-terminal-fg: var(--color-text-primary);
--color-terminal-cursor: #b3c0c4;
--color-terminal-selection: rgba(22, 32, 42, 0.6);
/* Border Colors (Legacy HEX) */
--color-border-primary: #151d26;
--color-border-secondary: #1f2a35;
--color-border-light: #2a3540;
--color-border-subtle: rgba(255, 255, 255, 0.1);
/* Border Colors (OKLCH + color-mix, ACSS pattern) */
--oklch-border-dark: color-mix(in oklch, black 20%, transparent);
--oklch-border-light: color-mix(in oklch, white 20%, transparent);
--oklch-divider: color-mix(in oklch, var(--color-text-primary) 15%, transparent);
}
ANSI Terminal Colors
A special subset of Level 1 primitives - the 16 ANSI terminal colors that provide terminal identity:Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ANSI COLOR MAPPING: 16-Color Palette β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β STANDARD COLORS (0-7) BRIGHT COLORS (8-15) β
β βββββββββββββββββββββ ββββββββββββββββββββ β
β β
β 0: Black #586e75 8: Bright Black #657b83 β
β 1: Red #c42e2b 9: Bright Red #b34114 β
β 2: Green #7a8c00 10: Bright Green #586e75 β
β 3: Yellow #a37a00 11: Bright Yellow #657b83 β
β 4: Blue #2380c7 12: Bright Blue #839496 β
β 5: Magenta #c13179 13: Bright Magenta #6169b8 β
β 6: Cyan #26958c 14: Bright Cyan #93a1a1 β
β 7: White #d7d2c3 15: Bright White #fdf6e3 β
β β
β These are CORE COLORS - they define terminal identity β
β They should NOT be derived via color-mix() β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 2: Semantic Colors (OKLCH Core)
The Core Color Definitions
Level 2 introduces OKLCH - the perceptually uniform color space that defines our semantic color palette. These are the Core Colors of our system.Copy
/* LEVEL 2: Semantic Colors (OKLCH Primary) */
/* OKLCH: Lightness Chroma Hue */
/* Using OKLCH for perceptually uniform colors */
/* Primary Colors in OKLCH */
--oklch-primary: oklch(55% 0.15 230); /* Blue */
--oklch-success: oklch(55% 0.15 130); /* Green */
--oklch-danger: oklch(55% 0.18 25); /* Red */
--oklch-warning: oklch(65% 0.15 85); /* Yellow/Orange */
--oklch-info: oklch(55% 0.12 230); /* Blue (softer) */
/* Derived colors using color-mix() */
--oklch-primary-hover: color-mix(in oklch, var(--oklch-primary), white 15%);
--oklch-primary-muted: color-mix(in oklab, var(--oklch-primary), transparent 80%);
--oklch-success-hover: color-mix(in oklch, var(--oklch-success), white 15%);
--oklch-success-muted: color-mix(in oklab, var(--oklch-success), transparent 80%);
--oklch-danger-hover: color-mix(in oklch, var(--oklch-danger), white 15%);
--oklch-danger-muted: color-mix(in oklab, var(--oklch-danger), transparent 80%);
--oklch-warning-hover: color-mix(in oklch, var(--oklch-warning), white 10%);
--oklch-warning-muted: color-mix(in oklab, var(--oklch-warning), transparent 80%);
Core and Flow Pattern Emergence
This is where the Core and Flow pattern becomes visible:Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CORE & FLOW PATTERN IN LEVEL 2 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β CORE COLORS (OKLCH - Identity) β
β ββββββββββββββββββββββββββββββ β
β β
β --oklch-primary: oklch(55% 0.15 230) <ββ CORE: Blue identity β
β --oklch-success: oklch(55% 0.15 130) <ββ CORE: Green identity β
β --oklch-danger: oklch(55% 0.18 25) <ββ CORE: Red identity β
β --oklch-warning: oklch(65% 0.15 85) <ββ CORE: Yellow identity β
β β
β β β
β β color-mix(in oklab, ...) β
β β color-mix(in oklch, ...) β
β v β
β β
β FLOW COLORS (Derived - Transitions) β
β βββββββββββββββββββββββββββββββββββ β
β β
β --oklch-primary-hover: color-mix(in oklch, var(--oklch-primary), white 15%) β
β --oklch-primary-muted: color-mix(in oklab, var(--oklch-primary), transparent 80%)β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β KEY INSIGHT: β β
β β β β
β β * hover states use oklch for lightness adjustment β β
β β * muted states use oklab for transparency (perceptual uniformity) β β
β β β β
β β "When Flow moves from Core to Core, OKLAB's straight-line β β
β β interpolation prevents muddy transitions." β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
OKLCH Value Analysis
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OKLCH SEMANTIC COLOR BREAKDOWN β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Color β L (%) β C β H (deg) β Role β
β ββββββββββββββΌβββββββββΌβββββββββΌββββββββββΌββββββββββββββββββββββββββββββββββββ β
β primary β 55 β 0.15 β 230 β Actions, links, interactive β
β success β 55 β 0.15 β 130 β Positive states, confirmations β
β danger β 55 β 0.18 β 25 β Errors, destructive actions β
β warning β 65 β 0.15 β 85 β Caution, attention needed β
β info β 55 β 0.12 β 230 β Informational (lower chroma) β
β β
β OBSERVATIONS: β
β βββββββββββββ β
β * L=55% is the default brightness for most semantic colors β
β * warning uses L=65% for better visibility (yellow needs more lightness) β
β * danger uses C=0.18 for higher saturation (attention-grabbing) β
β * info uses C=0.12 for lower saturation (less prominent) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 1 (Overlay): Flow Color Foundations
Overlay/Transparency System
The overlay system represents a special case of Level 1 colors that are inherently βFlowβ in nature - they are always derived from base colors.Copy
/* LEVEL 1: Overlay/Transparency System */
/* Using color-mix() for perceptually accurate transparency (in oklab color space) */
/* Light overlays (using color-mix in oklab) */
--color-overlay-light-1: color-mix(in oklab, var(--color-text-primary), transparent 92%);
--color-overlay-light-2: color-mix(in oklab, var(--color-text-primary), transparent 88%);
--color-overlay-light-3: color-mix(in oklab, var(--color-text-primary), transparent 84%);
--color-overlay-light-4: color-mix(in oklab, var(--color-text-primary), transparent 80%);
/* Dark overlays (using color-mix in oklab) */
--color-overlay-dark-1: color-mix(in oklab, black, transparent 95%);
--color-overlay-dark-2: color-mix(in oklab, black, transparent 90%);
--color-overlay-dark-3: color-mix(in oklab, black, transparent 80%);
--color-overlay-dark-4: color-mix(in oklab, black, transparent 70%);
/* Legacy rgba fallbacks */
--color-overlay-light-1-fallback: rgba(147, 161, 161, 0.08);
--color-overlay-light-2-fallback: rgba(147, 161, 161, 0.12);
--color-overlay-dark-1-fallback: rgba(0, 0, 0, 0.05);
--color-overlay-dark-2-fallback: rgba(0, 0, 0, 0.1);
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OVERLAY SYSTEM: FLOW COLORS IN ACTION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β LIGHT OVERLAYS (text-primary based) β
β βββββββββββββββββββββββββββββββββββ β
β β
β #93a1a1 (text-primary) β
β β β
β ββββ> overlay-light-1: 8% opacity (92% transparent) β
β ββββ> overlay-light-2: 12% opacity (88% transparent) β
β ββββ> overlay-light-3: 16% opacity (84% transparent) β
β ββββ> overlay-light-4: 20% opacity (80% transparent) β
β β
β Usage: hover states, subtle backgrounds, list item highlights β
β β
β DARK OVERLAYS (black based) β
β ββββββββββββββββββββββββββ β
β β
β #000000 (black) β
β β β
β ββββ> overlay-dark-1: 5% opacity (95% transparent) β
β ββββ> overlay-dark-2: 10% opacity (90% transparent) β
β ββββ> overlay-dark-3: 20% opacity (80% transparent) β
β ββββ> overlay-dark-4: 30% opacity (70% transparent) β
β β
β Usage: shadows, dimming, modal backdrops β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β WHY OKLAB FOR OVERLAYS? β β
β β β β
β β OKLAB (not OKLCH) is used here because: β β
β β * Transparency mixing requires perceptually uniform blending β β
β β * OKLAB's Cartesian coordinates (L, a, b) provide straight-line mixingβ β
β β * No hue shift when mixing with transparent β β
β β β β
β β "Flow between Cores uses OKLAB - no muddy transitions." β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 3: Component Colors
Component-Specific Definitions
Level 3 colors are tied to specific UI components, building on Levels 1 and 2:Copy
/* LEVEL 3: Component Colors */
/* Context Menu */
--color-context-menu-bg: #2d2d2d;
--color-context-menu-border: #444;
--color-context-menu-hover: #3a3a3a;
--color-context-menu-text: #cccccc;
/* File Explorer */
--color-file-explorer-separator: #555;
--color-file-explorer-empty-state: #666;
--color-file-explorer-error: var(--color-danger);
/* Hover/Active States */
--color-hover-subtle: var(--color-overlay-light-1);
--color-divider: rgba(255, 255, 255, 0.1);
/* Dialog Sizes */
--dialog-width-sm: 400px;
--dialog-width-md: 520px;
--dialog-width-lg: 640px;
--dialog-max-height: 70vh;
/* Dialog Shadows & Overlay */
--dialog-shadow: 0 12px 48px rgba(0, 0, 0, 0.4);
--dialog-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.15);
--overlay-backdrop: rgba(0, 0, 0, 0.7);
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LEVEL 3: COMPONENT COLOR MAPPING β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β COMPONENT β COLOR VARIABLE β SOURCE β
β ββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββΌβββββββββββββββ β
β Context Menu Background β --color-context-menu-bg: #2d2d2d β Raw HEX β
β Context Menu Border β --color-context-menu-border: #444 β Raw HEX β
β Context Menu Hover β --color-context-menu-hover: #3a3a3β Raw HEX β
β Context Menu Text β --color-context-menu-text: #ccc β Raw HEX β
β ββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββΌβββββββββββββββ β
β File Explorer Separator β --color-file-explorer-separator β Raw HEX β
β File Explorer Error β --color-file-explorer-error β var() L2 β
β ββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββΌβββββββββββββββ β
β Subtle Hover β --color-hover-subtle β var() L1 Flow β
β Divider β --color-divider β Raw rgba β
β ββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββΌβββββββββββββββ β
β Dialog Shadow β --dialog-shadow β Raw rgba β
β Overlay Backdrop β --overlay-backdrop β Raw rgba β
β β
β OBSERVATIONS: β
β βββββββββββββ β
β * Some L3 colors still use raw HEX (context-menu-*) β
β * Best practice: derive from L2 Core Colors β
β * --color-file-explorer-error correctly uses var(--color-danger) β
β * --color-hover-subtle correctly uses var(--color-overlay-light-1) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 4: Contextual Relationships
Background-Foreground Pairs
Level 4 represents the highest abstraction - defining relationships between colors based on context:Copy
/* LEVEL 4: Contextual Relationship Variables */
/* Background-foreground relationships */
/* Enables custom themes to easily override text colors for accent backgrounds */
/* Primary Background Context */
--bg-primary-text: var(--color-text-primary);
--bg-primary-text-secondary: var(--color-text-secondary);
--bg-primary-heading: var(--color-text-primary);
--bg-primary-link: var(--color-primary);
/* Secondary Background Context */
--bg-secondary-text: var(--color-text-primary);
--bg-secondary-text-secondary: var(--color-text-secondary);
/* Accent Background Contexts (buttons, badges, etc.) */
/* Text colors for semantic background colors */
--bg-accent-primary-text: #ffffff; /* Text on --color-primary bg */
--bg-accent-success-text: #ffffff; /* Text on --color-success bg */
--bg-accent-danger-text: #ffffff; /* Text on --color-danger bg */
--bg-accent-warning-text: #ffffff; /* Text on --color-warning bg (dark theme) */
--bg-accent-info-text: #ffffff; /* Text on --color-info bg */
Status Badge Pattern: Core and Flow in Practice
Copy
/* LEVEL 4: Status Badge Colors */
/* Using OKLAB for stable saturation in transparent backgrounds */
/* Success Status (Running, Active, Connected) */
--status-success: var(--oklch-success);
--status-success-bg: color-mix(in oklab, var(--oklch-success), transparent 80%);
--status-success-text: var(--oklch-success);
/* Warning Status (Pending, Not Started, Orphan) */
--status-warning: var(--oklch-warning);
--status-warning-bg: color-mix(in oklab, var(--oklch-warning), transparent 80%);
--status-warning-text: var(--oklch-warning);
/* Danger Status (Error, Failed, Disconnected) */
--status-danger: var(--oklch-danger);
--status-danger-bg: color-mix(in oklab, var(--oklch-danger), transparent 80%);
--status-danger-text: var(--oklch-danger);
/* Info Status (Informational, Neutral) */
--status-info: var(--oklch-info);
--status-info-bg: color-mix(in oklab, var(--oklch-info), transparent 80%);
--status-info-text: var(--oklch-info);
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STATUS BADGE SYSTEM: CORE & FLOW EXEMPLIFIED β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β SUCCESS STATUS β
β ββββββββββββββ β
β β
β CORE COLOR (Identity): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β --oklch-success: oklch(55% 0.15 130) <ββ Green at 130 deg Hue β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β β References via var() β
β v β
β FLOW COLORS (Derived): β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β --status-success: var(--oklch-success) β β
β β ββ> Used for: icon color, text color β β
β β β β
β β --status-success-bg: color-mix(in oklab, var(--oklch-success), transparent 80%)β
β β ββ> Used for: badge background (20% opacity) β β
β β β β
β β --status-success-text: var(--oklch-success) β β
β β ββ> Used for: text on success background β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β VISUAL RESULT: β
β ββββββββββββββββββββββ β
β β * Running β <ββ Icon uses --status-success (Core) β
β β ^ β <ββ Background uses --status-success-bg (Flow) β
β β β β <ββ Text uses --status-success-text (Core ref) β
β β βββ 20% opacity β β
β β green tint β β
β ββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β "Core Colors define identity. Flow Colors handle everything in between." β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Light Theme Override Pattern
Theme-Specific Overrides
The light theme section demonstrates how to override colors while maintaining the hierarchy:Copy
/* LIGHT THEME - Overrides for [data-theme="light"] */
/* Same SMPC hierarchy, different values */
[data-theme="light"] {
/* LEVEL 1: Primitive Colors */
--color-bg-primary: #ffffff;
--color-bg-secondary: #f5f5f5;
--color-bg-tertiary: #ebebeb;
--color-bg-hover: rgba(0, 0, 0, 0.05);
--color-text-primary: #1a1a1a;
--color-text-secondary: #666666;
--color-text-tertiary: #999999;
/* Border Colors */
--color-border-primary: #e0e0e0;
--color-border-secondary: #d0d0d0;
--color-border-light: #c0c0c0;
--color-border-subtle: rgba(0, 0, 0, 0.1);
/* Scrollbar */
--color-scrollbar-thumb: rgba(0, 0, 0, 0.2);
--color-scrollbar-thumb-hover: rgba(0, 0, 0, 0.4);
/* Terminal Colors - Light Theme */
--color-terminal-bg: var(--color-bg-primary);
--color-terminal-fg: var(--color-text-primary);
--color-terminal-cursor: #000000;
--color-terminal-selection: rgba(0, 0, 0, 0.2);
/* LEVEL 4: Contextual Relationship Overrides */
/* Warning text needs to be dark on bright yellow bg in light mode */
--bg-accent-warning-text: #1a1a1a;
}
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DARK vs LIGHT THEME: CORE COLOR ADAPTATION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β PRIMITIVE LAYER CHANGES β
β βββββββββββββββββββββββ β
β β
β Variable β Dark Theme β Light Theme β
β ββββββββββββββββββββββββΌββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ β
β --color-bg-primary β #000000 β #ffffff β
β --color-text-primary β #93a1a1 β #1a1a1a β
β --color-border-primary β #151d26 β #e0e0e0 β
β β
β SEMANTIC LAYER PRESERVED β
β ββββββββββββββββββββββββ β
β β
β The OKLCH semantic colors (--oklch-primary, etc.) are NOT overridden β
β in light theme. This is because: β
β β
β 1. OKLCH uses perceptually uniform lightness (L%) β
β 2. The same oklch(55% 0.15 230) works in both themes β
β 3. Only the context (bg, text) changes around Core Colors β
β β
β CONTEXTUAL ADAPTATION β
β βββββββββββββββββββββ β
β β
β --bg-accent-warning-text changes from #ffffff (dark) to #1a1a1a (light) β
β Because: Yellow background needs dark text in light mode β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
THE CENTER
How CSS Architecture Enables Consistent Information Flow
The 4-Level CSS architecture directly supports information flow visualization:Copy
Connection to Core-Flow:
βββ Level 1 (Primitives) = The "canvas" - background and text colors
β that form the base layer where information is displayed
β
βββ Level 2 (Semantic) = Core Colors that communicate MEANING
β * Primary blue = interactive/actionable
β * Success green = positive/completion
β * Danger red = error/warning
β * These colors ARE information carriers
β
βββ Level 3 (Component) = How specific UI elements use the semantic colors
β * Context menus, dialogs, file explorers
β * Each component applies Core/Flow appropriately
β
βββ Level 4 (Contextual) = Relationships that ensure readability
* Text colors adapt to background colors
* Ensures information is always legible
* Human can always parse the color-coded information
Architecture Summary
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CSS VARIABLE ARCHITECTURE: CORE & FLOW OVERLAY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββ β
β β β β
β LEVEL 4 β CONTEXTUAL RELATIONSHIPS β β
β (Context) β --bg-*-text, --status-*-bg β β
β β β β
β β βββββββββββββββββββββββββββββββββ β β
β β β Uses Core + Flow compositions β β β
β β βββββββββββββββββββββββββββββββββ β β
β ββββββββββββββββββββ¬βββββββββββββββββββ β
β β β
β βββββββββββββββββββvβββββββββββββββββββ β
β β β β
β LEVEL 3 β COMPONENT COLORS β β
β (Component) β --color-context-menu-*, --dialog-* β β
β β β β
β ββββββββββββββββββββ¬βββββββββββββββββββ β
β β β
β βββββββββββββββββββvβββββββββββββββββββ β
β β β β
β LEVEL 2 β SEMANTIC COLORS β β
β (Semantic) β β β
β β ββββββββββββββ ββββββββββββββββ β β
β β β CORE β β FLOW β β β
β β β COLORS β>β COLORS β β β
β β β (OKLCH) β β (color-mix) β β β
β β β β β β β β
β β β --oklch- β β --oklch-*- β β β
β β β primary β β hover/muted β β β
β β ββββββββββββββ ββββββββββββββββ β β
β β β β
β ββββββββββββββββββββ¬βββββββββββββββββββ β
β β β
β βββββββββββββββββββvβββββββββββββββββββ β
β β β β
β LEVEL 1 β PRIMITIVE COLORS β β
β (Primitive) β --color-bg-*, --color-ansi-* β β
β β β β
β βββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β "Core Colors define identity. Flow Colors handle everything in between." β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Theme Manager Integration
How Core and Flow colors flow through the runtime theme system