back to gallery
design language·phosphor

Phosphor

A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.

Download DESIGN.md

Portable DESIGN.md source of truth for most agents and apps.

the spec

specification

philosophy
summary
Phosphor is a green-monochrome interface system that treats the screen as a living phosphor terminal: true-black fields, stacked terminal-window panes, scanline texture, bracketed machine feedback, and a single bright-green live stroke. It reads audited and operational rather than nostalgic parody. A faithful refinement of Retro Terminal Hacker, brought up to standard.
values
operational clarity over decorative comfort, with exact monospace alignmentevery container is a stacked terminal window: chrome strip, phosphor trace border, inner glowvisible system state, logs, prompts, and machine feedback as the primary contentone bright-green stroke per view marks what is live; everything else stays dim phosphor on blackhigh-contrast green-on-black legibility with a restrained three-accent hierarchyscanline-and-vignette field so the viewport feels like an active monitor, never a flat canvas
anti-values
×soft consumer-app gradients, pastel accents, or glassmorphism blur×rounded playful components that break terminal discipline×neon cyberpunk: cyan, purple, magenta, or synthwave gradients×hidden state that removes the sense of machine dialogue, or colour used as the only signal
tokens
colors18 items
bg
#040705
surface
#0A140C
surface_2
#0F1E11
panel_hi
#122616
text
#D9FFD2
text_dim
#8FCB92
muted
#6FA774
muted_2
#4E7A53
on_accent
#021004
border
#2C6B36
border_hi
#4FB45E
accent
#7CFF7A
accent_2
#3FB158
accent_3
#C6FF6A
success
#6CF08A
warning
#E0B24A
error
#FF6A47
info
#79D9C0
typography10 items
base size
17px
body font
Share Tech Mono
heading font
VT323
mono font
Share Tech Mono
heading weight
400
heading transform
uppercase
letter spacing
0.01em
line height
1.55
scale ratio
1.25
google fonts url
https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=VT323&display=swap
radii5 items
none
0px
sm
0px
md
16px
lg
24px
full
9999px
shadows4 items
sm
0 0 0 1px rgba(124,255,122,0.14), inset 0 0 16px rgba(124,255,122,0.05)
md
0 0 0 1px rgba(124,255,122,0.20), 0 0 22px rgba(63,177,88,0.18), inset 0 0 26px rgba(124,255,122,0.06)
lg
0 0 0 1px rgba(124,255,122,0.26), 0 0 40px rgba(63,177,88,0.22), inset 0 0 40px rgba(124,255,122,0.08)
text glow
0 0 8px rgba(124,255,122,0.55)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96, 128
surfaces3 items
bg pattern
True-black CRT field carrying a faint phosphor grid, repeating horizontal scanlines, and radial vignette falloff; pattern opacity stays below 4% so it never competes with content.
card style
Stacked terminal-window panes: a #122616 chrome title strip with a bracketed label and status LEDs, a 1px phosphor-green trace border (2px on active rails, 3px left signal bar on critical blocks), a faint inner phosphor glow, and a scanline overlay. Hard rectangular corners, never soft blur.
treatment
Dim phosphor green on a true-black ground with green trace borders, scanline texture, and a soft electron-beam glow on the brightest live elements.
borders4 items
default width
1px
accent width
2px
style
solid
character
Phosphor-trace outlines: dim green default rules, brighter green active rails, a 3px left signal bar on critical blocks, ASCII-divider rule lines on section heads, and near-invisible rgba(124,255,122,0.12) interior hairlines.
motion3 items
duration
160ms
easing
cubic-bezier(.2,.8,.2,1)
philosophy
Motion feels like the electron beam settling: a cursor blink, a one-step window slide, no floating parallax or decorative looping. The settled state renders with no JavaScript; motion is layered on top behind a class on <html> and respects prefers-reduced-motion.
rules
composition
Compose the screen as a live operator console: a dominant mission window, quieter diagnostic panes, and a process log that read like concurrent terminal windows. Use a 12-column grid broken by asymmetric window spans (one 7-8 col mission, 3-5 col daemons); the dashboard uses an open sidebar rail. Never three equal cards.
hierarchy
Primary hierarchy comes from large VT323 bitmap-style headings, then bracketed uppercase metadata straps, then fixed-width monospace tables, so the eye scans from session status to command input to machine output in a strict top-down flow. Bright phosphor green marks only active or live states; deep phosphor carries structure; beam-lime is the single peak highlight.
density
Medium-high density with compact monospace rows and visible scanline separators, alternated with calmer phosphor field so the interface feels information-rich but readable because alignment is exact.
signature
Stacked terminal windows: every container has a chrome title strip, a 1px phosphor-green trace border, and a faint inner glow, drawn as nested panes rather than cards.Left signal bars: critical blocks carry a brighter 3px left bar so alerts, active sessions, and selected logs are framed by vertical phosphor emphasis.Bracketed CLI headers and ASCII rule lines built with pseudo-elements make section divisions feel like command-line output instead of app chrome.Scanline phosphor field: repeating horizontal scanlines, a faint grid, and radial vignette falloff over the whole viewport, with one bright-green stroke per view for the live element.
layout
grid
Desktop uses a 12-column grid with 24px gutters and max-width 1320px; the dominant mission window spans 7-8 columns while daemon panes occupy irregular 3-5 column fragments. The dashboard uses a 232px sidebar rail plus a fluid main grid. Grids use minmax(0,1fr) columns and min-width:0 children so they never blow out their container.
whitespace
Whitespace is deliberate but tight inside windows (compact monospace rows) with larger gaps between major panes; consistent 8px-based spacing so dense data never feels chaotic, and titles always have padding above them.
density

The system pairs tight terminal rows with calmer phosphor-field pauses; visual energy is localised to the live signal and the active mission window.

responsive
Scanline and glow treatments scale down on mobile, windows stack in source order before monospace becomes unreadable, the cursor blink respects reduced motion, and non-essential nav links and table columns are hidden on narrow screens.
breakpoints
mobile
< 640px stacks all windows in a single column and hides non-essential nav
tablet
640-1024px uses 6 columns
desktop
>= 1024px uses the full 12-column asymmetric console
ultrawide
>= 1600px caps and centres the contained content; only the full-bleed hero spans 100vw
guidance
do
  • Use a true-black CRT field as the dominant ground and reserve bright green for live text, active borders, and focus.
  • Make every container a stacked terminal window with a chrome title strip, a phosphor trace border, and an inner glow.
  • Expose logs, command prompts, checksums, PIDs, and status markers so the interface feels like an ongoing machine conversation.
  • Build hierarchy through monospace scale, bracketed labels, signal bars, and state inversion rather than colourful illustrations.
  • Keep body copy readable at 16-17px+ green-on-black and never set terminal microcopy below 11px.
  • Pair every colour status with a glowing dot, a label, or bracketed text for accessibility.
avoid
  • Do not introduce cyan, purple, magenta, or synthwave gradients that push the language into generic cyberpunk.
  • Do not soften components with large radii, floating glass cards, or airy consumer-product spacing.
  • Do not let bright green become a decorative flood or a second body colour; it marks only what is live.
  • Do not hide controls behind ambiguous icons when a direct command label or text mode would be clearer.
  • Do not place essential information only in tiny microcopy, or use colour as the only signal.
  • Do not use glyph symbols (arrows, triangles) in copy; draw them as inline SVG primitives.
imagery
pairs with

lumiphore

summary
Glowing phosphor-green CRT oscilloscope vector traces on a true-black field, with soft electron-beam bloom, fine horizontal scanlines, and halation falloff into the dark. Imagery treats terminal, machine, and instrument subjects as luminous scan-stroke plates, dimensional rather than flat.
subjects
a CRT terminal workstationan oscilloscope waveforma reel-to-reel data unita circuit board traced in beam light
usage
Landing hero is generated in the lumiphore technique, full-bleed behind a legible scanline-and-vignette overlay. Reserve the single brightest beam stroke for the focal element in each image.
katagami spec
# Phosphor

## Philosophy

Phosphor is a green-monochrome interface system that treats the screen as a living phosphor terminal: true-black fields, stacked terminal-window panes, scanline texture, bracketed machine feedback, and a single bright-green live stroke. It reads audited and operational rather than nostalgic parody. A faithful refinement of Retro Terminal Hacker, brought up to standard.

### Values

- operational clarity over decorative comfort, with exact monospace alignment
- every container is a stacked terminal window: chrome strip, phosphor trace border, inner glow
- visible system state, logs, prompts, and machine feedback as the primary content
- one bright-green stroke per view marks what is live; everything else stays dim phosphor on black
- high-contrast green-on-black legibility with a restrained three-accent hierarchy
- scanline-and-vignette field so the viewport feels like an active monitor, never a flat canvas

### Anti-Values

- soft consumer-app gradients, pastel accents, or glassmorphism blur
- rounded playful components that break terminal discipline
- neon cyberpunk: cyan, purple, magenta, or synthwave gradients
- hidden state that removes the sense of machine dialogue, or colour used as the only signal

### Visual Character

- Every major container is a stacked terminal window with a #122616 chrome title strip, a 1px phosphor-green trace border, and a faint inner glow, so the interface reads like concurrent terminal panes rather than modern cards.
- Dense monospace typography uses bracketed uppercase labels, fixed-width columns, and a soft green text-glow on the brightest readings to mimic CRT phosphor bloom without reducing legibility.
- The page surface carries repeating horizontal scanlines, a faint phosphor grid, and radial vignette falloff so the full viewport feels like an active monitor.
- Status emphasis relies on brighter 3px left signal bars, bracketed [ LABEL ] headers, and ASCII-divider rule lines drawn with pseudo-elements, creating a command-log hierarchy instead of icon-led decoration.
- Interactive controls invert from green-outline to black-on-green on hover and focus, making each button, field, and tab feel like a terminal selection rendered through hardware phosphor.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#040705` |
| surface | `#0A140C` |
| surface_2 | `#0F1E11` |
| panel_hi | `#122616` |
| text | `#D9FFD2` |
| text_dim | `#8FCB92` |
| muted | `#6FA774` |
| muted_2 | `#4E7A53` |
| on_accent | `#021004` |
| border | `#2C6B36` |
| border_hi | `#4FB45E` |
| accent | `#7CFF7A` |
| accent_2 | `#3FB158` |
| accent_3 | `#C6FF6A` |
| success | `#6CF08A` |
| warning | `#E0B24A` |
| error | `#FF6A47` |
| info | `#79D9C0` |

### Typography

- **Base Size**: 17px
- **Body Font**: Share Tech Mono
- **Heading Font**: VT323
- **Mono Font**: Share Tech Mono
- **Heading Weight**: 400
- **Heading Transform**: uppercase
- **Letter Spacing**: 0.01em
- **Line Height**: 1.55
- **Scale Ratio**: 1.25
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=VT323&display=swap

### Radii

- **None**: 0px
- **Sm**: 0px
- **Md**: 16px
- **Lg**: 24px
- **Full**: 9999px

### Shadows

- **Sm**: 0 0 0 1px rgba(124,255,122,0.14), inset 0 0 16px rgba(124,255,122,0.05)
- **Md**: 0 0 0 1px rgba(124,255,122,0.20), 0 0 22px rgba(63,177,88,0.18), inset 0 0 26px rgba(124,255,122,0.06)
- **Lg**: 0 0 0 1px rgba(124,255,122,0.26), 0 0 40px rgba(63,177,88,0.22), inset 0 0 40px rgba(124,255,122,0.08)
- **Text Glow**: 0 0 8px rgba(124,255,122,0.55)

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64,96,128]

### Surfaces

- **Bg Pattern**: True-black CRT field carrying a faint phosphor grid, repeating horizontal scanlines, and radial vignette falloff; pattern opacity stays below 4% so it never competes with content.
- **Card Style**: Stacked terminal-window panes: a #122616 chrome title strip with a bracketed label and status LEDs, a 1px phosphor-green trace border (2px on active rails, 3px left signal bar on critical blocks), a faint inner phosphor glow, and a scanline overlay. Hard rectangular corners, never soft blur.
- **Treatment**: Dim phosphor green on a true-black ground with green trace borders, scanline texture, and a soft electron-beam glow on the brightest live elements.

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Phosphor-trace outlines: dim green default rules, brighter green active rails, a 3px left signal bar on critical blocks, ASCII-divider rule lines on section heads, and near-invisible rgba(124,255,122,0.12) interior hairlines.

### Motion

- **Duration**: 160ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: Motion feels like the electron beam settling: a cursor blink, a one-step window slide, no floating parallax or decorative looping. The settled state renders with no JavaScript; motion is layered on top behind a class on <html> and respects prefers-reduced-motion.

## Rules

### Composition

Compose the screen as a live operator console: a dominant mission window, quieter diagnostic panes, and a process log that read like concurrent terminal windows. Use a 12-column grid broken by asymmetric window spans (one 7-8 col mission, 3-5 col daemons); the dashboard uses an open sidebar rail. Never three equal cards.

### Hierarchy

Primary hierarchy comes from large VT323 bitmap-style headings, then bracketed uppercase metadata straps, then fixed-width monospace tables, so the eye scans from session status to command input to machine output in a strict top-down flow. Bright phosphor green marks only active or live states; deep phosphor carries structure; beam-lime is the single peak highlight.

### Density

Medium-high density with compact monospace rows and visible scanline separators, alternated with calmer phosphor field so the interface feels information-rich but readable because alignment is exact.

### Signature

- Stacked terminal windows: every container has a chrome title strip, a 1px phosphor-green trace border, and a faint inner glow, drawn as nested panes rather than cards.
- Left signal bars: critical blocks carry a brighter 3px left bar so alerts, active sessions, and selected logs are framed by vertical phosphor emphasis.
- Bracketed CLI headers and ASCII rule lines built with pseudo-elements make section divisions feel like command-line output instead of app chrome.
- Scanline phosphor field: repeating horizontal scanlines, a faint grid, and radial vignette falloff over the whole viewport, with one bright-green stroke per view for the live element.

## Layout

### Grid

Desktop uses a 12-column grid with 24px gutters and max-width 1320px; the dominant mission window spans 7-8 columns while daemon panes occupy irregular 3-5 column fragments. The dashboard uses a 232px sidebar rail plus a fluid main grid. Grids use minmax(0,1fr) columns and min-width:0 children so they never blow out their container.

### Whitespace

Whitespace is deliberate but tight inside windows (compact monospace rows) with larger gaps between major panes; consistent 8px-based spacing so dense data never feels chaotic, and titles always have padding above them.

### Density

The system pairs tight terminal rows with calmer phosphor-field pauses; visual energy is localised to the live signal and the active mission window.

### Responsive

Scanline and glow treatments scale down on mobile, windows stack in source order before monospace becomes unreadable, the cursor blink respects reduced motion, and non-essential nav links and table columns are hidden on narrow screens.

### Breakpoints

- **Mobile**: < 640px stacks all windows in a single column and hides non-essential nav
- **Tablet**: 640-1024px uses 6 columns
- **Desktop**: >= 1024px uses the full 12-column asymmetric console
- **Ultrawide**: >= 1600px caps and centres the contained content; only the full-bleed hero spans 100vw

## Guidance

### Do

- Use a true-black CRT field as the dominant ground and reserve bright green for live text, active borders, and focus.
- Make every container a stacked terminal window with a chrome title strip, a phosphor trace border, and an inner glow.
- Expose logs, command prompts, checksums, PIDs, and status markers so the interface feels like an ongoing machine conversation.
- Build hierarchy through monospace scale, bracketed labels, signal bars, and state inversion rather than colourful illustrations.
- Keep body copy readable at 16-17px+ green-on-black and never set terminal microcopy below 11px.
- Pair every colour status with a glowing dot, a label, or bracketed text for accessibility.

### Don't

- Do not introduce cyan, purple, magenta, or synthwave gradients that push the language into generic cyberpunk.
- Do not soften components with large radii, floating glass cards, or airy consumer-product spacing.
- Do not let bright green become a decorative flood or a second body colour; it marks only what is live.
- Do not hide controls behind ambiguous icons when a direct command label or text mode would be clearer.
- Do not place essential information only in tiny microcopy, or use colour as the only signal.
- Do not use glyph symbols (arrows, triangles) in copy; draw them as inline SVG primitives.

### Accessibility

Maintain WCAG AA contrast with dim phosphor #D9FFD2 body text on the true-black field, keep bright green supplemental to text state, provide visible green or beam-lime focus outlines, pair every status colour with a dot or bracketed label, and never set monospace microcopy below 11px. Respect prefers-reduced-motion for the cursor blink and reveals.

## Imagery Direction

### Pairs With

lumiphore

### Summary

Glowing phosphor-green CRT oscilloscope vector traces on a true-black field, with soft electron-beam bloom, fine horizontal scanlines, and halation falloff into the dark. Imagery treats terminal, machine, and instrument subjects as luminous scan-stroke plates, dimensional rather than flat.

### Subjects

- a CRT terminal workstation
- an oscilloscope waveform
- a reel-to-reel data unit
- a circuit board traced in beam light

### Usage

Landing hero is generated in the lumiphore technique, full-bleed behind a legible scanline-and-vignette overlay. Reserve the single brightest beam stroke for the focal element in each image.
DESIGN.md
---
version: "alpha"
name: "Phosphor"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#040705"
  surface: "#0A140C"
  surface_2: "#0F1E11"
  panel_hi: "#122616"
  text: "#D9FFD2"
  text_dim: "#8FCB92"
  muted: "#6FA774"
  muted_2: "#4E7A53"
  on_accent: "#021004"
  border: "#2C6B36"
  border_hi: "#4FB45E"
  accent: "#7CFF7A"
  accent_2: "#3FB158"
  accent_3: "#C6FF6A"
  success: "#6CF08A"
  warning: "#E0B24A"
  error: "#FF6A47"
  info: "#79D9C0"
typography:
  headline-lg:
    fontFamily: "VT323"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "0.01em"
  headline-md:
    fontFamily: "VT323"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "0.01em"
  body-md:
    fontFamily: "Share Tech Mono"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "0.01em"
  label-md:
    fontFamily: "Share Tech Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "16px"
  lg: "24px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
  step-9: "128px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  color-reference-panel_hi:
    backgroundColor: "{colors.panel_hi}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-text_dim:
    backgroundColor: "{colors.text_dim}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-muted_2:
    backgroundColor: "{colors.muted_2}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-border_hi:
    backgroundColor: "{colors.border_hi}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  button-primary:
    backgroundColor: "{colors.accent}"
    textColor: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Phosphor

## Overview

Phosphor is a green-monochrome interface system that treats the screen as a living phosphor terminal: true-black fields, stacked terminal-window panes, scanline texture, bracketed machine feedback, and a single bright-green live stroke. It reads audited and operational rather than nostalgic parody. A faithful refinement of Retro Terminal Hacker, brought up to standard.

### Values

- operational clarity over decorative comfort, with exact monospace alignment
- every container is a stacked terminal window: chrome strip, phosphor trace border, inner glow
- visible system state, logs, prompts, and machine feedback as the primary content
- one bright-green stroke per view marks what is live; everything else stays dim phosphor on black
- high-contrast green-on-black legibility with a restrained three-accent hierarchy
- scanline-and-vignette field so the viewport feels like an active monitor, never a flat canvas

### Anti-Values

- soft consumer-app gradients, pastel accents, or glassmorphism blur
- rounded playful components that break terminal discipline
- neon cyberpunk: cyan, purple, magenta, or synthwave gradients
- hidden state that removes the sense of machine dialogue, or colour used as the only signal

### Visual Character

- Every major container is a stacked terminal window with a #122616 chrome title strip, a 1px phosphor-green trace border, and a faint inner glow, so the interface reads like concurrent terminal panes rather than modern cards.
- Dense monospace typography uses bracketed uppercase labels, fixed-width columns, and a soft green text-glow on the brightest readings to mimic CRT phosphor bloom without reducing legibility.
- The page surface carries repeating horizontal scanlines, a faint phosphor grid, and radial vignette falloff so the full viewport feels like an active monitor.
- Status emphasis relies on brighter 3px left signal bars, bracketed [ LABEL ] headers, and ASCII-divider rule lines drawn with pseudo-elements, creating a command-log hierarchy instead of icon-led decoration.
- Interactive controls invert from green-outline to black-on-green on hover and focus, making each button, field, and tab feel like a terminal selection rendered through hardware phosphor.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| bg | `#040705` |
| surface | `#0A140C` |
| surface_2 | `#0F1E11` |
| panel_hi | `#122616` |
| text | `#D9FFD2` |
| text_dim | `#8FCB92` |
| muted | `#6FA774` |
| muted_2 | `#4E7A53` |
| on_accent | `#021004` |
| border | `#2C6B36` |
| border_hi | `#4FB45E` |
| accent | `#7CFF7A` |
| accent_2 | `#3FB158` |
| accent_3 | `#C6FF6A` |
| success | `#6CF08A` |
| warning | `#E0B24A` |
| error | `#FF6A47` |
| info | `#79D9C0` |

## Typography

- **Headline-Lg**: VT323, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: VT323, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Share Tech Mono, 17px, weight 400, line-height 1.55.
- **Label-Md**: Share Tech Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
- **Step-9**: `128px`

### Grid

Desktop uses a 12-column grid with 24px gutters and max-width 1320px; the dominant mission window spans 7-8 columns while daemon panes occupy irregular 3-5 column fragments. The dashboard uses a 232px sidebar rail plus a fluid main grid. Grids use minmax(0,1fr) columns and min-width:0 children so they never blow out their container.

### Whitespace

Whitespace is deliberate but tight inside windows (compact monospace rows) with larger gaps between major panes; consistent 8px-based spacing so dense data never feels chaotic, and titles always have padding above them.

### Density

The system pairs tight terminal rows with calmer phosphor-field pauses; visual energy is localised to the live signal and the active mission window.

### Responsive

Scanline and glow treatments scale down on mobile, windows stack in source order before monospace becomes unreadable, the cursor blink respects reduced motion, and non-essential nav links and table columns are hidden on narrow screens.

### Breakpoints

- **Mobile**: < 640px stacks all windows in a single column and hides non-essential nav
- **Tablet**: 640-1024px uses 6 columns
- **Desktop**: >= 1024px uses the full 12-column asymmetric console
- **Ultrawide**: >= 1600px caps and centres the contained content; only the full-bleed hero spans 100vw

## Elevation & Depth

### Shadows

- **Sm**: 0 0 0 1px rgba(124,255,122,0.14), inset 0 0 16px rgba(124,255,122,0.05)
- **Md**: 0 0 0 1px rgba(124,255,122,0.20), 0 0 22px rgba(63,177,88,0.18), inset 0 0 26px rgba(124,255,122,0.06)
- **Lg**: 0 0 0 1px rgba(124,255,122,0.26), 0 0 40px rgba(63,177,88,0.22), inset 0 0 40px rgba(124,255,122,0.08)
- **Text Glow**: 0 0 8px rgba(124,255,122,0.55)

## Shapes

### Rounded

- **None**: `0px`
- **Sm**: `0px`
- **Md**: `16px`
- **Lg**: `24px`
- **Full**: `9999px`

### Surfaces

- **Bg Pattern**: True-black CRT field carrying a faint phosphor grid, repeating horizontal scanlines, and radial vignette falloff; pattern opacity stays below 4% so it never competes with content.
- **Card Style**: Stacked terminal-window panes: a #122616 chrome title strip with a bracketed label and status LEDs, a 1px phosphor-green trace border (2px on active rails, 3px left signal bar on critical blocks), a faint inner phosphor glow, and a scanline overlay. Hard rectangular corners, never soft blur.
- **Treatment**: Dim phosphor green on a true-black ground with green trace borders, scanline texture, and a soft electron-beam glow on the brightest live elements.

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Phosphor-trace outlines: dim green default rules, brighter green active rails, a 3px left signal bar on critical blocks, ASCII-divider rule lines on section heads, and near-invisible rgba(124,255,122,0.12) interior hairlines.

## Components

### Composition

Compose the screen as a live operator console: a dominant mission window, quieter diagnostic panes, and a process log that read like concurrent terminal windows. Use a 12-column grid broken by asymmetric window spans (one 7-8 col mission, 3-5 col daemons); the dashboard uses an open sidebar rail. Never three equal cards.

### Hierarchy

Primary hierarchy comes from large VT323 bitmap-style headings, then bracketed uppercase metadata straps, then fixed-width monospace tables, so the eye scans from session status to command input to machine output in a strict top-down flow. Bright phosphor green marks only active or live states; deep phosphor carries structure; beam-lime is the single peak highlight.

### Density

Medium-high density with compact monospace rows and visible scanline separators, alternated with calmer phosphor field so the interface feels information-rich but readable because alignment is exact.

### Signature

- Stacked terminal windows: every container has a chrome title strip, a 1px phosphor-green trace border, and a faint inner glow, drawn as nested panes rather than cards.
- Left signal bars: critical blocks carry a brighter 3px left bar so alerts, active sessions, and selected logs are framed by vertical phosphor emphasis.
- Bracketed CLI headers and ASCII rule lines built with pseudo-elements make section divisions feel like command-line output instead of app chrome.
- Scanline phosphor field: repeating horizontal scanlines, a faint grid, and radial vignette falloff over the whole viewport, with one bright-green stroke per view for the live element.

## shadcn/ui Usage

When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.

DESIGN.md with shadcn: `/language/en-019efb51-33e2-7b10-ba3c-320a9c4bc1e3/DESIGN.with-shadcn.md`.

The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.

Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.

## Do's and Don'ts

- Do Use a true-black CRT field as the dominant ground and reserve bright green for live text, active borders, and focus.
- Do Make every container a stacked terminal window with a chrome title strip, a phosphor trace border, and an inner glow.
- Do Expose logs, command prompts, checksums, PIDs, and status markers so the interface feels like an ongoing machine conversation.
- Do Build hierarchy through monospace scale, bracketed labels, signal bars, and state inversion rather than colourful illustrations.
- Do Keep body copy readable at 16-17px+ green-on-black and never set terminal microcopy below 11px.
- Do Pair every colour status with a glowing dot, a label, or bracketed text for accessibility.
- Don't Do not introduce cyan, purple, magenta, or synthwave gradients that push the language into generic cyberpunk.
- Don't Do not soften components with large radii, floating glass cards, or airy consumer-product spacing.
- Don't Do not let bright green become a decorative flood or a second body colour; it marks only what is live.
- Don't Do not hide controls behind ambiguous icons when a direct command label or text mode would be clearer.
- Don't Do not place essential information only in tiny microcopy, or use colour as the only signal.
- Don't Do not use glyph symbols (arrows, triangles) in copy; draw them as inline SVG primitives.

### Accessibility

Maintain WCAG AA contrast with dim phosphor #D9FFD2 body text on the true-black field, keep bright green supplemental to text state, provide visible green or beam-lime focus outlines, pair every status colour with a dot or bracketed label, and never set monospace microcopy below 11px. Respect prefers-reduced-motion for the cursor blink and reveals.

## Imagery Direction

### Pairs With

lumiphore

### Summary

Glowing phosphor-green CRT oscilloscope vector traces on a true-black field, with soft electron-beam bloom, fine horizontal scanlines, and halation falloff into the dark. Imagery treats terminal, machine, and instrument subjects as luminous scan-stroke plates, dimensional rather than flat.

### Subjects

- a CRT terminal workstation
- an oscilloscope waveform
- a reel-to-reel data unit
- a circuit board traced in beam light

### Usage

Landing hero is generated in the lumiphore technique, full-bleed behind a legible scanline-and-vignette overlay. Reserve the single brightest beam stroke for the focal element in each image.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "phosphor",
  "type": "registry:theme",
  "title": "Phosphor shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#040705",
      "foreground": "#D9FFD2",
      "card": "#0A140C",
      "card-foreground": "#D9FFD2",
      "popover": "#0A140C",
      "popover-foreground": "#D9FFD2",
      "primary": "#D9FFD2",
      "primary-foreground": "#111111",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6FA774",
      "muted-foreground": "#D9FFD2",
      "accent": "#7CFF7A",
      "accent-foreground": "#111111",
      "destructive": "#FF6A47",
      "border": "#2C6B36",
      "input": "#2C6B36",
      "ring": "#7CFF7A",
      "chart-1": "#D9FFD2",
      "chart-2": "#f4f4f5",
      "chart-3": "#7CFF7A",
      "chart-4": "#6CF08A",
      "chart-5": "#E0B24A",
      "sidebar": "#0A140C",
      "sidebar-foreground": "#D9FFD2",
      "sidebar-primary": "#D9FFD2",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#79D9C0",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#2C6B36",
      "sidebar-ring": "#7CFF7A",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#D9FFD2",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#7CFF7A",
      "accent-foreground": "#111111",
      "destructive": "#FF6A47",
      "border": "#303642",
      "input": "#303642",
      "ring": "#7CFF7A",
      "chart-1": "#D9FFD2",
      "chart-2": "#f4f4f5",
      "chart-3": "#7CFF7A",
      "chart-4": "#6CF08A",
      "chart-5": "#E0B24A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#D9FFD2",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#7CFF7A",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#7CFF7A",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019efb51-33e2-7b10-ba3c-320a9c4bc1e3",
    "slug": "phosphor",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "colors": [
        "accent",
        "accent_2",
        "accent_3",
        "bg",
        "border",
        "border_hi",
        "error",
        "info",
        "muted",
        "muted_2",
        "on_accent",
        "panel_hi",
        "success",
        "surface",
        "surface_2",
        "text",
        "text_dim",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm",
        "text_glow"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · phosphor
DESIGN.md

at a glance

Typography

headline-lgVT323 · 33px · 700

The quick brown fox jumps

headline-mdVT323 · 27px · 600

The quick brown fox jumps

body-mdShare Tech Mono · 17px · 400

The quick brown fox jumps

label-mdShare Tech Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

produced by claude-opus-4-8 · sourced by claude-opus-4-8 · images by gpt-image-2

remix lane

try a remix

Keep Phosphorand swap a palette and an art style onto it — the landing & dashboard recolor live. The Studio does the same with all three lanes free.

UI language · fixed
Phosphor
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

1 descendant
related

More like this