Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.monolex.ai/llms.txt

Use this file to discover all available pages before exploring further.

Series: Gestalt Color System - Core and Flow

╔═══════════════════════════════════════════════════════════════════════════════╗
β”‚                                                                               β”‚
β”‚     DECISION FLOW: WHEN CORE, WHEN FLOW?                                      β”‚
β”‚                                                                               β”‚
β”‚     A Comprehensive Guide to Choosing Between Core and Flow Colors            β”‚
β”‚     The Definitive Flowchart for Color System Decisions                       β”‚
β”‚                                                                               β”‚
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

The Fundamental Question

Core and Flow Philosophy

Before making any color decision, understand the foundational principle:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  CORE & FLOW PHILOSOPHY                                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘                                                                           β•‘  β”‚
β”‚  β•‘  "Core Colors define identity. Flow Colors handle everything in between." β•‘  β”‚
β”‚  β•‘                                                                           β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  CORE = Identity                        FLOW = Transition                       β”‚
β”‚  ═══════════════                        ════════════════                        β”‚
β”‚                                                                                 β”‚
β”‚  * What IS this element?                * How does this element BEHAVE?         β”‚
β”‚  * What category does it belong to?     * What state is it in?                  β”‚
β”‚  * What does it represent?              * How does it relate to others?         β”‚
β”‚                                                                                 β”‚
β”‚  Examples:                              Examples:                               β”‚
β”‚  * "This is a TypeScript file"          * "This button is being hovered"        β”‚
β”‚  * "This is Agent #3"                   * "This is 20% opacity of primary"      β”‚
β”‚  * "This is a success state"            * "This is between green and blue"      β”‚
β”‚                                                                                 β”‚
β”‚  Technical:                             Technical:                              β”‚
β”‚  * oklch(L% C H)                        * color-mix(in oklab, ...)              β”‚
β”‚  * Direct definition                    * Derived from Core                     β”‚
β”‚  * Hue specifies identity               * Transparency, lightness shifts        β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The Master Decision Tree

Central Decision Flowchart

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MASTER DECISION FLOWCHART                                                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                  β”‚
β”‚                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                               β”‚
β”‚                           β”‚  "I need a color"    β”‚                               β”‚
β”‚                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                               β”‚
β”‚                                      β”‚                                           β”‚
β”‚                                      v                                           β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                         β”‚
β”‚                    β”‚  Does this color represent        β”‚                         β”‚
β”‚                    β”‚  a unique IDENTITY?               β”‚                         β”‚
β”‚                    β”‚                                   β”‚                         β”‚
β”‚                    β”‚  Ask: "What IS this element?"     β”‚                         β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚                                    β”‚                                             β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”‚
β”‚              β”‚                                           β”‚                       β”‚
β”‚              v YES                                       v NO                    β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚   β”‚                          β”‚              β”‚                             β”‚      β”‚
β”‚   β”‚  ╔════════════════════╗  β”‚              β”‚  Is it derived from an      β”‚      β”‚
β”‚   β”‚  β•‘   USE CORE         β•‘  β”‚              β”‚  existing identity color?   β”‚      β”‚
β”‚   β”‚  β•‘   (OKLCH)          β•‘  β”‚              β”‚                             β”‚      β”‚
β”‚   β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚              β”‚  Ask: "What state/variation β”‚      β”‚
β”‚   β”‚                          β”‚              β”‚  of Core is this?"          β”‚      β”‚
β”‚   β”‚  oklch(L% C H)           β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚   β”‚                          β”‚                            β”‚                      β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚                                             β”‚             β”‚             β”‚        β”‚
β”‚                                             v YES         β”‚             v NO     β”‚
β”‚                                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚                                  β”‚                   β”‚    β”‚    β”‚               β”‚ β”‚
β”‚                                  β”‚ ╔═══════════════╗ β”‚    β”‚    β”‚  Create new   β”‚ β”‚
β”‚                                  β”‚ β•‘  USE FLOW     β•‘ β”‚    β”‚    β”‚  CORE COLOR   β”‚ β”‚
β”‚                                  β”‚ β•‘  (OKLAB)      β•‘ β”‚    β”‚    β”‚               β”‚ β”‚
β”‚                                  β”‚ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• β”‚    β”‚    β”‚  --> Define   β”‚ β”‚
β”‚                                  β”‚                   β”‚    β”‚    β”‚     oklch()   β”‚ β”‚
β”‚                                  β”‚ color-mix(in      β”‚    β”‚    β”‚               β”‚ β”‚
β”‚                                  β”‚   oklab, ...)     β”‚    β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚           β”‚          β”‚
β”‚                                           β”‚               β”‚           β”‚          β”‚
β”‚                                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                       β”‚                          β”‚
β”‚                                                       v                          β”‚
β”‚                                           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
β”‚                                           β”‚  All colors trace     β”‚              β”‚
β”‚                                           β”‚  back to a Core Color β”‚              β”‚
β”‚                                           β”‚  (SEED principle)     β”‚              β”‚
β”‚                                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
β”‚                                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Identity Detection Criteria

What Makes Something an Identity?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  IDENTITY DETECTION CHECKLIST                                                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  Ask these questions to determine if something needs a CORE COLOR:              β”‚
β”‚                                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚  β”‚  QUESTION                              β”‚ CORE if YES β”‚ FLOW if NO     β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Does it have a unique category?       β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (file type, user role, entity type)   β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is it always this color when visible? β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (regardless of state)                 β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Does changing its color change its    β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  meaning? (semantic meaning)           β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is it a brand color?                  β”‚      V      β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this the "resting state" color?    β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (default appearance)                  β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Would users recognize this element    β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  BY this color?                        β”‚             β”‚                β”‚      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Identity Examples

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  IDENTITY EXAMPLES (CORE COLORS)                                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  β”œβ”€β”€ File Type Identity ──────────────────────────────────────────────────┐     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  .ts (TypeScript)  -->  Blue (230)   --> oklch(55% 0.15 230)           β”‚     β”‚
β”‚  β”‚  .py (Python)      -->  Green (130)  --> oklch(55% 0.15 130)           β”‚     β”‚
β”‚  β”‚  .rs (Rust)        -->  Orange (35)  --> oklch(55% 0.15 35)            β”‚     β”‚
β”‚  β”‚  .go (Go)          -->  Cyan (195)   --> oklch(55% 0.15 195)           β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  "That blue badge means TypeScript" = identity recognition             β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                                                 β”‚
β”‚  β”œβ”€β”€ Semantic Identity ───────────────────────────────────────────────────┐     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  Success  -->  Green (130)   --> oklch(55% 0.15 130)                   β”‚     β”‚
β”‚  β”‚  Warning  -->  Yellow (85)   --> oklch(65% 0.15 85)                    β”‚     β”‚
β”‚  β”‚  Danger   -->  Red (25)      --> oklch(55% 0.18 25)                    β”‚     β”‚
β”‚  β”‚  Info     -->  Blue (230)    --> oklch(55% 0.12 230)                   β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  "Red means error, green means success" = semantic recognition         β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                                                 β”‚
β”‚  β”œβ”€β”€ Agent Identity (Golden Angle Distribution) ──────────────────────────┐     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  Agent #1  -->  27.5   --> oklch(55% 0.15 27.5)                        β”‚     β”‚
β”‚  β”‚  Agent #2  -->  55     --> oklch(55% 0.15 55)                          β”‚     β”‚
β”‚  β”‚  Agent #3  -->  82.5   --> oklch(55% 0.15 82.5)                        β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β”‚  "That's the yellow agent" = Agent #3 identified by color              β”‚     β”‚
β”‚  β”‚                                                                        β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Derivation Detection Criteria

What Makes Something a Derivation?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  DERIVATION DETECTION CHECKLIST                                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  Ask these questions to determine if something needs a FLOW COLOR:              β”‚
β”‚                                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚  β”‚  QUESTION                              β”‚ FLOW if YES β”‚ CORE if NO     β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this a state variation?            β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (hover, active, focus, disabled)      β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this a transparency level?         β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (overlay, background tint)            β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this a lightness/darkness shift?   β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (pressed state, shadow)               β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this between two identities?       β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (gradient, merge line, transition)    β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Does this color only appear           β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  temporarily? (feedback, animation)    β”‚             β”‚                β”‚      β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”‚
β”‚  β”‚  Is this creating atmosphere?          β”‚      V      β”‚                β”‚      β”‚
β”‚  β”‚  (ambient glow, focus dimming)         β”‚             β”‚                β”‚      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Derivation Examples

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  DERIVATION EXAMPLES (FLOW COLORS)                                                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                      β”‚
β”‚  β”œβ”€β”€ State Derivation ────────────────────────────────────────────────────┐          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β”‚  CORE:   --core-primary: oklch(55% 0.15 230)                           β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                β”œβ”€β”€> FLOW: --flow-primary-hover:                        β”‚          β”‚
β”‚  β”‚                β”‚      color-mix(in oklch, var(--core-primary), wht 15%)β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                β”œβ”€β”€> FLOW: --flow-primary-active:                       β”‚          β”‚
β”‚  β”‚                β”‚      color-mix(in oklab, var(--core-primary), blk 20%)β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                └──> FLOW: --flow-primary-disabled:                     β”‚          β”‚
β”‚  β”‚                       color-mix(in oklab, var(--core-primary), gry 60%)β”‚          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                                                      β”‚
β”‚  β”œβ”€β”€ Transparency Derivation ─────────────────────────────────────────────┐          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β”‚  CORE:   --core-success: oklch(55% 0.15 130)                           β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                β”œβ”€β”€> FLOW: --flow-success-bg:                           β”‚          β”‚
β”‚  β”‚                β”‚       color-mix(in oklab, var(--core-success), 80%)   β”‚          β”‚
β”‚  β”‚                β”‚       (20% opacity for badge background)              β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                └──> FLOW: --flow-success-glow:                         β”‚          β”‚
β”‚  β”‚                        color-mix(in oklab, var(--core-success), 95%)   β”‚          β”‚
β”‚  β”‚                        (5% opacity for subtle glow)                    β”‚          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                                                      β”‚
β”‚  β”œβ”€β”€ Interpolation Derivation ────────────────────────────────────────────┐          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β”‚  CORE A: --core-main-branch: oklch(55% 0.15 230)  (blue)               β”‚          β”‚
β”‚  β”‚  CORE B: --core-feature-branch: oklch(55% 0.15 50)  (orange)           β”‚          β”‚
β”‚  β”‚                β”‚                                                       β”‚          β”‚
β”‚  β”‚                └──> FLOW: --flow-merge-line:                           β”‚          β”‚
β”‚  β”‚                        color-mix(in oklab,                             β”‚          β”‚
β”‚  β”‚                          var(--core-main-branch),                      β”‚          β”‚
β”‚  β”‚                          var(--core-feature-branch) 50%)               β”‚          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β”‚  "When Flow travels from Core to Core, OKLAB's straight-line           β”‚          β”‚
β”‚  β”‚   interpolation prevents muddy transitions"                            β”‚          β”‚
β”‚  β”‚                                                                        β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Component-Specific Decision Guides

Button Component

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  BUTTON COMPONENT: CORE & FLOW MAPPING                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚   State            β”‚ Type β”‚ Rationale                                           β”‚
β”‚   ─────────────────┼──────┼───────────────────────────────────────────────────  β”‚
β”‚   Default          β”‚ CORE β”‚ Button identity - "This IS a primary button"        β”‚
β”‚   :hover           β”‚ FLOW β”‚ State variation - brightness increase               β”‚
β”‚   :active/:pressed β”‚ FLOW β”‚ State variation - darkness increase                 β”‚
β”‚   :focus           β”‚ FLOW β”‚ State variation - focus ring glow                   β”‚
β”‚   :disabled        β”‚ FLOW β”‚ State variation - desaturated                       β”‚
β”‚   Text             β”‚ CORE β”‚ Contrast identity - ensures readability             β”‚
β”‚                                                                                 β”‚
β”‚  CSS IMPLEMENTATION:                                                            β”‚
β”‚  ═══════════════════                                                            β”‚
β”‚                                                                                 β”‚
β”‚  .btn-primary {                                                                 β”‚
β”‚    /* CORE: This IS a primary button */                                         β”‚
β”‚    background: var(--core-primary);                                             β”‚
β”‚    color: var(--core-on-primary);                                               β”‚
β”‚    border: none;                                                                β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .btn-primary:hover {                                                           β”‚
β”‚    /* FLOW: Hover is a state variation */                                       β”‚
β”‚    background: var(--flow-primary-hover);                                       β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .btn-primary:active {                                                          β”‚
β”‚    /* FLOW: Active/pressed is a state variation */                              β”‚
β”‚    background: var(--flow-primary-active);                                      β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .btn-primary:focus-visible {                                                   β”‚
β”‚    /* FLOW: Focus ring is a transparency derivation */                          β”‚
β”‚    box-shadow: 0 0 0 3px var(--flow-primary-bg);                                β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .btn-primary:disabled {                                                        β”‚
β”‚    /* FLOW: Disabled is a state variation */                                    β”‚
β”‚    background: var(--flow-primary-disabled);                                    β”‚
β”‚    cursor: not-allowed;                                                         β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Status Badge Component

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  STATUS BADGE: CORE & FLOW MAPPING                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚   β”‚ * Running          β”‚ β”‚ * Warning          β”‚ β”‚ * Error            β”‚          β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                                                 β”‚
β”‚   Element         β”‚ Type β”‚ Rationale                                            β”‚
β”‚   ────────────────┼──────┼───────────────────────────────────────────────────── β”‚
β”‚   Icon dot        β”‚ CORE β”‚ Identity - "This indicates success status"           β”‚
β”‚   Text            β”‚ CORE β”‚ Identity - same meaning as icon                      β”‚
β”‚   Background      β”‚ FLOW β”‚ Transparency derivation - 20% of Core                β”‚
β”‚   Border          β”‚ FLOW β”‚ Transparency derivation - edge of background         β”‚
β”‚                                                                                 β”‚
β”‚  VISUAL BREAKDOWN:                                                              β”‚
β”‚  ═════════════════                                                              β”‚
β”‚                                                                                 β”‚
β”‚           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                              β”‚
β”‚          /                                        \                             β”‚
β”‚         /   FLOW: Background (20% opacity)         \                            β”‚
β”‚        /                                            \                           β”‚
β”‚       β”‚                                              β”‚                          β”‚
β”‚       β”‚    * <-- CORE: Icon dot (identity)           β”‚                          β”‚
β”‚       β”‚                                              β”‚                          β”‚
β”‚       β”‚    "Running" <-- CORE: Text (identity)       β”‚                          β”‚
β”‚       β”‚                                              β”‚                          β”‚
β”‚        \                                            /                           β”‚
β”‚         \                                          /                            β”‚
β”‚          \                                        /                             β”‚
β”‚           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                              β”‚
β”‚             ^-- FLOW: Border (edge)                                             β”‚
β”‚                                                                                 β”‚
β”‚  CSS IMPLEMENTATION:                                                            β”‚
β”‚  ═══════════════════                                                            β”‚
β”‚                                                                                 β”‚
β”‚  .badge-success {                                                               β”‚
β”‚    /* FLOW: Background is transparency derivation */                            β”‚
β”‚    background: var(--flow-success-bg);                                          β”‚
β”‚                                                                                 β”‚
β”‚    /* CORE: Text IS the success identity */                                     β”‚
β”‚    color: var(--core-success);                                                  β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .badge-success .icon {                                                         β”‚
β”‚    /* CORE: The dot IS the success indicator */                                 β”‚
β”‚    fill: var(--core-success);                                                   β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

File Explorer Item

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  FILE EXPLORER ITEM: CORE & FLOW MAPPING                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚   [Folder] src/                                                                 β”‚
β”‚   β”œβ”€β”€ [TS]  app.ts          <-- TypeScript badge (CORE)                         β”‚
β”‚   β”œβ”€β”€ [PY]  utils.py        <-- Python badge (CORE)                             β”‚
β”‚   └── [JSON] config.json    <-- JSON badge (CORE)                               β”‚
β”‚                                                                                 β”‚
β”‚  ELEMENT MAPPING:                                                               β”‚
β”‚  ════════════════                                                               β”‚
β”‚                                                                                 β”‚
β”‚  Element              β”‚ Type    β”‚ Rationale                                     β”‚
β”‚  ─────────────────────┼─────────┼────────────────────────────────────────────── β”‚
β”‚  Extension badge      β”‚ CORE    β”‚ Identity - "This IS a TypeScript file"        β”‚
β”‚  Filename text        β”‚ Neutral β”‚ Not semantic - uses text color                β”‚
β”‚  Row background       β”‚ Neutral β”‚ Not semantic - uses bg color                  β”‚
β”‚  Row :hover           β”‚ FLOW    β”‚ State - light overlay                         β”‚
β”‚  Row :selected        β”‚ FLOW    β”‚ State - primary bg transparency               β”‚
β”‚                                                                                 β”‚
β”‚  CSS IMPLEMENTATION:                                                            β”‚
β”‚  ═══════════════════                                                            β”‚
β”‚                                                                                 β”‚
β”‚  .file-item {                                                                   β”‚
β”‚    /* Neutral text - NOT identity */                                            β”‚
β”‚    color: var(--color-text-primary);                                            β”‚
β”‚    background: transparent;                                                     β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .file-item:hover {                                                             β”‚
β”‚    /* FLOW: Hover is a state variation */                                       β”‚
β”‚    background: var(--flow-overlay-light-1);                                     β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .file-item.selected {                                                          β”‚
β”‚    /* FLOW: Selection derives from theme's primary Core */                      β”‚
β”‚    background: var(--flow-primary-bg);                                          β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .file-badge[data-ext="ts"] {                                                   β”‚
β”‚    /* CORE: This badge IS the TypeScript identity */                            β”‚
β”‚    background: var(--core-file-ts);                                             β”‚
β”‚    color: white;                                                                β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  .file-badge[data-ext="py"] {                                                   β”‚
β”‚    /* CORE: This badge IS the Python identity */                                β”‚
β”‚    background: var(--core-file-py);                                             β”‚
β”‚    color: white;                                                                β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Anti-Patterns and Common Mistakes

What NOT to Do

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ANTI-PATTERNS: WHAT NOT TO DO                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  ANTI-PATTERN #1: DERIVING A CORE FROM ANOTHER CORE                       β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  X WRONG:                                                                       β”‚
β”‚  ────────                                                                       β”‚
β”‚  --core-secondary: color-mix(in oklch, var(--core-primary), white 20%);         β”‚
β”‚                                                                                 β”‚
β”‚  WHY: Core Colors define independent identities.                                β”‚
β”‚       They should not depend on each other.                                     β”‚
β”‚                                                                                 β”‚
β”‚  V CORRECT:                                                                     β”‚
β”‚  ──────────                                                                     β”‚
β”‚  --core-primary: oklch(55% 0.15 230);                                           β”‚
β”‚  --core-secondary: oklch(55% 0.10 200);  /* Independent definition */           β”‚
β”‚                                                                                 β”‚
β”‚  ═══════════════════════════════════════════════════════════════════════════    β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  ANTI-PATTERN #2: USING FLOW FOR IDENTITY                                 β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  X WRONG:                                                                       β”‚
β”‚  ────────                                                                       β”‚
β”‚  .badge-typescript {                                                            β”‚
β”‚    background: color-mix(in oklab, blue, transparent 80%);                      β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  WHY: TypeScript badge IS an identity, not a state variation.                   β”‚
β”‚       It should use a Core Color.                                               β”‚
β”‚                                                                                 β”‚
β”‚  V CORRECT:                                                                     β”‚
β”‚  ──────────                                                                     β”‚
β”‚  .badge-typescript {                                                            β”‚
β”‚    background: var(--core-file-ts);  /* oklch(55% 0.15 230) */                  β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  ═══════════════════════════════════════════════════════════════════════════    β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  ANTI-PATTERN #3: HARDCODING FLOW VALUES                                  β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  X WRONG:                                                                       β”‚
β”‚  ────────                                                                       β”‚
β”‚  .button:hover {                                                                β”‚
β”‚    background: #3399dd;  /* Manually calculated lighter blue */                 β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  WHY: Hardcoded values don't update when Core changes.                          β”‚
β”‚       Flow Colors should always reference Core via var().                       β”‚
β”‚                                                                                 β”‚
β”‚  V CORRECT:                                                                     β”‚
β”‚  ──────────                                                                     β”‚
β”‚  .button:hover {                                                                β”‚
β”‚    background: var(--flow-primary-hover);                                       β”‚
β”‚    /* Defined as: color-mix(in oklch, var(--core-primary), white 15%) */        β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  ═══════════════════════════════════════════════════════════════════════════    β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  ANTI-PATTERN #4: USING sRGB/HSL FOR INTERPOLATION                        β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  X WRONG:                                                                       β”‚
β”‚  ────────                                                                       β”‚
β”‚  .gradient {                                                                    β”‚
β”‚    background: linear-gradient(to right, blue, orange);                         β”‚
β”‚    /* sRGB interpolation --> muddy brown in the middle */                       β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β”‚  WHY: sRGB is not perceptually uniform - gradients go through muddy regions.    β”‚
β”‚                                                                                 β”‚
β”‚  V CORRECT:                                                                     β”‚
β”‚  ──────────                                                                     β”‚
β”‚  .gradient {                                                                    β”‚
β”‚    background: linear-gradient(in oklab to right,                               β”‚
β”‚                  var(--core-main-branch),                                       β”‚
β”‚                  var(--core-feature-branch));                                   β”‚
β”‚    /* OKLAB interpolation --> vibrant throughout */                             β”‚
β”‚  }                                                                              β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Reference Decision Matrix

At-a-Glance Matrix

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  CORE vs FLOW: QUICK REFERENCE MATRIX                                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  USE CASE                    β”‚ CORE β”‚ FLOW β”‚ RATIONALE                          β”‚
β”‚  ════════════════════════════β•ͺ══════β•ͺ══════β•ͺ═══════════════════════════════════ β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  IDENTITY ELEMENTS           β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  File type badge             β”‚  V   β”‚      β”‚ "This IS a TypeScript file"        β”‚
β”‚  Agent/terminal label        β”‚  V   β”‚      β”‚ "This IS Agent #3"                 β”‚
β”‚  Branch color                β”‚  V   β”‚      β”‚ "This IS the main branch"          β”‚
β”‚  Status indicator            β”‚  V   β”‚      β”‚ "This IS a success state"          β”‚
β”‚  Brand/accent color          β”‚  V   β”‚      β”‚ "This IS our brand"                β”‚
β”‚  ANSI terminal color         β”‚  V   β”‚      β”‚ "This IS ANSI red"                 β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  STATE VARIATIONS            β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  Hover state                 β”‚      β”‚  V   β”‚ Brightness increase                β”‚
β”‚  Active/pressed state        β”‚      β”‚  V   β”‚ Darkness increase                  β”‚
β”‚  Focus ring                  β”‚      β”‚  V   β”‚ Transparency glow                  β”‚
β”‚  Disabled state              β”‚      β”‚  V   β”‚ Desaturation                       β”‚
β”‚  Selected state              β”‚      β”‚  V   β”‚ Highlight                          β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  TRANSPARENCY                β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  Badge background            β”‚      β”‚  V   β”‚ 20% of Core Color                  β”‚
β”‚  Overlay/backdrop            β”‚      β”‚  V   β”‚ Partial transparency               β”‚
β”‚  Subtle tint                 β”‚      β”‚  V   β”‚ 8% transparency                    β”‚
β”‚  Glow effect                 β”‚      β”‚  V   β”‚ 5% transparency                    β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  INTERPOLATION               β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  Gradient (endpoints)        β”‚  V   β”‚      β”‚ Identity anchors                   β”‚
β”‚  Gradient (middle)           β”‚      β”‚  V   β”‚ Interpolation path                 β”‚
β”‚  Merge line color            β”‚      β”‚  V   β”‚ Between two branches               β”‚
β”‚  Transition animation        β”‚      β”‚  V   β”‚ Temporal path                      β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  NEUTRAL ELEMENTS            β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  Background                  β”‚ N/A  β”‚ N/A  β”‚ Uses primitive color               β”‚
β”‚  Text                        β”‚ N/A  β”‚ N/A  β”‚ Uses primitive color               β”‚
β”‚  Border                      β”‚ N/A  β”‚ N/A  β”‚ Uses primitive color               β”‚
β”‚  Divider                     β”‚      β”‚  V   β”‚ Light overlay                      β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β”‚  TEXT ON BACKGROUNDS         β”‚      β”‚      β”‚                                    β”‚
β”‚  ────────────────────────────┼──────┼──────┼─────────────────────────────────── β”‚
β”‚  Text on primary bg          β”‚  V   β”‚      β”‚ Contrast identity                  β”‚
β”‚  Text on success bg          β”‚  V   β”‚      β”‚ Contrast identity                  β”‚
β”‚  Text on warning bg          β”‚  V   β”‚      β”‚ Contrast identity                  β”‚
β”‚                              β”‚      β”‚      β”‚                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

THE CENTER

How Decision Flow Enables Consistent Information Visualization

The five decision rules ensure that color always communicates meaning:
Connection to Core-Flow:
β”œβ”€β”€ Rule 1 (Identity = Core) ensures semantic colors are stable
β”‚   * TypeScript files are always blue (Hue 230)
β”‚   * Success states are always green (Hue 130)
β”‚   * Users learn color meanings once, apply everywhere
β”‚
β”œβ”€β”€ Rule 2 (State = Flow) ensures interactions feel connected
β”‚   * Hover state clearly relates to default state
β”‚   * Disabled state clearly relates to enabled state
β”‚   * User perceives cause-and-effect through color
β”‚
β”œβ”€β”€ Rule 3 (Flow derives from Core) ensures theme coherence
β”‚   * When brand color changes, all related states update
β”‚   * Single source of truth prevents inconsistency
β”‚   * Human can always trace a Flow back to its Core
β”‚
β”œβ”€β”€ Rule 4 (OKLAB mixing) ensures perceptual accuracy
β”‚   * Gradients between Cores stay vibrant
β”‚   * No muddy middle transitions
β”‚   * Human perceives smooth, natural paths
β”‚
└── Rule 5 (OKLCH for Core, color-mix for Flow) ensures technical correctness
    * Predictable implementation pattern
    * Clear separation of concerns
    * Easy to audit and maintain
When developers follow these five rules consistently, the application becomes a visually coherent information system. Color stops being decoration and becomes a primary channel for communicating meaning to human users.

The Five Rules Summary

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  THE FIVE RULES OF CORE & FLOW                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  RULE 1: IDENTITY = CORE                                                  β•‘  β”‚
β”‚  β•‘  If the color DEFINES what something IS, use Core.                        β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  RULE 2: STATE = FLOW                                                     β•‘  β”‚
β”‚  β•‘  If the color MODIFIES how something appears, use Flow.                   β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  RULE 3: FLOW DERIVES FROM CORE                                           β•‘  β”‚
β”‚  β•‘  Every Flow Color must trace back to a Core Color via var().              β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  RULE 4: USE OKLAB FOR MIXING                                             β•‘  β”‚
β”‚  β•‘  "When Flow moves from Core to Core, OKLAB prevents muddy transitions."   β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  ╔═══════════════════════════════════════════════════════════════════════════╗  β”‚
β”‚  β•‘  RULE 5: CORE USES OKLCH, FLOW USES color-mix()                           β•‘  β”‚
β”‚  β•‘  Core: oklch(L% C H)                                                      β•‘  β”‚
β”‚  β•‘  Flow: color-mix(in oklab, var(--core-*), modifier)                       β•‘  β”‚
β”‚  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•  β”‚
β”‚                                                                                 β”‚
β”‚  ═══════════════════════════════════════════════════════════════════════════    β”‚
β”‚                                                                                 β”‚
β”‚  "Core Colors define identity. Flow Colors handle everything in between."       β”‚
β”‚                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CSS Architecture

How Gestalt Color integrates with the CSS variable system