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) 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:
/* 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), 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:
/* 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