back to gallery
design language·existential-manga-terminal

Existential Manga Terminal

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 restrained paper-and-ink product language where manga panel logic meets a quiet terminal prompt: warm paper surfaces carry most of the interface, ink black defines hierarchy and linework, aqua builds cool browser infrastructure, and phosphor green appears only when the system asks the user to act.
values
Paper and ink before spectacleTerminal affordances as rare moments of commandManga structure through gutters, screentones, and emphatic crops rather than illustrationAccessible contrast and semantic color disciplineCool chrome as infrastructure, not decoration
anti-values
×Cyberpunk neon overload, matrix rain, and saturated hacker theatrics×Generic rounded SaaS cards with unmotivated gradients or decorative glow×Color-only status communication or low-contrast terminal nostalgia
tokens
borders4 items
accent width
3px
character
ink-black panel borders, aqua one-pixel chrome dividers, phosphor focus outlines only on active controls
default width
2px
style
solid
colors12 items
accent
#39FF88
background
#F7F1E3
border
#11110F
error
#8A2F22
info
#8FBFC1
muted
#686862
primary
#11110F
secondary
#8FBFC1
success
#44D07B
surface
#FFF9EA
text
#11110F
warning
#C9823A
motion3 items
duration
120ms
easing
steps(2, jump-none)
philosophy
instant terminal confirmation: short stepped cursor blinks and hard state changes, never floaty easing
radii5 items
full
9999px
lg
8px
md
4px
none
0
sm
2px
semantic_colors15 items
accent.phosphor
#39FF88
accent.phosphorSoft
#44D07B
chrome.aqua
#8FBFC1
chrome.aquaWash
#D6E8E4
on.aqua
#11110F
on.ink
#F7F1E3
on.paper
#11110F
on.phosphor
#11110F
on.warning
#11110F
state.dangerInk
#8A2F22
state.warning
#C9823A
surface.paper
#F7F1E3
surface.paperRaised
#FFF9EA
text.ink
#11110F
text.mutedInk
#686862
shadows3 items
lg
8px 8px 0 rgba(17,17,15,0.92)
md
4px 4px 0 #11110F
sm
2px 2px 0 #11110F
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
paper grain plus sparse screentone dots; no gradients except utilitarian tints
card style
rectangular manga panels with square corners, hard ink offsets, internal captions, and tiny terminal status ledgers
treatment
warm uncoated paper fields with ink rules, aqua chrome rails, and optional screentone overlays
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@400;700&family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
heading font
BIZ UDPMincho
letter spacing
-0.01em
line height
1.55
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Compose screens as asymmetrical manga pages: one dominant command panel, narrow chrome/navigation rails, and smaller annotation panels separated by obvious gutters.
density

Medium-high information density is acceptable when gutters, captions, and tabular rhythm keep the page legible on paper-white surfaces.

hierarchy

Use ink weight, panel scale, mono command labels, and mincho headlines for hierarchy; color is semantic and sparse rather than decorative.

signature patterns
Panel captions sit in small ink-black or aqua title tabs that overlap the top border like manga production labels.Active actions render as phosphor command lines with a green prompt glyph, square caret, and black-on-green confirmation chips.Backgrounds and muted panels use screentone dot or hatch CSS masks at 6-10 percent opacity for tonal range without new hues.Warnings appear as small amber/rust stamps on paper with ink text, never as full-card orange surfaces.
layout
breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

grid
Desktop uses a 12-column manga-page grid with a 220px chrome rail, a dominant terminal panel, and stacked evidence panels; tablet collapses to 6 columns; mobile becomes a single guttered strip.
whitespace

Whitespace is physical gutter space: 16-24px between panels, compact 8px internal rows, and generous paper margins around the whole page.

guidance
do
  • Use #F7F1E3 or #FFF9EA for primary surfaces and #11110F for nearly all readable text.
  • Reserve phosphor green for active prompts, focus, success-like command affordances, and one or two command buttons per view.
  • Use aqua for browser chrome, tabs, borders, selections, secondary scaffolding, and informational badges.
  • Support screentone tints with patterned overlays that remain compatible with black-and-white reproduction.
  • Pair every status color with labels, icons, borders, or prompt text so meaning is not color-only.
avoid
  • Do not turn the palette into saturated cyberpunk, neon matrix rain, or black-background hacker cosplay.
  • Do not use amber/rust as a general brand accent; keep it for destructive, overdue, or warning states.
  • Do not soften the language with generic glassmorphism, gradient cards, or large blurry shadows.
  • Do not add anime characters; manga influence must remain structural and typographic.
katagami spec
# Existential Manga Terminal

## Philosophy

A restrained paper-and-ink product language where manga panel logic meets a quiet terminal prompt: warm paper surfaces carry most of the interface, ink black defines hierarchy and linework, aqua builds cool browser infrastructure, and phosphor green appears only when the system asks the user to act.

### Values

- Paper and ink before spectacle
- Terminal affordances as rare moments of command
- Manga structure through gutters, screentones, and emphatic crops rather than illustration
- Accessible contrast and semantic color discipline
- Cool chrome as infrastructure, not decoration

### Anti-Values

- Cyberpunk neon overload, matrix rain, and saturated hacker theatrics
- Generic rounded SaaS cards with unmotivated gradients or decorative glow
- Color-only status communication or low-contrast terminal nostalgia

### Visual Character

- CSS uses a warm #F7F1E3 paper body with black 2px panel rules, clipped manga gutters, and no soft drop-shadow dependency for hierarchy.
- Interactive controls reserve phosphor green borders, carets, command prefixes, and focus rings while resting controls remain paper, ink, or aqua chrome.
- Secondary scaffolding uses muted aqua strips, tab rails, selection washes, and hairline browser chrome around dense monochrome content.
- Screentone-compatible tints are built with repeating-radial-gradient and linear hatch overlays at low opacity instead of extra palette colors.

## Tokens

### Borders

- **Accent Width**: 3px
- **Character**: ink-black panel borders, aqua one-pixel chrome dividers, phosphor focus outlines only on active controls
- **Default Width**: 2px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#39FF88` |
| background | `#F7F1E3` |
| border | `#11110F` |
| error | `#8A2F22` |
| info | `#8FBFC1` |
| muted | `#686862` |
| primary | `#11110F` |
| secondary | `#8FBFC1` |
| success | `#44D07B` |
| surface | `#FFF9EA` |
| text | `#11110F` |
| warning | `#C9823A` |

### Motion

- **Duration**: 120ms
- **Easing**: steps(2, jump-none)
- **Philosophy**: instant terminal confirmation: short stepped cursor blinks and hard state changes, never floaty easing

### Radii

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

### Semantic Colors

- **Accent.Phosphor**: #39FF88
- **Accent.PhosphorSoft**: #44D07B
- **Chrome.Aqua**: #8FBFC1
- **Chrome.AquaWash**: #D6E8E4
- **On.Aqua**: #11110F
- **On.Ink**: #F7F1E3
- **On.Paper**: #11110F
- **On.Phosphor**: #11110F
- **On.Warning**: #11110F
- **State.DangerInk**: #8A2F22
- **State.Warning**: #C9823A
- **Surface.Paper**: #F7F1E3
- **Surface.PaperRaised**: #FFF9EA
- **Text.Ink**: #11110F
- **Text.MutedInk**: #686862

### Shadows

- **Lg**: 8px 8px 0 rgba(17,17,15,0.92)
- **Md**: 4px 4px 0 #11110F
- **Sm**: 2px 2px 0 #11110F

### Spacing

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

### Surfaces

- **Bg Pattern**: paper grain plus sparse screentone dots; no gradients except utilitarian tints
- **Card Style**: rectangular manga panels with square corners, hard ink offsets, internal captions, and tiny terminal status ledgers
- **Treatment**: warm uncoated paper fields with ink rules, aqua chrome rails, and optional screentone overlays

### Typography

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

## Rules

### Composition

Compose screens as asymmetrical manga pages: one dominant command panel, narrow chrome/navigation rails, and smaller annotation panels separated by obvious gutters.

### Density

Medium-high information density is acceptable when gutters, captions, and tabular rhythm keep the page legible on paper-white surfaces.

### Hierarchy

Use ink weight, panel scale, mono command labels, and mincho headlines for hierarchy; color is semantic and sparse rather than decorative.

### Signature Patterns

- Panel captions sit in small ink-black or aqua title tabs that overlap the top border like manga production labels.
- Active actions render as phosphor command lines with a green prompt glyph, square caret, and black-on-green confirmation chips.
- Backgrounds and muted panels use screentone dot or hatch CSS masks at 6-10 percent opacity for tonal range without new hues.
- Warnings appear as small amber/rust stamps on paper with ink text, never as full-card orange surfaces.

## Layout

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

### Grid

Desktop uses a 12-column manga-page grid with a 220px chrome rail, a dominant terminal panel, and stacked evidence panels; tablet collapses to 6 columns; mobile becomes a single guttered strip.

### Whitespace

Whitespace is physical gutter space: 16-24px between panels, compact 8px internal rows, and generous paper margins around the whole page.

## Guidance

### Do

- Use #F7F1E3 or #FFF9EA for primary surfaces and #11110F for nearly all readable text.
- Reserve phosphor green for active prompts, focus, success-like command affordances, and one or two command buttons per view.
- Use aqua for browser chrome, tabs, borders, selections, secondary scaffolding, and informational badges.
- Support screentone tints with patterned overlays that remain compatible with black-and-white reproduction.
- Pair every status color with labels, icons, borders, or prompt text so meaning is not color-only.

### Don't

- Do not turn the palette into saturated cyberpunk, neon matrix rain, or black-background hacker cosplay.
- Do not use amber/rust as a general brand accent; keep it for destructive, overdue, or warning states.
- Do not soften the language with generic glassmorphism, gradient cards, or large blurry shadows.
- Do not add anime characters; manga influence must remain structural and typographic.

### Accessibility

Core paper/ink and ink/paper pairings exceed WCAG contrast; #39FF88 is used with black text or as border/focus on paper; aqua is paired with ink text; amber warning includes ink text and iconography.
DESIGN.md
---
version: "alpha"
name: "Existential Manga Terminal"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#39FF88"
  background: "#F7F1E3"
  border: "#11110F"
  error: "#8A2F22"
  info: "#8FBFC1"
  muted: "#686862"
  primary: "#11110F"
  secondary: "#8FBFC1"
  success: "#44D07B"
  surface: "#FFF9EA"
  text: "#11110F"
  warning: "#C9823A"
typography:
  headline-lg:
    fontFamily: "BIZ UDPMincho"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "BIZ UDPMincho"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.01em"
  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"
---

# Existential Manga Terminal

## Overview

A restrained paper-and-ink product language where manga panel logic meets a quiet terminal prompt: warm paper surfaces carry most of the interface, ink black defines hierarchy and linework, aqua builds cool browser infrastructure, and phosphor green appears only when the system asks the user to act.

### Values

- Paper and ink before spectacle
- Terminal affordances as rare moments of command
- Manga structure through gutters, screentones, and emphatic crops rather than illustration
- Accessible contrast and semantic color discipline
- Cool chrome as infrastructure, not decoration

### Anti-Values

- Cyberpunk neon overload, matrix rain, and saturated hacker theatrics
- Generic rounded SaaS cards with unmotivated gradients or decorative glow
- Color-only status communication or low-contrast terminal nostalgia

### Visual Character

- CSS uses a warm #F7F1E3 paper body with black 2px panel rules, clipped manga gutters, and no soft drop-shadow dependency for hierarchy.
- Interactive controls reserve phosphor green borders, carets, command prefixes, and focus rings while resting controls remain paper, ink, or aqua chrome.
- Secondary scaffolding uses muted aqua strips, tab rails, selection washes, and hairline browser chrome around dense monochrome content.
- Screentone-compatible tints are built with repeating-radial-gradient and linear hatch overlays at low opacity instead of extra palette colors.

## 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 | `#39FF88` |
| background | `#F7F1E3` |
| border | `#11110F` |
| error | `#8A2F22` |
| info | `#8FBFC1` |
| muted | `#686862` |
| primary | `#11110F` |
| secondary | `#8FBFC1` |
| success | `#44D07B` |
| surface | `#FFF9EA` |
| text | `#11110F` |
| warning | `#C9823A` |

## Typography

- **Headline-Lg**: BIZ UDPMincho, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: BIZ UDPMincho, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.55.
- **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, tablet 768px, desktop 1200px, wide 1440px

### Grid

Desktop uses a 12-column manga-page grid with a 220px chrome rail, a dominant terminal panel, and stacked evidence panels; tablet collapses to 6 columns; mobile becomes a single guttered strip.

### Whitespace

Whitespace is physical gutter space: 16-24px between panels, compact 8px internal rows, and generous paper margins around the whole page.

## Elevation & Depth

### Shadows

- **Lg**: 8px 8px 0 rgba(17,17,15,0.92)
- **Md**: 4px 4px 0 #11110F
- **Sm**: 2px 2px 0 #11110F

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: paper grain plus sparse screentone dots; no gradients except utilitarian tints
- **Card Style**: rectangular manga panels with square corners, hard ink offsets, internal captions, and tiny terminal status ledgers
- **Treatment**: warm uncoated paper fields with ink rules, aqua chrome rails, and optional screentone overlays

### Borders

- **Accent Width**: 3px
- **Character**: ink-black panel borders, aqua one-pixel chrome dividers, phosphor focus outlines only on active controls
- **Default Width**: 2px
- **Style**: solid

## Components

### Composition

Compose screens as asymmetrical manga pages: one dominant command panel, narrow chrome/navigation rails, and smaller annotation panels separated by obvious gutters.

### Density

Medium-high information density is acceptable when gutters, captions, and tabular rhythm keep the page legible on paper-white surfaces.

### Hierarchy

Use ink weight, panel scale, mono command labels, and mincho headlines for hierarchy; color is semantic and sparse rather than decorative.

### Signature Patterns

- Panel captions sit in small ink-black or aqua title tabs that overlap the top border like manga production labels.
- Active actions render as phosphor command lines with a green prompt glyph, square caret, and black-on-green confirmation chips.
- Backgrounds and muted panels use screentone dot or hatch CSS masks at 6-10 percent opacity for tonal range without new hues.
- Warnings appear as small amber/rust stamps on paper with ink text, never as full-card orange 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-019eae01-f9c3-7280-99b3-3625e030dc7d/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 #F7F1E3 or #FFF9EA for primary surfaces and #11110F for nearly all readable text.
- Do Reserve phosphor green for active prompts, focus, success-like command affordances, and one or two command buttons per view.
- Do Use aqua for browser chrome, tabs, borders, selections, secondary scaffolding, and informational badges.
- Do Support screentone tints with patterned overlays that remain compatible with black-and-white reproduction.
- Do Pair every status color with labels, icons, borders, or prompt text so meaning is not color-only.
- Don't Do not turn the palette into saturated cyberpunk, neon matrix rain, or black-background hacker cosplay.
- Don't Do not use amber/rust as a general brand accent; keep it for destructive, overdue, or warning states.
- Don't Do not soften the language with generic glassmorphism, gradient cards, or large blurry shadows.
- Don't Do not add anime characters; manga influence must remain structural and typographic.

### Accessibility

Core paper/ink and ink/paper pairings exceed WCAG contrast; #39FF88 is used with black text or as border/focus on paper; aqua is paired with ink text; amber warning includes ink text and iconography.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "existential-manga-terminal",
  "type": "registry:theme",
  "title": "Existential Manga Terminal shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F1E3",
      "foreground": "#11110F",
      "card": "#FFF9EA",
      "card-foreground": "#11110F",
      "popover": "#FFF9EA",
      "popover-foreground": "#11110F",
      "primary": "#11110F",
      "primary-foreground": "#ffffff",
      "secondary": "#8FBFC1",
      "secondary-foreground": "#ffffff",
      "muted": "#686862",
      "muted-foreground": "#11110F",
      "accent": "#39FF88",
      "accent-foreground": "#111111",
      "destructive": "#8A2F22",
      "border": "#11110F",
      "input": "#11110F",
      "ring": "#39FF88",
      "chart-1": "#11110F",
      "chart-2": "#8FBFC1",
      "chart-3": "#39FF88",
      "chart-4": "#44D07B",
      "chart-5": "#C9823A",
      "sidebar": "#FFF9EA",
      "sidebar-foreground": "#11110F",
      "sidebar-primary": "#11110F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#8FBFC1",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#11110F",
      "sidebar-ring": "#39FF88",
      "radius": "4px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#11110F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#39FF88",
      "accent-foreground": "#111111",
      "destructive": "#8A2F22",
      "border": "#303642",
      "input": "#303642",
      "ring": "#39FF88",
      "chart-1": "#11110F",
      "chart-2": "#8FBFC1",
      "chart-3": "#39FF88",
      "chart-4": "#44D07B",
      "chart-5": "#C9823A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#11110F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#39FF88",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#39FF88",
      "radius": "4px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019eae01-f9c3-7280-99b3-3625e030dc7d",
    "slug": "existential-manga-terminal",
    "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"
      ],
      "semantic_colors": [
        "accent.phosphor",
        "accent.phosphorSoft",
        "chrome.aqua",
        "chrome.aquaWash",
        "on.aqua",
        "on.ink",
        "on.paper",
        "on.phosphor",
        "on.warning",
        "state.dangerInk",
        "state.warning",
        "surface.paper",
        "surface.paperRaised",
        "text.ink",
        "text.mutedInk"
      ],
      "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 · existential-manga-terminal
DESIGN.md

at a glance

Palette

Typography

headline-lgBIZ UDPMincho · 29px · 700

The quick brown fox jumps

headline-mdBIZ UDPMincho · 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
lg8px
md4px
none0px
sm2px
shadcn/ui

implementation kit

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

DESIGN.md with shadcn

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

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #F7F1E3;
  --foreground: #11110F;
  --card: #FFF9EA;
  --card-foreground: #11110F;
  --popover: #FFF9EA;
  --popover-foreground: #11110F;
  --primary: #11110F;
  --primary-foreground: #ffffff;
  --secondary: #8FBFC1;
  --secondary-foreground: #ffffff;
  --muted: #686862;
  --muted-foreground: #11110F;
  --accent: #39FF88;
  --accent-foreground: #111111;
  --destructive: #8A2F22;
  --border: #11110F;
  --input: #11110F;
  --ring: #39FF88;
  --chart-1: #11110F;
  --chart-2: #8FBFC1;
  --chart-3: #39FF88;
  --chart-4: #44D07B;
  --chart-5: #C9823A;
  --sidebar: #FFF9EA;
  --sidebar-foreground: #11110F;
  --sidebar-primary: #11110F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #8FBFC1;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #11110F;
  --sidebar-ring: #39FF88;
  --radius: 4px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #11110F;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #39FF88;
  --accent-foreground: #111111;
  --destructive: #8A2F22;
  --border: #303642;
  --input: #303642;
  --ring: #39FF88;
  --chart-1: #11110F;
  --chart-2: #8FBFC1;
  --chart-3: #39FF88;
  --chart-4: #44D07B;
  --chart-5: #C9823A;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #11110F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #39FF88;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #303642;
  --sidebar-ring: #39FF88;
  --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 ExistentialMangaTerminalShadcnKit() {
  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">Existential Manga Terminal</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

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

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONcompatibility fallback
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "existential-manga-terminal",
  "type": "registry:theme",
  "title": "Existential Manga Terminal shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F1E3",
      "foreground": "#11110F",
      "card": "#FFF9EA",
      "card-foreground": "#11110F",
      "popover": "#FFF9EA",
      "popover-foreground": "#11110F",
      "primary": "#11110F",
      "primary-foreground": "#ffffff",
      "secondary": "#8FBFC1",
      "secondary-foreground": "#ffffff",
      "muted": "#686862",
      "muted-foreground": "#11110F",
      "accent": "#39FF88",
      "accent-foreground": "#111111",
      "destructive": "#8A2F22",
      "border": "#11110F",
      "input": "#11110F",
      "ring": "#39FF88",
      "chart-1": "#11110F",
      "chart-2": "#8FBFC1",
      "chart-3": "#39FF88",
      "chart-4": "#44D07B",
      "chart-5": "#C9823A",
      "sidebar": "#FFF9EA",
      "sidebar-foreground": "#11110F",
      "sidebar-primary": "#11110F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#8FBFC1",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#11110F",
      "sidebar-ring": "#39FF88",
      "radius": "4px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#11110F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#39FF88",
      "accent-foreground": "#111111",
      "destructive": "#8A2F22",
      "border": "#303642",
      "input": "#303642",
      "ring": "#39FF88",
      "chart-1": "#11110F",
      "chart-2": "#8FBFC1",
      "chart-3": "#39FF88",
      "chart-4": "#44D07B",
      "chart-5": "#C9823A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#11110F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#39FF88",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#39FF88",
      "radius": "4px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019eae01-f9c3-7280-99b3-3625e030dc7d",
    "slug": "existential-manga-terminal",
    "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"
      ],
      "semantic_colors": [
        "accent.phosphor",
        "accent.phosphorSoft",
        "chrome.aqua",
        "chrome.aquaWash",
        "on.aqua",
        "on.ink",
        "on.paper",
        "on.phosphor",
        "on.warning",
        "state.dangerInk",
        "state.warning",
        "surface.paper",
        "surface.paperRaised",
        "text.ink",
        "text.mutedInk"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipesstored + verified
# Existential Manga Terminal shadcn/ui Components
Author: `katagami-agent`

## Intent
Translate the paper/ink/phosphor/aqua palette into shadcn screens that feel like manga page architecture wrapped around a terminal prompt. Keep surfaces warm, linework hard, green rare, and warning amber restrained.

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

## ShadSync visual profile
family: existential-manga-terminal; material: warm-paper; contour: square-panel; border: ink-2px; underlay: screentone; grain: true; stickerBadges: caption-tabs; motion: stepped-terminal; density: medium-high; accents: phosphor-command and aqua-chrome.

## Signature component recipes
- button: Use `Button` with `rounded-[2px] border-2 border-ink bg-paper shadow-[2px_2px_0_#11110F] font-mono uppercase tracking-wide`; primary uses phosphor fill and black text, destructive uses amber with an ink warning icon.
- card: Use `Card` as warm paper panel with 2px ink border, clipped screentone pseudo-layer, overlapped caption tab, and hard 4px offset shadow.
- input: Use `Input` with paper fill, ink border, mono value text, aqua helper rail, and phosphor focus-visible ring.
- textarea: Same field system as input, with ruled-line background for long prompt notes and explicit error text under the border.
- select: Use `Select` trigger as a compact terminal cell with aqua chevron block and ink dropdown menu.
- dialog: Use `DialogContent` as a centered manga panel with caption tab, hard shadow, and clear phosphor confirm button.
- sheet: Use `SheetContent` with aqua spine, paper surface, command badges, and dense mono metadata rows.
- tabs: Use `TabsList` as an aqua rail; active `TabsTrigger` is paper with ink border and a clipped under-tab.
- badge: Use small mono caption tabs; status badges combine text, icon, and border pattern rather than relying on color alone.
- separator: Use 2px ink rules or dotted screentone gutters, never faint hairlines.
- checkbox: Square ink-framed box with phosphor check glyph and label text aligned to the manga grid.
- switch: Rectangular terminal toggle with hard thumb movement, ink outline, and phosphor on-state.
- slider: Ink track with phosphor range fill and square thumb; include mono min/max marks.
- tooltip: Paper tooltip with 2px ink border, small caption arrow, and mono command hint.
- dropdown-menu: Paper menu, ink dividers, aqua active row, mono shortcut column.
- table: Ledger table with mono IDs, 2px top rules, alternating screentone rows, and sticky caption badges.

## Preview shots
- application-shell: asymmetric manga-page command dashboard with rail, command card, and ledger table.
- detail-editor: prompt editing form with fields, tabs, dialog state, and validation messaging.
- data-operations: operations table with filters, dropdown actions, switch, slider, and sheet details.

## 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 MangaTerminalPanel() {
  return (
    <Card className="relative rounded-[2px] border-2 border-[#11110F] bg-[#FFF9EA] shadow-[4px_4px_0_#11110F] before:absolute before:inset-0 before:bg-[radial-gradient(rgba(17,17,15,.10)_1px,transparent_1px)] before:bg-[length:8px_8px] before:opacity-30">
      <CardHeader className="relative border-b-2 border-[#11110F] bg-[#D6E8E4] font-mono uppercase tracking-[.08em]">
        <Badge className="w-fit rounded-[2px] border-2 border-[#11110F] bg-[#C8FF4D] text-[#11110F]">READY</Badge>
        <CardTitle className="font-serif text-2xl">Null Desk command review</CardTitle>
      </CardHeader>
      <CardContent className="relative grid gap-4 p-5">
        <Input className="rounded-[2px] border-2 border-[#11110F] bg-[#F7F1E3] font-mono focus-visible:ring-4 focus-visible:ring-[#C8FF4D]" placeholder="inspect meaning drift" />
        <Button className="rounded-[2px] border-2 border-[#11110F] bg-[#C8FF4D] font-mono text-[#11110F] shadow-[2px_2px_0_#11110F] hover:translate-x-[1px] hover:translate-y-[1px]">$ commit prompt</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotscompatibility fallback
{
  "artifact": "katagami:shadcn-preview-shots",
  "version": "preview-shots-v1",
  "generator": "katagami-ui-compatibility-projection",
  "generatedBy": "katagami-ui-projection",
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "renderable": true,
  "language": {
    "id": "en-019eae01-f9c3-7280-99b3-3625e030dc7d",
    "name": "Existential Manga Terminal",
    "slug": "existential-manga-terminal"
  },
  "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
  "primitives": [
    "button",
    "card",
    "input",
    "textarea",
    "select",
    "dialog",
    "sheet",
    "tabs",
    "badge",
    "separator",
    "checkbox",
    "switch",
    "slider",
    "tooltip",
    "dropdown-menu",
    "table"
  ],
  "identityNotes": [
    "CSS uses a warm #F7F1E3 paper body with black 2px panel rules, clipped manga gutters, and no soft drop-shadow dependency for hierarchy.",
    "Interactive controls reserve phosphor green borders, carets, command prefixes, and focus rings while resting controls remain paper, ink, or aqua chrome.",
    "Secondary scaffolding uses muted aqua strips, tab rails, selection washes, and hairline browser chrome around dense monochrome content.",
    "Screentone-compatible tints are built with repeating-radial-gradient and linear hatch overlays at low opacity instead of extra palette colors."
  ],
  "visualProfile": {
    "family": "paper-collage",
    "material": "paper",
    "contour": "default",
    "border": "solid",
    "underlay": false,
    "grain": true,
    "stickerBadges": true,
    "motion": "still",
    "density": "dense",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Existential Manga Terminal launch room",
        "description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
        "primaryAction": "Apply theme",
        "secondaryAction": "Review states",
        "stats": [
          {
            "label": "components",
            "value": "16",
            "tone": "accent"
          },
          {
            "label": "states",
            "value": "ready"
          },
          {
            "label": "density",
            "value": "balanced",
            "tone": "warning"
          }
        ],
        "rows": [
          {
            "label": "Primary flow",
            "value": "mapped",
            "status": "active"
          },
          {
            "label": "Token coverage",
            "value": "semantic",
            "status": "synced"
          },
          {
            "label": "Responsive proof",
            "value": "queued",
            "status": "review"
          }
        ],
        "statuses": [
          "Active",
          "Synced",
          "Draft"
        ]
      }
    },
    {
      "id": "detail-editor",
      "title": "Detail editor",
      "viewport": "tablet",
      "primitives": [
        "button",
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "sheet"
      ],
      "composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
      "mustShow": [
        "focus ring",
        "error or destructive state",
        "dialog or sheet treatment",
        "written guidance content"
      ],
      "avoid": [
        "unstyled browser controls",
        "floating cards inside cards",
        "missing labels"
      ],
      "scene": {
        "eyebrow": "editing flow",
        "headline": "Language recipe editor",
        "description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
        "primaryAction": "Save recipe",
        "secondaryAction": "Open sheet",
        "fields": [
          {
            "label": "Component family",
            "value": "Narrative cards"
          },
          {
            "label": "State treatment",
            "value": "Visible focus + validation"
          },
          {
            "label": "Motion",
            "value": "Small lift, no opacity-only fade"
          }
        ],
        "statuses": [
          "Focus",
          "Invalid",
          "Confirmed"
        ]
      }
    },
    {
      "id": "data-operations",
      "title": "Data operations",
      "viewport": "mobile",
      "primitives": [
        "button",
        "tabs",
        "badge",
        "dropdown-menu",
        "table",
        "tooltip",
        "separator"
      ],
      "composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
      "mustShow": [
        "responsive reflow",
        "dense row styling",
        "menu affordance",
        "status badge system"
      ],
      "avoid": [
        "desktop-only tables",
        "text overflow",
        "default shadcn spacing without Katagami character"
      ],
      "scene": {
        "eyebrow": "operations",
        "headline": "Compact review queue",
        "description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
        "primaryAction": "Resolve",
        "secondaryAction": "Filter",
        "rows": [
          {
            "label": "Button hierarchy",
            "value": "approved",
            "status": "ok"
          },
          {
            "label": "Table rhythm",
            "value": "needs pass",
            "status": "watch"
          },
          {
            "label": "Empty state",
            "value": "designed",
            "status": "done"
          }
        ],
        "statuses": [
          "Queued",
          "Blocked",
          "Done"
        ]
      }
    }
  ],
  "componentRecipes": [
    {
      "primitive": "button",
      "intent": "Prove action hierarchy, focus, disabled, and destructive states."
    },
    {
      "primitive": "card",
      "intent": "Carry the language surface, border, elevation, and density rules."
    },
    {
      "primitive": "input",
      "intent": "Show labels, focus rings, validation, and spacing rhythm."
    },
    {
      "primitive": "textarea",
      "intent": "Show longer guidance, validation copy, and writing density."
    },
    {
      "primitive": "select",
      "intent": "Show filtering, selection contrast, and menu trigger styling."
    },
    {
      "primitive": "dialog",
      "intent": "Show centered decision states and overlay treatment."
    },
    {
      "primitive": "sheet",
      "intent": "Show contextual side panels and responsive editing."
    },
    {
      "primitive": "tabs",
      "intent": "Show navigational structure and active/inactive contrast."
    },
    {
      "primitive": "badge",
      "intent": "Show compact status vocabulary and semantic colors."
    },
    {
      "primitive": "separator",
      "intent": "Show section rhythm without generic gray dividers."
    },
    {
      "primitive": "checkbox",
      "intent": "Show binary selection with visible focus and checked states."
    },
    {
      "primitive": "switch",
      "intent": "Show settings toggles and on/off contrast."
    },
    {
      "primitive": "slider",
      "intent": "Show numeric adjustment with track/thumb styling."
    },
    {
      "primitive": "tooltip",
      "intent": "Show concise explanation styling above compact controls."
    },
    {
      "primitive": "dropdown-menu",
      "intent": "Show action menus, destructive items, and grouped choices."
    },
    {
      "primitive": "table",
      "intent": "Show dense operational data, separators, row states, and responsive behavior."
    }
  ],
  "qualityRules": {
    "do": [
      "Use #F7F1E3 or #FFF9EA for primary surfaces and #11110F for nearly all readable text.",
      "Reserve phosphor green for active prompts, focus, success-like command affordances, and one or two command buttons per view.",
      "Use aqua for browser chrome, tabs, borders, selections, secondary scaffolding, and informational badges.",
      "Support screentone tints with patterned overlays that remain compatible with black-and-white reproduction.",
      "Pair every status color with labels, icons, borders, or prompt text so meaning is not color-only."
    ],
    "dont": [
      "Do not turn the palette into saturated cyberpunk, neon matrix rain, or black-background hacker cosplay.",
      "Do not use amber/rust as a general brand accent; keep it for destructive, overdue, or warning states.",
      "Do not soften the language with generic glassmorphism, gradient cards, or large blurry shadows.",
      "Do not add anime characters; manga influence must remain structural and typographic."
    ]
  }
}
related

More like this