Skip to main content

Series: Gestalt Color System - Core and Flow

╔═══════════════════════════════════════════════════════════════════════════════╗
║                                                                               ║
║     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.
┌──────────────────────────────────────────────────────────────────────────────────┐
│  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.
/* 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:
┌─────────────────────────────────────────────────────────────────────────────────┐
│  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.
/* 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:
┌────────────────────────────────────────────────────────────────────────────────────┐
│  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

┌─────────────────────────────────────────────────────────────────────────────────┐
│  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.
/* 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);
┌─────────────────────────────────────────────────────────────────────────────────┐
│  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) = 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:
/* 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);
┌─────────────────────────────────────────────────────────────────────────────────┐
│  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:
/* 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

/* 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);
┌────────────────────────────────────────────────────────────────────────────────────┐
│  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), 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:
/* 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;
}
┌─────────────────────────────────────────────────────────────────────────────────┐
│  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:
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
The architecture ensures that when a user sees green, it always means success. When they see red, it always means danger. This consistency across all 4 levels allows humans to quickly parse information based on color alone - solving the “string soup” problem that occurs without systematic color usage.

Architecture Summary

┌─────────────────────────────────────────────────────────────────────────────────┐
│  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