back to gallery
design language·cranbrook-manga-deconstruction

Cranbrook Manga Deconstruction

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 usable postmodern interface language that treats agentic software as an annotated manga proof: Cranbrook-style typographic fracture, offset panels, terminal footnotes, and decorated-shed signals are disciplined into a black-and-bone product system.
values
critical layering over neutral universalitymanga page rhythm as product structureexplicit system state and provenancehigh-taste restraint with pointed interruptionsusable anti-interface grammar
anti-values
×generic neon cyberpunk dashboards×flat Memphis confetti without material logic×illegible deconstruction that hides product state×AI collage excess and decorative noise
tokens
borders4 items
accent width
3px
character
black ink panel edges; blue bracket rules for notes; red proof slashes for warnings
default width
2px
style
solid with occasional dashed annotation leaders
colors12 items
accent
#2358FF
background
#F7F0E3
border
#0A0A0A
error
#D01B1B
info
#2358FF
muted
#6F6A5E
primary
#0A0A0A
secondary
#F2EAD9
success
#1F7A3A
surface
#FFF9EC
text
#111111
warning
#D46A00
motion3 items
duration
140ms
easing
cubic-bezier(0.2, 0, 0, 1)
philosophy
motion behaves like a page correction: tiny offset snaps, underline reveals, and focus brackets; no bouncy cyber motion
radii5 items
full
9999px
lg
8px
md
4px
none
0
sm
2px
shadows3 items
lg
12px 12px 0 rgba(10,10,10,0.88)
md
7px 7px 0 rgba(10,10,10,0.92)
sm
3px 3px 0 #0A0A0A
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
faint 16px editorial grid, sparse black registration crosses, and low-opacity oversized typographic fragments
card style
rectangular manga panels with slight registration offsets, hard shadows, crop marks, and terminal footnote captions
treatment
bone paper fields with subtle halftone grain, black ink borders, blue annotation overlays, and no glass or glow
typography8 items
base size
16px
body font
Noto Serif JP
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Serif+JP:wght@400;600;700&display=swap
heading font
IBM Plex Sans Condensed
letter spacing
-0.015em
line height
1.48
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Build screens as asymmetric manga spreads: one dominant work panel, two to four offset supporting panels, and a narrow terminal footnote rail. Preserve product clarity by anchoring every fractured element to a visible grid or caption.
density
Medium-high density is allowed when each layer has a job: system state, provenance, command log, or editorial annotation. Keep controls spacious enough for production UI.
hierarchy
Hierarchy comes from scale jumps, black border weight, condensed headline overlays, and blue annotation numbers. Body copy stays readable on bone surfaces; deconstructive text is background, label, or proof layer, not the only instruction.
signature patterns
Offset manga panels use transform rotation under two degrees plus hard black shadow to create controlled misregistration without breaking alignment.Transparent Cranbrook backwords span behind modules with pointer-events none, mix-blend-multiply, and clipped overflow so typography becomes architecture.Terminal footnotes are numbered blue mono chips connected by thin rules to fields, rows, and decisions, making agent reasoning explicit.Red proof marks appear as narrow absolute-positioned slashes, corner stamps, and validation ticks beside dangerous states only.Decorated-shed symbols label functional zones with literal signs such as QUEUE, PATCH, RISK, and TRACE rather than abstract SaaS icons.
layout
breakpoints

Desktop 1200+, tablet 768-1199 collapses to 8 columns with rail below hero, mobile under 640 becomes stacked panels with rotations removed.

grid

12-column editorial grid with irregular panel spans, 16px gutters, visible crop marks, and a persistent right-side annotation rail on desktop.

whitespace

Whitespace is gutter-like: bone margins and black seams separate panels while annotations occupy controlled side channels rather than filling every gap.

guidance
do
  • Use black, bone, blue annotation, and tiny warning red with severe discipline.
  • Make the scene a real technical product with queues, patches, traces, forms, tables, and agent states.
  • Let deconstruction reveal structure: footnotes, provenance, seams, labels, and proof marks should clarify workflow.
  • Keep controls accessible with strong contrast, visible focus brackets, and readable body sizes.
avoid
  • Do not use neon purple, vaporwave gradients, green matrix effects, chrome HUDs, or generic cyberpunk code rain.
  • Do not scatter random Memphis shapes; geometry must act as panel, label, tab, or material sign.
  • Do not rotate small body text or form controls into illegibility.
  • Do not make a generic component catalog; demonstrate a plausible product screen.
katagami spec
# Cranbrook Manga Deconstruction

## Philosophy

A usable postmodern interface language that treats agentic software as an annotated manga proof: Cranbrook-style typographic fracture, offset panels, terminal footnotes, and decorated-shed signals are disciplined into a black-and-bone product system.

### Values

- critical layering over neutral universality
- manga page rhythm as product structure
- explicit system state and provenance
- high-taste restraint with pointed interruptions
- usable anti-interface grammar

### Anti-Values

- generic neon cyberpunk dashboards
- flat Memphis confetti without material logic
- illegible deconstruction that hides product state
- AI collage excess and decorative noise

### Visual Character

- Use a bone paper body with black 2px panel borders, offset manga frames, and occasional -1.2deg to 1.4deg rotations applied only to major containers.
- Layer oversized transparent condensed words behind content using low-opacity mix-blend-multiply text that aligns to grid columns rather than floating randomly.
- Attach blue annotation rails and monospaced footnote tags to cards with absolute-positioned rules, bracket leaders, and small numbered terminal labels.
- Reserve warning red for one-pixel proof marks, status slashes, and validation stamps; never use it as a broad fill or gradient.
- Expose interface structure through visible gutters, registration crosses, crop marks, tab seams, and command-line captions embedded in the layout.

## Tokens

### Borders

- **Accent Width**: 3px
- **Character**: black ink panel edges; blue bracket rules for notes; red proof slashes for warnings
- **Default Width**: 2px
- **Style**: solid with occasional dashed annotation leaders

### Colors

| Name | Value |
|------|-------|
| accent | `#2358FF` |
| background | `#F7F0E3` |
| border | `#0A0A0A` |
| error | `#D01B1B` |
| info | `#2358FF` |
| muted | `#6F6A5E` |
| primary | `#0A0A0A` |
| secondary | `#F2EAD9` |
| success | `#1F7A3A` |
| surface | `#FFF9EC` |
| text | `#111111` |
| warning | `#D46A00` |

### Motion

- **Duration**: 140ms
- **Easing**: cubic-bezier(0.2, 0, 0, 1)
- **Philosophy**: motion behaves like a page correction: tiny offset snaps, underline reveals, and focus brackets; no bouncy cyber motion

### Radii

- **Full**: 9999px
- **Lg**: 8px
- **Md**: 4px
- **None**: 0
- **Sm**: 2px

### Shadows

- **Lg**: 12px 12px 0 rgba(10,10,10,0.88)
- **Md**: 7px 7px 0 rgba(10,10,10,0.92)
- **Sm**: 3px 3px 0 #0A0A0A

### Spacing

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

### Surfaces

- **Bg Pattern**: faint 16px editorial grid, sparse black registration crosses, and low-opacity oversized typographic fragments
- **Card Style**: rectangular manga panels with slight registration offsets, hard shadows, crop marks, and terminal footnote captions
- **Treatment**: bone paper fields with subtle halftone grain, black ink borders, blue annotation overlays, and no glass or glow

### Typography

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

## Rules

### Composition

Build screens as asymmetric manga spreads: one dominant work panel, two to four offset supporting panels, and a narrow terminal footnote rail. Preserve product clarity by anchoring every fractured element to a visible grid or caption.

### Density

Medium-high density is allowed when each layer has a job: system state, provenance, command log, or editorial annotation. Keep controls spacious enough for production UI.

### Hierarchy

Hierarchy comes from scale jumps, black border weight, condensed headline overlays, and blue annotation numbers. Body copy stays readable on bone surfaces; deconstructive text is background, label, or proof layer, not the only instruction.

### Signature Patterns

- Offset manga panels use transform rotation under two degrees plus hard black shadow to create controlled misregistration without breaking alignment.
- Transparent Cranbrook backwords span behind modules with pointer-events none, mix-blend-multiply, and clipped overflow so typography becomes architecture.
- Terminal footnotes are numbered blue mono chips connected by thin rules to fields, rows, and decisions, making agent reasoning explicit.
- Red proof marks appear as narrow absolute-positioned slashes, corner stamps, and validation ticks beside dangerous states only.
- Decorated-shed symbols label functional zones with literal signs such as QUEUE, PATCH, RISK, and TRACE rather than abstract SaaS icons.

## Layout

### Breakpoints

Desktop 1200+, tablet 768-1199 collapses to 8 columns with rail below hero, mobile under 640 becomes stacked panels with rotations removed.

### Grid

12-column editorial grid with irregular panel spans, 16px gutters, visible crop marks, and a persistent right-side annotation rail on desktop.

### Whitespace

Whitespace is gutter-like: bone margins and black seams separate panels while annotations occupy controlled side channels rather than filling every gap.

## Guidance

### Do

- Use black, bone, blue annotation, and tiny warning red with severe discipline.
- Make the scene a real technical product with queues, patches, traces, forms, tables, and agent states.
- Let deconstruction reveal structure: footnotes, provenance, seams, labels, and proof marks should clarify workflow.
- Keep controls accessible with strong contrast, visible focus brackets, and readable body sizes.

### Don't

- Do not use neon purple, vaporwave gradients, green matrix effects, chrome HUDs, or generic cyberpunk code rain.
- Do not scatter random Memphis shapes; geometry must act as panel, label, tab, or material sign.
- Do not rotate small body text or form controls into illegibility.
- Do not make a generic component catalog; demonstrate a plausible product screen.

### Accessibility

Maintain WCAG AA contrast, keep body text at 16px or larger, remove panel rotations on mobile, pair warning red with labels, and provide visible keyboard focus brackets.

### Usage Context

Best for technical agent workbenches, AI review tools, provenance editors, manga-adjacent publishing software, developer operations consoles, and high-taste anti-interface marketing systems.
DESIGN.md
---
version: "alpha"
name: "Cranbrook Manga Deconstruction"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#2358FF"
  background: "#F7F0E3"
  border: "#0A0A0A"
  error: "#D01B1B"
  info: "#2358FF"
  muted: "#6F6A5E"
  primary: "#0A0A0A"
  secondary: "#F2EAD9"
  success: "#1F7A3A"
  surface: "#FFF9EC"
  text: "#111111"
  warning: "#D46A00"
typography:
  headline-lg:
    fontFamily: "IBM Plex Sans Condensed"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "IBM Plex Sans Condensed"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "Noto Serif JP"
    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: "8px"
  md: "4px"
  none: "0px"
  sm: "2px"
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"
---

# Cranbrook Manga Deconstruction

## Overview

A usable postmodern interface language that treats agentic software as an annotated manga proof: Cranbrook-style typographic fracture, offset panels, terminal footnotes, and decorated-shed signals are disciplined into a black-and-bone product system.

### Values

- critical layering over neutral universality
- manga page rhythm as product structure
- explicit system state and provenance
- high-taste restraint with pointed interruptions
- usable anti-interface grammar

### Anti-Values

- generic neon cyberpunk dashboards
- flat Memphis confetti without material logic
- illegible deconstruction that hides product state
- AI collage excess and decorative noise

### Visual Character

- Use a bone paper body with black 2px panel borders, offset manga frames, and occasional -1.2deg to 1.4deg rotations applied only to major containers.
- Layer oversized transparent condensed words behind content using low-opacity mix-blend-multiply text that aligns to grid columns rather than floating randomly.
- Attach blue annotation rails and monospaced footnote tags to cards with absolute-positioned rules, bracket leaders, and small numbered terminal labels.
- Reserve warning red for one-pixel proof marks, status slashes, and validation stamps; never use it as a broad fill or gradient.
- Expose interface structure through visible gutters, registration crosses, crop marks, tab seams, and command-line captions embedded in the layout.

## 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 | `#2358FF` |
| background | `#F7F0E3` |
| border | `#0A0A0A` |
| error | `#D01B1B` |
| info | `#2358FF` |
| muted | `#6F6A5E` |
| primary | `#0A0A0A` |
| secondary | `#F2EAD9` |
| success | `#1F7A3A` |
| surface | `#FFF9EC` |
| text | `#111111` |
| warning | `#D46A00` |

## Typography

- **Headline-Lg**: IBM Plex Sans Condensed, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: IBM Plex Sans Condensed, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Noto Serif JP, 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

Desktop 1200+, tablet 768-1199 collapses to 8 columns with rail below hero, mobile under 640 becomes stacked panels with rotations removed.

### Grid

12-column editorial grid with irregular panel spans, 16px gutters, visible crop marks, and a persistent right-side annotation rail on desktop.

### Whitespace

Whitespace is gutter-like: bone margins and black seams separate panels while annotations occupy controlled side channels rather than filling every gap.

## Elevation & Depth

### Shadows

- **Lg**: 12px 12px 0 rgba(10,10,10,0.88)
- **Md**: 7px 7px 0 rgba(10,10,10,0.92)
- **Sm**: 3px 3px 0 #0A0A0A

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: faint 16px editorial grid, sparse black registration crosses, and low-opacity oversized typographic fragments
- **Card Style**: rectangular manga panels with slight registration offsets, hard shadows, crop marks, and terminal footnote captions
- **Treatment**: bone paper fields with subtle halftone grain, black ink borders, blue annotation overlays, and no glass or glow

### Borders

- **Accent Width**: 3px
- **Character**: black ink panel edges; blue bracket rules for notes; red proof slashes for warnings
- **Default Width**: 2px
- **Style**: solid with occasional dashed annotation leaders

## Components

### Composition

Build screens as asymmetric manga spreads: one dominant work panel, two to four offset supporting panels, and a narrow terminal footnote rail. Preserve product clarity by anchoring every fractured element to a visible grid or caption.

### Density

Medium-high density is allowed when each layer has a job: system state, provenance, command log, or editorial annotation. Keep controls spacious enough for production UI.

### Hierarchy

Hierarchy comes from scale jumps, black border weight, condensed headline overlays, and blue annotation numbers. Body copy stays readable on bone surfaces; deconstructive text is background, label, or proof layer, not the only instruction.

### Signature Patterns

- Offset manga panels use transform rotation under two degrees plus hard black shadow to create controlled misregistration without breaking alignment.
- Transparent Cranbrook backwords span behind modules with pointer-events none, mix-blend-multiply, and clipped overflow so typography becomes architecture.
- Terminal footnotes are numbered blue mono chips connected by thin rules to fields, rows, and decisions, making agent reasoning explicit.
- Red proof marks appear as narrow absolute-positioned slashes, corner stamps, and validation ticks beside dangerous states only.
- Decorated-shed symbols label functional zones with literal signs such as QUEUE, PATCH, RISK, and TRACE rather than abstract SaaS icons.

## 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-019e8a22-6007-7db0-a373-737ed12fba32/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 black, bone, blue annotation, and tiny warning red with severe discipline.
- Do Make the scene a real technical product with queues, patches, traces, forms, tables, and agent states.
- Do Let deconstruction reveal structure: footnotes, provenance, seams, labels, and proof marks should clarify workflow.
- Do Keep controls accessible with strong contrast, visible focus brackets, and readable body sizes.
- Don't Do not use neon purple, vaporwave gradients, green matrix effects, chrome HUDs, or generic cyberpunk code rain.
- Don't Do not scatter random Memphis shapes; geometry must act as panel, label, tab, or material sign.
- Don't Do not rotate small body text or form controls into illegibility.
- Don't Do not make a generic component catalog; demonstrate a plausible product screen.

### Accessibility

Maintain WCAG AA contrast, keep body text at 16px or larger, remove panel rotations on mobile, pair warning red with labels, and provide visible keyboard focus brackets.

### Usage Context

Best for technical agent workbenches, AI review tools, provenance editors, manga-adjacent publishing software, developer operations consoles, and high-taste anti-interface marketing systems.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "cranbrook-manga-deconstruction",
  "type": "registry:theme",
  "title": "Cranbrook Manga Deconstruction shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F0E3",
      "foreground": "#111111",
      "card": "#FFF9EC",
      "card-foreground": "#111111",
      "popover": "#FFF9EC",
      "popover-foreground": "#111111",
      "primary": "#0A0A0A",
      "primary-foreground": "#ffffff",
      "secondary": "#F2EAD9",
      "secondary-foreground": "#111111",
      "muted": "#6F6A5E",
      "muted-foreground": "#111111",
      "accent": "#2358FF",
      "accent-foreground": "#ffffff",
      "destructive": "#D01B1B",
      "border": "#0A0A0A",
      "input": "#0A0A0A",
      "ring": "#2358FF",
      "chart-1": "#0A0A0A",
      "chart-2": "#F2EAD9",
      "chart-3": "#2358FF",
      "chart-4": "#1F7A3A",
      "chart-5": "#D46A00",
      "sidebar": "#FFF9EC",
      "sidebar-foreground": "#111111",
      "sidebar-primary": "#0A0A0A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#2358FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#0A0A0A",
      "sidebar-ring": "#2358FF",
      "radius": "4px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0A0A0A",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#2358FF",
      "accent-foreground": "#ffffff",
      "destructive": "#D01B1B",
      "border": "#303642",
      "input": "#303642",
      "ring": "#2358FF",
      "chart-1": "#0A0A0A",
      "chart-2": "#F2EAD9",
      "chart-3": "#2358FF",
      "chart-4": "#1F7A3A",
      "chart-5": "#D46A00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0A0A0A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#2358FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#2358FF",
      "radius": "4px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e8a22-6007-7db0-a373-737ed12fba32",
    "slug": "cranbrook-manga-deconstruction",
    "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 · cranbrook-manga-deconstruction
DESIGN.md

at a glance

Palette

Typography

headline-lgIBM Plex Sans Condensed · 29px · 700

The quick brown fox jumps

headline-mdIBM Plex Sans Condensed · 24px · 600

The quick brown fox jumps

body-mdNoto Serif JP · 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
lg8px
md4px
none0px
sm2px
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

Cranbrook Manga Deconstruction

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

rectangular manga panels with slight registration offsets, hard shadows, crop marks, and terminal footnote captions
panel 01 / agent consoleapplication-shell

Patch review with visible reasoning

Human reviewer inspects generated changes, evidence footnotes, and risk proof marks.

buttoncardtabsbadgeseparatortooltipdropdown-menutable
Cranbrook Manga Deconstruction
shadcn layer
Overview
Components
Reviews
Exports
primaryaccentsurfacemutedwarningerror
tests passed
42
risk
0.27
sources
8
Component coverage
Filters, state, and row density rendered with the generated theme.
SurfaceStateStatus
Primary flowokok
Token coveragetracetrace
Responsive proofriskrisk
Must show
Avoid
generic dashboard cards
neon cyberpunk
panel 02 / source proofdetail-editor

Annotate the agent claim

Editor binds a generated sentence to source evidence and sets acceptable uncertainty.

cardinputtextareaselectcheckboxsliderbuttonbadge
Recipe details
Labels, validation, written guidance, and controls stay visible.
Density68
FocusInvalidConfirmed
Context sheet
Generated with the language job
sheet
source path
research/lupton-deconstruction.md#18
claim note
Keep the anti-universalist language but cite the evidence.
risk threshold
27%
Must show
Avoid
rotated body text
illegible controls
panel 03 / trace ledgerdata-operations

Operation log as manga evidence table

Rows show generated actions, provenance, rollback affordances, and human notes.

tablecardsheetbadgeseparatorbuttoninputselect
Operation log as manga evidence table
Rows show generated actions, provenance, rollback affordances, and human notes.
linkedreviewheld
CheckFindingStatus
Button hierarchyapprovedlinked
Table rhythmneeds passreview
Empty statedesignedheld
Responsive table, menu, tooltip, and badge proof.
Must show
Avoid
inventory wall
faint gray dividers
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: #F7F0E3;
  --foreground: #111111;
  --card: #FFF9EC;
  --card-foreground: #111111;
  --popover: #FFF9EC;
  --popover-foreground: #111111;
  --primary: #0A0A0A;
  --primary-foreground: #ffffff;
  --secondary: #F2EAD9;
  --secondary-foreground: #111111;
  --muted: #6F6A5E;
  --muted-foreground: #111111;
  --accent: #2358FF;
  --accent-foreground: #ffffff;
  --destructive: #D01B1B;
  --border: #0A0A0A;
  --input: #0A0A0A;
  --ring: #2358FF;
  --chart-1: #0A0A0A;
  --chart-2: #F2EAD9;
  --chart-3: #2358FF;
  --chart-4: #1F7A3A;
  --chart-5: #D46A00;
  --sidebar: #FFF9EC;
  --sidebar-foreground: #111111;
  --sidebar-primary: #0A0A0A;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #2358FF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #0A0A0A;
  --sidebar-ring: #2358FF;
  --radius: 4px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #0A0A0A;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #2358FF;
  --accent-foreground: #ffffff;
  --destructive: #D01B1B;
  --border: #303642;
  --input: #303642;
  --ring: #2358FF;
  --chart-1: #0A0A0A;
  --chart-2: #F2EAD9;
  --chart-3: #2358FF;
  --chart-4: #1F7A3A;
  --chart-5: #D46A00;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #0A0A0A;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #2358FF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #2358FF;
  --radius: 4px;
}
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 CranbrookMangaDeconstructionShadcnKit() {
  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">Cranbrook Manga Deconstruction</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": "#2358FF",
      "accent-foreground": "#ffffff",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#0A0A0A",
      "chart-2": "#F2EAD9",
      "chart-3": "#2358FF",
      "chart-4": "#1F7A3A",
      "chart-5": "#D46A00",
      "destructive": "#D01B1B",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0A0A0A",
      "primary-foreground": "#ffffff",
      "radius": "4px",
      "ring": "#2358FF",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#2358FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0A0A0A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#2358FF"
    },
    "light": {
      "accent": "#2358FF",
      "accent-foreground": "#ffffff",
      "background": "#F7F0E3",
      "border": "#0A0A0A",
      "card": "#FFF9EC",
      "card-foreground": "#111111",
      "chart-1": "#0A0A0A",
      "chart-2": "#F2EAD9",
      "chart-3": "#2358FF",
      "chart-4": "#1F7A3A",
      "chart-5": "#D46A00",
      "destructive": "#D01B1B",
      "foreground": "#111111",
      "input": "#0A0A0A",
      "muted": "#6F6A5E",
      "muted-foreground": "#111111",
      "popover": "#FFF9EC",
      "popover-foreground": "#111111",
      "primary": "#0A0A0A",
      "primary-foreground": "#ffffff",
      "radius": "4px",
      "ring": "#2358FF",
      "secondary": "#F2EAD9",
      "secondary-foreground": "#111111",
      "sidebar": "#FFF9EC",
      "sidebar-accent": "#2358FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#0A0A0A",
      "sidebar-foreground": "#111111",
      "sidebar-primary": "#0A0A0A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#2358FF"
    },
    "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-019e8a22-6007-7db0-a373-737ed12fba32",
    "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": "cranbrook-manga-deconstruction",
    "source": "katagami"
  },
  "name": "cranbrook-manga-deconstruction",
  "title": "Cranbrook Manga Deconstruction shadcn Theme",
  "type": "registry:theme"
}
component recipesstored + verified
# Cranbrook Manga Deconstruction shadcn/ui Components
Author: `katagami-agent`

## Intent
Translate the language into local shadcn/ui primitives for agentic software: manga panels, visible seams, blue terminal annotations, and disciplined red proof marks.

## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, and table from `@/components/ui/*`.

## Token cues
Use `{colors.background}` bone paper, `{colors.surface}` warm paper cards, `{colors.text}` ink, `{colors.info}` annotation blue, `{colors.error}` proof red, `{borders.default_width}` black panel rules, `{spacing.base}` gutter rhythm, `{rounded.sm}` controls, and `{typography.mono_font}` for footnotes.

## Visual character to preserve
Hard black frames, restrained rotations on large containers only, transparent oversized condensed type as underlay, terminal footnote chips, blue bracket leaders, and tiny red validation marks.

## ShadSync visual profile
family: postmodern-manga-interface; material: bone-paper-ink; contour: rectangular-panels; border: heavy-black-with-blue-annotation; underlay: transparent-type; grain: subtle-halftone; stickerBadges: functional-signage; motion: correction-snap; density: medium-high; accents: annotation-blue and proof-red.

## Signature component recipes
- button: black ink primary with blue hard shadow; secondary bone with black shadow; uppercase mono label.
- card: 2px black border, bone surface, hard offset shadow, optional crop-mark pseudo element, rotation under two degrees for hero cards only.
- input: square paper field, black border, blue mono label, focus as 3px blue outline and bracket leader.
- textarea: same as input but with terminal footnote caption below.
- select: black-bordered paper field with literal QUEUE/RISK/TRACE options; no default browser arrow.
- dialog: centered manga proof sheet with thick border, transparent headline underlay, red warning slash only for destructive state.
- sheet: side annotation rail using bone material, dashed blue separators, mono numbered notes.
- tabs: chunky mono tabs; active tab is black fill with paper text; inactive tabs cast black 3px offset shadows.
- badge: literal decorated-shed labels; blue for trace, red outline for risk, black for neutral state.
- separator: black solid panel seam or blue dashed annotation leader, never faint gray hairline.
- checkbox: square ink box with blue focus bracket and red proof mark only for failing validation.
- switch: rectangular terminal toggle, black track, paper thumb, blue ON label.
- slider: black rail with rectangular handle and mono numeric readout.
- tooltip: small paper footnote chip connected visually with a blue leader line.
- dropdown-menu: paper menu as a mini panel, black separators, mono shortcuts, no blur/glass.
- table: dense evidence ledger with blue mono headers, black row rules, red text for claims requiring review.

## Preview shots
application-shell, detail-editor, and data-operations must render as polished product screenshots, not primitive inventories.

## Implementation contract
Import local primitives from `@/components/ui/*`. Do not invent new primitive systems. Use class composition to add panel borders, crop marks, annotation rails, and proof slashes. Preserve accessibility and remove rotations on mobile.

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

export function AgentProofPanel() {
  return (
    <Card className="relative rotate-[-0.6deg] border-2 border-black bg-[#FFF9EC] shadow-[7px_7px_0_#0A0A0A] rounded-[2px]">
      <CardHeader>
        <Badge className="w-fit rounded-[2px] border-2 border-black bg-[#F7F0E3] font-mono text-[#2358FF]">[04] TRACE</Badge>
        <CardTitle className="font-['IBM_Plex_Sans_Condensed'] text-4xl uppercase tracking-[-0.04em]">Patch proof queue</CardTitle>
      </CardHeader>
      <CardContent className="space-y-4">
        <Input className="rounded-[2px] border-2 border-black bg-[#FFF9EC] font-mono shadow-[3px_3px_0_#0A0A0A] focus-visible:ring-[#2358FF]" defaultValue="src/auth/session.ts#L42" />
        <Button className="rounded-[2px] border-2 border-black bg-black font-mono uppercase text-[#FFF9EC] shadow-[4px_4px_0_#2358FF]">Approve patch</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored + verified
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "card",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "input",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "textarea",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "select",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "dialog",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "sheet",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "tabs",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "badge",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "separator",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "checkbox",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "switch",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "slider",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "tooltip",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "dropdown-menu",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    },
    {
      "component": "table",
      "recipe": "Render as a square bone-paper shadcn primitive with black ink structure, mono labels, blue focus/annotation treatment, and red only for explicit risk or destructive validation."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "avoid": [
        "generic dashboard cards",
        "neon cyberpunk",
        "random decorative shapes"
      ],
      "composition": "Asymmetric manga spread with a dominant patch card, queue list, and right annotation rail.",
      "id": "application-shell",
      "mustShowStates": [
        "active black tab",
        "blue trace badge",
        "red risk row",
        "focused command switch"
      ],
      "name": "Agent patch workbench",
      "primitives": [
        "button",
        "card",
        "tabs",
        "badge",
        "separator",
        "tooltip",
        "dropdown-menu",
        "table",
        "switch"
      ],
      "scene": {
        "actions": [
          "Approve patch",
          "Send annotated retry"
        ],
        "description": "Human reviewer inspects generated changes, evidence footnotes, and risk proof marks.",
        "eyebrow": "panel 01 / agent console",
        "headline": "Patch review with visible reasoning",
        "rows": [
          {
            "delta": "+38",
            "file": "session.ts",
            "state": "ok"
          },
          {
            "delta": "+91",
            "file": "panel.css",
            "state": "trace"
          },
          {
            "delta": "-12",
            "file": "copy.md",
            "state": "risk"
          }
        ],
        "stats": [
          {
            "label": "tests passed",
            "value": "42"
          },
          {
            "label": "risk",
            "value": "0.27"
          },
          {
            "label": "sources",
            "value": "8"
          }
        ]
      }
    },
    {
      "avoid": [
        "rotated body text",
        "illegible controls",
        "wide red fills"
      ],
      "composition": "Large rotated editor panel with blue footnote labels attached to each field and a destructive confirmation dialog.",
      "id": "detail-editor",
      "mustShowStates": [
        "blue focus bracket",
        "checked provenance lock",
        "red destructive slash",
        "slider numeric risk readout"
      ],
      "name": "Source annotation editor",
      "primitives": [
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "slider",
        "button",
        "badge",
        "dialog"
      ],
      "scene": {
        "actions": [
          "Bind source",
          "Open proof dialog"
        ],
        "description": "Editor binds a generated sentence to source evidence and sets acceptable uncertainty.",
        "eyebrow": "panel 02 / source proof",
        "fields": [
          {
            "label": "source path",
            "value": "research/lupton-deconstruction.md#18"
          },
          {
            "label": "claim note",
            "value": "Keep the anti-universalist language but cite the evidence."
          },
          {
            "label": "risk threshold",
            "value": "27%"
          }
        ],
        "headline": "Annotate the agent claim"
      }
    },
    {
      "avoid": [
        "inventory wall",
        "faint gray dividers",
        "glass panels"
      ],
      "composition": "Dense evidence table with a side sheet as terminal footnote rail and literal decorated-shed zone signs.",
      "id": "data-operations",
      "mustShowStates": [
        "open annotation sheet",
        "red claim badge",
        "blue mono table headers",
        "black seam separators"
      ],
      "name": "Trace ledger operations",
      "primitives": [
        "table",
        "card",
        "sheet",
        "badge",
        "separator",
        "button",
        "input",
        "select",
        "tooltip"
      ],
      "scene": {
        "actions": [
          "Export trace",
          "Rollback selected"
        ],
        "description": "Rows show generated actions, provenance, rollback affordances, and human notes.",
        "eyebrow": "panel 03 / trace ledger",
        "headline": "Operation log as manga evidence table",
        "rows": [
          {
            "op": "fetch",
            "source": "Venturi sign study",
            "state": "linked"
          },
          {
            "op": "rewrite",
            "source": "Cranbrook type note",
            "state": "review"
          },
          {
            "op": "publish",
            "source": "component recipe",
            "state": "held"
          }
        ]
      }
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "annotation blue #2358FF",
      "proof red #D01B1B"
    ],
    "border": "2px black panel borders with blue annotation leaders",
    "contour": "rectangular-panels",
    "density": "medium-high",
    "family": "postmodern-manga-interface",
    "grain": true,
    "material": "bone-paper-ink",
    "motion": "correction-snap",
    "stickerBadges": true,
    "underlay": true
  }
}
related

More like this