back to gallery
design language·phosphor-glass-command-workbench

Phosphor Glass Command Workbench

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
A product-ready command surface that converts terminal syntax into calm operational ergonomics: prompt marks, LCD panes, and restrained phosphor accents organize real work without becoming a hacker costume.
values
syntax as structurequiet instrument confidencetranslucency with purposemonospace hierarchy without noveltysemantic color discipline
anti-values
×green-screen nostalgia×rainbow Y2K vaporwave×square grid wallpaper×decorative side rails or stripes×generic SaaS dashboard dressing
tokens
borders4 items
accent width
2px
character
cool chrome hairline borders with inset highlights; accent borders reserved for focus rings and active command capsules, not side stripes
default width
1px
style
solid
colors12 items
accent
#F6B756
background
#0B0F17
border
#2B3548
error
#FF6B7A
info
#67E8F9
muted
#8490A6
primary
#67E8F9
secondary
#A7B0C4
success
#7EE787
surface
#121824
text
#EEF5FF
warning
#F6B756
motion3 items
duration
180ms
easing
cubic-bezier(0.2, 0.8, 0.2, 1)
philosophy
Fast terminal-like confirmation: panels brighten, prompt capsules slide 2px, and overlays settle without bounce or ornamental animation.
radii5 items
full
9999px
lg
20px
md
12px
none
0
sm
6px
shadows3 items
lg
0 1px 0 rgba(255,255,255,0.12) inset, 0 40px 110px rgba(0,0,0,0.48)
md
0 1px 0 rgba(255,255,255,0.08) inset, 0 24px 70px rgba(0,0,0,0.34)
sm
0 1px 0 rgba(255,255,255,0.06) inset, 0 10px 30px rgba(0,0,0,0.22)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
Clean layered radial gradients plus occasional horizontal scanline hairlines inside active panes only; no square grids and no dotted background.
card style
Blurred panels with 1px chrome border, inset top highlight, clipped terminal header row, and compact command footer.
treatment
Dark graphite LCD base with purposeful translucent glass panels, faint radial glow behind active command areas, and no decorative texture by default.
typography8 items
base size
16px
body font
Instrument Sans
google fonts url
https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Sometype+Mono:wght@400;500;600;700&display=swap
heading font
Instrument Sans
letter spacing
-0.015em
line height
1.5
mono font
Sometype Mono
scale ratio
1.22
rules
composition
Compose as a command workbench: one dominant operational pane, a narrower status inspector, and a bottom command queue. Avoid equal-card dashboards by giving each region a different job and scale.
density

Moderately dense like a professional terminal product, with compact rows and generous gutters around major panes to keep the interface calm.

hierarchy
Start every major area with a small prompt syntax label, then a clear sans heading, then mono metadata. Numeric status and command rows use tabular mono so priority is read from alignment.
signature patterns
Inline prompt capsules use ::before chevron syntax, cyan glow, and mono uppercase labels to mark interactive command paths.Glass command panes combine backdrop-filter blur, inset top highlight, and a clipped header strip that resembles modern LCD hardware.Active rows use horizontal scanline hairlines within the row background to reference CRT/LCD refresh without becoming a page texture.Semantic phosphor colors are limited to cyan active, amber queued, red error, and green success badges with no rainbow expansion.
layout
breakpoints

Desktop 1200px+, tablet 720-1199px, mobile below 720px with inspector and queue stacked after the primary pane.

grid

Asymmetric application grid with 12 desktop columns collapsed into stacked command panes on tablet and mobile; no visible square grid backgrounds.

whitespace

Use wide outer margins and tight internal row rhythm: the product should feel like a calm workstation, not a wall of boxes.

guidance
do
  • Use terminal syntax as labels, actions, command rows, and state language rather than decorative nostalgia.
  • Reserve cyan for the current executable path and amber for pending or caution states.
  • Keep backgrounds clean with radial LCD light and panel glass; use scanlines only inside active panes when they clarify focus.
  • Create product-specific scenes with real operational data, command queues, and editable configuration fields.
avoid
  • Do not use square grid backgrounds, matrix rain, green-screen hacker tropes, or arcade cabinet styling.
  • Do not add decorative left rails, colored card stripes, confetti, rainbow gradients, or arbitrary Y2K stickers.
  • Do not let monospace become illegible novelty typography; headings remain modern sans and readable.
  • Do not make same-sized generic dashboard cards; every pane needs a clear operational role.
katagami spec
# Phosphor Glass Command Workbench

## Philosophy

A product-ready command surface that converts terminal syntax into calm operational ergonomics: prompt marks, LCD panes, and restrained phosphor accents organize real work without becoming a hacker costume.

### Values

- syntax as structure
- quiet instrument confidence
- translucency with purpose
- monospace hierarchy without novelty
- semantic color discipline

### Anti-Values

- green-screen nostalgia
- rainbow Y2K vaporwave
- square grid wallpaper
- decorative side rails or stripes
- generic SaaS dashboard dressing

### Visual Character

- Layer translucent graphite panels over a clean radial LCD wash using backdrop-filter blur and single-pixel chrome borders.
- Use command prompt capsules before section labels and actions, rendered as inline monospace tokens rather than decorative side rails.
- Create hierarchy through compressed mono metadata, large geometric sans headings, and tabular numeric readouts with tight tracking.
- Apply two structural accent colors only: phosphor cyan for active command paths and amber for queued caution states.
- Use horizontal scanline hairlines and inset bevel highlights sparingly on panels, never square grids or default dotted textures.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: cool chrome hairline borders with inset highlights; accent borders reserved for focus rings and active command capsules, not side stripes
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#F6B756` |
| background | `#0B0F17` |
| border | `#2B3548` |
| error | `#FF6B7A` |
| info | `#67E8F9` |
| muted | `#8490A6` |
| primary | `#67E8F9` |
| secondary | `#A7B0C4` |
| success | `#7EE787` |
| surface | `#121824` |
| text | `#EEF5FF` |
| warning | `#F6B756` |

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1)
- **Philosophy**: Fast terminal-like confirmation: panels brighten, prompt capsules slide 2px, and overlays settle without bounce or ornamental animation.

### Radii

- **Full**: 9999px
- **Lg**: 20px
- **Md**: 12px
- **None**: 0
- **Sm**: 6px

### Shadows

- **Lg**: 0 1px 0 rgba(255,255,255,0.12) inset, 0 40px 110px rgba(0,0,0,0.48)
- **Md**: 0 1px 0 rgba(255,255,255,0.08) inset, 0 24px 70px rgba(0,0,0,0.34)
- **Sm**: 0 1px 0 rgba(255,255,255,0.06) inset, 0 10px 30px rgba(0,0,0,0.22)

### Spacing

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

### Surfaces

- **Bg Pattern**: Clean layered radial gradients plus occasional horizontal scanline hairlines inside active panes only; no square grids and no dotted background.
- **Card Style**: Blurred panels with 1px chrome border, inset top highlight, clipped terminal header row, and compact command footer.
- **Treatment**: Dark graphite LCD base with purposeful translucent glass panels, faint radial glow behind active command areas, and no decorative texture by default.

### Typography

- **Base Size**: 16px
- **Body Font**: Instrument Sans
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Sometype+Mono:wght@400;500;600;700&display=swap
- **Heading Font**: Instrument Sans
- **Letter Spacing**: -0.015em
- **Line Height**: 1.5
- **Mono Font**: Sometype Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Compose as a command workbench: one dominant operational pane, a narrower status inspector, and a bottom command queue. Avoid equal-card dashboards by giving each region a different job and scale.

### Density

Moderately dense like a professional terminal product, with compact rows and generous gutters around major panes to keep the interface calm.

### Hierarchy

Start every major area with a small prompt syntax label, then a clear sans heading, then mono metadata. Numeric status and command rows use tabular mono so priority is read from alignment.

### Signature Patterns

- Inline prompt capsules use ::before chevron syntax, cyan glow, and mono uppercase labels to mark interactive command paths.
- Glass command panes combine backdrop-filter blur, inset top highlight, and a clipped header strip that resembles modern LCD hardware.
- Active rows use horizontal scanline hairlines within the row background to reference CRT/LCD refresh without becoming a page texture.
- Semantic phosphor colors are limited to cyan active, amber queued, red error, and green success badges with no rainbow expansion.

## Layout

### Breakpoints

Desktop 1200px+, tablet 720-1199px, mobile below 720px with inspector and queue stacked after the primary pane.

### Grid

Asymmetric application grid with 12 desktop columns collapsed into stacked command panes on tablet and mobile; no visible square grid backgrounds.

### Whitespace

Use wide outer margins and tight internal row rhythm: the product should feel like a calm workstation, not a wall of boxes.

## Guidance

### Do

- Use terminal syntax as labels, actions, command rows, and state language rather than decorative nostalgia.
- Reserve cyan for the current executable path and amber for pending or caution states.
- Keep backgrounds clean with radial LCD light and panel glass; use scanlines only inside active panes when they clarify focus.
- Create product-specific scenes with real operational data, command queues, and editable configuration fields.

### Don't

- Do not use square grid backgrounds, matrix rain, green-screen hacker tropes, or arcade cabinet styling.
- Do not add decorative left rails, colored card stripes, confetti, rainbow gradients, or arbitrary Y2K stickers.
- Do not let monospace become illegible novelty typography; headings remain modern sans and readable.
- Do not make same-sized generic dashboard cards; every pane needs a clear operational role.
DESIGN.md
---
version: "alpha"
name: "Phosphor Glass Command Workbench"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#F6B756"
  background: "#0B0F17"
  border: "#2B3548"
  error: "#FF6B7A"
  info: "#67E8F9"
  muted: "#8490A6"
  primary: "#67E8F9"
  secondary: "#A7B0C4"
  success: "#7EE787"
  surface: "#121824"
  text: "#EEF5FF"
  warning: "#F6B756"
typography:
  headline-lg:
    fontFamily: "Instrument Sans"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Instrument Sans"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "Instrument Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "Sometype Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "20px"
  md: "12px"
  none: "0px"
  sm: "6px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    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 Glass Command Workbench

## Overview

A product-ready command surface that converts terminal syntax into calm operational ergonomics: prompt marks, LCD panes, and restrained phosphor accents organize real work without becoming a hacker costume.

### Values

- syntax as structure
- quiet instrument confidence
- translucency with purpose
- monospace hierarchy without novelty
- semantic color discipline

### Anti-Values

- green-screen nostalgia
- rainbow Y2K vaporwave
- square grid wallpaper
- decorative side rails or stripes
- generic SaaS dashboard dressing

### Visual Character

- Layer translucent graphite panels over a clean radial LCD wash using backdrop-filter blur and single-pixel chrome borders.
- Use command prompt capsules before section labels and actions, rendered as inline monospace tokens rather than decorative side rails.
- Create hierarchy through compressed mono metadata, large geometric sans headings, and tabular numeric readouts with tight tracking.
- Apply two structural accent colors only: phosphor cyan for active command paths and amber for queued caution states.
- Use horizontal scanline hairlines and inset bevel highlights sparingly on panels, never square grids or default dotted textures.

## Colors

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

| Token | Value |
|-------|-------|
| accent | `#F6B756` |
| background | `#0B0F17` |
| border | `#2B3548` |
| error | `#FF6B7A` |
| info | `#67E8F9` |
| muted | `#8490A6` |
| primary | `#67E8F9` |
| secondary | `#A7B0C4` |
| success | `#7EE787` |
| surface | `#121824` |
| text | `#EEF5FF` |
| warning | `#F6B756` |

## Typography

- **Headline-Lg**: Instrument Sans, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Instrument Sans, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Instrument Sans, 16px, weight 400, line-height 1.5.
- **Label-Md**: Sometype 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`

### Breakpoints

Desktop 1200px+, tablet 720-1199px, mobile below 720px with inspector and queue stacked after the primary pane.

### Grid

Asymmetric application grid with 12 desktop columns collapsed into stacked command panes on tablet and mobile; no visible square grid backgrounds.

### Whitespace

Use wide outer margins and tight internal row rhythm: the product should feel like a calm workstation, not a wall of boxes.

## Elevation & Depth

### Shadows

- **Lg**: 0 1px 0 rgba(255,255,255,0.12) inset, 0 40px 110px rgba(0,0,0,0.48)
- **Md**: 0 1px 0 rgba(255,255,255,0.08) inset, 0 24px 70px rgba(0,0,0,0.34)
- **Sm**: 0 1px 0 rgba(255,255,255,0.06) inset, 0 10px 30px rgba(0,0,0,0.22)

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `20px`
- **Md**: `12px`
- **None**: `0px`
- **Sm**: `6px`

### Surfaces

- **Bg Pattern**: Clean layered radial gradients plus occasional horizontal scanline hairlines inside active panes only; no square grids and no dotted background.
- **Card Style**: Blurred panels with 1px chrome border, inset top highlight, clipped terminal header row, and compact command footer.
- **Treatment**: Dark graphite LCD base with purposeful translucent glass panels, faint radial glow behind active command areas, and no decorative texture by default.

### Borders

- **Accent Width**: 2px
- **Character**: cool chrome hairline borders with inset highlights; accent borders reserved for focus rings and active command capsules, not side stripes
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Compose as a command workbench: one dominant operational pane, a narrower status inspector, and a bottom command queue. Avoid equal-card dashboards by giving each region a different job and scale.

### Density

Moderately dense like a professional terminal product, with compact rows and generous gutters around major panes to keep the interface calm.

### Hierarchy

Start every major area with a small prompt syntax label, then a clear sans heading, then mono metadata. Numeric status and command rows use tabular mono so priority is read from alignment.

### Signature Patterns

- Inline prompt capsules use ::before chevron syntax, cyan glow, and mono uppercase labels to mark interactive command paths.
- Glass command panes combine backdrop-filter blur, inset top highlight, and a clipped header strip that resembles modern LCD hardware.
- Active rows use horizontal scanline hairlines within the row background to reference CRT/LCD refresh without becoming a page texture.
- Semantic phosphor colors are limited to cyan active, amber queued, red error, and green success badges with no rainbow expansion.

## 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-019e4695-0798-7a01-b423-8d2033f54e05/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 terminal syntax as labels, actions, command rows, and state language rather than decorative nostalgia.
- Do Reserve cyan for the current executable path and amber for pending or caution states.
- Do Keep backgrounds clean with radial LCD light and panel glass; use scanlines only inside active panes when they clarify focus.
- Do Create product-specific scenes with real operational data, command queues, and editable configuration fields.
- Don't Do not use square grid backgrounds, matrix rain, green-screen hacker tropes, or arcade cabinet styling.
- Don't Do not add decorative left rails, colored card stripes, confetti, rainbow gradients, or arbitrary Y2K stickers.
- Don't Do not let monospace become illegible novelty typography; headings remain modern sans and readable.
- Don't Do not make same-sized generic dashboard cards; every pane needs a clear operational role.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "phosphor-glass-command-workbench",
  "type": "registry:theme",
  "title": "Phosphor Glass Command Workbench shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#0B0F17",
      "foreground": "#EEF5FF",
      "card": "#121824",
      "card-foreground": "#EEF5FF",
      "popover": "#121824",
      "popover-foreground": "#EEF5FF",
      "primary": "#67E8F9",
      "primary-foreground": "#111111",
      "secondary": "#A7B0C4",
      "secondary-foreground": "#ffffff",
      "muted": "#8490A6",
      "muted-foreground": "#EEF5FF",
      "accent": "#F6B756",
      "accent-foreground": "#111111",
      "destructive": "#FF6B7A",
      "border": "#2B3548",
      "input": "#2B3548",
      "ring": "#F6B756",
      "chart-1": "#67E8F9",
      "chart-2": "#A7B0C4",
      "chart-3": "#F6B756",
      "chart-4": "#7EE787",
      "chart-5": "#F6B756",
      "sidebar": "#121824",
      "sidebar-foreground": "#EEF5FF",
      "sidebar-primary": "#67E8F9",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#67E8F9",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#2B3548",
      "sidebar-ring": "#F6B756",
      "radius": "12px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#67E8F9",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#F6B756",
      "accent-foreground": "#111111",
      "destructive": "#FF6B7A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#F6B756",
      "chart-1": "#67E8F9",
      "chart-2": "#A7B0C4",
      "chart-3": "#F6B756",
      "chart-4": "#7EE787",
      "chart-5": "#F6B756",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#67E8F9",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#F6B756",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#F6B756",
      "radius": "12px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e4695-0798-7a01-b423-8d2033f54e05",
    "slug": "phosphor-glass-command-workbench",
    "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": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · phosphor-glass-command-workbench
DESIGN.md

at a glance

Palette

Typography

headline-lgInstrument Sans · 29px · 700

The quick brown fox jumps

headline-mdInstrument Sans · 24px · 600

The quick brown fox jumps

body-mdInstrument Sans · 16px · 400

The quick brown fox jumps

label-mdSometype Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • 2xl32px
  • 3xl48px
  • 4xl64px

Shape

full9999px
lg20px
md12px
none0px
sm6px
shadcn/ui

implementation kit

needs agent-authored kitcompatibility fallback
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutederror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #0B0F17;
  --foreground: #EEF5FF;
  --card: #121824;
  --card-foreground: #EEF5FF;
  --popover: #121824;
  --popover-foreground: #EEF5FF;
  --primary: #67E8F9;
  --primary-foreground: #111111;
  --secondary: #A7B0C4;
  --secondary-foreground: #ffffff;
  --muted: #8490A6;
  --muted-foreground: #EEF5FF;
  --accent: #F6B756;
  --accent-foreground: #111111;
  --destructive: #FF6B7A;
  --border: #2B3548;
  --input: #2B3548;
  --ring: #F6B756;
  --chart-1: #67E8F9;
  --chart-2: #A7B0C4;
  --chart-3: #F6B756;
  --chart-4: #7EE787;
  --chart-5: #F6B756;
  --sidebar: #121824;
  --sidebar-foreground: #EEF5FF;
  --sidebar-primary: #67E8F9;
  --sidebar-primary-foreground: #111111;
  --sidebar-accent: #67E8F9;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #2B3548;
  --sidebar-ring: #F6B756;
  --radius: 12px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #67E8F9;
  --primary-foreground: #111111;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #F6B756;
  --accent-foreground: #111111;
  --destructive: #FF6B7A;
  --border: #303642;
  --input: #303642;
  --ring: #F6B756;
  --chart-1: #67E8F9;
  --chart-2: #A7B0C4;
  --chart-3: #F6B756;
  --chart-4: #7EE787;
  --chart-5: #F6B756;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #67E8F9;
  --sidebar-primary-foreground: #111111;
  --sidebar-accent: #F6B756;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #303642;
  --sidebar-ring: #F6B756;
  --radius: 12px;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function PhosphorGlassCommandWorkbenchShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Phosphor Glass Command Workbench</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONstored + verified
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "cssVars": {
    "dark": {
      "accent": "#F6B756",
      "accent-foreground": "#111111",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#67E8F9",
      "chart-2": "#A7B0C4",
      "chart-3": "#F6B756",
      "chart-4": "#7EE787",
      "chart-5": "#F6B756",
      "destructive": "#FF6B7A",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#67E8F9",
      "primary-foreground": "#111111",
      "radius": "12px",
      "ring": "#F6B756",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#F6B756",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#67E8F9",
      "sidebar-primary-foreground": "#111111",
      "sidebar-ring": "#F6B756"
    },
    "light": {
      "accent": "#F6B756",
      "accent-foreground": "#111111",
      "background": "#0B0F17",
      "border": "#2B3548",
      "card": "#121824",
      "card-foreground": "#EEF5FF",
      "chart-1": "#67E8F9",
      "chart-2": "#A7B0C4",
      "chart-3": "#F6B756",
      "chart-4": "#7EE787",
      "chart-5": "#F6B756",
      "destructive": "#FF6B7A",
      "foreground": "#EEF5FF",
      "input": "#2B3548",
      "muted": "#8490A6",
      "muted-foreground": "#EEF5FF",
      "popover": "#121824",
      "popover-foreground": "#EEF5FF",
      "primary": "#67E8F9",
      "primary-foreground": "#111111",
      "radius": "12px",
      "ring": "#F6B756",
      "secondary": "#A7B0C4",
      "secondary-foreground": "#ffffff",
      "sidebar": "#121824",
      "sidebar-accent": "#67E8F9",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#2B3548",
      "sidebar-foreground": "#EEF5FF",
      "sidebar-primary": "#67E8F9",
      "sidebar-primary-foreground": "#111111",
      "sidebar-ring": "#F6B756"
    },
    "theme": {}
  },
  "meta": {
    "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",
    "languageId": "en-019e4695-0798-7a01-b423-8d2033f54e05",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    },
    "slug": "phosphor-glass-command-workbench",
    "source": "katagami"
  },
  "name": "phosphor-glass-command-workbench",
  "title": "Phosphor Glass Command Workbench shadcn Theme",
  "type": "registry:theme"
}
component recipescompatibility fallback
# Phosphor Glass Command Workbench shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e4695-0798-7a01-b423-8d2033f54e05`
Slug: `phosphor-glass-command-workbench`

## Intent

A product-ready command surface that converts terminal syntax into calm operational ergonomics: prompt marks, LCD panes, and restrained phosphor accents organize real work without becoming a hacker costume.

## Required primitives

- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

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

## Token cues

Colors:

{
  "accent": "#F6B756",
  "background": "#0B0F17",
  "border": "#2B3548",
  "error": "#FF6B7A",
  "info": "#67E8F9",
  "muted": "#8490A6",
  "primary": "#67E8F9",
  "secondary": "#A7B0C4",
  "success": "#7EE787",
  "surface": "#121824",
  "text": "#EEF5FF",
  "warning": "#F6B756"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Instrument Sans",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Sometype+Mono:wght@400;500;600;700&display=swap",
  "heading_font": "Instrument Sans",
  "letter_spacing": "-0.015em",
  "line_height": 1.5,
  "mono_font": "Sometype Mono",
  "scale_ratio": 1.22
}

## Visual character to preserve

- Layer translucent graphite panels over a clean radial LCD wash using backdrop-filter blur and single-pixel chrome borders.
- Use command prompt capsules before section labels and actions, rendered as inline monospace tokens rather than decorative side rails.
- Create hierarchy through compressed mono metadata, large geometric sans headings, and tabular numeric readouts with tight tracking.
- Apply two structural accent colors only: phosphor cyan for active command paths and amber for queued caution states.
- Use horizontal scanline hairlines and inset bevel highlights sparingly on panels, never square grids or default dotted textures.

## ShadSync visual profile

{
  "family": "brutalist",
  "material": "ink",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": true,
  "stickerBadges": true,
  "motion": "still",
  "density": "dense",
  "accents": [
    "primary",
    "accent",
    "secondary",
    "muted"
  ]
}

## Signature component recipes

### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.

### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.

### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.

### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.

### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.

## Preview shots

- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/phosphor-glass-command-workbench/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Use terminal syntax as labels, actions, command rows, and state language rather than decorative nostalgia.; Reserve cyan for the current executable path and amber for pending or caution states.; Keep backgrounds clean with radial LCD light and panel glass; use scanlines only inside active panes when they clarify focus.; Create product-specific scenes with real operational data, command queues, and editable configuration fields.
- Do not: Do not use square grid backgrounds, matrix rain, green-screen hacker tropes, or arcade cabinet styling.; Do not add decorative left rails, colored card stripes, confetti, rainbow gradients, or arbitrary Y2K stickers.; Do not let monospace become illegible novelty typography; headings remain modern sans and readable.; Do not make same-sized generic dashboard cards; every pane needs a clear operational role.

## Copy-paste component example

This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.

```tsx
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function PhosphorGlassCommandWorkbenchShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Phosphor Glass Command Workbench</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
```

## Layout notes

{
  "breakpoints": "Desktop 1200px+, tablet 720-1199px, mobile below 720px with inspector and queue stacked after the primary pane.",
  "grid": "Asymmetric application grid with 12 desktop columns collapsed into stacked command panes on tablet and mobile; no visible square grid backgrounds.",
  "whitespace": "Use wide outer margins and tight internal row rhythm: the product should feel like a calm workstation, not a wall of boxes."
}
preview shotscompatibility fallback
{
  "artifact": "katagami:shadcn-preview-shots",
  "version": "preview-shots-v1",
  "generator": "katagami-ui-compatibility-projection",
  "generatedBy": "katagami-ui-projection",
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "renderable": true,
  "language": {
    "id": "en-019e4695-0798-7a01-b423-8d2033f54e05",
    "name": "Phosphor Glass Command Workbench",
    "slug": "phosphor-glass-command-workbench"
  },
  "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
  "primitives": [
    "button",
    "card",
    "input",
    "textarea",
    "select",
    "dialog",
    "sheet",
    "tabs",
    "badge",
    "separator",
    "checkbox",
    "switch",
    "slider",
    "tooltip",
    "dropdown-menu",
    "table"
  ],
  "identityNotes": [
    "Layer translucent graphite panels over a clean radial LCD wash using backdrop-filter blur and single-pixel chrome borders.",
    "Use command prompt capsules before section labels and actions, rendered as inline monospace tokens rather than decorative side rails.",
    "Create hierarchy through compressed mono metadata, large geometric sans headings, and tabular numeric readouts with tight tracking.",
    "Apply two structural accent colors only: phosphor cyan for active command paths and amber for queued caution states.",
    "Use horizontal scanline hairlines and inset bevel highlights sparingly on panels, never square grids or default dotted textures."
  ],
  "visualProfile": {
    "family": "system",
    "material": "flat",
    "contour": "default",
    "border": "solid",
    "underlay": false,
    "grain": true,
    "stickerBadges": true,
    "motion": "still",
    "density": "balanced",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Phosphor Glass Command Workbench launch room",
        "description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
        "primaryAction": "Apply theme",
        "secondaryAction": "Review states",
        "stats": [
          {
            "label": "components",
            "value": "16",
            "tone": "accent"
          },
          {
            "label": "states",
            "value": "ready"
          },
          {
            "label": "density",
            "value": "balanced",
            "tone": "warning"
          }
        ],
        "rows": [
          {
            "label": "Primary flow",
            "value": "mapped",
            "status": "active"
          },
          {
            "label": "Token coverage",
            "value": "semantic",
            "status": "synced"
          },
          {
            "label": "Responsive proof",
            "value": "queued",
            "status": "review"
          }
        ],
        "statuses": [
          "Active",
          "Synced",
          "Draft"
        ]
      }
    },
    {
      "id": "detail-editor",
      "title": "Detail editor",
      "viewport": "tablet",
      "primitives": [
        "button",
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "sheet"
      ],
      "composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
      "mustShow": [
        "focus ring",
        "error or destructive state",
        "dialog or sheet treatment",
        "written guidance content"
      ],
      "avoid": [
        "unstyled browser controls",
        "floating cards inside cards",
        "missing labels"
      ],
      "scene": {
        "eyebrow": "editing flow",
        "headline": "Language recipe editor",
        "description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
        "primaryAction": "Save recipe",
        "secondaryAction": "Open sheet",
        "fields": [
          {
            "label": "Component family",
            "value": "Narrative cards"
          },
          {
            "label": "State treatment",
            "value": "Visible focus + validation"
          },
          {
            "label": "Motion",
            "value": "Small lift, no opacity-only fade"
          }
        ],
        "statuses": [
          "Focus",
          "Invalid",
          "Confirmed"
        ]
      }
    },
    {
      "id": "data-operations",
      "title": "Data operations",
      "viewport": "mobile",
      "primitives": [
        "button",
        "tabs",
        "badge",
        "dropdown-menu",
        "table",
        "tooltip",
        "separator"
      ],
      "composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
      "mustShow": [
        "responsive reflow",
        "dense row styling",
        "menu affordance",
        "status badge system"
      ],
      "avoid": [
        "desktop-only tables",
        "text overflow",
        "default shadcn spacing without Katagami character"
      ],
      "scene": {
        "eyebrow": "operations",
        "headline": "Compact review queue",
        "description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
        "primaryAction": "Resolve",
        "secondaryAction": "Filter",
        "rows": [
          {
            "label": "Button hierarchy",
            "value": "approved",
            "status": "ok"
          },
          {
            "label": "Table rhythm",
            "value": "needs pass",
            "status": "watch"
          },
          {
            "label": "Empty state",
            "value": "designed",
            "status": "done"
          }
        ],
        "statuses": [
          "Queued",
          "Blocked",
          "Done"
        ]
      }
    }
  ],
  "componentRecipes": [
    {
      "primitive": "button",
      "intent": "Prove action hierarchy, focus, disabled, and destructive states."
    },
    {
      "primitive": "card",
      "intent": "Carry the language surface, border, elevation, and density rules."
    },
    {
      "primitive": "input",
      "intent": "Show labels, focus rings, validation, and spacing rhythm."
    },
    {
      "primitive": "textarea",
      "intent": "Show longer guidance, validation copy, and writing density."
    },
    {
      "primitive": "select",
      "intent": "Show filtering, selection contrast, and menu trigger styling."
    },
    {
      "primitive": "dialog",
      "intent": "Show centered decision states and overlay treatment."
    },
    {
      "primitive": "sheet",
      "intent": "Show contextual side panels and responsive editing."
    },
    {
      "primitive": "tabs",
      "intent": "Show navigational structure and active/inactive contrast."
    },
    {
      "primitive": "badge",
      "intent": "Show compact status vocabulary and semantic colors."
    },
    {
      "primitive": "separator",
      "intent": "Show section rhythm without generic gray dividers."
    },
    {
      "primitive": "checkbox",
      "intent": "Show binary selection with visible focus and checked states."
    },
    {
      "primitive": "switch",
      "intent": "Show settings toggles and on/off contrast."
    },
    {
      "primitive": "slider",
      "intent": "Show numeric adjustment with track/thumb styling."
    },
    {
      "primitive": "tooltip",
      "intent": "Show concise explanation styling above compact controls."
    },
    {
      "primitive": "dropdown-menu",
      "intent": "Show action menus, destructive items, and grouped choices."
    },
    {
      "primitive": "table",
      "intent": "Show dense operational data, separators, row states, and responsive behavior."
    }
  ],
  "qualityRules": {
    "do": [
      "Use terminal syntax as labels, actions, command rows, and state language rather than decorative nostalgia.",
      "Reserve cyan for the current executable path and amber for pending or caution states.",
      "Keep backgrounds clean with radial LCD light and panel glass; use scanlines only inside active panes when they clarify focus.",
      "Create product-specific scenes with real operational data, command queues, and editable configuration fields."
    ],
    "dont": [
      "Do not use square grid backgrounds, matrix rain, green-screen hacker tropes, or arcade cabinet styling.",
      "Do not add decorative left rails, colored card stripes, confetti, rainbow gradients, or arbitrary Y2K stickers.",
      "Do not let monospace become illegible novelty typography; headings remain modern sans and readable.",
      "Do not make same-sized generic dashboard cards; every pane needs a clear operational role."
    ]
  }
}
related

More like this