back to gallery
design language·sterile-breach-instrumentation

Sterile Breach Instrumentation

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 clinical intrusion toolkit language where security research feels like calibrated white-room instrumentation: off-white trays, black manga linework, packet evidence strips, and tiny cyan breach marks that appear only when a decision has consequence.
values
Restraint before spectacle: most screens are ivory emptiness, measured lines, and quiet terminal fragments.Operational authenticity: exploit states, packet rows, hashes, timing, ports, and command grammar are treated as interface material rather than decoration.Manga structure without character art: black framing, gutters, speed-line dividers, and cropped silhouettes imply presence while keeping the operator absent.Clinical cybernetics: the system feels like a lab instrument watching itself being used, not a hacker fantasy dashboard.Cyan as intrusion evidence: the accent is reserved for breach pins, selected offsets, focus LEDs, and confirmed flags.
anti-values
×No green matrix rain, neon cyberpunk skyline, skull malware iconography, or nightclub gradient glow.×No generic SaaS card grid, analytics dashboard, holographic HUD, or decorative code wallpaper.×No character fan art; human presence must be implied through gloves, cable shadows, chair absence, calibration marks, and access ports.×No chrome techno novelty typography; labels must feel like real instrument markings.
tokens
borders4 items
accent width
3px
character
Black schematic hairlines with thicker manga frame bars and tiny cyan interruption ticks at active coordinates.
default width
1px
style
solid
colors12 items
accent
#168EA0
background
#F4F0E7
border
#141311
error
#8F342C
info
#168EA0
muted
#6F6A61
primary
#11100E
secondary
#5E5B55
success
#376C55
surface
#FBF8F0
text
#141311
warning
#8A6A28
motion3 items
duration
140ms
easing
cubic-bezier(.2,.7,.1,1)
philosophy
Motion is almost absent: cyan pins snap on, packet rows step one notch, and modals settle with instrument-like precision.
radii5 items
full
9999px
lg
16px
md
0px
none
0px
sm
0px
shadows3 items
lg
0 36px 90px rgba(20,19,17,0.12)
md
0 18px 48px rgba(20,19,17,0.08)
sm
0 1px 0 rgba(20,19,17,0.10)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
bg pattern
Sparse registration crosses and ruled calibration ticks from low-contrast linear gradients.
card style
Squared lab panels with 1px borders, hard corners, asymmetric black frame bars, and internal transcript gutters.
treatment
Warm off-white trays with black hairline dividers, subtle paper grain, and no glossy highlights.
typography8 items
base size
16px
body font
Noto Sans
google fonts url
https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Fragment+Mono:ital@0;1&family=Noto+Sans:wght@400;500;600&display=swap
heading font
Archivo Narrow
letter spacing
-0.02em
line height
1.55
mono font
Fragment Mono
scale ratio
1.22
rules
composition
Start with a white-room field and divide it into instrument trays: one dominant diagnostic slab, one narrow transcript gutter, and smaller offset evidence strips. Use large negative space as a safety zone; let black frame bars and thin dividers create manga-like pacing. Never distribute three equal cards in a row; each screen needs a dominant pane and at least one broken grid edge.
density
Alternate sterile voids of 64-96px with dense 4-8px packet rows so the interface feels calibrated, not crowded. Dense information is corralled into strips and gutters rather than floating widgets.
hierarchy
Hierarchy comes from frame weight, typographic voice, and operational position. Compressed uppercase headings announce modules, monospace lines carry evidence and commands, and body copy stays quiet. Cyan marks outrank text only when they indicate a selected exploit flag, breach pin, or current scan offset.
signature patterns
Manga instrument frames: 3px black edge bars attach to 1px internal schematic dividers.Cyan intrusion notches: tiny square LEDs and vertical ticks break otherwise black rules only at exploit flags, selected ports, and confirmed packet offsets.Transcript gutters: narrow side channels use monospace command prompts, timestamps, and hash fragments with clipped overflow.Calibration ghostwork: registration crosses, ruler ticks, port outlines, and cable shadows sit at low opacity behind functional panels.Packet-strip tables: rows compress hex offsets, ports, timing values, and exploit labels rather than generic table chrome.
layout
breakpoints
1440px desktop shows full lab bench; 900px tablet stacks transcript beneath the diagnostic slab; 640px mobile converts trays into single-column strips while preserving frame bars and cyan notches.
density

Use high contrast in spatial rhythm: 4px row internals and 8px label clusters against 64px and 96px negative-space fields.

grid
Desktop uses a 12-column instrument grid with 24px gutters and max width 1320px; the main diagnostic slab spans 7 columns, the transcript gutter 3, and evidence rails break alignment across 2 columns.
whitespace

Whitespace must feel like sealed air around equipment. Leave whole areas unoccupied and place dense evidence only where the operator would inspect it.

guidance
do
  • Use sterile ivory, warm off-white, graphite, and black as the dominant material palette.
  • Reserve cyan for selected offsets, breach pins, active focus, and confirmed exploit flags only.
  • Write real-looking command and scan grammar: ports, flags, hashes, packet timings, and offsets.
  • Create presence through gloves, chair silhouettes, access ports, cable shadows, and calibration markings.
  • Use narrow technical sans headings with monospace evidence fragments and quiet body text.
  • Let dense terminal gutters contrast with large silent white-room fields.
  • Keep borders hairline-thin except for deliberate manga frame bars.
avoid
  • Do not use green rain, neon city backdrops, skull icons, or malware mascots.
  • Do not build generic dashboards with equal cards, charts, and KPI widgets.
  • Do not use hologram HUD effects, glassmorphism, nightclub gradients, or glowing code wallpaper.
  • Do not make cyan decorative; every cyan mark must indicate state, focus, or breach evidence.
  • Do not use novelty chrome techno lettering or overly rounded SaaS controls.
  • Do not include character fan art; imply the operator through environment and absence.
  • Do not allow browser-default forms, default tables, or unstyled system controls.
katagami spec
# Sterile Breach Instrumentation

## Philosophy

A clinical intrusion toolkit language where security research feels like calibrated white-room instrumentation: off-white trays, black manga linework, packet evidence strips, and tiny cyan breach marks that appear only when a decision has consequence.

### Values

- Restraint before spectacle: most screens are ivory emptiness, measured lines, and quiet terminal fragments.
- Operational authenticity: exploit states, packet rows, hashes, timing, ports, and command grammar are treated as interface material rather than decoration.
- Manga structure without character art: black framing, gutters, speed-line dividers, and cropped silhouettes imply presence while keeping the operator absent.
- Clinical cybernetics: the system feels like a lab instrument watching itself being used, not a hacker fantasy dashboard.
- Cyan as intrusion evidence: the accent is reserved for breach pins, selected offsets, focus LEDs, and confirmed flags.

### Anti-Values

- No green matrix rain, neon cyberpunk skyline, skull malware iconography, or nightclub gradient glow.
- No generic SaaS card grid, analytics dashboard, holographic HUD, or decorative code wallpaper.
- No character fan art; human presence must be implied through gloves, cable shadows, chair absence, calibration marks, and access ports.
- No chrome techno novelty typography; labels must feel like real instrument markings.

### Visual Character

- Use large warm off-white panels divided by 1px black hairlines, with occasional 3px manga frame bars on outer edges.
- Build interfaces from packet-inspection strips, terminal transcript gutters, and ruled instrument trays instead of equal SaaS cards.
- Place micro-cyan breach pins as 6px squares, inset LEDs, or thin selection ticks only at active offsets and decision points.
- Overlay registration crosses, calibration numbers, access-port outlines, and cable-shadow silhouettes using pseudo-elements and low-contrast gradients.
- Set narrow sans headings in compressed uppercase and monospace fragments as hashes, scan timings, flags, and command prompts.

## Tokens

### Borders

- **Accent Width**: 3px
- **Character**: Black schematic hairlines with thicker manga frame bars and tiny cyan interruption ticks at active coordinates.
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#168EA0` |
| background | `#F4F0E7` |
| border | `#141311` |
| error | `#8F342C` |
| info | `#168EA0` |
| muted | `#6F6A61` |
| primary | `#11100E` |
| secondary | `#5E5B55` |
| success | `#376C55` |
| surface | `#FBF8F0` |
| text | `#141311` |
| warning | `#8A6A28` |

### Motion

- **Duration**: 140ms
- **Easing**: cubic-bezier(.2,.7,.1,1)
- **Philosophy**: Motion is almost absent: cyan pins snap on, packet rows step one notch, and modals settle with instrument-like precision.

### Radii

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

### Shadows

- **Lg**: 0 36px 90px rgba(20,19,17,0.12)
- **Md**: 0 18px 48px rgba(20,19,17,0.08)
- **Sm**: 0 1px 0 rgba(20,19,17,0.10)

### Spacing

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

### Surfaces

- **Bg Pattern**: Sparse registration crosses and ruled calibration ticks from low-contrast linear gradients.
- **Card Style**: Squared lab panels with 1px borders, hard corners, asymmetric black frame bars, and internal transcript gutters.
- **Treatment**: Warm off-white trays with black hairline dividers, subtle paper grain, and no glossy highlights.

### Typography

- **Base Size**: 16px
- **Body Font**: Noto Sans
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Fragment+Mono:ital@0;1&family=Noto+Sans:wght@400;500;600&display=swap
- **Heading Font**: Archivo Narrow
- **Letter Spacing**: -0.02em
- **Line Height**: 1.55
- **Mono Font**: Fragment Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Start with a white-room field and divide it into instrument trays: one dominant diagnostic slab, one narrow transcript gutter, and smaller offset evidence strips. Use large negative space as a safety zone; let black frame bars and thin dividers create manga-like pacing. Never distribute three equal cards in a row; each screen needs a dominant pane and at least one broken grid edge.

### Density

Alternate sterile voids of 64-96px with dense 4-8px packet rows so the interface feels calibrated, not crowded. Dense information is corralled into strips and gutters rather than floating widgets.

### Hierarchy

Hierarchy comes from frame weight, typographic voice, and operational position. Compressed uppercase headings announce modules, monospace lines carry evidence and commands, and body copy stays quiet. Cyan marks outrank text only when they indicate a selected exploit flag, breach pin, or current scan offset.

### Signature Patterns

- Manga instrument frames: 3px black edge bars attach to 1px internal schematic dividers.
- Cyan intrusion notches: tiny square LEDs and vertical ticks break otherwise black rules only at exploit flags, selected ports, and confirmed packet offsets.
- Transcript gutters: narrow side channels use monospace command prompts, timestamps, and hash fragments with clipped overflow.
- Calibration ghostwork: registration crosses, ruler ticks, port outlines, and cable shadows sit at low opacity behind functional panels.
- Packet-strip tables: rows compress hex offsets, ports, timing values, and exploit labels rather than generic table chrome.

## Layout

### Breakpoints

1440px desktop shows full lab bench; 900px tablet stacks transcript beneath the diagnostic slab; 640px mobile converts trays into single-column strips while preserving frame bars and cyan notches.

### Density

Use high contrast in spatial rhythm: 4px row internals and 8px label clusters against 64px and 96px negative-space fields.

### Grid

Desktop uses a 12-column instrument grid with 24px gutters and max width 1320px; the main diagnostic slab spans 7 columns, the transcript gutter 3, and evidence rails break alignment across 2 columns.

### Whitespace

Whitespace must feel like sealed air around equipment. Leave whole areas unoccupied and place dense evidence only where the operator would inspect it.

## Guidance

### Do

- Use sterile ivory, warm off-white, graphite, and black as the dominant material palette.
- Reserve cyan for selected offsets, breach pins, active focus, and confirmed exploit flags only.
- Write real-looking command and scan grammar: ports, flags, hashes, packet timings, and offsets.
- Create presence through gloves, chair silhouettes, access ports, cable shadows, and calibration markings.
- Use narrow technical sans headings with monospace evidence fragments and quiet body text.
- Let dense terminal gutters contrast with large silent white-room fields.
- Keep borders hairline-thin except for deliberate manga frame bars.

### Don't

- Do not use green rain, neon city backdrops, skull icons, or malware mascots.
- Do not build generic dashboards with equal cards, charts, and KPI widgets.
- Do not use hologram HUD effects, glassmorphism, nightclub gradients, or glowing code wallpaper.
- Do not make cyan decorative; every cyan mark must indicate state, focus, or breach evidence.
- Do not use novelty chrome techno lettering or overly rounded SaaS controls.
- Do not include character fan art; imply the operator through environment and absence.
- Do not allow browser-default forms, default tables, or unstyled system controls.

### Accessibility

Maintain AA contrast for graphite text on ivory, pair cyan states with labels or geometry, keep body text at 15-16px, and provide visible black plus cyan focus outlines.

### Usage Context

Best for security research tools, packet inspection consoles, exploit rehearsal labs, forensic command surfaces, and speculative anime interfaces that should feel quiet, credible, and unsettling.
DESIGN.md
---
version: "alpha"
name: "Sterile Breach Instrumentation"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#168EA0"
  background: "#F4F0E7"
  border: "#141311"
  error: "#8F342C"
  info: "#168EA0"
  muted: "#6F6A61"
  primary: "#11100E"
  secondary: "#5E5B55"
  success: "#376C55"
  surface: "#FBF8F0"
  text: "#141311"
  warning: "#8A6A28"
typography:
  headline-lg:
    fontFamily: "Archivo Narrow"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Archivo Narrow"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Noto Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "Fragment Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "16px"
  md: "0px"
  none: "0px"
  sm: "0px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
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: "#ffffff"
    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"
---

# Sterile Breach Instrumentation

## Overview

A clinical intrusion toolkit language where security research feels like calibrated white-room instrumentation: off-white trays, black manga linework, packet evidence strips, and tiny cyan breach marks that appear only when a decision has consequence.

### Values

- Restraint before spectacle: most screens are ivory emptiness, measured lines, and quiet terminal fragments.
- Operational authenticity: exploit states, packet rows, hashes, timing, ports, and command grammar are treated as interface material rather than decoration.
- Manga structure without character art: black framing, gutters, speed-line dividers, and cropped silhouettes imply presence while keeping the operator absent.
- Clinical cybernetics: the system feels like a lab instrument watching itself being used, not a hacker fantasy dashboard.
- Cyan as intrusion evidence: the accent is reserved for breach pins, selected offsets, focus LEDs, and confirmed flags.

### Anti-Values

- No green matrix rain, neon cyberpunk skyline, skull malware iconography, or nightclub gradient glow.
- No generic SaaS card grid, analytics dashboard, holographic HUD, or decorative code wallpaper.
- No character fan art; human presence must be implied through gloves, cable shadows, chair absence, calibration marks, and access ports.
- No chrome techno novelty typography; labels must feel like real instrument markings.

### Visual Character

- Use large warm off-white panels divided by 1px black hairlines, with occasional 3px manga frame bars on outer edges.
- Build interfaces from packet-inspection strips, terminal transcript gutters, and ruled instrument trays instead of equal SaaS cards.
- Place micro-cyan breach pins as 6px squares, inset LEDs, or thin selection ticks only at active offsets and decision points.
- Overlay registration crosses, calibration numbers, access-port outlines, and cable-shadow silhouettes using pseudo-elements and low-contrast gradients.
- Set narrow sans headings in compressed uppercase and monospace fragments as hashes, scan timings, flags, and command prompts.

## 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 | `#168EA0` |
| background | `#F4F0E7` |
| border | `#141311` |
| error | `#8F342C` |
| info | `#168EA0` |
| muted | `#6F6A61` |
| primary | `#11100E` |
| secondary | `#5E5B55` |
| success | `#376C55` |
| surface | `#FBF8F0` |
| text | `#141311` |
| warning | `#8A6A28` |

## Typography

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

### Breakpoints

1440px desktop shows full lab bench; 900px tablet stacks transcript beneath the diagnostic slab; 640px mobile converts trays into single-column strips while preserving frame bars and cyan notches.

### Density

Use high contrast in spatial rhythm: 4px row internals and 8px label clusters against 64px and 96px negative-space fields.

### Grid

Desktop uses a 12-column instrument grid with 24px gutters and max width 1320px; the main diagnostic slab spans 7 columns, the transcript gutter 3, and evidence rails break alignment across 2 columns.

### Whitespace

Whitespace must feel like sealed air around equipment. Leave whole areas unoccupied and place dense evidence only where the operator would inspect it.

## Elevation & Depth

### Shadows

- **Lg**: 0 36px 90px rgba(20,19,17,0.12)
- **Md**: 0 18px 48px rgba(20,19,17,0.08)
- **Sm**: 0 1px 0 rgba(20,19,17,0.10)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: Sparse registration crosses and ruled calibration ticks from low-contrast linear gradients.
- **Card Style**: Squared lab panels with 1px borders, hard corners, asymmetric black frame bars, and internal transcript gutters.
- **Treatment**: Warm off-white trays with black hairline dividers, subtle paper grain, and no glossy highlights.

### Borders

- **Accent Width**: 3px
- **Character**: Black schematic hairlines with thicker manga frame bars and tiny cyan interruption ticks at active coordinates.
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Start with a white-room field and divide it into instrument trays: one dominant diagnostic slab, one narrow transcript gutter, and smaller offset evidence strips. Use large negative space as a safety zone; let black frame bars and thin dividers create manga-like pacing. Never distribute three equal cards in a row; each screen needs a dominant pane and at least one broken grid edge.

### Density

Alternate sterile voids of 64-96px with dense 4-8px packet rows so the interface feels calibrated, not crowded. Dense information is corralled into strips and gutters rather than floating widgets.

### Hierarchy

Hierarchy comes from frame weight, typographic voice, and operational position. Compressed uppercase headings announce modules, monospace lines carry evidence and commands, and body copy stays quiet. Cyan marks outrank text only when they indicate a selected exploit flag, breach pin, or current scan offset.

### Signature Patterns

- Manga instrument frames: 3px black edge bars attach to 1px internal schematic dividers.
- Cyan intrusion notches: tiny square LEDs and vertical ticks break otherwise black rules only at exploit flags, selected ports, and confirmed packet offsets.
- Transcript gutters: narrow side channels use monospace command prompts, timestamps, and hash fragments with clipped overflow.
- Calibration ghostwork: registration crosses, ruler ticks, port outlines, and cable shadows sit at low opacity behind functional panels.
- Packet-strip tables: rows compress hex offsets, ports, timing values, and exploit labels rather than generic table chrome.

## 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/sterile-breach-instrumentation/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 sterile ivory, warm off-white, graphite, and black as the dominant material palette.
- Do Reserve cyan for selected offsets, breach pins, active focus, and confirmed exploit flags only.
- Do Write real-looking command and scan grammar: ports, flags, hashes, packet timings, and offsets.
- Do Create presence through gloves, chair silhouettes, access ports, cable shadows, and calibration markings.
- Do Use narrow technical sans headings with monospace evidence fragments and quiet body text.
- Do Let dense terminal gutters contrast with large silent white-room fields.
- Do Keep borders hairline-thin except for deliberate manga frame bars.
- Don't Do not use green rain, neon city backdrops, skull icons, or malware mascots.
- Don't Do not build generic dashboards with equal cards, charts, and KPI widgets.
- Don't Do not use hologram HUD effects, glassmorphism, nightclub gradients, or glowing code wallpaper.
- Don't Do not make cyan decorative; every cyan mark must indicate state, focus, or breach evidence.
- Don't Do not use novelty chrome techno lettering or overly rounded SaaS controls.
- Don't Do not include character fan art; imply the operator through environment and absence.
- Don't Do not allow browser-default forms, default tables, or unstyled system controls.

### Accessibility

Maintain AA contrast for graphite text on ivory, pair cyan states with labels or geometry, keep body text at 15-16px, and provide visible black plus cyan focus outlines.

### Usage Context

Best for security research tools, packet inspection consoles, exploit rehearsal labs, forensic command surfaces, and speculative anime interfaces that should feel quiet, credible, and unsettling.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sterile-breach-instrumentation",
  "type": "registry:theme",
  "title": "Sterile Breach Instrumentation shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4F0E7",
      "foreground": "#141311",
      "card": "#FBF8F0",
      "card-foreground": "#141311",
      "popover": "#FBF8F0",
      "popover-foreground": "#141311",
      "primary": "#11100E",
      "primary-foreground": "#ffffff",
      "secondary": "#5E5B55",
      "secondary-foreground": "#ffffff",
      "muted": "#6F6A61",
      "muted-foreground": "#141311",
      "accent": "#168EA0",
      "accent-foreground": "#ffffff",
      "destructive": "#8F342C",
      "border": "#141311",
      "input": "#141311",
      "ring": "#168EA0",
      "chart-1": "#11100E",
      "chart-2": "#5E5B55",
      "chart-3": "#168EA0",
      "chart-4": "#376C55",
      "chart-5": "#8A6A28",
      "sidebar": "#FBF8F0",
      "sidebar-foreground": "#141311",
      "sidebar-primary": "#11100E",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#168EA0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#141311",
      "sidebar-ring": "#168EA0",
      "radius": "0px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#11100E",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#168EA0",
      "accent-foreground": "#ffffff",
      "destructive": "#8F342C",
      "border": "#303642",
      "input": "#303642",
      "ring": "#168EA0",
      "chart-1": "#11100E",
      "chart-2": "#5E5B55",
      "chart-3": "#168EA0",
      "chart-4": "#376C55",
      "chart-5": "#8A6A28",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#11100E",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#168EA0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#168EA0",
      "radius": "0px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "sterile-breach-instrumentation",
    "slug": "sterile-breach-instrumentation",
    "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 · sterile-breach-instrumentation
DESIGN.md

at a glance

Palette

Typography

headline-lgArchivo Narrow · 29px · 700

The quick brown fox jumps

headline-mdArchivo Narrow · 24px · 600

The quick brown fox jumps

body-mdNoto Sans · 16px · 400

The quick brown fox jumps

label-mdFragment 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
  • step-896px

Shape

full9999px
lg16px
md0px
none0px
sm0px
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.
primaryaccentsurfacemutedwarningerror
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: #F4F0E7;
  --foreground: #141311;
  --card: #FBF8F0;
  --card-foreground: #141311;
  --popover: #FBF8F0;
  --popover-foreground: #141311;
  --primary: #11100E;
  --primary-foreground: #ffffff;
  --secondary: #5E5B55;
  --secondary-foreground: #ffffff;
  --muted: #6F6A61;
  --muted-foreground: #141311;
  --accent: #168EA0;
  --accent-foreground: #ffffff;
  --destructive: #8F342C;
  --border: #141311;
  --input: #141311;
  --ring: #168EA0;
  --chart-1: #11100E;
  --chart-2: #5E5B55;
  --chart-3: #168EA0;
  --chart-4: #376C55;
  --chart-5: #8A6A28;
  --sidebar: #FBF8F0;
  --sidebar-foreground: #141311;
  --sidebar-primary: #11100E;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #168EA0;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #141311;
  --sidebar-ring: #168EA0;
  --radius: 0px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #11100E;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #168EA0;
  --accent-foreground: #ffffff;
  --destructive: #8F342C;
  --border: #303642;
  --input: #303642;
  --ring: #168EA0;
  --chart-1: #11100E;
  --chart-2: #5E5B55;
  --chart-3: #168EA0;
  --chart-4: #376C55;
  --chart-5: #8A6A28;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #11100E;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #168EA0;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #168EA0;
  --radius: 0px;
}
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 SterileBreachInstrumentationShadcnKit() {
  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">Sterile Breach Instrumentation</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 JSONcompatibility fallback
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sterile-breach-instrumentation",
  "type": "registry:theme",
  "title": "Sterile Breach Instrumentation shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4F0E7",
      "foreground": "#141311",
      "card": "#FBF8F0",
      "card-foreground": "#141311",
      "popover": "#FBF8F0",
      "popover-foreground": "#141311",
      "primary": "#11100E",
      "primary-foreground": "#ffffff",
      "secondary": "#5E5B55",
      "secondary-foreground": "#ffffff",
      "muted": "#6F6A61",
      "muted-foreground": "#141311",
      "accent": "#168EA0",
      "accent-foreground": "#ffffff",
      "destructive": "#8F342C",
      "border": "#141311",
      "input": "#141311",
      "ring": "#168EA0",
      "chart-1": "#11100E",
      "chart-2": "#5E5B55",
      "chart-3": "#168EA0",
      "chart-4": "#376C55",
      "chart-5": "#8A6A28",
      "sidebar": "#FBF8F0",
      "sidebar-foreground": "#141311",
      "sidebar-primary": "#11100E",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#168EA0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#141311",
      "sidebar-ring": "#168EA0",
      "radius": "0px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#11100E",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#168EA0",
      "accent-foreground": "#ffffff",
      "destructive": "#8F342C",
      "border": "#303642",
      "input": "#303642",
      "ring": "#168EA0",
      "chart-1": "#11100E",
      "chart-2": "#5E5B55",
      "chart-3": "#168EA0",
      "chart-4": "#376C55",
      "chart-5": "#8A6A28",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#11100E",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#168EA0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#168EA0",
      "radius": "0px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "sterile-breach-instrumentation",
    "slug": "sterile-breach-instrumentation",
    "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"
      ]
    }
  }
}
component recipescompatibility fallback
# Sterile Breach Instrumentation shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `sterile-breach-instrumentation`
Slug: `sterile-breach-instrumentation`

## Intent

A clinical intrusion toolkit language where security research feels like calibrated white-room instrumentation: off-white trays, black manga linework, packet evidence strips, and tiny cyan breach marks that appear only when a decision has consequence.

## 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": "#168EA0",
  "background": "#F4F0E7",
  "border": "#141311",
  "error": "#8F342C",
  "info": "#168EA0",
  "muted": "#6F6A61",
  "primary": "#11100E",
  "secondary": "#5E5B55",
  "success": "#376C55",
  "surface": "#FBF8F0",
  "text": "#141311",
  "warning": "#8A6A28"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Noto Sans",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Fragment+Mono:ital@0;1&family=Noto+Sans:wght@400;500;600&display=swap",
  "heading_font": "Archivo Narrow",
  "letter_spacing": "-0.02em",
  "line_height": 1.55,
  "mono_font": "Fragment Mono",
  "scale_ratio": 1.22
}

## Visual character to preserve

- Use large warm off-white panels divided by 1px black hairlines, with occasional 3px manga frame bars on outer edges.
- Build interfaces from packet-inspection strips, terminal transcript gutters, and ruled instrument trays instead of equal SaaS cards.
- Place micro-cyan breach pins as 6px squares, inset LEDs, or thin selection ticks only at active offsets and decision points.
- Overlay registration crosses, calibration numbers, access-port outlines, and cable-shadow silhouettes using pseudo-elements and low-contrast gradients.
- Set narrow sans headings in compressed uppercase and monospace fragments as hashes, scan timings, flags, and command prompts.

## ShadSync visual profile

{
  "family": "paper-collage",
  "material": "paper",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": true,
  "stickerBadges": true,
  "motion": "still",
  "density": "balanced",
  "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/sterile-breach-instrumentation/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 sterile ivory, warm off-white, graphite, and black as the dominant material palette.; Reserve cyan for selected offsets, breach pins, active focus, and confirmed exploit flags only.; Write real-looking command and scan grammar: ports, flags, hashes, packet timings, and offsets.; Create presence through gloves, chair silhouettes, access ports, cable shadows, and calibration markings.; Use narrow technical sans headings with monospace evidence fragments and quiet body text.; Let dense terminal gutters contrast with large silent white-room fields.; Keep borders hairline-thin except for deliberate manga frame bars.
- Do not: Do not use green rain, neon city backdrops, skull icons, or malware mascots.; Do not build generic dashboards with equal cards, charts, and KPI widgets.; Do not use hologram HUD effects, glassmorphism, nightclub gradients, or glowing code wallpaper.; Do not make cyan decorative; every cyan mark must indicate state, focus, or breach evidence.; Do not use novelty chrome techno lettering or overly rounded SaaS controls.; Do not include character fan art; imply the operator through environment and absence.; Do not allow browser-default forms, default tables, or unstyled system controls.

## 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 SterileBreachInstrumentationShadcnKit() {
  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">Sterile Breach Instrumentation</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": "1440px desktop shows full lab bench; 900px tablet stacks transcript beneath the diagnostic slab; 640px mobile converts trays into single-column strips while preserving frame bars and cyan notches.",
  "density": "Use high contrast in spatial rhythm: 4px row internals and 8px label clusters against 64px and 96px negative-space fields.",
  "grid": "Desktop uses a 12-column instrument grid with 24px gutters and max width 1320px; the main diagnostic slab spans 7 columns, the transcript gutter 3, and evidence rails break alignment across 2 columns.",
  "whitespace": "Whitespace must feel like sealed air around equipment. Leave whole areas unoccupied and place dense evidence only where the operator would inspect it."
}
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": "sterile-breach-instrumentation",
    "name": "Sterile Breach Instrumentation",
    "slug": "sterile-breach-instrumentation"
  },
  "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": [
    "Use large warm off-white panels divided by 1px black hairlines, with occasional 3px manga frame bars on outer edges.",
    "Build interfaces from packet-inspection strips, terminal transcript gutters, and ruled instrument trays instead of equal SaaS cards.",
    "Place micro-cyan breach pins as 6px squares, inset LEDs, or thin selection ticks only at active offsets and decision points.",
    "Overlay registration crosses, calibration numbers, access-port outlines, and cable-shadow silhouettes using pseudo-elements and low-contrast gradients.",
    "Set narrow sans headings in compressed uppercase and monospace fragments as hashes, scan timings, flags, and command prompts."
  ],
  "visualProfile": {
    "family": "brutalist",
    "material": "ink",
    "contour": "default",
    "border": "solid",
    "underlay": true,
    "grain": false,
    "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": "Sterile Breach Instrumentation 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 sterile ivory, warm off-white, graphite, and black as the dominant material palette.",
      "Reserve cyan for selected offsets, breach pins, active focus, and confirmed exploit flags only.",
      "Write real-looking command and scan grammar: ports, flags, hashes, packet timings, and offsets.",
      "Create presence through gloves, chair silhouettes, access ports, cable shadows, and calibration markings.",
      "Use narrow technical sans headings with monospace evidence fragments and quiet body text.",
      "Let dense terminal gutters contrast with large silent white-room fields.",
      "Keep borders hairline-thin except for deliberate manga frame bars."
    ],
    "dont": [
      "Do not use green rain, neon city backdrops, skull icons, or malware mascots.",
      "Do not build generic dashboards with equal cards, charts, and KPI widgets.",
      "Do not use hologram HUD effects, glassmorphism, nightclub gradients, or glowing code wallpaper.",
      "Do not make cyan decorative; every cyan mark must indicate state, focus, or breach evidence.",
      "Do not use novelty chrome techno lettering or overly rounded SaaS controls.",
      "Do not include character fan art; imply the operator through environment and absence.",
      "Do not allow browser-default forms, default tables, or unstyled system controls."
    ]
  }
}