back to gallery
design language·usable-anti-interface-panels

Usable Anti-Interface Panels

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 postmodern product language for agentic software that makes the interface skeleton explicit: panels behave like annotated equipment, typography becomes a navigable layer, and every control is bluntly visible without falling into parody or generic cyberpunk.
values
Explicit structure over seamless glassReadable deconstruction grounded in working softwareBlack-and-white manga contrast with one operational accentDecorated-shed symbolism used as labels, stamps, arrows, and status tagsTactile postmodern panels that remain accessible and fast to scan
anti-values
×Gradient futurism, neon haze, and generic Y2K chrome×Flat Memphis confetti detached from product function×Invisible controls, borderless SaaS softness, and decorative chaos
tokens
borders4 items
accent width
5px
character
Hard black construction lines, doubled focus rectangles, and heavier divider rails for machine-critical regions.
default width
3px
style
solid
colors12 items
accent
#00F05A
background
#F7F4EA
border
#111111
error
#E21B2D
info
#1155FF
muted
#6B675D
primary
#111111
secondary
#FFFFFF
success
#00A84F
surface
#FFFFFF
text
#111111
warning
#F4B000
motion3 items
duration
120ms
easing
steps(2, end)
philosophy
Motion feels mechanical: hover lifts by one grid unit, pressed states collapse shadows instantly, status changes blink once and settle.
radii5 items
full
9999px
lg
0
md
0
none
0
sm
0
shadows3 items
lg
10px 10px 0 #00F05A
md
6px 6px 0 #1155FF
sm
3px 3px 0 #111111
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
8px dotted grid plus occasional diagonal hatch blocks clipped inside panels.
card style
Square white cards with 3px black borders, offset accent shadow slabs, title strips, and small coordinate badges.
treatment
Flat paper and ink panels with manga hatch overlays, calibration dots, and exposed rails rather than soft material simulation.
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
heading font
Archivo Black
letter spacing
-0.015em
line height
1.48
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Compose screens as a visible machine board: asymmetric panel columns lock to an 8px grid, each region has a rail label, and overlap is allowed only when it clarifies priority or annotation.
density

Medium-high density with generous internal gutters; information can be abundant, but every cluster must be boxed, captioned, and separated by hard rules.

hierarchy
Use size, border weight, rail position, and boxed labels before color. Cobalt and terminal green are reserved for active state, selected path, and agent confidence cues.
signature patterns
Decorated-shed command panels: large ordinary rectangles carry symbolic labels, arrows, stamps, and route numbers as functional ornament.Cranbrook-style readable deconstruction: marginal notes, rotated tags, and interrupted rules layer around content while preserving a clear primary scan path.Manga technical hatching: black-and-white hatch fields sit behind alerts and empty states as texture, never as generic cyberpunk glow.Offset shadow mechanics: cards and buttons cast cobalt or green hard shadows that collapse to black on press and create visible state change.Exposed grid bones: dotted calibration backgrounds, corner ticks, and coordinate chips reveal the construction system across product and marketing surfaces.
layout
breakpoints

mobile 375px single stacked rail, tablet 768px two-column board, desktop 1200px+ three-region operations wall

grid

8px base grid with 12 desktop columns, boxed rail gutters, and panel spans that may step asymmetrically by 2-column increments.

whitespace

Whitespace is measured as gutters and safety margins, not air; leave 16-24px inside panels and use rule breaks instead of soft empty space.

guidance
do
  • Use hard borders, square controls, and visible labels on every interactive region.
  • Let postmodern references explain product state: stamps for decisions, arrows for routes, coordinate chips for evidence.
  • Keep the palette mostly black, white, paper, and one operational accent per scene for high taste restraint.
  • Design real software scenes with logs, forms, tables, approvals, and agent status rather than mood boards.
avoid
  • Do not use neon gradients, glossy cyberpunk panels, or generic Y2K iridescence.
  • Do not scatter Memphis shapes as decoration without functional labeling or material logic.
  • Do not hide controls in soft cards, borderless fields, or low-contrast gray-on-gray surfaces.
  • Do not overload every element with rotation; deconstruction must leave a stable reading path.
katagami spec
# Usable Anti-Interface Panels

## Philosophy

A postmodern product language for agentic software that makes the interface skeleton explicit: panels behave like annotated equipment, typography becomes a navigable layer, and every control is bluntly visible without falling into parody or generic cyberpunk.

### Values

- Explicit structure over seamless glass
- Readable deconstruction grounded in working software
- Black-and-white manga contrast with one operational accent
- Decorated-shed symbolism used as labels, stamps, arrows, and status tags
- Tactile postmodern panels that remain accessible and fast to scan

### Anti-Values

- Gradient futurism, neon haze, and generic Y2K chrome
- Flat Memphis confetti detached from product function
- Invisible controls, borderless SaaS softness, and decorative chaos

### Visual Character

- Thick 3px black panel borders sit on an 8px visible grid with hard offset shadows using cobalt or terminal-green shadow planes.
- Panels expose their construction with header rails, rule-lined gutters, coordinate labels, registration marks, and numbered hinge tabs.
- Typography pairs condensed slab headings with mono operational text, using rotated marginal labels and boxed pull-quotes without sacrificing reading order.
- Interactive controls use square corners, black outlines, pressed-state shadow collapse, and focus rings that draw a second offset rectangle.
- Backgrounds stay paper-white or ink-black with sparse manga hatch fields, dotted calibration grids, and one assertive accent for machine state.

## Tokens

### Borders

- **Accent Width**: 5px
- **Character**: Hard black construction lines, doubled focus rectangles, and heavier divider rails for machine-critical regions.
- **Default Width**: 3px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#00F05A` |
| background | `#F7F4EA` |
| border | `#111111` |
| error | `#E21B2D` |
| info | `#1155FF` |
| muted | `#6B675D` |
| primary | `#111111` |
| secondary | `#FFFFFF` |
| success | `#00A84F` |
| surface | `#FFFFFF` |
| text | `#111111` |
| warning | `#F4B000` |

### Motion

- **Duration**: 120ms
- **Easing**: steps(2, end)
- **Philosophy**: Motion feels mechanical: hover lifts by one grid unit, pressed states collapse shadows instantly, status changes blink once and settle.

### Radii

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

### Shadows

- **Lg**: 10px 10px 0 #00F05A
- **Md**: 6px 6px 0 #1155FF
- **Sm**: 3px 3px 0 #111111

### Spacing

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

### Surfaces

- **Bg Pattern**: 8px dotted grid plus occasional diagonal hatch blocks clipped inside panels.
- **Card Style**: Square white cards with 3px black borders, offset accent shadow slabs, title strips, and small coordinate badges.
- **Treatment**: Flat paper and ink panels with manga hatch overlays, calibration dots, and exposed rails rather than soft material simulation.

### Typography

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

## Rules

### Composition

Compose screens as a visible machine board: asymmetric panel columns lock to an 8px grid, each region has a rail label, and overlap is allowed only when it clarifies priority or annotation.

### Density

Medium-high density with generous internal gutters; information can be abundant, but every cluster must be boxed, captioned, and separated by hard rules.

### Hierarchy

Use size, border weight, rail position, and boxed labels before color. Cobalt and terminal green are reserved for active state, selected path, and agent confidence cues.

### Signature Patterns

- Decorated-shed command panels: large ordinary rectangles carry symbolic labels, arrows, stamps, and route numbers as functional ornament.
- Cranbrook-style readable deconstruction: marginal notes, rotated tags, and interrupted rules layer around content while preserving a clear primary scan path.
- Manga technical hatching: black-and-white hatch fields sit behind alerts and empty states as texture, never as generic cyberpunk glow.
- Offset shadow mechanics: cards and buttons cast cobalt or green hard shadows that collapse to black on press and create visible state change.
- Exposed grid bones: dotted calibration backgrounds, corner ticks, and coordinate chips reveal the construction system across product and marketing surfaces.

## Layout

### Breakpoints

mobile 375px single stacked rail, tablet 768px two-column board, desktop 1200px+ three-region operations wall

### Grid

8px base grid with 12 desktop columns, boxed rail gutters, and panel spans that may step asymmetrically by 2-column increments.

### Whitespace

Whitespace is measured as gutters and safety margins, not air; leave 16-24px inside panels and use rule breaks instead of soft empty space.

## Guidance

### Do

- Use hard borders, square controls, and visible labels on every interactive region.
- Let postmodern references explain product state: stamps for decisions, arrows for routes, coordinate chips for evidence.
- Keep the palette mostly black, white, paper, and one operational accent per scene for high taste restraint.
- Design real software scenes with logs, forms, tables, approvals, and agent status rather than mood boards.

### Don't

- Do not use neon gradients, glossy cyberpunk panels, or generic Y2K iridescence.
- Do not scatter Memphis shapes as decoration without functional labeling or material logic.
- Do not hide controls in soft cards, borderless fields, or low-contrast gray-on-gray surfaces.
- Do not overload every element with rotation; deconstruction must leave a stable reading path.
DESIGN.md
---
version: "alpha"
name: "Usable Anti-Interface Panels"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#00F05A"
  background: "#F7F4EA"
  border: "#111111"
  error: "#E21B2D"
  info: "#1155FF"
  muted: "#6B675D"
  primary: "#111111"
  secondary: "#FFFFFF"
  success: "#00A84F"
  surface: "#FFFFFF"
  text: "#111111"
  warning: "#F4B000"
typography:
  headline-lg:
    fontFamily: "Archivo Black"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Archivo Black"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.48
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "0px"
  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"
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"
---

# Usable Anti-Interface Panels

## Overview

A postmodern product language for agentic software that makes the interface skeleton explicit: panels behave like annotated equipment, typography becomes a navigable layer, and every control is bluntly visible without falling into parody or generic cyberpunk.

### Values

- Explicit structure over seamless glass
- Readable deconstruction grounded in working software
- Black-and-white manga contrast with one operational accent
- Decorated-shed symbolism used as labels, stamps, arrows, and status tags
- Tactile postmodern panels that remain accessible and fast to scan

### Anti-Values

- Gradient futurism, neon haze, and generic Y2K chrome
- Flat Memphis confetti detached from product function
- Invisible controls, borderless SaaS softness, and decorative chaos

### Visual Character

- Thick 3px black panel borders sit on an 8px visible grid with hard offset shadows using cobalt or terminal-green shadow planes.
- Panels expose their construction with header rails, rule-lined gutters, coordinate labels, registration marks, and numbered hinge tabs.
- Typography pairs condensed slab headings with mono operational text, using rotated marginal labels and boxed pull-quotes without sacrificing reading order.
- Interactive controls use square corners, black outlines, pressed-state shadow collapse, and focus rings that draw a second offset rectangle.
- Backgrounds stay paper-white or ink-black with sparse manga hatch fields, dotted calibration grids, and one assertive accent for machine state.

## 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 | `#00F05A` |
| background | `#F7F4EA` |
| border | `#111111` |
| error | `#E21B2D` |
| info | `#1155FF` |
| muted | `#6B675D` |
| primary | `#111111` |
| secondary | `#FFFFFF` |
| success | `#00A84F` |
| surface | `#FFFFFF` |
| text | `#111111` |
| warning | `#F4B000` |

## Typography

- **Headline-Lg**: Archivo Black, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo Black, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.48.
- **Label-Md**: IBM Plex 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

mobile 375px single stacked rail, tablet 768px two-column board, desktop 1200px+ three-region operations wall

### Grid

8px base grid with 12 desktop columns, boxed rail gutters, and panel spans that may step asymmetrically by 2-column increments.

### Whitespace

Whitespace is measured as gutters and safety margins, not air; leave 16-24px inside panels and use rule breaks instead of soft empty space.

## Elevation & Depth

### Shadows

- **Lg**: 10px 10px 0 #00F05A
- **Md**: 6px 6px 0 #1155FF
- **Sm**: 3px 3px 0 #111111

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: 8px dotted grid plus occasional diagonal hatch blocks clipped inside panels.
- **Card Style**: Square white cards with 3px black borders, offset accent shadow slabs, title strips, and small coordinate badges.
- **Treatment**: Flat paper and ink panels with manga hatch overlays, calibration dots, and exposed rails rather than soft material simulation.

### Borders

- **Accent Width**: 5px
- **Character**: Hard black construction lines, doubled focus rectangles, and heavier divider rails for machine-critical regions.
- **Default Width**: 3px
- **Style**: solid

## Components

### Composition

Compose screens as a visible machine board: asymmetric panel columns lock to an 8px grid, each region has a rail label, and overlap is allowed only when it clarifies priority or annotation.

### Density

Medium-high density with generous internal gutters; information can be abundant, but every cluster must be boxed, captioned, and separated by hard rules.

### Hierarchy

Use size, border weight, rail position, and boxed labels before color. Cobalt and terminal green are reserved for active state, selected path, and agent confidence cues.

### Signature Patterns

- Decorated-shed command panels: large ordinary rectangles carry symbolic labels, arrows, stamps, and route numbers as functional ornament.
- Cranbrook-style readable deconstruction: marginal notes, rotated tags, and interrupted rules layer around content while preserving a clear primary scan path.
- Manga technical hatching: black-and-white hatch fields sit behind alerts and empty states as texture, never as generic cyberpunk glow.
- Offset shadow mechanics: cards and buttons cast cobalt or green hard shadows that collapse to black on press and create visible state change.
- Exposed grid bones: dotted calibration backgrounds, corner ticks, and coordinate chips reveal the construction system across product and marketing surfaces.

## 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-019e8a06-8608-7403-9bb2-e448ba90e8b8/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 hard borders, square controls, and visible labels on every interactive region.
- Do Let postmodern references explain product state: stamps for decisions, arrows for routes, coordinate chips for evidence.
- Do Keep the palette mostly black, white, paper, and one operational accent per scene for high taste restraint.
- Do Design real software scenes with logs, forms, tables, approvals, and agent status rather than mood boards.
- Don't Do not use neon gradients, glossy cyberpunk panels, or generic Y2K iridescence.
- Don't Do not scatter Memphis shapes as decoration without functional labeling or material logic.
- Don't Do not hide controls in soft cards, borderless fields, or low-contrast gray-on-gray surfaces.
- Don't Do not overload every element with rotation; deconstruction must leave a stable reading path.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "usable-anti-interface-panels",
  "type": "registry:theme",
  "title": "Usable Anti-Interface Panels shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F4EA",
      "foreground": "#111111",
      "card": "#FFFFFF",
      "card-foreground": "#111111",
      "popover": "#FFFFFF",
      "popover-foreground": "#111111",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "secondary": "#FFFFFF",
      "secondary-foreground": "#111111",
      "muted": "#6B675D",
      "muted-foreground": "#111111",
      "accent": "#00F05A",
      "accent-foreground": "#111111",
      "destructive": "#E21B2D",
      "border": "#111111",
      "input": "#111111",
      "ring": "#00F05A",
      "chart-1": "#111111",
      "chart-2": "#FFFFFF",
      "chart-3": "#00F05A",
      "chart-4": "#00A84F",
      "chart-5": "#F4B000",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#111111",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1155FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#00F05A",
      "radius": "0"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#00F05A",
      "accent-foreground": "#111111",
      "destructive": "#E21B2D",
      "border": "#303642",
      "input": "#303642",
      "ring": "#00F05A",
      "chart-1": "#111111",
      "chart-2": "#FFFFFF",
      "chart-3": "#00F05A",
      "chart-4": "#00A84F",
      "chart-5": "#F4B000",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#00F05A",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#00F05A",
      "radius": "0"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e8a06-8608-7403-9bb2-e448ba90e8b8",
    "slug": "usable-anti-interface-panels",
    "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 · usable-anti-interface-panels
DESIGN.md

at a glance

Palette

Typography

headline-lgArchivo Black · 29px · 700

The quick brown fox jumps

headline-mdArchivo Black · 24px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 16px · 400

The quick brown fox jumps

label-mdIBM Plex 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
lg0px
md0px
none0px
sm0px
shadcn/ui

implementation kit

agent-authored kitstored + verified
shadcn implementation kit
These scenes and recipes came from the Katagami review agent and can be copied as the shadcn implementation layer.
shadsync shotsstored + verifiedpaper-collage

Usable Anti-Interface Panels

Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.

Square white cards with 3px black borders, offset accent shadow slabs, title strips, and small coordinate badges.
PANEL 01 / ROUTE BOARDapplication-shell

Agent Route Audit

Review manga-ingest decisions with explicit rails and stamped machine confidence.

buttoncardtabsbadgeseparatortooltipdropdown-menutable
Usable Anti-Interface Panels
shadcn layer
Overview
Components
Reviews
Exports
primaryaccentsurfacemutedwarningerror
Confidence
94%
Open panels
18
Route
B-07
Component coverage
Filters, state, and row density rendered with the generated theme.
SurfaceStateStatus
Primary flowscanscan
Token coveragerouteroute
Responsive proofholdhold
Must show
Avoid
glass blur
neon gradients
PANEL 02 / INPUT RAILdetail-editor

Curator Override

Adjust a deconstructed caption decision while keeping the rail and reducing hatch density.

cardinputtextareaselectcheckboxswitchsliderdialog
Recipe details
Labels, validation, written guidance, and controls stay visible.
Density68
FocusInvalidConfirmed
Context sheet
Generated with the language job
sheet
Decision label
Recover deconstructed caption
Severity
Symbolic / readable
Operator note
Keep rotated rail; reduce hatch behind body copy.
Must show
Avoid
rounded pill forms
unlabeled icons
PANEL 03 / BATCH TABLEdata-operations

Evidence Queue

Prioritize OCR, screentone, and typography fragments through a visible rule-based grid.

tablesheetbuttonbadgeseparatortabsdropdown-menucard
Evidence Queue
Prioritize OCR, screentone, and typography fragments through a visible rule-based grid.
passholdwarn
CheckFindingStatus
Button hierarchyapprovedpass
Table rhythmneeds passhold
Empty statedesignedwarn
Responsive table, menu, tooltip, and badge proof.
Must show
Avoid
inventory wall
generic admin table
recommendedagent kit includedverified

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: #F7F4EA;
  --foreground: #111111;
  --card: #FFFFFF;
  --card-foreground: #111111;
  --popover: #FFFFFF;
  --popover-foreground: #111111;
  --primary: #111111;
  --primary-foreground: #ffffff;
  --secondary: #FFFFFF;
  --secondary-foreground: #111111;
  --muted: #6B675D;
  --muted-foreground: #111111;
  --accent: #00F05A;
  --accent-foreground: #111111;
  --destructive: #E21B2D;
  --border: #111111;
  --input: #111111;
  --ring: #00F05A;
  --chart-1: #111111;
  --chart-2: #FFFFFF;
  --chart-3: #00F05A;
  --chart-4: #00A84F;
  --chart-5: #F4B000;
  --sidebar: #FFFFFF;
  --sidebar-foreground: #111111;
  --sidebar-primary: #111111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #1155FF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #111111;
  --sidebar-ring: #00F05A;
  --radius: 0;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #111111;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #00F05A;
  --accent-foreground: #111111;
  --destructive: #E21B2D;
  --border: #303642;
  --input: #303642;
  --ring: #00F05A;
  --chart-1: #111111;
  --chart-2: #FFFFFF;
  --chart-3: #00F05A;
  --chart-4: #00A84F;
  --chart-5: #F4B000;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #111111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #00F05A;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #303642;
  --sidebar-ring: #00F05A;
  --radius: 0;
}
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 UsableAntiInterfacePanelsShadcnKit() {
  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">Usable Anti-Interface Panels</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": "#39FF14",
      "accent-foreground": "#111111",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#111111",
      "chart-2": "#0047FF",
      "chart-3": "#39FF14",
      "chart-4": "#138A36",
      "chart-5": "#FFB000",
      "destructive": "#E11D2E",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "radius": "2px",
      "ring": "#39FF14",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#39FF14",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#39FF14"
    },
    "light": {
      "accent": "#39FF14",
      "accent-foreground": "#111111",
      "background": "#F6F2E8",
      "border": "#111111",
      "card": "#FFFDF5",
      "card-foreground": "#111111",
      "chart-1": "#111111",
      "chart-2": "#0047FF",
      "chart-3": "#39FF14",
      "chart-4": "#138A36",
      "chart-5": "#FFB000",
      "destructive": "#E11D2E",
      "foreground": "#111111",
      "input": "#111111",
      "muted": "#6E6A60",
      "muted-foreground": "#111111",
      "popover": "#FFFDF5",
      "popover-foreground": "#111111",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "radius": "2px",
      "ring": "#39FF14",
      "secondary": "#0047FF",
      "secondary-foreground": "#ffffff",
      "sidebar": "#FFFDF5",
      "sidebar-accent": "#0047FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-foreground": "#111111",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#39FF14"
    },
    "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-019e8a06-3ed1-7e00-ac98-a59a8673b51e",
    "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": "usable-anti-interface-panels",
    "source": "katagami"
  },
  "name": "usable-anti-interface-panels",
  "title": "Usable Anti-Interface Panels shadcn Theme",
  "type": "registry:theme"
}
component recipesstored + verified
# Usable Anti-Interface Panels shadcn/ui Components
Author: `katagami-agent`

## Intent
Translate the language into local shadcn/ui primitives as a usable postmodern operations surface: hard bordered panels, explicit rails, symbolic labels, manga hatch underlays, and one operational accent.

## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.

## Token cues
Use `{colors.background}` paper, `{colors.surface}` white panels, `{colors.text}` ink, `{colors.border}` 3px rules, `{colors.accent}` terminal green, and `{colors.info}` cobalt hard shadows. Use `{typography.heading_font}` for slab headers and `{typography.mono_font}` for rails, badges, coordinates, and status.

## Visual character to preserve
Square 0-radius containers; 3px black borders; offset cobalt/green shadows; visible header rails; rotated or marginal mono labels only where reading order remains clear; dotted grid or hatch underlays clipped to specific panels.

## ShadSync visual profile
family: postmodern-operations; material: inked-paper-panel; contour: square; border: heavy-solid; underlay: dotted-grid-and-hatch; grain: false; stickerBadges: true; motion: shadow-collapse; density: medium-high; accents: terminal-green and cobalt.

## Signature component recipes
- button: square, 3px border, uppercase mono, 4-6px hard shadow; primary uses green fill with cobalt shadow; active collapses shadow.
- card: white or black panel, 3px border, header rail, optional coordinate badge, 6px cobalt or 10px green shadow.
- input / textarea / select: paper fill, black border, mono label, black micro-shadow, green double-rectangle focus.
- dialog / sheet: treat as command panel with title strip, coordinate chip, visible separator rails, no translucent blur.
- tabs: one continuous bordered rail; active tab green, inactive white; black dividers between triggers.
- badge: stamp-like rectangles with mono uppercase copy; use cobalt only for selected path.
- separator: heavy black rule, never faint gray.
- checkbox / switch / slider: squared hardware controls with visible track borders and green active state.
- tooltip / dropdown-menu: small decorated-shed placards with black outline, coordinate label, and no soft shadow.
- table: ruled evidence grid with black cell dividers, mono IDs, and stamped state badges.

## Preview shots
application-shell, detail-editor, data-operations.

## Implementation contract
Import local primitives from `@/components/ui/*`. Do not invent a second component system. Compose distinctive rails, hatches, and offset shadows with className wrappers around shadcn primitives while preserving accessibility and focus states.

## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { Badge } from "@/components/ui/badge"

export function AntiInterfacePanel() {
  return (
    <Card className="relative rounded-none border-[3px] border-black bg-white shadow-[6px_6px_0_#1155FF]">
      <div className="absolute -top-4 right-2 border-[3px] border-black bg-[#00F05A] px-2 py-0.5 font-mono text-xs font-bold">08/GRID</div>
      <CardHeader className="border-b-[3px] border-black">
        <Badge className="w-fit rounded-none border-[3px] border-black bg-[#00F05A] font-mono text-black shadow-[3px_3px_0_#111]">LIVE AGENT</Badge>
        <CardTitle className="font-['Archivo_Black'] text-4xl uppercase tracking-[-0.05em]">Route Audit</CardTitle>
      </CardHeader>
      <CardContent className="grid gap-3 p-4">
        <label className="font-mono text-xs font-bold uppercase">Decision label</label>
        <Input className="rounded-none border-[3px] border-black bg-[#F7F4EA] shadow-[3px_3px_0_#111] focus-visible:ring-[#00F05A]" />
        <Button className="rounded-none border-[3px] border-black bg-[#00F05A] font-mono font-bold uppercase text-black shadow-[6px_6px_0_#1155FF] active:translate-x-1 active:translate-y-1 active:shadow-none">Stamp override</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored + verified
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "card",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "input",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "textarea",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "select",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "dialog",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "sheet",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "tabs",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "badge",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "separator",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "checkbox",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "switch",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "slider",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "tooltip",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "dropdown-menu",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    },
    {
      "component": "table",
      "recipe": "Use square 0 radius, 3px black contour where visible, mono labels for state, and green/cobalt only for selected or active operations."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "avoid": [
        "glass blur",
        "neon gradients",
        "soft gray borders"
      ],
      "composition": "Three-region agent operations wall with vertical rail, status cards, route table, and stamped action bar.",
      "id": "application-shell",
      "mustShowStates": [
        "primary approval button",
        "active route tab",
        "selected path badge",
        "tooltip coordinate note"
      ],
      "primitives": [
        "button",
        "card",
        "tabs",
        "badge",
        "separator",
        "tooltip",
        "dropdown-menu",
        "table"
      ],
      "scene": {
        "actions": [
          "Approve run",
          "Fork evidence"
        ],
        "description": "Review manga-ingest decisions with explicit rails and stamped machine confidence.",
        "eyebrow": "PANEL 01 / ROUTE BOARD",
        "headline": "Agent Route Audit",
        "rows": [
          {
            "risk": "2",
            "source": "CRAN-204",
            "state": "scan"
          },
          {
            "risk": "4",
            "source": "MEM-019",
            "state": "route"
          },
          {
            "risk": "7",
            "source": "VENT-404",
            "state": "hold"
          }
        ],
        "stats": [
          {
            "label": "Confidence",
            "value": "94%"
          },
          {
            "label": "Open panels",
            "value": "18"
          },
          {
            "label": "Route",
            "value": "B-07"
          }
        ]
      }
    },
    {
      "avoid": [
        "rounded pill forms",
        "unlabeled icons"
      ],
      "composition": "Boxed curator override form with coordinate chip, hatch note, square fields, and decision dialog trigger.",
      "id": "detail-editor",
      "mustShowStates": [
        "focused input",
        "checked evidence box",
        "active switch",
        "slider with bordered track"
      ],
      "primitives": [
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "button",
        "badge"
      ],
      "scene": {
        "actions": [
          "Stamp override",
          "Open diff dialog"
        ],
        "description": "Adjust a deconstructed caption decision while keeping the rail and reducing hatch density.",
        "eyebrow": "PANEL 02 / INPUT RAIL",
        "fields": [
          {
            "label": "Decision label",
            "value": "Recover deconstructed caption"
          },
          {
            "label": "Severity",
            "value": "Symbolic / readable"
          },
          {
            "label": "Operator note",
            "value": "Keep rotated rail; reduce hatch behind body copy."
          }
        ],
        "headline": "Curator Override"
      }
    },
    {
      "avoid": [
        "inventory wall",
        "generic admin table"
      ],
      "composition": "Evidence grid with sheet-based batch controls, stamp badges, and heavy ruled cells.",
      "id": "data-operations",
      "mustShowStates": [
        "open sheet handle",
        "dropdown menu placard",
        "warning badge",
        "black separator rail"
      ],
      "primitives": [
        "table",
        "sheet",
        "button",
        "badge",
        "separator",
        "tabs",
        "dropdown-menu",
        "card"
      ],
      "scene": {
        "actions": [
          "Open batch sheet",
          "Export route"
        ],
        "description": "Prioritize OCR, screentone, and typography fragments through a visible rule-based grid.",
        "eyebrow": "PANEL 03 / BATCH TABLE",
        "headline": "Evidence Queue",
        "rows": [
          {
            "risk": "1",
            "source": "OCR-118",
            "state": "pass"
          },
          {
            "risk": "6",
            "source": "TYPE-305",
            "state": "hold"
          },
          {
            "risk": "5",
            "source": "TONE-442",
            "state": "warn"
          }
        ],
        "stats": [
          {
            "label": "Held",
            "value": "7"
          },
          {
            "label": "Passed",
            "value": "41"
          }
        ]
      }
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "terminal-green #00F05A",
      "cobalt #1155FF"
    ],
    "border": "heavy-solid-3px",
    "contour": "square",
    "density": "medium-high",
    "family": "postmodern-operations",
    "grain": false,
    "material": "inked-paper-panel",
    "motion": "shadow-collapse",
    "stickerBadges": true,
    "underlay": "dotted-grid-with-clipped-manga-hatch"
  }
}