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.
specification
philosophy
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
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
Compose screens as asymmetrical manga pages: one dominant command panel, narrow chrome/navigation rails, and smaller annotation panels separated by obvious gutters.
Medium-high information density is acceptable when gutters, captions, and tabular rhythm keep the page legible on paper-white surfaces.
Use ink weight, panel scale, mono command labels, and mincho headlines for hierarchy; color is semantic and sparse rather than decorative.
layout
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
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 is physical gutter space: 16-24px between panels, compact 8px internal rows, and generous paper margins around the whole page.
guidance
- 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.
- 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"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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
implementation kit
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table: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;
}
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>
);
}
{
"$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"
]
}
}
}
# 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>
)
}
```
{
"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."
]
}
}