Osaka Debug Deck
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-black panel rules, doubled terminal dividers, clipped-corner outlines, and near-invisible rgba(17,17,15,0.08) interior hairlines.
- default width
- 2px
- style
- solid
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- Motion feels like firmware confirming input: tiny lime blinks, one-step deck slides, and no floating parallax or decorative looping.
radii5 items
- full
- 9999px
- lg
- 24px
- md
- 16px
- none
- 0px
- sm
- 0px
shadows3 items
- lg
- 14px 18px 0 rgba(17,17,15,0.10)
- md
- 8px 8px 0 rgba(17,17,15,0.12)
- sm
- 3px 3px 0 rgba(17,17,15,0.18)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96, 128
surfaces3 items
- bg pattern
- Large quiet paper background with one diagonal halftone field and small barcode ticks; pattern opacity stays below 12%.
- card style
- Rectangular manga panels with 2px black rules, clipped corner notches, occasional offset sticker labels, and no soft shadow unless the panel must read as a deck cartridge.
- treatment
- Warm paper fields with black ink rules, sparse halftone radial-dot overlays, and chrome strips reserved for hardware-like edges.
typography8 items
- base size
- 16px
- body font
- IBM Plex Sans JP
- google fonts url
- https://fonts.googleapis.com/css2?family=Teko:wght@500;600;700&family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Reddit+Mono:wght@400;500;700&display=swap
- heading font
- Teko
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- Reddit Mono
- scale ratio
- 1.25
rules
Use a 12-column modular UI grid interrupted by manga panel spans: one dominant deck panel, one dense debug strip, one rotated sticker cluster, and a deliberate large blank paper area. Avoid three equal cards; panels should crop, overlap, or break the grid like a printed streetwear layout.
Alternate dense firmware clusters at 4-8px gaps with open paper zones at 64-128px so the system feels energetic but disciplined instead of busy.
Primary hierarchy comes from condensed uppercase deck labels at extreme scale, then black rule weight, then monospace debug chips. Acid lime marks only live on active or selected states, never as a general decorative fill. Chrome rails frame important controls but do not become a full background.
layout
Mobile < 640px stacks panels in source order with sticker rotation reduced; tablet 640-1024px uses 6 columns; desktop >= 1024px uses the full 12-column asymmetric deck.
The system deliberately pairs tight 4px terminal rows with 96px paper pauses; visual energy is localized to sticker clusters and debug strips.
Desktop uses a 12-column grid with 24px gutters and max-width 1320px; dominant panels span 7-8 columns while utility panels occupy irregular 3-5 column fragments.
Chrome rails and halftone blocks scale with clamp() dimensions, panels stack before microcopy becomes unreadable, and rotated stickers flatten on narrow screens.
Large negative-space fields are mandatory around the hero title and beside the console deck; do not fill paper gaps with extra icons or metrics.
guidance
- Use black-and-warm-paper as the default relationship and reserve acid lime for active debug state.
- Make at least one panel visibly hardware-like with chrome rails, screws, and battery/status chips.
- Create rhythm through manga crops, halftone fields, barcode labels, and dense terminal rows.
- Keep body copy readable at 15-16px with -0.02em tracking and strong contrast.
- Use condensed uppercase labels for deck/navigation language and monospace only for metadata.
- Let large blank paper areas remain blank; restraint is part of the streetwear polish.
- Pair all color statuses with text, shapes, or command labels for accessibility.
- Do not introduce purple, cyan, pink, or a multi-neon cyberpunk palette.
- Do not use three equal statistic cards, generic dashboard charts, or SaaS analytics layouts.
- Do not turn manga influence into character illustration wallpaper.
- Do not scatter stickers randomly; cluster them around meaningful panel edges.
- Do not round every card or use soft glassmorphism blurs.
- Do not place essential information only in tiny barcode or microcopy labels.
- Do not let chrome gradients cover large surfaces; they are hardware cues only.
katagami spec
# Osaka Debug Deck ## Philosophy Osaka Debug Deck is a disciplined youth-tech language for street-level software: monochrome manga structure, portable-console hardware cues, and terminal-state labeling compressed into a polished black-and-paper interface. It treats existential cyber-anime mood as operational clarity rather than visual chaos. ### Values - manga economy: black ink, paper, screentone, and only one loud status mark - debug legibility: every decorative label behaves like firmware metadata or a terminal prompt - portable hardware tactility through chrome rails, battery chips, recessed buttons, and barcode IDs - asymmetric streetwear composition with sticker clusters balanced by large calm negative space - high-contrast accessibility with restrained accent hierarchy and no synthetic rainbow effects - youthful velocity expressed through cropping, panel rhythm, and microcopy rather than clutter ### Anti-Values - generic neon cyberpunk gradients and dense futuristic decoration - soft SaaS cards with equal columns, pastel status palettes, and default rounded corners - anime nostalgia used as illustration wallpaper instead of structural typography and layout - uncontrolled graffiti, random stickers, or multiple competing accent colors ### Visual Character - A modular manga-panel grid uses thick black outer rules, offset inner panels, halftone blocks, and one oversized negative-space breach to avoid equal-card symmetry. - Chrome portable-console rails are built with linear-gradient silver strips, pill battery chips, circular hardware buttons, and recessed black screw dots on key surfaces. - Terminal stickers appear as rotated monochrome labels with barcode IDs, command prompts, checksum strings, and a single acid-lime hand-tag overlay used only for active status. - Typography separates voices with condensed uppercase Teko deck labels, IBM Plex Sans JP body copy, and Reddit Mono pixel-like microcopy with mandatory tight tracking. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: Ink-black panel rules, doubled terminal dividers, clipped-corner outlines, and near-invisible rgba(17,17,15,0.08) interior hairlines. - **Default Width**: 2px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#B7D23A` | | background | `#F2EDE3` | | border | `#11110F` | | error | `#B33A2E` | | info | `#4F8B9A` | | muted | `#5F5D56` | | primary | `#11110F` | | secondary | `#7A7A72` | | success | `#89A82D` | | surface | `#FFFDF6` | | text | `#11110F` | | warning | `#C49A2E` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(.2,.8,.2,1) - **Philosophy**: Motion feels like firmware confirming input: tiny lime blinks, one-step deck slides, and no floating parallax or decorative looping. ### Radii - **Full**: 9999px - **Lg**: 24px - **Md**: 16px - **None**: 0px - **Sm**: 0px ### Shadows - **Lg**: 14px 18px 0 rgba(17,17,15,0.10) - **Md**: 8px 8px 0 rgba(17,17,15,0.12) - **Sm**: 3px 3px 0 rgba(17,17,15,0.18) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96,128] ### Surfaces - **Bg Pattern**: Large quiet paper background with one diagonal halftone field and small barcode ticks; pattern opacity stays below 12%. - **Card Style**: Rectangular manga panels with 2px black rules, clipped corner notches, occasional offset sticker labels, and no soft shadow unless the panel must read as a deck cartridge. - **Treatment**: Warm paper fields with black ink rules, sparse halftone radial-dot overlays, and chrome strips reserved for hardware-like edges. ### Typography - **Base Size**: 16px - **Body Font**: IBM Plex Sans JP - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Teko:wght@500;600;700&family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Reddit+Mono:wght@400;500;700&display=swap - **Heading Font**: Teko - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: Reddit Mono - **Scale Ratio**: 1.25 ## Rules ### Composition Use a 12-column modular UI grid interrupted by manga panel spans: one dominant deck panel, one dense debug strip, one rotated sticker cluster, and a deliberate large blank paper area. Avoid three equal cards; panels should crop, overlap, or break the grid like a printed streetwear layout. ### Density Alternate dense firmware clusters at 4-8px gaps with open paper zones at 64-128px so the system feels energetic but disciplined instead of busy. ### Hierarchy Primary hierarchy comes from condensed uppercase deck labels at extreme scale, then black rule weight, then monospace debug chips. Acid lime marks only live on active or selected states, never as a general decorative fill. Chrome rails frame important controls but do not become a full background. ### Signature Patterns - Clipped manga panels use CSS polygon clip-path plus thick ink borders and halftone pseudo-elements anchored to only one corner. - Portable-console chrome rails use narrow linear-gradient strips with screw-dot pseudo-elements and pill battery chips attached to panel edges. - Terminal sticker clusters are absolutely positioned rotated labels with barcode repeating-linear-gradient blocks and command-prompt microcopy. - Acid-lime hand-tag states are drawn as short skewed highlight strokes behind text, limited to one active command or route marker per composition. ## Layout ### Breakpoints Mobile < 640px stacks panels in source order with sticker rotation reduced; tablet 640-1024px uses 6 columns; desktop >= 1024px uses the full 12-column asymmetric deck. ### Density The system deliberately pairs tight 4px terminal rows with 96px paper pauses; visual energy is localized to sticker clusters and debug strips. ### Grid Desktop uses a 12-column grid with 24px gutters and max-width 1320px; dominant panels span 7-8 columns while utility panels occupy irregular 3-5 column fragments. ### Responsive Chrome rails and halftone blocks scale with clamp() dimensions, panels stack before microcopy becomes unreadable, and rotated stickers flatten on narrow screens. ### Whitespace Large negative-space fields are mandatory around the hero title and beside the console deck; do not fill paper gaps with extra icons or metrics. ## Guidance ### Do - Use black-and-warm-paper as the default relationship and reserve acid lime for active debug state. - Make at least one panel visibly hardware-like with chrome rails, screws, and battery/status chips. - Create rhythm through manga crops, halftone fields, barcode labels, and dense terminal rows. - Keep body copy readable at 15-16px with -0.02em tracking and strong contrast. - Use condensed uppercase labels for deck/navigation language and monospace only for metadata. - Let large blank paper areas remain blank; restraint is part of the streetwear polish. - Pair all color statuses with text, shapes, or command labels for accessibility. ### Don't - Do not introduce purple, cyan, pink, or a multi-neon cyberpunk palette. - Do not use three equal statistic cards, generic dashboard charts, or SaaS analytics layouts. - Do not turn manga influence into character illustration wallpaper. - Do not scatter stickers randomly; cluster them around meaningful panel edges. - Do not round every card or use soft glassmorphism blurs. - Do not place essential information only in tiny barcode or microcopy labels. - Do not let chrome gradients cover large surfaces; they are hardware cues only. ### Accessibility Maintain WCAG AA contrast on paper and black surfaces, keep lime supplemental to text state, provide visible black or lime focus outlines, and never set terminal microcopy below 11px. ### Usage Context Best for music-tech tools, courier dispatch consoles, anime festival operating systems, portable device apps, and fashion-tech product pages needing youth energy with rigorous structure.
DESIGN.md
---
version: "alpha"
name: "Osaka Debug Deck"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#B7D23A"
background: "#F2EDE3"
border: "#11110F"
error: "#B33A2E"
info: "#4F8B9A"
muted: "#5F5D56"
primary: "#11110F"
secondary: "#7A7A72"
success: "#89A82D"
surface: "#FFFDF6"
text: "#11110F"
warning: "#C49A2E"
typography:
headline-lg:
fontFamily: "Teko"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Teko"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "IBM Plex Sans JP"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "Reddit 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"
step-9: "128px"
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"
---
# Osaka Debug Deck
## Overview
Osaka Debug Deck is a disciplined youth-tech language for street-level software: monochrome manga structure, portable-console hardware cues, and terminal-state labeling compressed into a polished black-and-paper interface. It treats existential cyber-anime mood as operational clarity rather than visual chaos.
### Values
- manga economy: black ink, paper, screentone, and only one loud status mark
- debug legibility: every decorative label behaves like firmware metadata or a terminal prompt
- portable hardware tactility through chrome rails, battery chips, recessed buttons, and barcode IDs
- asymmetric streetwear composition with sticker clusters balanced by large calm negative space
- high-contrast accessibility with restrained accent hierarchy and no synthetic rainbow effects
- youthful velocity expressed through cropping, panel rhythm, and microcopy rather than clutter
### Anti-Values
- generic neon cyberpunk gradients and dense futuristic decoration
- soft SaaS cards with equal columns, pastel status palettes, and default rounded corners
- anime nostalgia used as illustration wallpaper instead of structural typography and layout
- uncontrolled graffiti, random stickers, or multiple competing accent colors
### Visual Character
- A modular manga-panel grid uses thick black outer rules, offset inner panels, halftone blocks, and one oversized negative-space breach to avoid equal-card symmetry.
- Chrome portable-console rails are built with linear-gradient silver strips, pill battery chips, circular hardware buttons, and recessed black screw dots on key surfaces.
- Terminal stickers appear as rotated monochrome labels with barcode IDs, command prompts, checksum strings, and a single acid-lime hand-tag overlay used only for active status.
- Typography separates voices with condensed uppercase Teko deck labels, IBM Plex Sans JP body copy, and Reddit Mono pixel-like microcopy with mandatory tight tracking.
## 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 | `#B7D23A` |
| background | `#F2EDE3` |
| border | `#11110F` |
| error | `#B33A2E` |
| info | `#4F8B9A` |
| muted | `#5F5D56` |
| primary | `#11110F` |
| secondary | `#7A7A72` |
| success | `#89A82D` |
| surface | `#FFFDF6` |
| text | `#11110F` |
| warning | `#C49A2E` |
## Typography
- **Headline-Lg**: Teko, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Teko, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans JP, 16px, weight 400, line-height 1.55.
- **Label-Md**: Reddit 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`
- **Step-9**: `128px`
### Breakpoints
Mobile < 640px stacks panels in source order with sticker rotation reduced; tablet 640-1024px uses 6 columns; desktop >= 1024px uses the full 12-column asymmetric deck.
### Density
The system deliberately pairs tight 4px terminal rows with 96px paper pauses; visual energy is localized to sticker clusters and debug strips.
### Grid
Desktop uses a 12-column grid with 24px gutters and max-width 1320px; dominant panels span 7-8 columns while utility panels occupy irregular 3-5 column fragments.
### Responsive
Chrome rails and halftone blocks scale with clamp() dimensions, panels stack before microcopy becomes unreadable, and rotated stickers flatten on narrow screens.
### Whitespace
Large negative-space fields are mandatory around the hero title and beside the console deck; do not fill paper gaps with extra icons or metrics.
## Elevation & Depth
### Shadows
- **Lg**: 14px 18px 0 rgba(17,17,15,0.10)
- **Md**: 8px 8px 0 rgba(17,17,15,0.12)
- **Sm**: 3px 3px 0 rgba(17,17,15,0.18)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `24px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: Large quiet paper background with one diagonal halftone field and small barcode ticks; pattern opacity stays below 12%.
- **Card Style**: Rectangular manga panels with 2px black rules, clipped corner notches, occasional offset sticker labels, and no soft shadow unless the panel must read as a deck cartridge.
- **Treatment**: Warm paper fields with black ink rules, sparse halftone radial-dot overlays, and chrome strips reserved for hardware-like edges.
### Borders
- **Accent Width**: 4px
- **Character**: Ink-black panel rules, doubled terminal dividers, clipped-corner outlines, and near-invisible rgba(17,17,15,0.08) interior hairlines.
- **Default Width**: 2px
- **Style**: solid
## Components
### Composition
Use a 12-column modular UI grid interrupted by manga panel spans: one dominant deck panel, one dense debug strip, one rotated sticker cluster, and a deliberate large blank paper area. Avoid three equal cards; panels should crop, overlap, or break the grid like a printed streetwear layout.
### Density
Alternate dense firmware clusters at 4-8px gaps with open paper zones at 64-128px so the system feels energetic but disciplined instead of busy.
### Hierarchy
Primary hierarchy comes from condensed uppercase deck labels at extreme scale, then black rule weight, then monospace debug chips. Acid lime marks only live on active or selected states, never as a general decorative fill. Chrome rails frame important controls but do not become a full background.
### Signature Patterns
- Clipped manga panels use CSS polygon clip-path plus thick ink borders and halftone pseudo-elements anchored to only one corner.
- Portable-console chrome rails use narrow linear-gradient strips with screw-dot pseudo-elements and pill battery chips attached to panel edges.
- Terminal sticker clusters are absolutely positioned rotated labels with barcode repeating-linear-gradient blocks and command-prompt microcopy.
- Acid-lime hand-tag states are drawn as short skewed highlight strokes behind text, limited to one active command or route marker per composition.
## 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/osaka-debug-deck/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-warm-paper as the default relationship and reserve acid lime for active debug state.
- Do Make at least one panel visibly hardware-like with chrome rails, screws, and battery/status chips.
- Do Create rhythm through manga crops, halftone fields, barcode labels, and dense terminal rows.
- Do Keep body copy readable at 15-16px with -0.02em tracking and strong contrast.
- Do Use condensed uppercase labels for deck/navigation language and monospace only for metadata.
- Do Let large blank paper areas remain blank; restraint is part of the streetwear polish.
- Do Pair all color statuses with text, shapes, or command labels for accessibility.
- Don't Do not introduce purple, cyan, pink, or a multi-neon cyberpunk palette.
- Don't Do not use three equal statistic cards, generic dashboard charts, or SaaS analytics layouts.
- Don't Do not turn manga influence into character illustration wallpaper.
- Don't Do not scatter stickers randomly; cluster them around meaningful panel edges.
- Don't Do not round every card or use soft glassmorphism blurs.
- Don't Do not place essential information only in tiny barcode or microcopy labels.
- Don't Do not let chrome gradients cover large surfaces; they are hardware cues only.
### Accessibility
Maintain WCAG AA contrast on paper and black surfaces, keep lime supplemental to text state, provide visible black or lime focus outlines, and never set terminal microcopy below 11px.
### Usage Context
Best for music-tech tools, courier dispatch consoles, anime festival operating systems, portable device apps, and fashion-tech product pages needing youth energy with rigorous structure.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "osaka-debug-deck",
"type": "registry:theme",
"title": "Osaka Debug Deck shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F2EDE3",
"foreground": "#11110F",
"card": "#FFFDF6",
"card-foreground": "#11110F",
"popover": "#FFFDF6",
"popover-foreground": "#11110F",
"primary": "#11110F",
"primary-foreground": "#ffffff",
"secondary": "#7A7A72",
"secondary-foreground": "#ffffff",
"muted": "#5F5D56",
"muted-foreground": "#11110F",
"accent": "#B7D23A",
"accent-foreground": "#111111",
"destructive": "#B33A2E",
"border": "#11110F",
"input": "#11110F",
"ring": "#B7D23A",
"chart-1": "#11110F",
"chart-2": "#7A7A72",
"chart-3": "#B7D23A",
"chart-4": "#89A82D",
"chart-5": "#C49A2E",
"sidebar": "#FFFDF6",
"sidebar-foreground": "#11110F",
"sidebar-primary": "#11110F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4F8B9A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#11110F",
"sidebar-ring": "#B7D23A",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#11110F",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#B7D23A",
"accent-foreground": "#111111",
"destructive": "#B33A2E",
"border": "#303642",
"input": "#303642",
"ring": "#B7D23A",
"chart-1": "#11110F",
"chart-2": "#7A7A72",
"chart-3": "#B7D23A",
"chart-4": "#89A82D",
"chart-5": "#C49A2E",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#11110F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#B7D23A",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#B7D23A",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "osaka-debug-deck",
"slug": "osaka-debug-deck",
"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
- step-896px
- step-9128px
Shape
implementation kit
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table:root {
--background: #F2EDE3;
--foreground: #11110F;
--card: #FFFDF6;
--card-foreground: #11110F;
--popover: #FFFDF6;
--popover-foreground: #11110F;
--primary: #11110F;
--primary-foreground: #ffffff;
--secondary: #7A7A72;
--secondary-foreground: #ffffff;
--muted: #5F5D56;
--muted-foreground: #11110F;
--accent: #B7D23A;
--accent-foreground: #111111;
--destructive: #B33A2E;
--border: #11110F;
--input: #11110F;
--ring: #B7D23A;
--chart-1: #11110F;
--chart-2: #7A7A72;
--chart-3: #B7D23A;
--chart-4: #89A82D;
--chart-5: #C49A2E;
--sidebar: #FFFDF6;
--sidebar-foreground: #11110F;
--sidebar-primary: #11110F;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #4F8B9A;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #11110F;
--sidebar-ring: #B7D23A;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #11110F;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #B7D23A;
--accent-foreground: #111111;
--destructive: #B33A2E;
--border: #303642;
--input: #303642;
--ring: #B7D23A;
--chart-1: #11110F;
--chart-2: #7A7A72;
--chart-3: #B7D23A;
--chart-4: #89A82D;
--chart-5: #C49A2E;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #11110F;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #B7D23A;
--sidebar-accent-foreground: #111111;
--sidebar-border: #303642;
--sidebar-ring: #B7D23A;
--radius: 16px;
}
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 OsakaDebugDeckShadcnKit() {
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">Osaka Debug Deck</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "osaka-debug-deck",
"type": "registry:theme",
"title": "Osaka Debug Deck shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F2EDE3",
"foreground": "#11110F",
"card": "#FFFDF6",
"card-foreground": "#11110F",
"popover": "#FFFDF6",
"popover-foreground": "#11110F",
"primary": "#11110F",
"primary-foreground": "#ffffff",
"secondary": "#7A7A72",
"secondary-foreground": "#ffffff",
"muted": "#5F5D56",
"muted-foreground": "#11110F",
"accent": "#B7D23A",
"accent-foreground": "#111111",
"destructive": "#B33A2E",
"border": "#11110F",
"input": "#11110F",
"ring": "#B7D23A",
"chart-1": "#11110F",
"chart-2": "#7A7A72",
"chart-3": "#B7D23A",
"chart-4": "#89A82D",
"chart-5": "#C49A2E",
"sidebar": "#FFFDF6",
"sidebar-foreground": "#11110F",
"sidebar-primary": "#11110F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4F8B9A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#11110F",
"sidebar-ring": "#B7D23A",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#11110F",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#B7D23A",
"accent-foreground": "#111111",
"destructive": "#B33A2E",
"border": "#303642",
"input": "#303642",
"ring": "#B7D23A",
"chart-1": "#11110F",
"chart-2": "#7A7A72",
"chart-3": "#B7D23A",
"chart-4": "#89A82D",
"chart-5": "#C49A2E",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#11110F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#B7D23A",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#B7D23A",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "osaka-debug-deck",
"slug": "osaka-debug-deck",
"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"
]
}
}
}
# Osaka Debug Deck shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `osaka-debug-deck`
Slug: `osaka-debug-deck`
## Intent
Osaka Debug Deck is a disciplined youth-tech language for street-level software: monochrome manga structure, portable-console hardware cues, and terminal-state labeling compressed into a polished black-and-paper interface. It treats existential cyber-anime mood as operational clarity rather than visual chaos.
## 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": "#B7D23A",
"background": "#F2EDE3",
"border": "#11110F",
"error": "#B33A2E",
"info": "#4F8B9A",
"muted": "#5F5D56",
"primary": "#11110F",
"secondary": "#7A7A72",
"success": "#89A82D",
"surface": "#FFFDF6",
"text": "#11110F",
"warning": "#C49A2E"
}
Typography:
{
"base_size": "16px",
"body_font": "IBM Plex Sans JP",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Teko:wght@500;600;700&family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Reddit+Mono:wght@400;500;700&display=swap",
"heading_font": "Teko",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "Reddit Mono",
"scale_ratio": 1.25
}
## Visual character to preserve
- A modular manga-panel grid uses thick black outer rules, offset inner panels, halftone blocks, and one oversized negative-space breach to avoid equal-card symmetry.
- Chrome portable-console rails are built with linear-gradient silver strips, pill battery chips, circular hardware buttons, and recessed black screw dots on key surfaces.
- Terminal stickers appear as rotated monochrome labels with barcode IDs, command prompts, checksum strings, and a single acid-lime hand-tag overlay used only for active status.
- Typography separates voices with condensed uppercase Teko deck labels, IBM Plex Sans JP body copy, and Reddit Mono pixel-like microcopy with mandatory tight tracking.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "pebble",
"border": "solid",
"underlay": true,
"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/osaka-debug-deck/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: Use black-and-warm-paper as the default relationship and reserve acid lime for active debug state.; Make at least one panel visibly hardware-like with chrome rails, screws, and battery/status chips.; Create rhythm through manga crops, halftone fields, barcode labels, and dense terminal rows.; Keep body copy readable at 15-16px with -0.02em tracking and strong contrast.; Use condensed uppercase labels for deck/navigation language and monospace only for metadata.; Let large blank paper areas remain blank; restraint is part of the streetwear polish.; Pair all color statuses with text, shapes, or command labels for accessibility.
- Do not: Do not introduce purple, cyan, pink, or a multi-neon cyberpunk palette.; Do not use three equal statistic cards, generic dashboard charts, or SaaS analytics layouts.; Do not turn manga influence into character illustration wallpaper.; Do not scatter stickers randomly; cluster them around meaningful panel edges.; Do not round every card or use soft glassmorphism blurs.; Do not place essential information only in tiny barcode or microcopy labels.; Do not let chrome gradients cover large surfaces; they are hardware cues only.
## 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 OsakaDebugDeckShadcnKit() {
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">Osaka Debug Deck</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": "Mobile < 640px stacks panels in source order with sticker rotation reduced; tablet 640-1024px uses 6 columns; desktop >= 1024px uses the full 12-column asymmetric deck.",
"density": "The system deliberately pairs tight 4px terminal rows with 96px paper pauses; visual energy is localized to sticker clusters and debug strips.",
"grid": "Desktop uses a 12-column grid with 24px gutters and max-width 1320px; dominant panels span 7-8 columns while utility panels occupy irregular 3-5 column fragments.",
"responsive": "Chrome rails and halftone blocks scale with clamp() dimensions, panels stack before microcopy becomes unreadable, and rotated stickers flatten on narrow screens.",
"whitespace": "Large negative-space fields are mandatory around the hero title and beside the console deck; do not fill paper gaps with extra icons or metrics."
}
{
"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": "osaka-debug-deck",
"name": "Osaka Debug Deck",
"slug": "osaka-debug-deck"
},
"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": [
"A modular manga-panel grid uses thick black outer rules, offset inner panels, halftone blocks, and one oversized negative-space breach to avoid equal-card symmetry.",
"Chrome portable-console rails are built with linear-gradient silver strips, pill battery chips, circular hardware buttons, and recessed black screw dots on key surfaces.",
"Terminal stickers appear as rotated monochrome labels with barcode IDs, command prompts, checksum strings, and a single acid-lime hand-tag overlay used only for active status.",
"Typography separates voices with condensed uppercase Teko deck labels, IBM Plex Sans JP body copy, and Reddit Mono pixel-like microcopy with mandatory tight tracking."
],
"visualProfile": {
"family": "paper-collage",
"material": "paper",
"contour": "pebble",
"border": "solid",
"underlay": true,
"grain": false,
"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": "Osaka Debug Deck launch room",
"description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
"primaryAction": "Apply theme",
"secondaryAction": "Review states",
"stats": [
{
"label": "components",
"value": "16",
"tone": "accent"
},
{
"label": "states",
"value": "ready"
},
{
"label": "density",
"value": "balanced",
"tone": "warning"
}
],
"rows": [
{
"label": "Primary flow",
"value": "mapped",
"status": "active"
},
{
"label": "Token coverage",
"value": "semantic",
"status": "synced"
},
{
"label": "Responsive proof",
"value": "queued",
"status": "review"
}
],
"statuses": [
"Active",
"Synced",
"Draft"
]
}
},
{
"id": "detail-editor",
"title": "Detail editor",
"viewport": "tablet",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet"
],
"composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
"mustShow": [
"focus ring",
"error or destructive state",
"dialog or sheet treatment",
"written guidance content"
],
"avoid": [
"unstyled browser controls",
"floating cards inside cards",
"missing labels"
],
"scene": {
"eyebrow": "editing flow",
"headline": "Language recipe editor",
"description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
"primaryAction": "Save recipe",
"secondaryAction": "Open sheet",
"fields": [
{
"label": "Component family",
"value": "Narrative cards"
},
{
"label": "State treatment",
"value": "Visible focus + validation"
},
{
"label": "Motion",
"value": "Small lift, no opacity-only fade"
}
],
"statuses": [
"Focus",
"Invalid",
"Confirmed"
]
}
},
{
"id": "data-operations",
"title": "Data operations",
"viewport": "mobile",
"primitives": [
"button",
"tabs",
"badge",
"dropdown-menu",
"table",
"tooltip",
"separator"
],
"composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
"mustShow": [
"responsive reflow",
"dense row styling",
"menu affordance",
"status badge system"
],
"avoid": [
"desktop-only tables",
"text overflow",
"default shadcn spacing without Katagami character"
],
"scene": {
"eyebrow": "operations",
"headline": "Compact review queue",
"description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
"primaryAction": "Resolve",
"secondaryAction": "Filter",
"rows": [
{
"label": "Button hierarchy",
"value": "approved",
"status": "ok"
},
{
"label": "Table rhythm",
"value": "needs pass",
"status": "watch"
},
{
"label": "Empty state",
"value": "designed",
"status": "done"
}
],
"statuses": [
"Queued",
"Blocked",
"Done"
]
}
}
],
"componentRecipes": [
{
"primitive": "button",
"intent": "Prove action hierarchy, focus, disabled, and destructive states."
},
{
"primitive": "card",
"intent": "Carry the language surface, border, elevation, and density rules."
},
{
"primitive": "input",
"intent": "Show labels, focus rings, validation, and spacing rhythm."
},
{
"primitive": "textarea",
"intent": "Show longer guidance, validation copy, and writing density."
},
{
"primitive": "select",
"intent": "Show filtering, selection contrast, and menu trigger styling."
},
{
"primitive": "dialog",
"intent": "Show centered decision states and overlay treatment."
},
{
"primitive": "sheet",
"intent": "Show contextual side panels and responsive editing."
},
{
"primitive": "tabs",
"intent": "Show navigational structure and active/inactive contrast."
},
{
"primitive": "badge",
"intent": "Show compact status vocabulary and semantic colors."
},
{
"primitive": "separator",
"intent": "Show section rhythm without generic gray dividers."
},
{
"primitive": "checkbox",
"intent": "Show binary selection with visible focus and checked states."
},
{
"primitive": "switch",
"intent": "Show settings toggles and on/off contrast."
},
{
"primitive": "slider",
"intent": "Show numeric adjustment with track/thumb styling."
},
{
"primitive": "tooltip",
"intent": "Show concise explanation styling above compact controls."
},
{
"primitive": "dropdown-menu",
"intent": "Show action menus, destructive items, and grouped choices."
},
{
"primitive": "table",
"intent": "Show dense operational data, separators, row states, and responsive behavior."
}
],
"qualityRules": {
"do": [
"Use black-and-warm-paper as the default relationship and reserve acid lime for active debug state.",
"Make at least one panel visibly hardware-like with chrome rails, screws, and battery/status chips.",
"Create rhythm through manga crops, halftone fields, barcode labels, and dense terminal rows.",
"Keep body copy readable at 15-16px with -0.02em tracking and strong contrast.",
"Use condensed uppercase labels for deck/navigation language and monospace only for metadata.",
"Let large blank paper areas remain blank; restraint is part of the streetwear polish.",
"Pair all color statuses with text, shapes, or command labels for accessibility."
],
"dont": [
"Do not introduce purple, cyan, pink, or a multi-neon cyberpunk palette.",
"Do not use three equal statistic cards, generic dashboard charts, or SaaS analytics layouts.",
"Do not turn manga influence into character illustration wallpaper.",
"Do not scatter stickers randomly; cluster them around meaningful panel edges.",
"Do not round every card or use soft glassmorphism blurs.",
"Do not place essential information only in tiny barcode or microcopy labels.",
"Do not let chrome gradients cover large surfaces; they are hardware cues only."
]
}
}