Terminal Memphis Pluralism
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
- 4px
- character
- Ink-heavy comic frame borders interrupted by precise terminal focus bars and sticker-tab seams.
- default width
- 2px
- style
- solid with occasional dashed registration guides
colors12 items
motion3 items
- duration
- 160ms
- easing
- steps(2, jump-none)
- philosophy
- Motion behaves like terminal state changes and print registration snaps: short stepped shifts, no floaty cyberpunk easing.
radii5 items
- full
- 9999px
- lg
- 14px
- md
- 6px
- none
- 0
- sm
- 2px
shadows3 items
- lg
- 12px 12px 0 rgba(5,5,5,0.92)
- md
- 7px 7px 0 #050505
- sm
- 3px 3px 0 #050505
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- Sparse registration crosses, terminal grid dots, halftone islands, and Memphis primary geometry fragments at low visual duty cycle.
- card style
- Hard-edged bordered panels with offset cream or black shadow plates, diagonal hatch zones, and clipped sticker tabs.
- treatment
- Cream paper base with white manga panels, black ink halftone overlays, and tiny laminate color chips used as metadata.
typography8 items
- base size
- 16px
- body font
- Noto Sans JP
- google fonts url
- https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Space+Grotesk:wght@500;600;700&display=swap
- heading font
- Space Grotesk
- letter spacing
- -0.015em
- line height
- 1.48
- mono font
- IBM Plex Mono
- scale ratio
- 1.24
rules
Compose screens as a plural editorial interface: a rational terminal shell is interrupted by manga panel crops, Memphis object tabs, and one deliberate anti-grid typographic quotation.
Medium-high information density with generous gutters; panels can be busy internally but the overall viewport must preserve readable product structure.
Lead with a bold condensed product command headline, then use monospace status rails, boxed Japanese-manga-like annotations, and color only for critical state or diagram emphasis.
layout
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
Twelve-column desktop grid nested inside asymmetrical manga panels; tablet collapses to six columns and mobile stacks panels with rotated rails converted to top labels.
Whitespace is treated as comic gutter and terminal breathing room: cream margins stay calm while panel interiors carry controlled collisions.
guidance
- Use black and white as the dominant read, then add one or two precise accent tokens for state, object identity, or diagram function.
- Quote Memphis through object construction, laminate chips, awkward geometry, and named historic lineage rather than repeating generic squiggle backgrounds.
- Let one typographic element break the grid while tables, forms, and navigation retain strict terminal usability.
- Apply halftone, hatching, and registration marks sparingly so the product still feels high-taste and technical.
- Do not make a neon cyberpunk dashboard with glow, fog, chrome gradients, or purple-blue ambience.
- Do not fill the screen with Memphis confetti or pastel Y2K stickers that have no interface role.
- Do not hide core labels, table values, or form affordances behind experimental illegibility.
- Do not smooth everything into generic SaaS cards; keep the ink border, object shadow, and anti-modern tension visible.
katagami spec
# Terminal Memphis Pluralism ## Philosophy Terminal Memphis Pluralism translates postmodern graphic dissent into a restrained Katagami product language: black-and-white manga panels, terminal-grade hierarchy, New Wave typographic interruption, and small Memphis object-signals used as meaningful UI state rather than nostalgic decoration. ### Values - plural systems in productive tension - ironic historic quotation with provenance - technical clarity under expressive pressure - black-and-white restraint with precise state color - object-like interfaces that feel authored ### Anti-Values - generic cyberpunk glow and neon fog - full-screen Y2K noise or Memphis confetti - flat modernist neutrality pretending to be universal - illegibility that blocks product comprehension ### Visual Character - Use a black-white manga panel grid with thick 2px to 4px black borders, offset cream shadow plates, and visible gutters that behave like comic frames. - Place small Memphis/Y2K accent tokens as stateful stickers, corner tabs, diagram dots, laminate chips, and object-surface labels instead of flooding backgrounds with color. - Break the rational terminal layout with controlled New Wave typography: rotated micro-labels, stepped monospace captions, overlapped numerals, and one anti-grid headline per viewport. - Build collage/history quotation through halftone manga texture, faux photocopy registration marks, wireframe terminal readouts, and primary geometry fragments clipped inside panels. - Keep controls technical and agentic with square terminal inputs, cursor-like focus bars, command badges, data tables, and status chips that remain usable under the postmodern skin. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: Ink-heavy comic frame borders interrupted by precise terminal focus bars and sticker-tab seams. - **Default Width**: 2px - **Style**: solid with occasional dashed registration guides ### Colors | Name | Value | |------|-------| | accent | `#00E5FF` | | background | `#FAF7EE` | | border | `#050505` | | error | `#FF2BA6` | | info | `#00E5FF` | | muted | `#6D6A61` | | primary | `#050505` | | secondary | `#F4E8CF` | | success | `#39FF14` | | surface | `#FFFFFF` | | text | `#050505` | | warning | `#FFE100` | ### Motion - **Duration**: 160ms - **Easing**: steps(2, jump-none) - **Philosophy**: Motion behaves like terminal state changes and print registration snaps: short stepped shifts, no floaty cyberpunk easing. ### Radii - **Full**: 9999px - **Lg**: 14px - **Md**: 6px - **None**: 0 - **Sm**: 2px ### Shadows - **Lg**: 12px 12px 0 rgba(5,5,5,0.92) - **Md**: 7px 7px 0 #050505 - **Sm**: 3px 3px 0 #050505 ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: Sparse registration crosses, terminal grid dots, halftone islands, and Memphis primary geometry fragments at low visual duty cycle. - **Card Style**: Hard-edged bordered panels with offset cream or black shadow plates, diagonal hatch zones, and clipped sticker tabs. - **Treatment**: Cream paper base with white manga panels, black ink halftone overlays, and tiny laminate color chips used as metadata. ### Typography - **Base Size**: 16px - **Body Font**: Noto Sans JP - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Space+Grotesk:wght@500;600;700&display=swap - **Heading Font**: Space Grotesk - **Letter Spacing**: -0.015em - **Line Height**: 1.48 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.24 ## Rules ### Composition Compose screens as a plural editorial interface: a rational terminal shell is interrupted by manga panel crops, Memphis object tabs, and one deliberate anti-grid typographic quotation. ### Density Medium-high information density with generous gutters; panels can be busy internally but the overall viewport must preserve readable product structure. ### Hierarchy Lead with a bold condensed product command headline, then use monospace status rails, boxed Japanese-manga-like annotations, and color only for critical state or diagram emphasis. ### Signature Patterns - Offset-object cards: every major surface receives a black or cream duplicate layer translated 6px to 12px, making the UI feel like a Sottsass object placed on a manga page. - Stateful Memphis tokens: cyan circles, magenta warning lozenges, terminal-green command pills, and yellow primary geometry appear only as labels, switches, handles, or live-state diagrams. - Swiss Punk terminal type: mono labels may rotate ninety degrees, collide with borders, or step along gutters while body copy and controls remain aligned and legible. - Historic quotation collage: halftone manga dots, registration crosses, photocopy hatching, and clipped classical frame fragments are layered as evidence of construction, not wallpaper. - Command-panel controls: inputs, buttons, tabs, and tables use square ink borders, cursor bars, bracket glyphs, and compact machine-status metadata. ## Layout ### Breakpoints mobile 375px, tablet 768px, desktop 1200px, wide 1440px ### Grid Twelve-column desktop grid nested inside asymmetrical manga panels; tablet collapses to six columns and mobile stacks panels with rotated rails converted to top labels. ### Whitespace Whitespace is treated as comic gutter and terminal breathing room: cream margins stay calm while panel interiors carry controlled collisions. ## Guidance ### Do - Use black and white as the dominant read, then add one or two precise accent tokens for state, object identity, or diagram function. - Quote Memphis through object construction, laminate chips, awkward geometry, and named historic lineage rather than repeating generic squiggle backgrounds. - Let one typographic element break the grid while tables, forms, and navigation retain strict terminal usability. - Apply halftone, hatching, and registration marks sparingly so the product still feels high-taste and technical. ### Don't - Do not make a neon cyberpunk dashboard with glow, fog, chrome gradients, or purple-blue ambience. - Do not fill the screen with Memphis confetti or pastel Y2K stickers that have no interface role. - Do not hide core labels, table values, or form affordances behind experimental illegibility. - Do not smooth everything into generic SaaS cards; keep the ink border, object shadow, and anti-modern tension visible.
DESIGN.md
---
version: "alpha"
name: "Terminal Memphis Pluralism"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#00E5FF"
background: "#FAF7EE"
border: "#050505"
error: "#FF2BA6"
info: "#00E5FF"
muted: "#6D6A61"
primary: "#050505"
secondary: "#F4E8CF"
success: "#39FF14"
surface: "#FFFFFF"
text: "#050505"
warning: "#FFE100"
typography:
headline-lg:
fontFamily: "Space Grotesk"
fontSize: "1.907rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Space Grotesk"
fontSize: "1.538rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.015em"
body-md:
fontFamily: "Noto Sans 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: "14px"
md: "6px"
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"
---
# Terminal Memphis Pluralism
## Overview
Terminal Memphis Pluralism translates postmodern graphic dissent into a restrained Katagami product language: black-and-white manga panels, terminal-grade hierarchy, New Wave typographic interruption, and small Memphis object-signals used as meaningful UI state rather than nostalgic decoration.
### Values
- plural systems in productive tension
- ironic historic quotation with provenance
- technical clarity under expressive pressure
- black-and-white restraint with precise state color
- object-like interfaces that feel authored
### Anti-Values
- generic cyberpunk glow and neon fog
- full-screen Y2K noise or Memphis confetti
- flat modernist neutrality pretending to be universal
- illegibility that blocks product comprehension
### Visual Character
- Use a black-white manga panel grid with thick 2px to 4px black borders, offset cream shadow plates, and visible gutters that behave like comic frames.
- Place small Memphis/Y2K accent tokens as stateful stickers, corner tabs, diagram dots, laminate chips, and object-surface labels instead of flooding backgrounds with color.
- Break the rational terminal layout with controlled New Wave typography: rotated micro-labels, stepped monospace captions, overlapped numerals, and one anti-grid headline per viewport.
- Build collage/history quotation through halftone manga texture, faux photocopy registration marks, wireframe terminal readouts, and primary geometry fragments clipped inside panels.
- Keep controls technical and agentic with square terminal inputs, cursor-like focus bars, command badges, data tables, and status chips that remain usable under the postmodern skin.
## 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 | `#00E5FF` |
| background | `#FAF7EE` |
| border | `#050505` |
| error | `#FF2BA6` |
| info | `#00E5FF` |
| muted | `#6D6A61` |
| primary | `#050505` |
| secondary | `#F4E8CF` |
| success | `#39FF14` |
| surface | `#FFFFFF` |
| text | `#050505` |
| warning | `#FFE100` |
## Typography
- **Headline-Lg**: Space Grotesk, 1.907rem, weight 700, line-height 1.1.
- **Headline-Md**: Space Grotesk, 1.538rem, weight 600, line-height 1.15.
- **Body-Md**: Noto Sans 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
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
### Grid
Twelve-column desktop grid nested inside asymmetrical manga panels; tablet collapses to six columns and mobile stacks panels with rotated rails converted to top labels.
### Whitespace
Whitespace is treated as comic gutter and terminal breathing room: cream margins stay calm while panel interiors carry controlled collisions.
## Elevation & Depth
### Shadows
- **Lg**: 12px 12px 0 rgba(5,5,5,0.92)
- **Md**: 7px 7px 0 #050505
- **Sm**: 3px 3px 0 #050505
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `14px`
- **Md**: `6px`
- **None**: `0px`
- **Sm**: `2px`
### Surfaces
- **Bg Pattern**: Sparse registration crosses, terminal grid dots, halftone islands, and Memphis primary geometry fragments at low visual duty cycle.
- **Card Style**: Hard-edged bordered panels with offset cream or black shadow plates, diagonal hatch zones, and clipped sticker tabs.
- **Treatment**: Cream paper base with white manga panels, black ink halftone overlays, and tiny laminate color chips used as metadata.
### Borders
- **Accent Width**: 4px
- **Character**: Ink-heavy comic frame borders interrupted by precise terminal focus bars and sticker-tab seams.
- **Default Width**: 2px
- **Style**: solid with occasional dashed registration guides
## Components
### Composition
Compose screens as a plural editorial interface: a rational terminal shell is interrupted by manga panel crops, Memphis object tabs, and one deliberate anti-grid typographic quotation.
### Density
Medium-high information density with generous gutters; panels can be busy internally but the overall viewport must preserve readable product structure.
### Hierarchy
Lead with a bold condensed product command headline, then use monospace status rails, boxed Japanese-manga-like annotations, and color only for critical state or diagram emphasis.
### Signature Patterns
- Offset-object cards: every major surface receives a black or cream duplicate layer translated 6px to 12px, making the UI feel like a Sottsass object placed on a manga page.
- Stateful Memphis tokens: cyan circles, magenta warning lozenges, terminal-green command pills, and yellow primary geometry appear only as labels, switches, handles, or live-state diagrams.
- Swiss Punk terminal type: mono labels may rotate ninety degrees, collide with borders, or step along gutters while body copy and controls remain aligned and legible.
- Historic quotation collage: halftone manga dots, registration crosses, photocopy hatching, and clipped classical frame fragments are layered as evidence of construction, not wallpaper.
- Command-panel controls: inputs, buttons, tabs, and tables use square ink borders, cursor bars, bracket glyphs, and compact machine-status metadata.
## 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-019e8a02-fd83-7650-9613-0f7140ddf125/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 and white as the dominant read, then add one or two precise accent tokens for state, object identity, or diagram function.
- Do Quote Memphis through object construction, laminate chips, awkward geometry, and named historic lineage rather than repeating generic squiggle backgrounds.
- Do Let one typographic element break the grid while tables, forms, and navigation retain strict terminal usability.
- Do Apply halftone, hatching, and registration marks sparingly so the product still feels high-taste and technical.
- Don't Do not make a neon cyberpunk dashboard with glow, fog, chrome gradients, or purple-blue ambience.
- Don't Do not fill the screen with Memphis confetti or pastel Y2K stickers that have no interface role.
- Don't Do not hide core labels, table values, or form affordances behind experimental illegibility.
- Don't Do not smooth everything into generic SaaS cards; keep the ink border, object shadow, and anti-modern tension visible.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "terminal-memphis-pluralism",
"type": "registry:theme",
"title": "Terminal Memphis Pluralism shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FAF7EE",
"foreground": "#050505",
"card": "#FFFFFF",
"card-foreground": "#050505",
"popover": "#FFFFFF",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#F4E8CF",
"secondary-foreground": "#111111",
"muted": "#6D6A61",
"muted-foreground": "#050505",
"accent": "#00E5FF",
"accent-foreground": "#111111",
"destructive": "#FF2BA6",
"border": "#050505",
"input": "#050505",
"ring": "#00E5FF",
"chart-1": "#050505",
"chart-2": "#F4E8CF",
"chart-3": "#00E5FF",
"chart-4": "#39FF14",
"chart-5": "#FFE100",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#00E5FF",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#050505",
"sidebar-ring": "#00E5FF",
"radius": "6px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#00E5FF",
"accent-foreground": "#111111",
"destructive": "#FF2BA6",
"border": "#303642",
"input": "#303642",
"ring": "#00E5FF",
"chart-1": "#050505",
"chart-2": "#F4E8CF",
"chart-3": "#00E5FF",
"chart-4": "#39FF14",
"chart-5": "#FFE100",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#00E5FF",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#00E5FF",
"radius": "6px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e8a02-fd83-7650-9613-0f7140ddf125",
"slug": "terminal-memphis-pluralism",
"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"
]
}
}
}
```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
Terminal Memphis Pluralism
Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.
Agent operations in plural panels
A black-and-white command dashboard interrupted by functional Memphis object chips.
Tune synthesis without losing the command line
A practical editor that allows one rotated annotation while every field remains readable.
Dense rows, hard borders, precise state color
Operational clarity stays intact while postmodern object language marks state and lineage.
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: #FAF7EE;
--foreground: #050505;
--card: #FFFFFF;
--card-foreground: #050505;
--popover: #FFFFFF;
--popover-foreground: #050505;
--primary: #050505;
--primary-foreground: #ffffff;
--secondary: #F4E8CF;
--secondary-foreground: #111111;
--muted: #6D6A61;
--muted-foreground: #050505;
--accent: #00E5FF;
--accent-foreground: #111111;
--destructive: #FF2BA6;
--border: #050505;
--input: #050505;
--ring: #00E5FF;
--chart-1: #050505;
--chart-2: #F4E8CF;
--chart-3: #00E5FF;
--chart-4: #39FF14;
--chart-5: #FFE100;
--sidebar: #FFFFFF;
--sidebar-foreground: #050505;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #00E5FF;
--sidebar-accent-foreground: #111111;
--sidebar-border: #050505;
--sidebar-ring: #00E5FF;
--radius: 6px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #050505;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #00E5FF;
--accent-foreground: #111111;
--destructive: #FF2BA6;
--border: #303642;
--input: #303642;
--ring: #00E5FF;
--chart-1: #050505;
--chart-2: #F4E8CF;
--chart-3: #00E5FF;
--chart-4: #39FF14;
--chart-5: #FFE100;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #00E5FF;
--sidebar-accent-foreground: #111111;
--sidebar-border: #303642;
--sidebar-ring: #00E5FF;
--radius: 6px;
}
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 TerminalMemphisPluralismShadcnKit() {
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">Terminal Memphis Pluralism</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",
"cssVars": {
"dark": {
"accent": "#00D5FF",
"accent-foreground": "#111111",
"background": "#0f1115",
"border": "#303642",
"card": "#181b22",
"card-foreground": "#f8fafc",
"chart-1": "#050505",
"chart-2": "#F4EBD8",
"chart-3": "#00D5FF",
"chart-4": "#00D36F",
"chart-5": "#FFD400",
"destructive": "#FF2A7A",
"foreground": "#f8fafc",
"input": "#303642",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#050505",
"primary-foreground": "#ffffff",
"radius": "6px",
"ring": "#00D5FF",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"sidebar": "#181b22",
"sidebar-accent": "#00D5FF",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#00D5FF"
},
"light": {
"accent": "#00D5FF",
"accent-foreground": "#111111",
"background": "#F8F2E7",
"border": "#050505",
"card": "#FFFDF5",
"card-foreground": "#050505",
"chart-1": "#050505",
"chart-2": "#F4EBD8",
"chart-3": "#00D5FF",
"chart-4": "#00D36F",
"chart-5": "#FFD400",
"destructive": "#FF2A7A",
"foreground": "#050505",
"input": "#050505",
"muted": "#6C665C",
"muted-foreground": "#050505",
"popover": "#FFFDF5",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"radius": "6px",
"ring": "#00D5FF",
"secondary": "#F4EBD8",
"secondary-foreground": "#111111",
"sidebar": "#FFFDF5",
"sidebar-accent": "#006BFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#050505",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#00D5FF"
},
"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-019e8a01-b832-7fd3-b8e9-1e24549e863b",
"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": "terminal-memphis-pluralism",
"source": "katagami"
},
"name": "terminal-memphis-pluralism",
"title": "Terminal Memphis Pluralism shadcn Theme",
"type": "registry:theme"
}
# Terminal Memphis Pluralism shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate Terminal Memphis Pluralism into shadcn/ui without inventing a parallel component kit: a black-and-white manga/terminal interface with disciplined postmodern interruptions, offset object shadows, sparse Memphis state chips, and Swiss Punk labels that never compromise product usability.
## Required primitives
Use local primitives from `@/components/ui/*`: button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, and table.
## Token cues
Use background `{colors.background}` cream paper, surface `{colors.surface}` white panels, text/border `{colors.text}` black ink, accent `{colors.accent}` cyan, warning `{colors.warning}` yellow, error `{colors.error}` magenta, success `{colors.success}` terminal green. Heading uses `{typography.heading_font}`, body uses `{typography.body_font}`, machine labels use `{typography.mono_font}`. Prefer square or 2px control radii, 6px cards, and 2px-4px ink borders.
## Visual character to preserve
- Manga panel grid with hard ink borders, visible gutters, and offset cream/black object shadows.
- Accent tokens are functional stickers: command state, warning, selected tab, switch state, live row marker.
- One typographic anti-grid move per scene: rotated rail label, stepped mono caption, or overprinted status number.
- Halftone, hatching, registration crosses, and clipped geometry appear as sparse underlays, never as full-screen decoration.
- Technical controls remain compact, rectangular, and readable.
## ShadSync visual profile
family: terminal-memphis; material: inked-paper-laminate; contour: squared-object; border: heavy-ink; underlay: true; grain: halftone-sparse; stickerBadges: true; motion: stepped-snap; density: medium-high; accents: cyan, magenta, terminal-green, yellow.
## Signature component recipes
- button: primary is black fill with white text, 4px ink border, terminal-green offset shadow; secondary is white fill with magenta offset shadow; hover translates 2px with stepped timing.
- card: white manga panel, 2px/4px border, offset cream or black duplicate shadow, optional corner tab badge and sparse hatch underlay.
- input: square cream field with 2px black border; focus adds inset terminal-green cursor bar and hard black shadow.
- textarea: same as input, with monospace prompt text and a small cyan metadata badge in the label row.
- select: square field with bracket-like chevron, yellow selected-state chip, no rounded native styling.
- dialog: black-framed editorial panel on cream overlay, magenta warning tab for destructive flows, cyan registration crosses in the header.
- sheet: side manga page with vertical mono rail label and offset black shadow; content remains aligned to an 8px grid.
- tabs: tab list looks like clipped object labels; active tab is cyan or green with black border, inactive tabs stay white.
- badge: sticker chip with black border and tiny mono uppercase text; reserve magenta for errors/warnings.
- separator: black ink rule, occasionally dashed for registration guides.
- checkbox: square ink box; checked state is terminal-green fill with black bracket glyph.
- switch: rectangular command toggle with black track; active thumb snaps to green with 2-step motion.
- slider: black rail with square thumb and cyan tick chips; use for tuning agent parameters, not decoration.
- tooltip: compact cream note with black border, small triangular registration mark, monospace text.
- dropdown-menu: white object panel with offset shadow, mono item labels, and magenta/yellow state chips for risky actions.
- table: dense terminal data table with heavy header, black grid lines, and accent chips only in status columns.
## Preview shots
1. application-shell: command dashboard with rail, hero command card, status table, and Memphis state chips.
2. detail-editor: agent prompt editor with form controls, tabs, sheet, tooltip, switch, slider, and dialog state.
3. data-operations: table-first operations view with dropdown actions, badges, checkboxes, separators, and selected rows.
## Implementation contract
Import local shadcn primitives from `@/components/ui/*`; do not create a new component system. Preserve square controls, ink borders, sparse accent stickers, and offset object shadows. Use accents only for state. Keep labels legible even when one mono label rotates or overlaps a gutter.
## 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";
import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs";
export function TerminalMemphisPanel() {
return (
<Card className="relative rounded-[6px] border-4 border-foreground bg-background shadow-[8px_8px_0_#050505] overflow-hidden">
<div className="absolute right-4 top-[-10px] border-2 border-foreground bg-[#FF2BA6] px-2 py-1 font-mono text-xs font-bold text-white">LIVE</div>
<CardHeader className="border-b-2 border-foreground">
<Badge className="w-fit rounded-[2px] border-2 border-foreground bg-[#39FF14] font-mono text-black shadow-[3px_3px_0_#050505]">$ RUN_AGENT</Badge>
<CardTitle className="font-heading text-4xl tracking-[-0.06em]">Plural command surface</CardTitle>
</CardHeader>
<CardContent className="grid gap-4 p-5">
<Tabs defaultValue="prompt">
<TabsList className="rounded-none border-2 border-foreground bg-card">
<TabsTrigger value="prompt" className="rounded-none data-[state=active]:bg-[#00E5FF]">Prompt</TabsTrigger>
<TabsTrigger value="trace" className="rounded-none data-[state=active]:bg-[#FFE100]">Trace</TabsTrigger>
</TabsList>
<TabsContent value="prompt" className="grid gap-3">
<Input className="rounded-[2px] border-2 border-foreground bg-[#FAF7EE] font-mono focus-visible:ring-0 focus-visible:shadow-[inset_5px_0_0_#39FF14,4px_4px_0_#050505]" defaultValue="katagami synth --plural" />
<Button className="rounded-none border-4 border-foreground bg-foreground font-mono text-background shadow-[5px_5px_0_#39FF14] hover:translate-x-0.5 hover:translate-y-0.5">Run Agent</Button>
</TabsContent>
</Tabs>
</CardContent>
</Card>
);
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "card",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "input",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "textarea",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "select",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "dialog",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "sheet",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "tabs",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "badge",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "separator",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "checkbox",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "switch",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "slider",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "tooltip",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "dropdown-menu",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
},
{
"component": "table",
"recipe": "Use square or lightly rounded shadcn primitive with black ink border, cream/white surface, offset object shadow when container-like, and sparse Memphis state chip accents derived from the component role."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoidRules": [
"no neon glow",
"no decorative confetti background",
"no rounded generic SaaS cards"
],
"composition": "Desktop command shell with left rail, hero command card, compact status cards, and data table inside manga gutters.",
"id": "application-shell",
"mustShowStates": [
"active cyan tab",
"terminal-green run badge",
"magenta warning badge",
"hoverable black command button"
],
"primitives": [
"button",
"card",
"input",
"tabs",
"badge",
"separator",
"table",
"tooltip",
"dropdown-menu"
],
"scene": {
"actions": [
"Run Agent",
"Inspect Trace"
],
"description": "A black-and-white command dashboard interrupted by functional Memphis object chips.",
"eyebrow": "$ katagami / application shell",
"headline": "Agent operations in plural panels",
"rows": [
{
"module": "Prompt Router",
"state": "active",
"token": "green"
},
{
"module": "Archive Quote",
"state": "queued",
"token": "cyan"
},
{
"module": "Risk Gate",
"state": "warn",
"token": "magenta"
}
],
"stats": [
{
"label": "Panels",
"value": "12"
},
{
"label": "Warnings",
"value": "03"
},
{
"label": "Trace OK",
"value": "98%"
}
]
}
},
{
"avoidRules": [
"do not make form fields soft or glassy",
"do not hide form labels",
"do not use color except as state"
],
"composition": "Detail editor panel with prompt textarea, settings sheet, destructive confirmation dialog, and stepped controls.",
"id": "detail-editor",
"mustShowStates": [
"focused textarea with green cursor bar",
"open sheet with vertical mono rail",
"switch active",
"slider thumb with cyan tick"
],
"primitives": [
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"switch",
"slider",
"checkbox",
"button",
"input",
"tooltip"
],
"scene": {
"actions": [
"Save Spec",
"Open Sheet"
],
"description": "A practical editor that allows one rotated annotation while every field remains readable.",
"eyebrow": "editor / controlled illegibility",
"fields": [
{
"label": "Prompt",
"value": "plural manga terminal shell"
},
{
"label": "Material",
"value": "ink / cream / laminate"
},
{
"label": "Risk mode",
"value": "guarded"
}
],
"headline": "Tune synthesis without losing the command line",
"stats": [
{
"label": "Temperature",
"value": "0.42"
},
{
"label": "Focus",
"value": "ON"
}
]
}
},
{
"avoidRules": [
"no low-contrast table text",
"no large decorative stickers in the table body",
"no generic enterprise blue"
],
"composition": "Table-first operations screen with dense terminal rows, selected checkboxes, dropdown row actions, and object-shadow batch card.",
"id": "data-operations",
"mustShowStates": [
"selected row with yellow chip",
"danger dropdown item with magenta badge",
"green success status",
"cyan info status"
],
"primitives": [
"table",
"checkbox",
"dropdown-menu",
"badge",
"separator",
"button",
"card",
"input",
"select",
"tooltip"
],
"scene": {
"actions": [
"Batch Route",
"Export Trace"
],
"description": "Operational clarity stays intact while postmodern object language marks state and lineage.",
"eyebrow": "data operations / anti-modern shell",
"headline": "Dense rows, hard borders, precise state color",
"rows": [
{
"name": "Source / Emigre",
"owner": "curator",
"status": "indexed"
},
{
"name": "Memphis Object Chips",
"owner": "agent",
"status": "mapped"
},
{
"name": "Swiss Punk Labels",
"owner": "design",
"status": "review"
}
],
"stats": [
{
"label": "Rows",
"value": "248"
},
{
"label": "Selected",
"value": "06"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"acid cyan",
"warning magenta",
"terminal green",
"warm cream",
"primary yellow"
],
"border": "heavy-ink",
"contour": "squared-object",
"density": "medium-high",
"family": "terminal-memphis",
"grain": "halftone-sparse",
"material": "inked-paper-laminate",
"motion": "stepped-snap",
"stickerBadges": true,
"underlay": true
}
}