§R3.1 Palette Structure

Index RangeContent
0–7Standard ANSI colors (black, red, green, yellow, blue, magenta, cyan, white)
8–15Bright ANSI colors
16–2316×6×6 color cube: index = 16 + 36r + 6g + b (r, g, b = 0–5)
232–25524-step grayscale ramp (232 = darkest, 255 = lightest)

§R3.2 Semantic Role → 256-Color Mapping

Dark Theme (default)

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary75 (light blue)17 (dark blue)fg #5fafff, bg #00005f
Secondary109 (muted blue)236 (dark gray)fg #87afaf, bg #303030
Tertiary79 (teal)236 (dark gray)fg #5fd7af, bg #303030
Error196 (bright red)52 (dark red)fg #ff0000, bg #5f0000
Neutral fg252 (light gray)fg #d0d0d0
Neutral fg bright231 (white)fg #ffffff
Neutral bg235 (near-black)bg #262626
Surface252234 (charcoal)bg #1c1c1c

Neutral fg bright is for text on colored backgrounds (headers, selected tabs, active indicators) where standard neutral fg lacks sufficient contrast.

Light Theme

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary25 (dark blue)189 (light blue)fg #005faf, bg #d7d7ff
Secondary66 (muted blue)254 (near-white)fg #5f8787, bg #e4e4e4
Tertiary30 (dark teal)254 (near-white)fg #008787, bg #e4e4e4
Error124 (dark red)224 (light pink)fg #af0000, bg #ffd7d7
Neutral fg235 (dark gray)fg #262626
Neutral bg255 (white)bg #eeeeee
Surface235231 (pure white)bg #ffffff

§R3.3 Status Color Mapping

StatusDark Theme (FG index)Light Theme (FG index)Paired Symbol
Healthy / Success40 (green)28 (dark green) or
Error / Critical196 (bright red)124 (dark red) or
Warning / Caution220 (yellow)172 (orange) or
Inactive / Disabled240 (gray)247 (gray) or

§R3.4 Named Palettes

The Dark Theme and Light Theme mappings above (§R3.2) define the default palettes. Applications MAY offer additional named palettes. Eight named palettes are defined here, drawn from the historical research that informs the standard. All palettes map to the same five semantic roles (§5.1); they differ only in color assignment.

Default

Source: Textual framework default dark theme. This is the standard modern dark palette — the recommended starting point for new applications. It uses the same 256-color mappings defined in §R3.2 Dark Theme.

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary75 (light blue)17 (dark blue)fg #5fafff, bg #00005f
Secondary109 (muted blue)236 (dark gray)fg #87afaf, bg #303030
Tertiary79 (teal)236 (dark gray)fg #5fd7af, bg #303030
Error196 (bright red)52 (dark red)fg #ff0000, bg #5f0000
Neutral fg252 (light gray)fg #d0d0d0
Neutral fg bright231 (white)fg #ffffff
Neutral bg235 (near-black)bg #262626
Surface252234 (charcoal)bg #1c1c1c

Status colors:

StatusForeground (index)Paired Symbol
Healthy / Success40 (green) or
Error / Critical196 (bright red) or
Warning / Caution220 (yellow) or
Inactive / Disabled240 (gray) or

Example — Dashboard rendered in Default:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
│ File  View  Help                                                              │
├───────────────────────────────────────────────────────────────────────────────┤
                                                                               
  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 Service              │ Status   │ Uptime       │ CPU     │ Memory             
──────────────────────│──────────│──────────────│─────────│────────────────────
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             
   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             
   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             
   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 ? Help  r Refresh  / Filter  q Quit                             5 services    
└───────────────────────────────────────────────────────────────────────────────┘

Monochrome

Source: CUA cpAppMonochrome system palette, Turbo Vision cpAppBlackWhite palette, and the capability-detection degradation path (§5.6).

No color indices are used. All semantic differentiation is achieved through SGR text attributes on a black background.

Semantic RoleForegroundBackgroundSGR Attributes
PrimaryWhiteBlackBold (SGR 1)
SecondaryWhiteBlackNormal
TertiaryWhiteBlackUnderline (SGR 4)
ErrorWhiteBlackBold + Reverse (SGR 1;7)
Neutral fgWhiteBlackDim (SGR 2)
Neutral bgBlack
SurfaceWhiteBlack
Focus indicatorBlackWhiteReverse (SGR 7)
Selected itemBlackWhiteReverse (SGR 7)
DisabledWhiteBlackDim (SGR 2)

Status mapping under Monochrome:

StatusRenderingPaired Symbol
Healthy / SuccessNormal or
Error / CriticalBold + Reverse or
Warning / CautionBold or
Inactive / DisabledDim or

Example — Dashboard rendered in Monochrome:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
│ File  View  Help                                                              │
├───────────────────────────────────────────────────────────────────────────────┤
│                                                                               │
│  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ Service              │ Status   │ Uptime       │ CPU     │ Memory             │
│──────────────────────│──────────│──────────────│─────────│────────────────────│
│ > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             │
│   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             │
│   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             │
│   notification-svc   │ DOWN     │  0d  0h 00m  │   0.0%  │    0MB             │
│   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ ? Help  r Refresh  / Filter  q Quit                           5 services      │
└───────────────────────────────────────────────────────────────────────────────┘

OS/2

Source: OS/2 Presentation Manager text-mode conventions as seen in OS/2 terminal emulators like Softerm. Yellow-green text on CGA blue, with light gray action bars and status lines. The window title bar uses yellow on dark blue. Selections use reverse video. Active windows use double-line borders with brighter attributes; inactive windows use single-line borders with dimmer attributes (§5.5).

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary14 (yellow)1 (blue)fg #FFFF55, bg #0000AA
Secondary7 (light gray)1 (blue)fg #AAAAAA, bg #0000AA
Tertiary0 (black)7 (light gray)fg #000000, bg #AAAAAA
Error12 (light red)1 (blue)fg #FF5555, bg #0000AA
Neutral fg0 (black)fg #000000
Neutral bg7 (light gray)bg #AAAAAA
Surface14 (yellow)1 (blue)bg #0000AA

Key conventions:

  • Action bar: Black on light gray — the CUA standard. Distinguished from the blue panel area.
  • Title bar: Yellow on dark blue. Window name displayed in the title frame.
  • Panels: Yellow or light gray text on blue. Terminal text area uses yellow on blue.
  • Status line: Black on light gray, with status indicators (Online, Half Duplex, etc.).
  • Active/inactive windows: Bright borders (active) vs. dim borders (inactive), with double-line vs. single-line distinction (§6.1).

Example — Dashboard rendered in OS/2:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
  File  View  Help                                                             
├───────────────────────────────────────────────────────────────────────────────┤
│                                                                               │
│  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ Service              │ Status   │ Uptime       │ CPU     │ Memory             │
│──────────────────────│──────────│──────────────│─────────│────────────────────│
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
│   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             │
│   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             │
│   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             │
│   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤ ? Help  r Refresh  / Filter  q Quit                           5 services     └───────────────────────────────────────────────────────────────────────────────┘

Turbo Pascal

Source: Borland Turbo Vision palette system (1990) as seen in the Turbo Pascal 7.0 and Turbo C++ IDEs. The desktop uses a dither pattern in light gray on blue. Editor windows show white text on blue. Menu bar and status line use black on light gray. Window frames are white on blue; active windows use double-line borders, inactive use single-line. Dialog boxes use black on light gray, visually distinct from the blue editor surface. Buttons use black on green.

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary15 (white)1 (blue)fg #FFFFFF, bg #0000AA
Secondary7 (light gray)1 (blue)fg #AAAAAA, bg #0000AA
Tertiary0 (black)2 (green)fg #000000, bg #00AA00
Error12 (light red)1 (blue)fg #FF5555, bg #0000AA
Neutral fg0 (black)fg #000000
Neutral bg7 (light gray)bg #AAAAAA
Surface15 (white)1 (blue)bg #0000AA

Key conventions from the Borland IDE:

  • Desktop: dither pattern — light gray (7) on blue (1). Visible behind all windows.
  • Editor area: White (15) on blue (1). Comments and secondary text in light gray (7).
  • Window frames: White (15) on blue (1). Double-line for active, single-line for inactive.
  • Menu bar and status line: Black (0) on light gray (7). Hotkey letters highlighted in red or yellow.
  • Dialog boxes: Black on light gray. A visually distinct surface from the blue editor area.
  • Buttons: Black on green ([ OK ]). Default button uses highlighted delimiters.

Example — Dashboard rendered in Turbo Pascal:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
  File  View  Help                                                             
├───────────────────────────────────────────────────────────────────────────────┤
│                                                                               │
│  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ Service              │ Status   │ Uptime       │ CPU     │ Memory             │
│──────────────────────│──────────│──────────────│─────────│────────────────────│
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
│   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             │
│   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             │
│   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             │
│   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             │
│                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤ ? Help  r Refresh  / Filter  q Quit                           5 services     └───────────────────────────────────────────────────────────────────────────────┘

Amber Phosphor

Source: DEC VT220 and VT320 amber phosphor (P3) displays, widely deployed in business and institutional computing through the 1980s. Control Data Corporation PLATO terminals also used amber-orange plasma displays. The single-hue-on-black aesthetic predates color terminals entirely.

All UI elements are rendered in shades of amber (#FFB000 at full brightness) on a black background. Semantic roles are distinguished by brightness level within the single hue.

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary214 (bright amber)0 (black)fg #ffaf00, bg #000000
Secondary172 (medium amber)0 (black)fg #d78700, bg #000000
Tertiary214 (bright amber)0 (black)fg #ffaf00, bg #000000 (underline)
Error214 (bright amber)0 (black)fg #ffaf00, bg #000000 (reverse)
Neutral fg136 (dim amber)fg #af8700
Neutral bg0 (black)bg #000000
Surface1360 (black)bg #000000

Because amber is a single-hue palette, SGR attributes provide essential differentiation:

ElementColorAdditional SGR
Focused / activeBright amber (214)Bold (SGR 1)
Body textMedium amber (172)Normal
Secondary / labelsDim amber (136)Dim (SGR 2)
Selected itemBlack on amberReverse (SGR 7)
Error stateBlack on amberReverse + Bold
DisabledDim amber (136)Dim (SGR 2)
Links / interactiveBright amber (214)Underline (SGR 4)

Example — Dashboard rendered in Amber Phosphor:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
│ File  View  Help                                                              │
├───────────────────────────────────────────────────────────────────────────────┤
                                                                               
  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 Service              │ Status   │ Uptime       │ CPU     │ Memory             
──────────────────────│──────────│──────────────│─────────│────────────────────
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             
   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             
   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             
   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ ? Help  r Refresh  / Filter  q Quit                           5 services      │
└───────────────────────────────────────────────────────────────────────────────┘

Green Phosphor

Source: DEC VT100 and VT101 green phosphor (P1) displays — the original “green screen” terminal that defined the early Unix and VAX/VMS experience. Also used in IBM 3278 display terminals and countless institutional systems through the 1970s–1980s.

Structurally identical to Amber Phosphor but in green. All UI elements rendered in shades of green (#33FF00 at full brightness) on black.

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary82 (bright green)0 (black)fg #5fff00, bg #000000
Secondary34 (medium green)0 (black)fg #00af00, bg #000000
Tertiary82 (bright green)0 (black)fg #5fff00, bg #000000 (underline)
Error82 (bright green)0 (black)fg #5fff00, bg #000000 (reverse)
Neutral fg28 (dim green)fg #008700
Neutral bg0 (black)bg #000000
Surface280 (black)bg #000000

SGR attribute usage follows the same pattern as Amber Phosphor:

ElementColorAdditional SGR
Focused / activeBright green (82)Bold (SGR 1)
Body textMedium green (34)Normal
Secondary / labelsDim green (28)Dim (SGR 2)
Selected itemBlack on greenReverse (SGR 7)
Error stateBlack on greenReverse + Bold
DisabledDim green (28)Dim (SGR 2)
Links / interactiveBright green (82)Underline (SGR 4)

Example — Dashboard rendered in Green Phosphor:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
│ File  View  Help                                                              │
├───────────────────────────────────────────────────────────────────────────────┤
                                                                               
  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 Service              │ Status   │ Uptime       │ CPU     │ Memory             
──────────────────────│──────────│──────────────│─────────│────────────────────
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             
   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             
   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             
   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
│ ? Help  r Refresh  / Filter  q Quit                           5 services      │
└───────────────────────────────────────────────────────────────────────────────┘

Airlock

Source: The Airlock AI-agent security proxy — a guardrail enforcement layer that inspects, scores, and controls LLM tool-call traffic in real time. The palette uses a cool operator blue for the primary live state, with warm warning and error signals layered on top of a neutral control-room surface. The aesthetic communicates operational security: stable traffic and active guardrails read as calm blue, while warnings and blocks interrupt that baseline immediately.

Semantic RoleForeground (index)Background (index)Hex Approximation
Primary75 (blue)236 (dark gray)fg #5fafff, bg #303030
Secondary109 (muted blue)236 (dark gray)fg #87afaf, bg #303030
Tertiary214 (orange)236 (dark gray)fg #ffaf00, bg #303030
Error167 (red)52 (dark red)fg #d75f5f, bg #5f0000
Neutral fg252 (light gray)fg #d0d0d0
Neutral fg bright231 (white)fg #ffffff
Neutral bg235 (near-black)bg #262626
Surface252234 (charcoal)bg #1c1c1c

Status colors:

StatusForeground (index)Paired Symbol
Healthy / Live117 (bright blue) or
Error / Blocked167 (red) or
Warning / Paused214 (orange) or
Inactive / Shadow245 (gray) or

Key conventions: Primary is a steady operator blue rather than a warning-coded hue. The dominant signal says “traffic is live and under control” without reading as success-toast green. Tertiary stays orange because the “half-open” and “elevated score” states are the most operationally interesting. The status symbols include (block) and (paused) to match Airlock’s enforcement vocabulary.

Example — Dashboard rendered in Airlock:

┌── Service Monitor ────────────────────────────────────────────────────────────┐
│ File  View  Help                                                              │
├───────────────────────────────────────────────────────────────────────────────┤
                                                                               
  CPU: 34%          Services: 12/12          Alerts: 3          Mem: 61%       
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 Service              │ Status   │ Uptime       │ CPU     │ Memory             
──────────────────────│──────────│──────────────│─────────│────────────────────
 > api-gateway        │  OK      │ 14d  3h 22m  │   2.1%  │  340MB             
   auth-service       │  OK      │ 14d  3h 22m  │   0.8%  │  128MB             
   worker-pool        │  WARN    │  0d  1h 45m  │  78.3%  │  1.2GB             
   notification-svc   │  DOWN    │  0d  0h 00m  │   0.0%  │    0MB             
   metrics-collector  │  OK      │ 14d  3h 22m  │   1.4%  │  256MB             
                                                                               │
├───────────────────────────────────────────────────────────────────────────────┤
 ? Help  r Refresh  / Filter  q Quit                             5 services    
└───────────────────────────────────────────────────────────────────────────────┘