Quiet Porcelain Service Terminal
A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.
Download DESIGN.md
Portable DESIGN.md source of truth for most agents and apps.
specification
philosophy
tokens
borders4 items
- accent width
- 2px
- character
- Near-black borders at 8-14% opacity for seams; heavier sumi black only on the primary aperture and active focus rings.
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 480ms
- easing
- cubic-bezier(0.19, 1, 0.22, 1)
- philosophy
- Only the service LED breathes and receipt rows gently settle; all movement suggests a calm machine waiting for consent.
radii5 items
- full
- 9999px
- lg
- 40px
- md
- 24px
- none
- 0px
- sm
- 16px
shadows3 items
- lg
- 0 36px 90px rgba(42,36,29,0.16), 0 2px 0 rgba(255,255,255,0.70) inset
- md
- 0 18px 48px rgba(55,49,42,0.10), inset 0 1px 0 rgba(255,255,255,0.86)
- sm
- 0 1px 0 rgba(23,21,20,0.08), inset 0 1px 0 rgba(255,255,255,0.75)
spacing2 items
- base
- 8px
- scale
- 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px, 128px
surfaces3 items
- bg pattern
- Sparse manga registration ticks and inspection-stamp marks around the kiosk; background remains mostly empty bone paper.
- card style
- Use object-like faceplate compartments with shallow inset seams, gasket lines, and maintenance screws rather than floating cards.
- treatment
- Warm porcelain fields with very subtle radial ceramic gloss, rice-paper gray inset panels, translucent blue-gray service inserts, and no decorative color floods.
typography8 items
- base size
- 16px
- body font
- Zen Kaku Gothic New
- google fonts url
- https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Fragment+Mono:ital@0;1&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap
- heading font
- BIZ UDPGothic
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- Fragment Mono
- scale ratio
- 1.22
rules
Sparse overall with dense local clusters: tiny diagnostic copy at 4-8px rhythm sits beside 64-128px quiet ceramic expanses to pass the spacing rhythm test.
layout
Mobile at 480px stacks the diagnostic rail below the aperture; tablet at 768px keeps the kiosk silhouette but reduces outer whitespace; desktop at 1120px enables the full asymmetric faceplate and side log.
Object-first density with one spacious body and several compact service clusters; use negative space to make robotics care feel patient and deliberate.
Desktop uses a 12-column page grid with a 1040px maximum object stage; the kiosk faceplate spans 7 columns while receipt and status rails occupy broken inset columns.
Use 4-8px for related labels, 24-32px for hatch interiors, 64-96px between major ritual zones, and at least 128px of quiet porcelain or paper field on desktop.
guidance
- Make the application a specific service robotics scene with queue numbers, consent prompts, cleaning cycles, and handoff states.
- Use warm porcelain white, bone, sumi black, muted teal, and tiny amber only; keep all accents desaturated.
- Build identity from rounded faceplate seams, recessed apertures, receipt strips, and small repair labels.
- Use manga influence as panel rhythm, gutters, inspection marks, and restrained halftone—not as a character drawing.
- Keep body text at 15-16px with -0.02em tracking and display text at -0.04em with tight leading.
- Make every LED or color cue accompanied by readable text, icon shape, or border state.
- Favor one dominant interaction aperture over multiple equal content panels.
- Preserve large quiet surfaces; do not fill every open area with data.
- Do not use the library name, green code rain, hacker dashboards, neon alleys, or saturated pink/cyan cyberpunk.
- Do not create a generic SaaS dashboard, analytics cards, CRM views, or three equal cards in a row.
- Do not draw anime characters, weapons, mecha combat language, or fan-art silhouettes.
- Do not use pure cyan glows, heavy gradients, glassmorphism, or inflated generic shadows.
- Do not let terminal motifs become unreadable noise; microcopy must still be plausible service copy.
- Do not add extra accent colors beyond teal and amber except semantic text states.
- Do not make the robot hostile or militarized; care rituals must remain quiet and consent-driven.
- Do not rely on color alone for cleaning, warning, waiting, or ready states.
katagami spec
# Quiet Porcelain Service Terminal ## Philosophy A quiet human-scale service robotics language for appointment handoff, calibration, and consent rituals. It treats the interface as a warm porcelain android kiosk: mostly blank ceramic volume, precise manga-panel linework, tiny low-teal service states, and receipt-like terminal microcopy that makes care feel procedural without becoming clinical or cyberpunk. ### Values - Porcelain calm before interface density: most space is ceramic silence and only necessary controls interrupt it. - Human consent rituals: every action is phrased as check-in, wait, handoff, calibration, or cleaning rather than command-and-control. - Repairable object honesty: seams, gaskets, port labels, inspection stamps, and hatches show a maintained service body. - Manga structure through gutters and restrained ink linework, never character illustration or expressive fan-art posing. - Late-90s hardware softness: molded bevels, translucent inserts, compact device labeling, and Y2K terminal copy kept desaturated. - Tiny status light discipline: muted teal and amber appear only as machine breath, maintenance cue, or active queue proof. ### Anti-Values - Green matrix rain, neon cyberpunk streets, generic hacker dashboards, and saturated pink/cyan glow culture. - Glossy SaaS card grids, equal three-card marketing sections, inflated drop shadows, and decorative gradients without function. - Weaponized mecha language, hero character illustration, aggressive chrome, and fantasy robotics silhouettes. - Default web-app typography or generic analytics labels that detach the screen from a specific care terminal scene. ### Visual Character - A centered porcelain kiosk silhouette built from large rounded panels, shallow inset seams, and a recessed black interaction aperture rather than separate SaaS cards. - Calm manga gutters divide the faceplate into asymmetric panels: one dominant quiet aperture, narrow diagnostic strips, receipt logs, and small maintenance hatches. - Microcopy uses monospaced service labels, appointment codes, port identifiers, calibration ticks, and inspection stamps set as tiny terminal artifacts. - Low-teal breathing LEDs and tiny amber maintenance marks are rendered as small dots, bars, and edge glows with no neon floods or synthetic triads. - Warm bone surfaces use near-invisible black linework, rice-paper gray shadows, ceramic gloss highlights, and generous negative space as the primary decoration. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Near-black borders at 8-14% opacity for seams; heavier sumi black only on the primary aperture and active focus rings. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#4F918B` | | background | `#F4EFE7` | | border | `#171514` | | error | `#8E4E42` | | info | `#5F7580` | | muted | `#6E6961` | | primary | `#F6F0E6` | | secondary | `#E7DED0` | | success | `#4F918B` | | surface | `#FFFDF8` | | text | `#171514` | | warning | `#A86F2B` | ### Motion - **Duration**: 480ms - **Easing**: cubic-bezier(0.19, 1, 0.22, 1) - **Philosophy**: Only the service LED breathes and receipt rows gently settle; all movement suggests a calm machine waiting for consent. ### Radii - **Full**: 9999px - **Lg**: 40px - **Md**: 24px - **None**: 0px - **Sm**: 16px ### Shadows - **Lg**: 0 36px 90px rgba(42,36,29,0.16), 0 2px 0 rgba(255,255,255,0.70) inset - **Md**: 0 18px 48px rgba(55,49,42,0.10), inset 0 1px 0 rgba(255,255,255,0.86) - **Sm**: 0 1px 0 rgba(23,21,20,0.08), inset 0 1px 0 rgba(255,255,255,0.75) ### Spacing - **Base**: 8px - **Scale**: ["4px","8px","12px","16px","24px","32px","48px","64px","96px","128px"] ### Surfaces - **Bg Pattern**: Sparse manga registration ticks and inspection-stamp marks around the kiosk; background remains mostly empty bone paper. - **Card Style**: Use object-like faceplate compartments with shallow inset seams, gasket lines, and maintenance screws rather than floating cards. - **Treatment**: Warm porcelain fields with very subtle radial ceramic gloss, rice-paper gray inset panels, translucent blue-gray service inserts, and no decorative color floods. ### Typography - **Base Size**: 16px - **Body Font**: Zen Kaku Gothic New - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Fragment+Mono:ital@0;1&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap - **Heading Font**: BIZ UDPGothic - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: Fragment Mono - **Scale Ratio**: 1.22 ## Rules ### Composition - Begin with one large human-scale kiosk body centered in a field of bone negative space. - Use asymmetric manga-panel hierarchy: dominant aperture, narrow diagnostic rail, small hatches, and receipt strip never align as equal cards. - Let seams and gutters organize content before color or shadow; every compartment should feel molded into the same object. - Keep the scene specific to a care terminal check-in ritual with named queue states and handoff copy. - Include at least one grid break through an oversized porcelain shoulder or base plinth crossing the page grid. ### Density Sparse overall with dense local clusters: tiny diagnostic copy at 4-8px rhythm sits beside 64-128px quiet ceramic expanses to pass the spacing rhythm test. ### Hierarchy - Display voice is compact, black, and slightly condensed by tracking; it labels the ritual rather than sells the product. - Primary interaction is the dark recessed aperture with a single calm consent prompt. - Secondary information appears as receipt microcopy, port labels, diagnostic ticks, and stamped service marks. - Status hierarchy uses size, position, and line weight first; teal and amber only confirm machine state. - Dense terminal logs must be offset by large unmarked porcelain surfaces. ### Signature Patterns - Porcelain faceplate compartments: CSS rounded rectangles use inset shadows, one-pixel gasket lines, and small screw dots to read as repairable ceramic hardware. - Receipt-slit terminal logs: narrow vertical strips combine dashed perforation borders, monospace microcopy, and paper-like off-white backgrounds. - Manga calibration gutters: thin black panel rules, registration ticks, and halftone restraint create manga structure without drawing characters. - Breathing service pupils: tiny teal LEDs animate opacity and box-shadow at low intensity, paired with labels so state is never color-only. - Cleaning-cycle seals: circular stamped marks and amber tape tabs sit on maintenance hatches as ritual proof rather than decoration. ## Layout ### Breakpoints Mobile at 480px stacks the diagnostic rail below the aperture; tablet at 768px keeps the kiosk silhouette but reduces outer whitespace; desktop at 1120px enables the full asymmetric faceplate and side log. ### Density Object-first density with one spacious body and several compact service clusters; use negative space to make robotics care feel patient and deliberate. ### Grid Desktop uses a 12-column page grid with a 1040px maximum object stage; the kiosk faceplate spans 7 columns while receipt and status rails occupy broken inset columns. ### Whitespace Use 4-8px for related labels, 24-32px for hatch interiors, 64-96px between major ritual zones, and at least 128px of quiet porcelain or paper field on desktop. ## Guidance ### Do - Make the application a specific service robotics scene with queue numbers, consent prompts, cleaning cycles, and handoff states. - Use warm porcelain white, bone, sumi black, muted teal, and tiny amber only; keep all accents desaturated. - Build identity from rounded faceplate seams, recessed apertures, receipt strips, and small repair labels. - Use manga influence as panel rhythm, gutters, inspection marks, and restrained halftone—not as a character drawing. - Keep body text at 15-16px with -0.02em tracking and display text at -0.04em with tight leading. - Make every LED or color cue accompanied by readable text, icon shape, or border state. - Favor one dominant interaction aperture over multiple equal content panels. - Preserve large quiet surfaces; do not fill every open area with data. ### Don't - Do not use the library name, green code rain, hacker dashboards, neon alleys, or saturated pink/cyan cyberpunk. - Do not create a generic SaaS dashboard, analytics cards, CRM views, or three equal cards in a row. - Do not draw anime characters, weapons, mecha combat language, or fan-art silhouettes. - Do not use pure cyan glows, heavy gradients, glassmorphism, or inflated generic shadows. - Do not let terminal motifs become unreadable noise; microcopy must still be plausible service copy. - Do not add extra accent colors beyond teal and amber except semantic text states. - Do not make the robot hostile or militarized; care rituals must remain quiet and consent-driven. - Do not rely on color alone for cleaning, warning, waiting, or ready states. ### Accessibility Maintain AA contrast with black text on porcelain surfaces and white text on the dark aperture, provide text labels for LEDs, keep touch targets at least 44px, and include visible sumi focus outlines plus reduced-motion support. ### Usage Context Best for robotic reception, clinic handoff terminals, device calibration flows, appointment check-in, repair logs, and meditative AI-service scenes where hardware presence matters more than data volume.
DESIGN.md
---
version: "alpha"
name: "Quiet Porcelain Service Terminal"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#4F918B"
background: "#F4EFE7"
border: "#171514"
error: "#8E4E42"
info: "#5F7580"
muted: "#6E6961"
primary: "#F6F0E6"
secondary: "#E7DED0"
success: "#4F918B"
surface: "#FFFDF8"
text: "#171514"
warning: "#A86F2B"
typography:
headline-lg:
fontFamily: "BIZ UDPGothic"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "BIZ UDPGothic"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Zen Kaku Gothic New"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "Fragment Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "40px"
md: "24px"
none: "0px"
sm: "16px"
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: "#000000"
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"
---
# Quiet Porcelain Service Terminal
## Overview
A quiet human-scale service robotics language for appointment handoff, calibration, and consent rituals. It treats the interface as a warm porcelain android kiosk: mostly blank ceramic volume, precise manga-panel linework, tiny low-teal service states, and receipt-like terminal microcopy that makes care feel procedural without becoming clinical or cyberpunk.
### Values
- Porcelain calm before interface density: most space is ceramic silence and only necessary controls interrupt it.
- Human consent rituals: every action is phrased as check-in, wait, handoff, calibration, or cleaning rather than command-and-control.
- Repairable object honesty: seams, gaskets, port labels, inspection stamps, and hatches show a maintained service body.
- Manga structure through gutters and restrained ink linework, never character illustration or expressive fan-art posing.
- Late-90s hardware softness: molded bevels, translucent inserts, compact device labeling, and Y2K terminal copy kept desaturated.
- Tiny status light discipline: muted teal and amber appear only as machine breath, maintenance cue, or active queue proof.
### Anti-Values
- Green matrix rain, neon cyberpunk streets, generic hacker dashboards, and saturated pink/cyan glow culture.
- Glossy SaaS card grids, equal three-card marketing sections, inflated drop shadows, and decorative gradients without function.
- Weaponized mecha language, hero character illustration, aggressive chrome, and fantasy robotics silhouettes.
- Default web-app typography or generic analytics labels that detach the screen from a specific care terminal scene.
### Visual Character
- A centered porcelain kiosk silhouette built from large rounded panels, shallow inset seams, and a recessed black interaction aperture rather than separate SaaS cards.
- Calm manga gutters divide the faceplate into asymmetric panels: one dominant quiet aperture, narrow diagnostic strips, receipt logs, and small maintenance hatches.
- Microcopy uses monospaced service labels, appointment codes, port identifiers, calibration ticks, and inspection stamps set as tiny terminal artifacts.
- Low-teal breathing LEDs and tiny amber maintenance marks are rendered as small dots, bars, and edge glows with no neon floods or synthetic triads.
- Warm bone surfaces use near-invisible black linework, rice-paper gray shadows, ceramic gloss highlights, and generous negative space as the primary decoration.
## 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 | `#4F918B` |
| background | `#F4EFE7` |
| border | `#171514` |
| error | `#8E4E42` |
| info | `#5F7580` |
| muted | `#6E6961` |
| primary | `#F6F0E6` |
| secondary | `#E7DED0` |
| success | `#4F918B` |
| surface | `#FFFDF8` |
| text | `#171514` |
| warning | `#A86F2B` |
## Typography
- **Headline-Lg**: BIZ UDPGothic, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: BIZ UDPGothic, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Zen Kaku Gothic New, 16px, weight 400, line-height 1.55.
- **Label-Md**: Fragment 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 at 480px stacks the diagnostic rail below the aperture; tablet at 768px keeps the kiosk silhouette but reduces outer whitespace; desktop at 1120px enables the full asymmetric faceplate and side log.
### Density
Object-first density with one spacious body and several compact service clusters; use negative space to make robotics care feel patient and deliberate.
### Grid
Desktop uses a 12-column page grid with a 1040px maximum object stage; the kiosk faceplate spans 7 columns while receipt and status rails occupy broken inset columns.
### Whitespace
Use 4-8px for related labels, 24-32px for hatch interiors, 64-96px between major ritual zones, and at least 128px of quiet porcelain or paper field on desktop.
## Elevation & Depth
### Shadows
- **Lg**: 0 36px 90px rgba(42,36,29,0.16), 0 2px 0 rgba(255,255,255,0.70) inset
- **Md**: 0 18px 48px rgba(55,49,42,0.10), inset 0 1px 0 rgba(255,255,255,0.86)
- **Sm**: 0 1px 0 rgba(23,21,20,0.08), inset 0 1px 0 rgba(255,255,255,0.75)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `40px`
- **Md**: `24px`
- **None**: `0px`
- **Sm**: `16px`
### Surfaces
- **Bg Pattern**: Sparse manga registration ticks and inspection-stamp marks around the kiosk; background remains mostly empty bone paper.
- **Card Style**: Use object-like faceplate compartments with shallow inset seams, gasket lines, and maintenance screws rather than floating cards.
- **Treatment**: Warm porcelain fields with very subtle radial ceramic gloss, rice-paper gray inset panels, translucent blue-gray service inserts, and no decorative color floods.
### Borders
- **Accent Width**: 2px
- **Character**: Near-black borders at 8-14% opacity for seams; heavier sumi black only on the primary aperture and active focus rings.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
- Begin with one large human-scale kiosk body centered in a field of bone negative space.
- Use asymmetric manga-panel hierarchy: dominant aperture, narrow diagnostic rail, small hatches, and receipt strip never align as equal cards.
- Let seams and gutters organize content before color or shadow; every compartment should feel molded into the same object.
- Keep the scene specific to a care terminal check-in ritual with named queue states and handoff copy.
- Include at least one grid break through an oversized porcelain shoulder or base plinth crossing the page grid.
### Density
Sparse overall with dense local clusters: tiny diagnostic copy at 4-8px rhythm sits beside 64-128px quiet ceramic expanses to pass the spacing rhythm test.
### Hierarchy
- Display voice is compact, black, and slightly condensed by tracking; it labels the ritual rather than sells the product.
- Primary interaction is the dark recessed aperture with a single calm consent prompt.
- Secondary information appears as receipt microcopy, port labels, diagnostic ticks, and stamped service marks.
- Status hierarchy uses size, position, and line weight first; teal and amber only confirm machine state.
- Dense terminal logs must be offset by large unmarked porcelain surfaces.
### Signature Patterns
- Porcelain faceplate compartments: CSS rounded rectangles use inset shadows, one-pixel gasket lines, and small screw dots to read as repairable ceramic hardware.
- Receipt-slit terminal logs: narrow vertical strips combine dashed perforation borders, monospace microcopy, and paper-like off-white backgrounds.
- Manga calibration gutters: thin black panel rules, registration ticks, and halftone restraint create manga structure without drawing characters.
- Breathing service pupils: tiny teal LEDs animate opacity and box-shadow at low intensity, paired with labels so state is never color-only.
- Cleaning-cycle seals: circular stamped marks and amber tape tabs sit on maintenance hatches as ritual proof rather than 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/quiet-porcelain-service-terminal/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 Make the application a specific service robotics scene with queue numbers, consent prompts, cleaning cycles, and handoff states.
- Do Use warm porcelain white, bone, sumi black, muted teal, and tiny amber only; keep all accents desaturated.
- Do Build identity from rounded faceplate seams, recessed apertures, receipt strips, and small repair labels.
- Do Use manga influence as panel rhythm, gutters, inspection marks, and restrained halftone—not as a character drawing.
- Do Keep body text at 15-16px with -0.02em tracking and display text at -0.04em with tight leading.
- Do Make every LED or color cue accompanied by readable text, icon shape, or border state.
- Do Favor one dominant interaction aperture over multiple equal content panels.
- Do Preserve large quiet surfaces; do not fill every open area with data.
- Don't Do not use the library name, green code rain, hacker dashboards, neon alleys, or saturated pink/cyan cyberpunk.
- Don't Do not create a generic SaaS dashboard, analytics cards, CRM views, or three equal cards in a row.
- Don't Do not draw anime characters, weapons, mecha combat language, or fan-art silhouettes.
- Don't Do not use pure cyan glows, heavy gradients, glassmorphism, or inflated generic shadows.
- Don't Do not let terminal motifs become unreadable noise; microcopy must still be plausible service copy.
- Don't Do not add extra accent colors beyond teal and amber except semantic text states.
- Don't Do not make the robot hostile or militarized; care rituals must remain quiet and consent-driven.
- Don't Do not rely on color alone for cleaning, warning, waiting, or ready states.
### Accessibility
Maintain AA contrast with black text on porcelain surfaces and white text on the dark aperture, provide text labels for LEDs, keep touch targets at least 44px, and include visible sumi focus outlines plus reduced-motion support.
### Usage Context
Best for robotic reception, clinic handoff terminals, device calibration flows, appointment check-in, repair logs, and meditative AI-service scenes where hardware presence matters more than data volume.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "quiet-porcelain-service-terminal",
"type": "registry:theme",
"title": "Quiet Porcelain Service Terminal shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F4EFE7",
"foreground": "#171514",
"card": "#FFFDF8",
"card-foreground": "#171514",
"popover": "#FFFDF8",
"popover-foreground": "#171514",
"primary": "#F6F0E6",
"primary-foreground": "#111111",
"secondary": "#E7DED0",
"secondary-foreground": "#111111",
"muted": "#6E6961",
"muted-foreground": "#171514",
"accent": "#4F918B",
"accent-foreground": "#ffffff",
"destructive": "#8E4E42",
"border": "#171514",
"input": "#171514",
"ring": "#4F918B",
"chart-1": "#F6F0E6",
"chart-2": "#E7DED0",
"chart-3": "#4F918B",
"chart-4": "#4F918B",
"chart-5": "#A86F2B",
"sidebar": "#FFFDF8",
"sidebar-foreground": "#171514",
"sidebar-primary": "#F6F0E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#5F7580",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#171514",
"sidebar-ring": "#4F918B",
"radius": "24px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#F6F0E6",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#4F918B",
"accent-foreground": "#ffffff",
"destructive": "#8E4E42",
"border": "#303642",
"input": "#303642",
"ring": "#4F918B",
"chart-1": "#F6F0E6",
"chart-2": "#E7DED0",
"chart-3": "#4F918B",
"chart-4": "#4F918B",
"chart-5": "#A86F2B",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#F6F0E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#4F918B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#4F918B",
"radius": "24px"
}
},
"meta": {
"source": "katagami",
"languageId": "quiet-porcelain-service-terminal",
"slug": "quiet-porcelain-service-terminal",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"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: #F4EFE7;
--foreground: #171514;
--card: #FFFDF8;
--card-foreground: #171514;
--popover: #FFFDF8;
--popover-foreground: #171514;
--primary: #F6F0E6;
--primary-foreground: #111111;
--secondary: #E7DED0;
--secondary-foreground: #111111;
--muted: #6E6961;
--muted-foreground: #171514;
--accent: #4F918B;
--accent-foreground: #ffffff;
--destructive: #8E4E42;
--border: #171514;
--input: #171514;
--ring: #4F918B;
--chart-1: #F6F0E6;
--chart-2: #E7DED0;
--chart-3: #4F918B;
--chart-4: #4F918B;
--chart-5: #A86F2B;
--sidebar: #FFFDF8;
--sidebar-foreground: #171514;
--sidebar-primary: #F6F0E6;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #5F7580;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #171514;
--sidebar-ring: #4F918B;
--radius: 24px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #F6F0E6;
--primary-foreground: #111111;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #4F918B;
--accent-foreground: #ffffff;
--destructive: #8E4E42;
--border: #303642;
--input: #303642;
--ring: #4F918B;
--chart-1: #F6F0E6;
--chart-2: #E7DED0;
--chart-3: #4F918B;
--chart-4: #4F918B;
--chart-5: #A86F2B;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #F6F0E6;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #4F918B;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #4F918B;
--radius: 24px;
}
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 QuietPorcelainServiceTerminalShadcnKit() {
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">Quiet Porcelain Service Terminal</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "quiet-porcelain-service-terminal",
"type": "registry:theme",
"title": "Quiet Porcelain Service Terminal shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F4EFE7",
"foreground": "#171514",
"card": "#FFFDF8",
"card-foreground": "#171514",
"popover": "#FFFDF8",
"popover-foreground": "#171514",
"primary": "#F6F0E6",
"primary-foreground": "#111111",
"secondary": "#E7DED0",
"secondary-foreground": "#111111",
"muted": "#6E6961",
"muted-foreground": "#171514",
"accent": "#4F918B",
"accent-foreground": "#ffffff",
"destructive": "#8E4E42",
"border": "#171514",
"input": "#171514",
"ring": "#4F918B",
"chart-1": "#F6F0E6",
"chart-2": "#E7DED0",
"chart-3": "#4F918B",
"chart-4": "#4F918B",
"chart-5": "#A86F2B",
"sidebar": "#FFFDF8",
"sidebar-foreground": "#171514",
"sidebar-primary": "#F6F0E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#5F7580",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#171514",
"sidebar-ring": "#4F918B",
"radius": "24px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#F6F0E6",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#4F918B",
"accent-foreground": "#ffffff",
"destructive": "#8E4E42",
"border": "#303642",
"input": "#303642",
"ring": "#4F918B",
"chart-1": "#F6F0E6",
"chart-2": "#E7DED0",
"chart-3": "#4F918B",
"chart-4": "#4F918B",
"chart-5": "#A86F2B",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#F6F0E6",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#4F918B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#4F918B",
"radius": "24px"
}
},
"meta": {
"source": "katagami",
"languageId": "quiet-porcelain-service-terminal",
"slug": "quiet-porcelain-service-terminal",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"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"
]
}
}
}
# Quiet Porcelain Service Terminal shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `quiet-porcelain-service-terminal`
Slug: `quiet-porcelain-service-terminal`
## Intent
A quiet human-scale service robotics language for appointment handoff, calibration, and consent rituals. It treats the interface as a warm porcelain android kiosk: mostly blank ceramic volume, precise manga-panel linework, tiny low-teal service states, and receipt-like terminal microcopy that makes care feel procedural without becoming clinical or cyberpunk.
## 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": "#4F918B",
"background": "#F4EFE7",
"border": "#171514",
"error": "#8E4E42",
"info": "#5F7580",
"muted": "#6E6961",
"primary": "#F6F0E6",
"secondary": "#E7DED0",
"success": "#4F918B",
"surface": "#FFFDF8",
"text": "#171514",
"warning": "#A86F2B"
}
Typography:
{
"base_size": "16px",
"body_font": "Zen Kaku Gothic New",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Fragment+Mono:ital@0;1&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap",
"heading_font": "BIZ UDPGothic",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "Fragment Mono",
"scale_ratio": 1.22
}
## Visual character to preserve
- A centered porcelain kiosk silhouette built from large rounded panels, shallow inset seams, and a recessed black interaction aperture rather than separate SaaS cards.
- Calm manga gutters divide the faceplate into asymmetric panels: one dominant quiet aperture, narrow diagnostic strips, receipt logs, and small maintenance hatches.
- Microcopy uses monospaced service labels, appointment codes, port identifiers, calibration ticks, and inspection stamps set as tiny terminal artifacts.
- Low-teal breathing LEDs and tiny amber maintenance marks are rendered as small dots, bars, and edge glows with no neon floods or synthetic triads.
- Warm bone surfaces use near-invisible black linework, rice-paper gray shadows, ceramic gloss highlights, and generous negative space as the primary decoration.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "dashed",
"underlay": false,
"grain": true,
"stickerBadges": true,
"motion": "still",
"density": "balanced",
"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/quiet-porcelain-service-terminal/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: Make the application a specific service robotics scene with queue numbers, consent prompts, cleaning cycles, and handoff states.; Use warm porcelain white, bone, sumi black, muted teal, and tiny amber only; keep all accents desaturated.; Build identity from rounded faceplate seams, recessed apertures, receipt strips, and small repair labels.; Use manga influence as panel rhythm, gutters, inspection marks, and restrained halftone—not as a character drawing.; Keep body text at 15-16px with -0.02em tracking and display text at -0.04em with tight leading.; Make every LED or color cue accompanied by readable text, icon shape, or border state.; Favor one dominant interaction aperture over multiple equal content panels.; Preserve large quiet surfaces; do not fill every open area with data.
- Do not: Do not use the library name, green code rain, hacker dashboards, neon alleys, or saturated pink/cyan cyberpunk.; Do not create a generic SaaS dashboard, analytics cards, CRM views, or three equal cards in a row.; Do not draw anime characters, weapons, mecha combat language, or fan-art silhouettes.; Do not use pure cyan glows, heavy gradients, glassmorphism, or inflated generic shadows.; Do not let terminal motifs become unreadable noise; microcopy must still be plausible service copy.; Do not add extra accent colors beyond teal and amber except semantic text states.; Do not make the robot hostile or militarized; care rituals must remain quiet and consent-driven.; Do not rely on color alone for cleaning, warning, waiting, or ready states.
## 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 QuietPorcelainServiceTerminalShadcnKit() {
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">Quiet Porcelain Service Terminal</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
```
## Layout notes
{
"breakpoints": "Mobile at 480px stacks the diagnostic rail below the aperture; tablet at 768px keeps the kiosk silhouette but reduces outer whitespace; desktop at 1120px enables the full asymmetric faceplate and side log.",
"density": "Object-first density with one spacious body and several compact service clusters; use negative space to make robotics care feel patient and deliberate.",
"grid": "Desktop uses a 12-column page grid with a 1040px maximum object stage; the kiosk faceplate spans 7 columns while receipt and status rails occupy broken inset columns.",
"whitespace": "Use 4-8px for related labels, 24-32px for hatch interiors, 64-96px between major ritual zones, and at least 128px of quiet porcelain or paper field on desktop."
}
{
"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": "quiet-porcelain-service-terminal",
"name": "Quiet Porcelain Service Terminal",
"slug": "quiet-porcelain-service-terminal"
},
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"identityNotes": [
"A centered porcelain kiosk silhouette built from large rounded panels, shallow inset seams, and a recessed black interaction aperture rather than separate SaaS cards.",
"Calm manga gutters divide the faceplate into asymmetric panels: one dominant quiet aperture, narrow diagnostic strips, receipt logs, and small maintenance hatches.",
"Microcopy uses monospaced service labels, appointment codes, port identifiers, calibration ticks, and inspection stamps set as tiny terminal artifacts.",
"Low-teal breathing LEDs and tiny amber maintenance marks are rendered as small dots, bars, and edge glows with no neon floods or synthetic triads.",
"Warm bone surfaces use near-invisible black linework, rice-paper gray shadows, ceramic gloss highlights, and generous negative space as the primary decoration."
],
"visualProfile": {
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "dashed",
"underlay": false,
"grain": true,
"stickerBadges": true,
"motion": "still",
"density": "balanced",
"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": "Quiet Porcelain Service Terminal launch room",
"description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
"primaryAction": "Apply theme",
"secondaryAction": "Review states",
"stats": [
{
"label": "components",
"value": "16",
"tone": "accent"
},
{
"label": "states",
"value": "ready"
},
{
"label": "density",
"value": "balanced",
"tone": "warning"
}
],
"rows": [
{
"label": "Primary flow",
"value": "mapped",
"status": "active"
},
{
"label": "Token coverage",
"value": "semantic",
"status": "synced"
},
{
"label": "Responsive proof",
"value": "queued",
"status": "review"
}
],
"statuses": [
"Active",
"Synced",
"Draft"
]
}
},
{
"id": "detail-editor",
"title": "Detail editor",
"viewport": "tablet",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet"
],
"composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
"mustShow": [
"focus ring",
"error or destructive state",
"dialog or sheet treatment",
"written guidance content"
],
"avoid": [
"unstyled browser controls",
"floating cards inside cards",
"missing labels"
],
"scene": {
"eyebrow": "editing flow",
"headline": "Language recipe editor",
"description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
"primaryAction": "Save recipe",
"secondaryAction": "Open sheet",
"fields": [
{
"label": "Component family",
"value": "Narrative cards"
},
{
"label": "State treatment",
"value": "Visible focus + validation"
},
{
"label": "Motion",
"value": "Small lift, no opacity-only fade"
}
],
"statuses": [
"Focus",
"Invalid",
"Confirmed"
]
}
},
{
"id": "data-operations",
"title": "Data operations",
"viewport": "mobile",
"primitives": [
"button",
"tabs",
"badge",
"dropdown-menu",
"table",
"tooltip",
"separator"
],
"composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
"mustShow": [
"responsive reflow",
"dense row styling",
"menu affordance",
"status badge system"
],
"avoid": [
"desktop-only tables",
"text overflow",
"default shadcn spacing without Katagami character"
],
"scene": {
"eyebrow": "operations",
"headline": "Compact review queue",
"description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
"primaryAction": "Resolve",
"secondaryAction": "Filter",
"rows": [
{
"label": "Button hierarchy",
"value": "approved",
"status": "ok"
},
{
"label": "Table rhythm",
"value": "needs pass",
"status": "watch"
},
{
"label": "Empty state",
"value": "designed",
"status": "done"
}
],
"statuses": [
"Queued",
"Blocked",
"Done"
]
}
}
],
"componentRecipes": [
{
"primitive": "button",
"intent": "Prove action hierarchy, focus, disabled, and destructive states."
},
{
"primitive": "card",
"intent": "Carry the language surface, border, elevation, and density rules."
},
{
"primitive": "input",
"intent": "Show labels, focus rings, validation, and spacing rhythm."
},
{
"primitive": "textarea",
"intent": "Show longer guidance, validation copy, and writing density."
},
{
"primitive": "select",
"intent": "Show filtering, selection contrast, and menu trigger styling."
},
{
"primitive": "dialog",
"intent": "Show centered decision states and overlay treatment."
},
{
"primitive": "sheet",
"intent": "Show contextual side panels and responsive editing."
},
{
"primitive": "tabs",
"intent": "Show navigational structure and active/inactive contrast."
},
{
"primitive": "badge",
"intent": "Show compact status vocabulary and semantic colors."
},
{
"primitive": "separator",
"intent": "Show section rhythm without generic gray dividers."
},
{
"primitive": "checkbox",
"intent": "Show binary selection with visible focus and checked states."
},
{
"primitive": "switch",
"intent": "Show settings toggles and on/off contrast."
},
{
"primitive": "slider",
"intent": "Show numeric adjustment with track/thumb styling."
},
{
"primitive": "tooltip",
"intent": "Show concise explanation styling above compact controls."
},
{
"primitive": "dropdown-menu",
"intent": "Show action menus, destructive items, and grouped choices."
},
{
"primitive": "table",
"intent": "Show dense operational data, separators, row states, and responsive behavior."
}
],
"qualityRules": {
"do": [
"Make the application a specific service robotics scene with queue numbers, consent prompts, cleaning cycles, and handoff states.",
"Use warm porcelain white, bone, sumi black, muted teal, and tiny amber only; keep all accents desaturated.",
"Build identity from rounded faceplate seams, recessed apertures, receipt strips, and small repair labels.",
"Use manga influence as panel rhythm, gutters, inspection marks, and restrained halftone—not as a character drawing.",
"Keep body text at 15-16px with -0.02em tracking and display text at -0.04em with tight leading.",
"Make every LED or color cue accompanied by readable text, icon shape, or border state.",
"Favor one dominant interaction aperture over multiple equal content panels.",
"Preserve large quiet surfaces; do not fill every open area with data."
],
"dont": [
"Do not use the library name, green code rain, hacker dashboards, neon alleys, or saturated pink/cyan cyberpunk.",
"Do not create a generic SaaS dashboard, analytics cards, CRM views, or three equal cards in a row.",
"Do not draw anime characters, weapons, mecha combat language, or fan-art silhouettes.",
"Do not use pure cyan glows, heavy gradients, glassmorphism, or inflated generic shadows.",
"Do not let terminal motifs become unreadable noise; microcopy must still be plausible service copy.",
"Do not add extra accent colors beyond teal and amber except semantic text states.",
"Do not make the robot hostile or militarized; care rituals must remain quiet and consent-driven.",
"Do not rely on color alone for cleaning, warning, waiting, or ready states."
]
}
}