back to gallerydo avoid
design language·redacted-ministry-mainframe
Redacted Ministry Mainframe
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
Redacted Ministry Mainframe treats the interface as a state archive that has learned to judge the soul through forms, accession ledgers, terminal prompts, and censored evidence. Its calm administrative surface is not nostalgic decoration: beige paper, black bars, phosphor cursors, and dot-matrix rules become a visual argument about institutional certainty, machine-readable identity, and the terror of being reduced to a filed record. The language is clean and polished, but never friendly; every panel behaves like a document that could be stamped, audited, copied to fanfold paper, or partially withheld.
values
bureaucratic restraint over cyberpunk spectaclelegible evidence hierarchy before ornamentpaper and terminal as one continuous operating systemparanoia expressed through omission and censorshipmanga-like negative space balanced against dense record tablesmachine judgment made visible through accession numbers and promptshigh-contrast utility that remains austere and premium
anti-values
×glossy holographic sci-fi gradients×playful rounded SaaS cards×decorative grunge unrelated to filing or printing×rainbow terminal color palettes×generic dashboard chrome without document logic
tokens
borders4 items
- accent width
- 4px
- character
- hairline tables interrupted by opaque censor bars and occasional heavy audit-stamp frames
- default width
- 1px
- style
- solid and dashed administrative rules
colors12 items
accent
#00ff66
background
#d8cfb9
border
#343026
error
#9b1c12
info
#2f5f69
muted
#756c5c
primary
#050505
secondary
#6f6656
success
#167044
surface
#f2ead8
text
#050505
warning
#a05a00
motion3 items
- duration
- 160ms
- easing
- steps(2, end)
- philosophy
- Motion is procedural rather than expressive: cursor blink, stamp arrival, row focus inversion, and terminal prompt ticks. Respect reduced motion.
radii5 items
- full
- 9999px
- lg
- 24px
- md
- 16px
- none
- 0px
- sm
- 0px
shadows3 items
- lg
- 0 24px 60px rgba(5,5,5,0.22)
- md
- 0 10px 0 rgba(5,5,5,0.12)
- sm
- 0 1px 0 rgba(5,5,5,0.45)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
- bg pattern
- repeating linear gradients form green-bar paper bands, dot-matrix speckle, sprocket holes, and faint CRT scanlines
- card style
- square dossier cards with classified header strips, accession labels, ruled interiors, and perforated side rails
- treatment
- aged office paper fields with subtle fiber noise, no glossy gradients, and black ink overlays for withheld content
typography8 items
- base size
- 16px
- body font
- IBM Plex Mono
- google fonts url
- https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap
- heading font
- Archivo Narrow
- letter spacing
- -0.02em
- line height
- 1.45
- mono font
- IBM Plex Mono
- scale ratio
- 1.2
rules
composition
Compose screens as official records: a high-margin page wrapper, a classified header band, a left accession rail, a central evidence form, and a right terminal verdict strip. Permit one large manga-negative-space void per view so the dense tables feel intentionally withheld rather than crowded. Align content to receipt columns and table baselines; break the grid only with black censor bars or stamped warnings.
density
Information density is high inside forms and ledger tables but surrounded by generous beige margins. Every module must feel printable on fanfold paper; no floating widgets without document context.
hierarchy
Hierarchy moves from ministry header to case identifier to verdict prompt to evidence rows. Use Archivo Narrow uppercase for institutional commands, IBM Plex Mono for all data, and weight/line thickness instead of color variety. A heavy black bar outranks a green prompt; a red stamp is rarer than both and signals audit exception only.
signature patterns
Redaction-block rhythm: opaque black bars span grid cells and crop labels, creating manga-like voids that become the primary graphic shape.Tractor-feed dossier rails: side margins use repeating radial holes and dashed perforation lines to make every screen feel line-printer ready.Phosphor command overlays: green terminal prompts sit inside beige paper cards with a blinking block cursor and scanline veil, merging CRT and paperwork.Accession table grammar: labels, values, checkboxes, and serial numbers are locked to receipt-like columns with mono tabular alignment.Rubber-stamp warnings: tiny rotated red audit seals and boxed CLASSIFIED marks appear sparingly as procedural interventions, not decoration.
layout
breakpoints
- desktop
- 1024px+
- mobile
- 0-639px
- tablet
- 640-1023px
density
Dense ledgers are balanced by high margins and one deliberate negative-space panel. The design should feel like a file room terminal, not a maximalist dashboard.
grid
Desktop uses a 12-column grid inside a max-width of 1360px with 16px gutters, a 72px accession rail, and right-side verdict columns. Tablet collapses to 6 columns; mobile becomes a single-column stack with rails converted to top perforation bands.
whitespace
Whitespace is administrative: wide document margins, blank withheld panels, and ruled gaps that imply missing pages. Avoid soft breathing-room spacing; use measured form intervals.
guidance
- Start from beige paper and black ink; add green only when the system is actively speaking.
- Make every card read as a document with a header, accession number, ruled rows, and an audit status.
- Use black redaction bars as the main graphic motif and allow them to obscure otherwise important-looking content.
- Style checkboxes, tables, fields, tabs, and buttons as printable form controls with square corners and hard rules.
- Keep stamps small, red, and procedural: APPROVED, WITHHELD, TRACE, or AUDIT rather than expressive slogans.
- Let sprocket holes, perforation rules, scanlines, and dot-matrix speckles appear through CSS patterns rather than bitmap textures.
- Maintain global -0.02em tracking and monospaced tabular alignment across labels, rows, captions, and controls.
- Use manga-inspired negative space as a quiet block of absence, not as illustrated character art.
- Do not introduce neon palettes beyond phosphor green and tiny red audit marks.
- Do not use rounded glass cards, blur effects, or glossy cyberpunk chrome.
- Do not make the embodiment a generic admin dashboard; every module must have file, form, or terminal logic.
- Do not use distressed paper grunge so heavily that it reduces legibility or feels vintage scrapbook.
- Do not animate large panels; only cursor blink, prompt tick, or stamp arrival are appropriate.
- Do not place green text on beige at small sizes without black support or adequate contrast.
- Do not fill all negative space with icons or widgets; withheld blankness is part of the system.
katagami spec
# Redacted Ministry Mainframe ## Philosophy Redacted Ministry Mainframe treats the interface as a state archive that has learned to judge the soul through forms, accession ledgers, terminal prompts, and censored evidence. Its calm administrative surface is not nostalgic decoration: beige paper, black bars, phosphor cursors, and dot-matrix rules become a visual argument about institutional certainty, machine-readable identity, and the terror of being reduced to a filed record. The language is clean and polished, but never friendly; every panel behaves like a document that could be stamped, audited, copied to fanfold paper, or partially withheld. ### Values - bureaucratic restraint over cyberpunk spectacle - legible evidence hierarchy before ornament - paper and terminal as one continuous operating system - paranoia expressed through omission and censorship - manga-like negative space balanced against dense record tables - machine judgment made visible through accession numbers and prompts - high-contrast utility that remains austere and premium ### Anti-Values - glossy holographic sci-fi gradients - playful rounded SaaS cards - decorative grunge unrelated to filing or printing - rainbow terminal color palettes - generic dashboard chrome without document logic ### Visual Character - Use a strict 12-column administrative grid with thick black redaction blocks interrupting otherwise hairline table rules. - Layer warm beige paper surfaces with tractor-feed sprocket margins and perforation dashes rendered by repeating CSS patterns. - Set all operational text in monospaced type with condensed grotesk stamps for warnings, seals, and ministry department headers. - Reserve phosphor green only for command prompts, active cursor states, and machine verdict fields against the beige paperwork base. - Frame sections as dossier cards with classified headers, accession numbers, checkbox rows, and receipt-like metadata columns. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: hairline tables interrupted by opaque censor bars and occasional heavy audit-stamp frames - **Default Width**: 1px - **Style**: solid and dashed administrative rules ### Colors | Name | Value | |------|-------| | accent | `#00ff66` | | background | `#d8cfb9` | | border | `#343026` | | error | `#9b1c12` | | info | `#2f5f69` | | muted | `#756c5c` | | primary | `#050505` | | secondary | `#6f6656` | | success | `#167044` | | surface | `#f2ead8` | | text | `#050505` | | warning | `#a05a00` | ### Motion - **Duration**: 160ms - **Easing**: steps(2, end) - **Philosophy**: Motion is procedural rather than expressive: cursor blink, stamp arrival, row focus inversion, and terminal prompt ticks. Respect reduced motion. ### Radii - **Full**: 9999px - **Lg**: 24px - **Md**: 16px - **None**: 0px - **Sm**: 0px ### Shadows - **Lg**: 0 24px 60px rgba(5,5,5,0.22) - **Md**: 0 10px 0 rgba(5,5,5,0.12) - **Sm**: 0 1px 0 rgba(5,5,5,0.45) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96] ### Surfaces - **Bg Pattern**: repeating linear gradients form green-bar paper bands, dot-matrix speckle, sprocket holes, and faint CRT scanlines - **Card Style**: square dossier cards with classified header strips, accession labels, ruled interiors, and perforated side rails - **Treatment**: aged office paper fields with subtle fiber noise, no glossy gradients, and black ink overlays for withheld content ### Typography - **Base Size**: 16px - **Body Font**: IBM Plex Mono - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap - **Heading Font**: Archivo Narrow - **Letter Spacing**: -0.02em - **Line Height**: 1.45 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.2 ## Rules ### Composition Compose screens as official records: a high-margin page wrapper, a classified header band, a left accession rail, a central evidence form, and a right terminal verdict strip. Permit one large manga-negative-space void per view so the dense tables feel intentionally withheld rather than crowded. Align content to receipt columns and table baselines; break the grid only with black censor bars or stamped warnings. ### Density Information density is high inside forms and ledger tables but surrounded by generous beige margins. Every module must feel printable on fanfold paper; no floating widgets without document context. ### Hierarchy Hierarchy moves from ministry header to case identifier to verdict prompt to evidence rows. Use Archivo Narrow uppercase for institutional commands, IBM Plex Mono for all data, and weight/line thickness instead of color variety. A heavy black bar outranks a green prompt; a red stamp is rarer than both and signals audit exception only. ### Signature Patterns - Redaction-block rhythm: opaque black bars span grid cells and crop labels, creating manga-like voids that become the primary graphic shape. - Tractor-feed dossier rails: side margins use repeating radial holes and dashed perforation lines to make every screen feel line-printer ready. - Phosphor command overlays: green terminal prompts sit inside beige paper cards with a blinking block cursor and scanline veil, merging CRT and paperwork. - Accession table grammar: labels, values, checkboxes, and serial numbers are locked to receipt-like columns with mono tabular alignment. - Rubber-stamp warnings: tiny rotated red audit seals and boxed CLASSIFIED marks appear sparingly as procedural interventions, not decoration. ## Layout ### Breakpoints - **Desktop**: 1024px+ - **Mobile**: 0-639px - **Tablet**: 640-1023px ### Density Dense ledgers are balanced by high margins and one deliberate negative-space panel. The design should feel like a file room terminal, not a maximalist dashboard. ### Grid Desktop uses a 12-column grid inside a max-width of 1360px with 16px gutters, a 72px accession rail, and right-side verdict columns. Tablet collapses to 6 columns; mobile becomes a single-column stack with rails converted to top perforation bands. ### Whitespace Whitespace is administrative: wide document margins, blank withheld panels, and ruled gaps that imply missing pages. Avoid soft breathing-room spacing; use measured form intervals. ## Guidance ### Do - Start from beige paper and black ink; add green only when the system is actively speaking. - Make every card read as a document with a header, accession number, ruled rows, and an audit status. - Use black redaction bars as the main graphic motif and allow them to obscure otherwise important-looking content. - Style checkboxes, tables, fields, tabs, and buttons as printable form controls with square corners and hard rules. - Keep stamps small, red, and procedural: APPROVED, WITHHELD, TRACE, or AUDIT rather than expressive slogans. - Let sprocket holes, perforation rules, scanlines, and dot-matrix speckles appear through CSS patterns rather than bitmap textures. - Maintain global -0.02em tracking and monospaced tabular alignment across labels, rows, captions, and controls. - Use manga-inspired negative space as a quiet block of absence, not as illustrated character art. ### Don't - Do not introduce neon palettes beyond phosphor green and tiny red audit marks. - Do not use rounded glass cards, blur effects, or glossy cyberpunk chrome. - Do not make the embodiment a generic admin dashboard; every module must have file, form, or terminal logic. - Do not use distressed paper grunge so heavily that it reduces legibility or feels vintage scrapbook. - Do not animate large panels; only cursor blink, prompt tick, or stamp arrival are appropriate. - Do not place green text on beige at small sizes without black support or adequate contrast. - Do not fill all negative space with icons or widgets; withheld blankness is part of the system. ### Accessibility Body text uses near-black on beige for strong contrast. Phosphor green is reserved for large prompt text or paired with black labels and icons. Red audit states always include text and border changes. Focus states use thick black outlines plus green cursor markers. Reduced-motion disables cursor blink and scanline drift. ### Usage Context Best for narrative operating systems, archival tools, security dashboards, case management interfaces, identity verification flows, sci-fi institutional products, and editorial microsites about surveillance, memory, or machine judgment.
DESIGN.md
---
version: "alpha"
name: "Redacted Ministry Mainframe"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#00ff66"
background: "#d8cfb9"
border: "#343026"
error: "#9b1c12"
info: "#2f5f69"
muted: "#756c5c"
primary: "#050505"
secondary: "#6f6656"
success: "#167044"
surface: "#f2ead8"
text: "#050505"
warning: "#a05a00"
typography:
headline-lg:
fontFamily: "Archivo Narrow"
fontSize: "1.728rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Archivo Narrow"
fontSize: "1.44rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "IBM Plex Mono"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.45
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "24px"
md: "16px"
none: "0px"
sm: "0px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
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"
---
# Redacted Ministry Mainframe
## Overview
Redacted Ministry Mainframe treats the interface as a state archive that has learned to judge the soul through forms, accession ledgers, terminal prompts, and censored evidence. Its calm administrative surface is not nostalgic decoration: beige paper, black bars, phosphor cursors, and dot-matrix rules become a visual argument about institutional certainty, machine-readable identity, and the terror of being reduced to a filed record. The language is clean and polished, but never friendly; every panel behaves like a document that could be stamped, audited, copied to fanfold paper, or partially withheld.
### Values
- bureaucratic restraint over cyberpunk spectacle
- legible evidence hierarchy before ornament
- paper and terminal as one continuous operating system
- paranoia expressed through omission and censorship
- manga-like negative space balanced against dense record tables
- machine judgment made visible through accession numbers and prompts
- high-contrast utility that remains austere and premium
### Anti-Values
- glossy holographic sci-fi gradients
- playful rounded SaaS cards
- decorative grunge unrelated to filing or printing
- rainbow terminal color palettes
- generic dashboard chrome without document logic
### Visual Character
- Use a strict 12-column administrative grid with thick black redaction blocks interrupting otherwise hairline table rules.
- Layer warm beige paper surfaces with tractor-feed sprocket margins and perforation dashes rendered by repeating CSS patterns.
- Set all operational text in monospaced type with condensed grotesk stamps for warnings, seals, and ministry department headers.
- Reserve phosphor green only for command prompts, active cursor states, and machine verdict fields against the beige paperwork base.
- Frame sections as dossier cards with classified headers, accession numbers, checkbox rows, and receipt-like metadata columns.
## 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 | `#00ff66` |
| background | `#d8cfb9` |
| border | `#343026` |
| error | `#9b1c12` |
| info | `#2f5f69` |
| muted | `#756c5c` |
| primary | `#050505` |
| secondary | `#6f6656` |
| success | `#167044` |
| surface | `#f2ead8` |
| text | `#050505` |
| warning | `#a05a00` |
## Typography
- **Headline-Lg**: Archivo Narrow, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo Narrow, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Mono, 16px, weight 400, line-height 1.45.
- **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`
- **Step-8**: `96px`
### Breakpoints
- **Desktop**: 1024px+
- **Mobile**: 0-639px
- **Tablet**: 640-1023px
### Density
Dense ledgers are balanced by high margins and one deliberate negative-space panel. The design should feel like a file room terminal, not a maximalist dashboard.
### Grid
Desktop uses a 12-column grid inside a max-width of 1360px with 16px gutters, a 72px accession rail, and right-side verdict columns. Tablet collapses to 6 columns; mobile becomes a single-column stack with rails converted to top perforation bands.
### Whitespace
Whitespace is administrative: wide document margins, blank withheld panels, and ruled gaps that imply missing pages. Avoid soft breathing-room spacing; use measured form intervals.
## Elevation & Depth
### Shadows
- **Lg**: 0 24px 60px rgba(5,5,5,0.22)
- **Md**: 0 10px 0 rgba(5,5,5,0.12)
- **Sm**: 0 1px 0 rgba(5,5,5,0.45)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `24px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: repeating linear gradients form green-bar paper bands, dot-matrix speckle, sprocket holes, and faint CRT scanlines
- **Card Style**: square dossier cards with classified header strips, accession labels, ruled interiors, and perforated side rails
- **Treatment**: aged office paper fields with subtle fiber noise, no glossy gradients, and black ink overlays for withheld content
### Borders
- **Accent Width**: 4px
- **Character**: hairline tables interrupted by opaque censor bars and occasional heavy audit-stamp frames
- **Default Width**: 1px
- **Style**: solid and dashed administrative rules
## Components
### Composition
Compose screens as official records: a high-margin page wrapper, a classified header band, a left accession rail, a central evidence form, and a right terminal verdict strip. Permit one large manga-negative-space void per view so the dense tables feel intentionally withheld rather than crowded. Align content to receipt columns and table baselines; break the grid only with black censor bars or stamped warnings.
### Density
Information density is high inside forms and ledger tables but surrounded by generous beige margins. Every module must feel printable on fanfold paper; no floating widgets without document context.
### Hierarchy
Hierarchy moves from ministry header to case identifier to verdict prompt to evidence rows. Use Archivo Narrow uppercase for institutional commands, IBM Plex Mono for all data, and weight/line thickness instead of color variety. A heavy black bar outranks a green prompt; a red stamp is rarer than both and signals audit exception only.
### Signature Patterns
- Redaction-block rhythm: opaque black bars span grid cells and crop labels, creating manga-like voids that become the primary graphic shape.
- Tractor-feed dossier rails: side margins use repeating radial holes and dashed perforation lines to make every screen feel line-printer ready.
- Phosphor command overlays: green terminal prompts sit inside beige paper cards with a blinking block cursor and scanline veil, merging CRT and paperwork.
- Accession table grammar: labels, values, checkboxes, and serial numbers are locked to receipt-like columns with mono tabular alignment.
- Rubber-stamp warnings: tiny rotated red audit seals and boxed CLASSIFIED marks appear sparingly as procedural interventions, not decoration.
## 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/redacted-ministry-mainframe/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 Start from beige paper and black ink; add green only when the system is actively speaking.
- Do Make every card read as a document with a header, accession number, ruled rows, and an audit status.
- Do Use black redaction bars as the main graphic motif and allow them to obscure otherwise important-looking content.
- Do Style checkboxes, tables, fields, tabs, and buttons as printable form controls with square corners and hard rules.
- Do Keep stamps small, red, and procedural: APPROVED, WITHHELD, TRACE, or AUDIT rather than expressive slogans.
- Do Let sprocket holes, perforation rules, scanlines, and dot-matrix speckles appear through CSS patterns rather than bitmap textures.
- Do Maintain global -0.02em tracking and monospaced tabular alignment across labels, rows, captions, and controls.
- Do Use manga-inspired negative space as a quiet block of absence, not as illustrated character art.
- Don't Do not introduce neon palettes beyond phosphor green and tiny red audit marks.
- Don't Do not use rounded glass cards, blur effects, or glossy cyberpunk chrome.
- Don't Do not make the embodiment a generic admin dashboard; every module must have file, form, or terminal logic.
- Don't Do not use distressed paper grunge so heavily that it reduces legibility or feels vintage scrapbook.
- Don't Do not animate large panels; only cursor blink, prompt tick, or stamp arrival are appropriate.
- Don't Do not place green text on beige at small sizes without black support or adequate contrast.
- Don't Do not fill all negative space with icons or widgets; withheld blankness is part of the system.
### Accessibility
Body text uses near-black on beige for strong contrast. Phosphor green is reserved for large prompt text or paired with black labels and icons. Red audit states always include text and border changes. Focus states use thick black outlines plus green cursor markers. Reduced-motion disables cursor blink and scanline drift.
### Usage Context
Best for narrative operating systems, archival tools, security dashboards, case management interfaces, identity verification flows, sci-fi institutional products, and editorial microsites about surveillance, memory, or machine judgment.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "redacted-ministry-mainframe",
"type": "registry:theme",
"title": "Redacted Ministry Mainframe shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#d8cfb9",
"foreground": "#050505",
"card": "#f2ead8",
"card-foreground": "#050505",
"popover": "#f2ead8",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#6f6656",
"secondary-foreground": "#ffffff",
"muted": "#756c5c",
"muted-foreground": "#050505",
"accent": "#00ff66",
"accent-foreground": "#111111",
"destructive": "#9b1c12",
"border": "#343026",
"input": "#343026",
"ring": "#00ff66",
"chart-1": "#050505",
"chart-2": "#6f6656",
"chart-3": "#00ff66",
"chart-4": "#167044",
"chart-5": "#a05a00",
"sidebar": "#f2ead8",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2f5f69",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#343026",
"sidebar-ring": "#00ff66",
"radius": "16px"
},
"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": "#00ff66",
"accent-foreground": "#111111",
"destructive": "#9b1c12",
"border": "#303642",
"input": "#303642",
"ring": "#00ff66",
"chart-1": "#050505",
"chart-2": "#6f6656",
"chart-3": "#00ff66",
"chart-4": "#167044",
"chart-5": "#a05a00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#00ff66",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#00ff66",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "redacted-ministry-mainframe",
"slug": "redacted-ministry-mainframe",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
```in the wild
embodiments
the full element showcase
embodiment · redacted-ministry-mainframe
DESIGN.md
at a glance
Typography
headline-lgArchivo Narrow · 28px · 700
The quick brown fox jumps
headline-mdArchivo Narrow · 23px · 600
The quick brown fox jumps
body-mdIBM Plex Mono · 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
- step-896px
Shape
full9999px
lg24px
md16px
none0px
sm0px
shadcn/ui
implementation kit
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 tabletheme css
:root {
--background: #d8cfb9;
--foreground: #050505;
--card: #f2ead8;
--card-foreground: #050505;
--popover: #f2ead8;
--popover-foreground: #050505;
--primary: #050505;
--primary-foreground: #ffffff;
--secondary: #6f6656;
--secondary-foreground: #ffffff;
--muted: #756c5c;
--muted-foreground: #050505;
--accent: #00ff66;
--accent-foreground: #111111;
--destructive: #9b1c12;
--border: #343026;
--input: #343026;
--ring: #00ff66;
--chart-1: #050505;
--chart-2: #6f6656;
--chart-3: #00ff66;
--chart-4: #167044;
--chart-5: #a05a00;
--sidebar: #f2ead8;
--sidebar-foreground: #050505;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #2f5f69;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #343026;
--sidebar-ring: #00ff66;
--radius: 16px;
}
.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: #00ff66;
--accent-foreground: #111111;
--destructive: #9b1c12;
--border: #303642;
--input: #303642;
--ring: #00ff66;
--chart-1: #050505;
--chart-2: #6f6656;
--chart-3: #00ff66;
--chart-4: #167044;
--chart-5: #a05a00;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #00ff66;
--sidebar-accent-foreground: #111111;
--sidebar-border: #303642;
--sidebar-ring: #00ff66;
--radius: 16px;
}
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 RedactedMinistryMainframeShadcnKit() {
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">Redacted Ministry Mainframe</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": "redacted-ministry-mainframe",
"type": "registry:theme",
"title": "Redacted Ministry Mainframe shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#d8cfb9",
"foreground": "#050505",
"card": "#f2ead8",
"card-foreground": "#050505",
"popover": "#f2ead8",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#6f6656",
"secondary-foreground": "#ffffff",
"muted": "#756c5c",
"muted-foreground": "#050505",
"accent": "#00ff66",
"accent-foreground": "#111111",
"destructive": "#9b1c12",
"border": "#343026",
"input": "#343026",
"ring": "#00ff66",
"chart-1": "#050505",
"chart-2": "#6f6656",
"chart-3": "#00ff66",
"chart-4": "#167044",
"chart-5": "#a05a00",
"sidebar": "#f2ead8",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2f5f69",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#343026",
"sidebar-ring": "#00ff66",
"radius": "16px"
},
"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": "#00ff66",
"accent-foreground": "#111111",
"destructive": "#9b1c12",
"border": "#303642",
"input": "#303642",
"ring": "#00ff66",
"chart-1": "#050505",
"chart-2": "#6f6656",
"chart-3": "#00ff66",
"chart-4": "#167044",
"chart-5": "#a05a00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#00ff66",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#00ff66",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "redacted-ministry-mainframe",
"slug": "redacted-ministry-mainframe",
"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"
]
}
}
}
component recipescompatibility fallback
# Redacted Ministry Mainframe shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `redacted-ministry-mainframe`
Slug: `redacted-ministry-mainframe`
## Intent
Redacted Ministry Mainframe treats the interface as a state archive that has learned to judge the soul through forms, accession ledgers, terminal prompts, and censored evidence. Its calm administrative surface is not nostalgic decoration: beige paper, black bars, phosphor cursors, and dot-matrix rules become a visual argument about institutional certainty, machine-readable identity, and the terror of being reduced to a filed record. The language is clean and polished, but never friendly; every panel behaves like a document that could be stamped, audited, copied to fanfold paper, or partially withheld.
## Required primitives
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
## Token cues
Colors:
{
"accent": "#00ff66",
"background": "#d8cfb9",
"border": "#343026",
"error": "#9b1c12",
"info": "#2f5f69",
"muted": "#756c5c",
"primary": "#050505",
"secondary": "#6f6656",
"success": "#167044",
"surface": "#f2ead8",
"text": "#050505",
"warning": "#a05a00"
}
Typography:
{
"base_size": "16px",
"body_font": "IBM Plex Mono",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap",
"heading_font": "Archivo Narrow",
"letter_spacing": "-0.02em",
"line_height": 1.45,
"mono_font": "IBM Plex Mono",
"scale_ratio": 1.2
}
## Visual character to preserve
- Use a strict 12-column administrative grid with thick black redaction blocks interrupting otherwise hairline table rules.
- Layer warm beige paper surfaces with tractor-feed sprocket margins and perforation dashes rendered by repeating CSS patterns.
- Set all operational text in monospaced type with condensed grotesk stamps for warnings, seals, and ministry department headers.
- Reserve phosphor green only for command prompts, active cursor states, and machine verdict fields against the beige paperwork base.
- Frame sections as dossier cards with classified headers, accession numbers, checkbox rows, and receipt-like metadata columns.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "dashed",
"underlay": false,
"grain": true,
"stickerBadges": true,
"motion": "lift-rotate",
"density": "dense",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
}
## Signature component recipes
### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.
### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.
### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.
### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.
### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.
## Preview shots
- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.
## Implementation contract
- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/redacted-ministry-mainframe/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Start from beige paper and black ink; add green only when the system is actively speaking.; Make every card read as a document with a header, accession number, ruled rows, and an audit status.; Use black redaction bars as the main graphic motif and allow them to obscure otherwise important-looking content.; Style checkboxes, tables, fields, tabs, and buttons as printable form controls with square corners and hard rules.; Keep stamps small, red, and procedural: APPROVED, WITHHELD, TRACE, or AUDIT rather than expressive slogans.; Let sprocket holes, perforation rules, scanlines, and dot-matrix speckles appear through CSS patterns rather than bitmap textures.; Maintain global -0.02em tracking and monospaced tabular alignment across labels, rows, captions, and controls.; Use manga-inspired negative space as a quiet block of absence, not as illustrated character art.
- Do not: Do not introduce neon palettes beyond phosphor green and tiny red audit marks.; Do not use rounded glass cards, blur effects, or glossy cyberpunk chrome.; Do not make the embodiment a generic admin dashboard; every module must have file, form, or terminal logic.; Do not use distressed paper grunge so heavily that it reduces legibility or feels vintage scrapbook.; Do not animate large panels; only cursor blink, prompt tick, or stamp arrival are appropriate.; Do not place green text on beige at small sizes without black support or adequate contrast.; Do not fill all negative space with icons or widgets; withheld blankness is part of the system.
## Copy-paste component example
This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.
```tsx
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 RedactedMinistryMainframeShadcnKit() {
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">Redacted Ministry Mainframe</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>
);
}
```
## Layout notes
{
"breakpoints": {
"desktop": "1024px+",
"mobile": "0-639px",
"tablet": "640-1023px"
},
"density": "Dense ledgers are balanced by high margins and one deliberate negative-space panel. The design should feel like a file room terminal, not a maximalist dashboard.",
"grid": "Desktop uses a 12-column grid inside a max-width of 1360px with 16px gutters, a 72px accession rail, and right-side verdict columns. Tablet collapses to 6 columns; mobile becomes a single-column stack with rails converted to top perforation bands.",
"whitespace": "Whitespace is administrative: wide document margins, blank withheld panels, and ruled gaps that imply missing pages. Avoid soft breathing-room spacing; use measured form intervals."
}
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": "redacted-ministry-mainframe",
"name": "Redacted Ministry Mainframe",
"slug": "redacted-ministry-mainframe"
},
"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": [
"Use a strict 12-column administrative grid with thick black redaction blocks interrupting otherwise hairline table rules.",
"Layer warm beige paper surfaces with tractor-feed sprocket margins and perforation dashes rendered by repeating CSS patterns.",
"Set all operational text in monospaced type with condensed grotesk stamps for warnings, seals, and ministry department headers.",
"Reserve phosphor green only for command prompts, active cursor states, and machine verdict fields against the beige paperwork base.",
"Frame sections as dossier cards with classified headers, accession numbers, checkbox rows, and receipt-like metadata columns."
],
"visualProfile": {
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "dashed",
"underlay": false,
"grain": true,
"stickerBadges": true,
"motion": "lift-rotate",
"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": "Redacted Ministry Mainframe 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": [
"Start from beige paper and black ink; add green only when the system is actively speaking.",
"Make every card read as a document with a header, accession number, ruled rows, and an audit status.",
"Use black redaction bars as the main graphic motif and allow them to obscure otherwise important-looking content.",
"Style checkboxes, tables, fields, tabs, and buttons as printable form controls with square corners and hard rules.",
"Keep stamps small, red, and procedural: APPROVED, WITHHELD, TRACE, or AUDIT rather than expressive slogans.",
"Let sprocket holes, perforation rules, scanlines, and dot-matrix speckles appear through CSS patterns rather than bitmap textures.",
"Maintain global -0.02em tracking and monospaced tabular alignment across labels, rows, captions, and controls.",
"Use manga-inspired negative space as a quiet block of absence, not as illustrated character art."
],
"dont": [
"Do not introduce neon palettes beyond phosphor green and tiny red audit marks.",
"Do not use rounded glass cards, blur effects, or glossy cyberpunk chrome.",
"Do not make the embodiment a generic admin dashboard; every module must have file, form, or terminal logic.",
"Do not use distressed paper grunge so heavily that it reduces legibility or feels vintage scrapbook.",
"Do not animate large panels; only cursor blink, prompt tick, or stamp arrival are appropriate.",
"Do not place green text on beige at small sizes without black support or adequate contrast.",
"Do not fill all negative space with icons or widgets; withheld blankness is part of the system."
]
}
}
related