The Muted Color Concept
Muted colors are subdued versions of vibrant Core Colors. They serve critical UI functions:- Background fills for semantic regions (success messages, error containers)
- Selection indicators that do not overwhelm content
- Badge backgrounds that complement foreground icons/text
- Subtle accents that add color without dominance
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MUTED COLOR CONCEPT β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β CORE COLOR (Full Saturation) β
β ββββββββββββββββββββββββββββ β
β β
β --oklch-primary: oklch(55% 0.15 230); β
β ################################################################ β
β 100% opacity, 100% chroma - DOMINANT β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β MUTED COLOR (Reduced Opacity) β
β βββββββββββββββββββββββββββββ β
β β
β --oklch-primary-muted: color-mix(in oklab, ..., transparent 80%); β
β ................############................ β
β 20% opacity - SUBTLE, BACKGROUND-APPROPRIATE β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β RELATIONSHIP: β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β CORE (100%) MUTED (20%) RELATIONSHIP β β
β β βββββββββββ ββββββββββββ ββββββββββββ β β
β β Dense mass Diffuse cloud Same color β β
β β Strong presence Gentle presence identity, β β
β β Dominates space Fills space different intensity β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Muted Color Definitions
/* Muted color derivations */
--oklch-primary-muted: color-mix(in oklab, var(--oklch-primary), transparent 80%);
--oklch-success-muted: color-mix(in oklab, var(--oklch-success), transparent 80%);
--oklch-danger-muted: color-mix(in oklab, var(--oklch-danger), transparent 80%);
--oklch-warning-muted: color-mix(in oklab, var(--oklch-warning), transparent 80%);
Background Color Hierarchy
Background colors create visual layers in the interface. Each level represents a different elevation./* Dark Theme (Default) */
--color-bg-primary: #000000; /* Pure black - deepest layer */
--color-bg-secondary: #090e13; /* L=5.5% - first elevation */
--color-bg-tertiary: #0b1117; /* L=7% - second elevation */
--color-bg-hover: rgba(147, 161, 161, 0.08);
Background Elevation Model
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKGROUND ELEVATION MODEL β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β DARK THEME BACKGROUND HIERARCHY: β
β ββββββββββββββββββββββββββββββββ β
β β
β Level Variable Value Lightness β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β Primary --color-bg-primary #000000 L=0% β
β Secondary --color-bg-secondary #090e13 L=5.5% β
β Tertiary --color-bg-tertiary #0b1117 L=7% β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β VISUAL REPRESENTATION (Nested Layers): β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β PRIMARY (#000000) - Terminal, main content β β β
β β β ################################################################ β β β
β β β β β β
β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β
β β β β SECONDARY (#090e13) - Sidebars, panels β β β β
β β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β
β β β β β β β β
β β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β
β β β β β TERTIARY (#0b1117) - Elevated elements β β β β β
β β β β β .................................................... β β β β β
β β β β β (dropdowns, tooltips) β β β β β
β β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β
β β β β β β β β
β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β
β β β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β LIGHTNESS PROGRESSION: 0% -> 5.5% -> 7% β
β Each layer is slightly brighter, creating depth perception β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Light Theme Background System
[data-theme="light"] {
--color-bg-primary: #ffffff;
--color-bg-secondary: #f5f5f5;
--color-bg-tertiary: #ebebeb;
--color-bg-hover: rgba(0, 0, 0, 0.05);
}
Dark vs Light Background Comparison
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKGROUND COLOR THEME COMPARISON β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β DARK THEME LIGHT THEME β
β ββββββββββ βββββββββββ β
β β
β --color-bg-primary: #000000 --color-bg-primary: #ffffff β
β L=0% L=100% β
β β
β --color-bg-secondary: #090e13 --color-bg-secondary: #f5f5f5 β
β L=5.5% L=96% β
β β
β --color-bg-tertiary: #0b1117 --color-bg-tertiary: #ebebeb β
β L=7% L=92% β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β PROGRESSION PATTERN: β
β β
β Dark: 0% -> 5.5% -> 7% (each level brighter) β
β Light: 100% -> 96% -> 92% (each level darker) β
β β
β Both follow the same principle: higher elevation = further from base β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Level 4: Contextual Relationship Variables
Level 4 variables define text colors appropriate for specific background contexts. Text must adapt to its background to maintain readability./* LEVEL 4: Contextual Relationship Variables */
/* Background-foreground relationships */
/* 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);
--bg-secondary-heading: var(--color-text-primary);
--bg-secondary-link: var(--color-primary);
/* Tertiary Background Context */
--bg-tertiary-text: var(--color-text-primary);
--bg-tertiary-text-secondary: var(--color-text-secondary);
--bg-tertiary-heading: var(--color-text-primary);
--bg-tertiary-link: var(--color-primary);
/* Accent Background Contexts (buttons, badges, etc.) */
--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 */
Contextual Relationship Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CONTEXTUAL RELATIONSHIP ARCHITECTURE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β LEVEL 4 VARIABLE NAMING CONVENTION: β
β βββββββββββββββββββββββββββββββββββ β
β β
β --bg-{context}-{element} β
β β β β
β β βββ text, text-secondary, heading, link β
β βββ primary, secondary, tertiary, accent-primary, accent-success... β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β RELATIONSHIP DIAGRAM: β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β BACKGROUND LAYER TEXT LAYER β β
β β ββββββββββββββββ ββββββββββ β β
β β β β
β β --color-bg-primary ββββββββββΊ --bg-primary-text β β
β β (Deep #000000) (#93a1a1) β β
β β β β
β β --color-bg-secondary ββββββββΊ --bg-secondary-text β β
β β (Shallower #090e13) (Same text color) β β
β β β β
β β --color-primary βββββββββββββΊ --bg-accent-primary-text β β
β β (Semantic blue) (White for contrast) β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β WHY LEVEL 4 EXISTS: β
β βββββββββββββββββββ β
β β
β 1. Themes can override just the relationship β
β 2. Semantic backgrounds need different text β
β 3. Light/dark theme can have different accent text colors β
β 4. Accessibility: ensures sufficient contrast β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Light Theme Contextual Override
[data-theme="light"] {
/* Warning text needs to be dark on bright yellow bg in light mode */
--bg-accent-warning-text: #1a1a1a;
}
Text Color Hierarchy
Text colors are organized by importance, with primary text being the most visible.--color-text-primary: #93a1a1;
--color-text-secondary: #657b83;
--color-text-tertiary: #586e75;
Text Hierarchy Visual Model
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TEXT COLOR HIERARCHY β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β DARK THEME TEXT COLORS: β
β βββββββββββββββββββββββ β
β β
β --color-text-primary: #93a1a1 (L=64%) Main body β
β --color-text-secondary: #657b83 (L=50%) Supporting β
β --color-text-tertiary: #586e75 (L=45%) Hints β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β VISUAL HIERARCHY: β β
β β β β
β β PRIMARY TEXT (#93a1a1) β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β Brightest - clearly readable, main content β β
β β β β
β β SECONDARY TEXT (#657b83) β β
β β ββββββββββββββββββββββββββββββββββββββββ...................... β β
β β Medium - supporting role, descriptions β β
β β β β
β β TERTIARY TEXT (#586e75) β β
β β ββββββββββββββββββββββββββ.................................. β β
β β Dim - hints and placeholders β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β CONTRAST RATIOS: β
β ββββββββββββββββ β
β Dark theme: Primary on black = ~7:1 (exceeds WCAG AA) β
β Light theme: Primary on white = ~14:1 (exceeds WCAG AAA) β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Status Badge Background Muted Colors
Status badge backgrounds use the muted pattern: each semantic Core Color is diluted to 20% for backgrounds./* Status Badge Colors */
/* 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 Component Model
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STATUS BADGE COMPONENT MODEL β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β STATUS BADGE STRUCTURE: β
β βββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β ββββββββββββββββββββββ β β
β β β [*] Running β β Status Badge β β
β β ββββββββββββββββββββββ β β
β β β β β β
β β β βββ Text: --status-success-text (100%) β β
β β β β β
β β βββ Icon: --status-success (100%) β β
β β β β
β β Background: --status-success-bg (20%) β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ALL STATUS TYPES: β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β SUCCESS WARNING DANGER β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β [*] Running β β [!] Pending β β [X] Failed β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β Green 20% BG Yellow 20% BG Red 20% BG β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Neutral Palette (Low Chroma)
Neutral colors have minimal saturation. They serve as visual separators without competing with content colors./* 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);
Neutral Palette Analysis
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NEUTRAL PALETTE ANALYSIS β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β DARK THEME BORDERS: β
β βββββββββββββββββββ β
β β
β Color HEX OKLCH Approx Character β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β border-primary #151d26 oklch(10% 0.02 230) Near-zero saturation β
β border-secondary #1f2a35 oklch(15% 0.02 230) Minimal influence β
β border-light #2a3540 oklch(20% 0.02 230) Faint color β
β border-subtle rgba(...) oklch(100% 0 0)@10% Ghost particles β
β β
β CHROMA ANALYSIS: β
β ββββββββββββββββ β
β β
β All borders have very LOW chroma (C = 0.02) β
β Compare to semantic colors (C = 0.15) β
β β
β This is intentional: β
β β’ Low chroma = minimal visual "mass" β
β β’ Borders should NOT compete with content colors β
β β’ They exist in the "void" between colored regions β
β β’ Subtle blue tint = theme's background radiation β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β LIGHT THEME BORDERS: β
β ββββββββββββββββββββ β
β β
β --color-border-primary: #e0e0e0 (L=88%) Pure neutral β
β --color-border-secondary: #d0d0d0 (L=82%) True neutral β
β --color-border-light: #c0c0c0 (L=75%) Achromatic β
β --color-border-subtle: rgba(0, 0, 0, 0.1) β
β β
β Light theme uses TRUE neutral gray (Chroma = 0) β
β No color "charge" at all - pure empty space β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Element Background Variants
Element backgrounds create subtle elevation differences between UI components./* Element Background (UI elements like buttons, badges, dropdowns) */
/* Falls back to border colors if not defined in theme */
--color-element-bg-1: var(--color-border-primary);
--color-element-bg-2: var(--color-border-secondary);
--color-element-bg-3: var(--color-border-light);
Element Background Purpose
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ELEMENT BACKGROUND SYSTEM β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β PURPOSE: β
β ββββββββ β
β β
β Element backgrounds are for UI controls that sit ON TOP of main backgrounds β
β They need to be visually distinct but not overwhelming β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β PAGE BACKGROUND (--color-bg-primary) β β
β β ################################################################## β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β PANEL (--color-bg-secondary) β β β
β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β
β β β β β β
β β β βββββββββββββββββββ βββββββββββββββββββ β β β
β β β β Button β β Dropdown βΌ β β β β
β β β β (element-bg-2) β β (element-bg-2) β β β β
β β β βββββββββββββββββββ βββββββββββββββββββ β β β
β β β β β β
β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β
β β β β Input field (element-bg-1) β β β β
β β β β ............................................................ β β β
β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β
β β β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β FALLBACK STRATEGY: β
β ββββββββββββββββββ β
β β
β Element backgrounds reference border colors as fallback: β
β β’ --color-element-bg-1 = var(--color-border-primary) β
β β’ This ensures consistency even if theme doesn't define element-bg β
β β’ Border colors are safe neutral values β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Divider and Subtle Separation
Dividers create visual separation without drawing attention./* Legacy divider */
--color-divider: rgba(255, 255, 255, 0.1);
/* Modern OKLCH-based divider */
--oklch-divider: color-mix(in oklch, var(--color-text-primary) 15%, transparent);
Divider System Comparison
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DIVIDER SYSTEM COMPARISON β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β TWO DIVIDER APPROACHES: β
β βββββββββββββββββββββββ β
β β
β 1. LEGACY (rgba) - Fixed: β
β --color-divider: rgba(255, 255, 255, 0.1); β
β β’ 10% white overlay β
β β’ Fixed value, doesn't adapt to theme β
β β’ Works only on dark backgrounds β
β β
β 2. MODERN (color-mix) - Adaptive: β
β --oklch-divider: color-mix(in oklch, var(--color-text-primary) 15%, β
β transparent); β
β β’ 15% of theme text color β
β β’ Automatically adapts to dark/light theme β
β β’ Perceptually consistent across environments β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β RECOMMENDATION: β
β βββββββββββββββ β
β Use --oklch-divider for new code (adapts to theme) β
β Keep --color-divider for backward compatibility β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Special Purpose Colors
/* Special Purpose */
--color-white: #fdf6e3;
--color-black: #000000;
Special Color Analysis
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SPECIAL PURPOSE COLORS β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β --color-white: #fdf6e3 β
β ββββββββββββββββββββββ β
β β
β This is NOT pure white (#ffffff)! β
β It's the Solarized "base3" warm off-white. β
β β
β RGB: 253, 246, 227 β
β Character: Warm cream/ivory with yellow undertone β
β β
β WHY NOT PURE WHITE? β
β β’ Matches Solarized theme aesthetic β
β β’ Reduces eye strain β
β β’ Creates cohesive warm color palette β
β β’ Pure white (#fff) is available if needed β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β --color-black: #000000 β
β ββββββββββββββββββββββ β
β β
β This IS pure black. β
β Used for: β
β β’ Terminal background β
β β’ Maximum contrast elements β
β β’ Shadow bases β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
THE CENTER
How Muted Colors Enable Information Flow
Connection to Core-Flow:
βββ Muted colors = contextual information
βββ Full colors = primary information
βββ Backgrounds establish visual "environment"
βββ Text hierarchy guides reading order
- Muted backgrounds establish context (semantic region)
- Full-opacity text delivers content
- Neutral borders separate without competing
- Background hierarchy organizes spatial layout
Back to Flow Overview
Return to the OKLAB and color-mix() foundation