back to gallerydo avoid
design language·katagami-margin-interface-system
Katagami Margin Interface System
A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.
Download DESIGN.md
Portable DESIGN.md source of truth for most agents and apps.
the spec
specification
philosophy
summary
A precise cut-paper editorial design language for text-heavy AI products where context is revealed through carved margins, stencil apertures, and quiet semantic notches instead of card-heavy dashboards.
values
Text remains the main surface; context is cut into the page as margins, apertures, rails, and inline reveals.Precision and restraint create trust: edges are crisp, seams are intentional, and ornament is structural rather than decorative.Negative space is functional; empty margins hold provenance, related notes, and source peeks without interrupting reading.Accent color carries semantic state only: active context, needs attention, resolved, or selected.Data views are editorial inserts within the reading system, not a separate KPI cockpit.Pattern appears at the threshold of attention—empty states, dividers, and close-detail moments—never behind dense copy.
anti-values
×Literal Japanese ornament, stencil patterns, or craft motifs pasted over the product without serving information architecture.×Rounded bubbly SaaS cards, glossy glassmorphism, heavy shadows, and stacked floating panels.×Full-width dashboard walls that make reading secondary to KPI tiles.×Dense texture or micro-pattern behind body text.×Colorful filled panels for routine states; accents must stay small and semantic.
tokens
borders5 items
- aperture width
- 2px
- character
- hairline fiber seams, squared aperture edges, and short accent notches
- default width
- 1px
- rule width
- 1px
- style
- solid
colors15 items
accent
#264D73
background
#FBF7EF
border
#D8CDBB
border_faint
rgba(36,31,25,0.08)
error
#9B3F32
fiber
#D8CDBB
info
#264D73
mist
#EDE5D8
muted
#666058
primary
#264D73
success
#697A45
surface
#FFFFFF
surface_alt
#F3EEE4
text
#22211F
warning
#B84A32
motion3 items
- duration
- 150ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- philosophy
- functional reveal motion only: apertures open 8-20px, margin notes slide from the cut edge, and pins fade without bounce
radii5 items
- full
- 9999px
- lg
- 8px
- md
- 4px
- none
- 0
- sm
- 2px
shadows3 items
- lg
- 0 24px 72px rgba(36,31,25,0.10)
- md
- 0 10px 32px rgba(36,31,25,0.08)
- sm
- inset 0 0 0 1px rgba(36,31,25,0.04)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 80, 96
surfaces3 items
- bg pattern
- tonal katagami micro-repeat only in empty states or section dividers at under 6% contrast
- card style
- not a floating card; use square paper slips with aperture edge, small notch, and one subtle cut shadow
- treatment
- flat warm paper, carved aperture panels, pale mist inserts, and restrained cut shadows; avoid glossy transparency
typography9 items
- base size
- 16px
- body font
- Source Sans 3
- dense size
- 13.5px
- google fonts url
- https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap
- heading font
- Source Sans 3
- letter spacing
- -0.01em
- line height
- 1.58
- mono font
- IBM Plex Mono
- numeric style
- tabular-nums
rules
composition
Compose each screen as one editorial sheet with carved context margins. Prefer apertures, rails, inline side-notes, and ruled inserts over independent card grids.
density
Use Review or Table inserts for data-heavy moments with high row height, pale paper backgrounds, tabular numerals, and minimal vertical rules. Do not convert the product into a dashboard wall.
hierarchy
Prose and primary tasks lead; margin context is secondary; metadata and source controls are tertiary. Color never outranks text and always has a label, notch, icon, or pattern backup.
signature patterns
Stencil margin note: a side note appears through a cut edge aligned to the referenced paragraph, with a subtle shadow and short semantic rule.Aperture source peek: retrieved context opens as a narrow inline window exposing title, excerpt, confidence, and action without a modal.Notched filter chip: selected filters use a small corner notch plus an indigo rule; inactive filters remain quiet text chips.Margin thread rail: related notes connect through a thin vertical rule with small pins rather than badges in the prose.Editorial data insert: tables and charts sit as paper-toned inserts with graphite labels, hairline axes, and one highlighted series.
layout
breakpoints
mobile < 640px stacks margins into inline apertures below paragraphs; tablet 640-1023px uses collapsible context rails; desktop >= 1024px shows persistent margin lanes; wide >= 1280px supports dual side apertures for compare and sources.
density
Three density modes: Reading uses a calm central sheet with margin notes; Compare opens paired stencil apertures beside selected passages; Review converts evidence into ruled inserts with high row height and visible provenance. Dense regions keep 13.5-14px minimum type and generous vertical rhythm.
grid
Desktop uses a page-canvas grid: a 680-760px readable center column, 64-96px context margins, and optional 280-360px aperture panels for source peeks or compare views. Use 4px atomic spacing with 8/12/16/24/32/48/64 rhythm; linework reveals the grid only where it clarifies relationships.
responsive
Maintain the cut/reveal metaphor at every size: margin rails become top-edge rule segments on mobile, source peeks become expandable inline slits, and table inserts become source-first records while preserving timestamp, confidence, and state.
whitespace
Protect wide reading gutters and calm margins. Use 24-32px page padding, 40-64px between major editorial sections, and 8-12px internal gaps around chips, pins, and notch labels.
guidance
- Use margins as active information architecture for notes, sources, constraints, and compare peeks.
- Keep edges crisp and panels sheet-like; use subtle cut shadows or inset rules instead of blurry depth.
- Apply accent colors as small semantic marks: notches, underlines, pins, rails, and rule segments.
- Use tabular numerals for timestamps, confidence, counts, and metrics.
- Expose source and provenance near the text it supports through inline apertures or side notes.
- Reserve micro-pattern for empty states, dividers, loading, or close-detail brand moments.
- Style inputs, filters, tables, citations, and focus states using the same cut-paper grammar.
- Do not place dense stencil texture behind body copy.
- Do not rely on floating rounded cards as the default container model.
- Do not overuse translucent blur; this language is cut and reveal, not glass.
- Do not fill large panels with saturated indigo, vermilion, or moss.
- Do not hide sources or constraints in detached modals when they can live in the margin.
- Do not make dashboards the visual center unless the task is explicitly data review.
- Do not use literal Japanese motifs unless they are abstracted into spacing, apertures, or repeat logic.
katagami spec
# Katagami Margin Interface System ## Philosophy A precise cut-paper editorial design language for text-heavy AI products where context is revealed through carved margins, stencil apertures, and quiet semantic notches instead of card-heavy dashboards. ### Values - Text remains the main surface; context is cut into the page as margins, apertures, rails, and inline reveals. - Precision and restraint create trust: edges are crisp, seams are intentional, and ornament is structural rather than decorative. - Negative space is functional; empty margins hold provenance, related notes, and source peeks without interrupting reading. - Accent color carries semantic state only: active context, needs attention, resolved, or selected. - Data views are editorial inserts within the reading system, not a separate KPI cockpit. - Pattern appears at the threshold of attention—empty states, dividers, and close-detail moments—never behind dense copy. ### Anti-Values - Literal Japanese ornament, stencil patterns, or craft motifs pasted over the product without serving information architecture. - Rounded bubbly SaaS cards, glossy glassmorphism, heavy shadows, and stacked floating panels. - Full-width dashboard walls that make reading secondary to KPI tiles. - Dense texture or micro-pattern behind body text. - Colorful filled panels for routine states; accents must stay small and semantic. ### Visual Character - Warm stencil-paper fields with graphite text and pale fiber seams create a crafted but modern reading plane. - Panels feel like apertures cut from one sheet: square or minimally rounded edges, subtle inset shadows, and notched corners. - Context lanes sit in generous left or right margins and connect to paragraphs with thin rails or pin marks. - Semantic accents appear as small indigo, vermilion, or moss rule segments, corner cuts, pins, and underlines. - Tables and metrics use high row height, tabular numerals, and sparse vertical lines so they feel like inserts in a page. - Micro-patterns borrow katagami repeat logic but stay tonal and sparse, used only for dividers, empty surfaces, or loading skeletons. ## Tokens ### Borders - **Aperture Width**: 2px - **Character**: hairline fiber seams, squared aperture edges, and short accent notches - **Default Width**: 1px - **Rule Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#264D73` | | background | `#FBF7EF` | | border | `#D8CDBB` | | border_faint | `rgba(36,31,25,0.08)` | | error | `#9B3F32` | | fiber | `#D8CDBB` | | info | `#264D73` | | mist | `#EDE5D8` | | muted | `#666058` | | primary | `#264D73` | | success | `#697A45` | | surface | `#FFFFFF` | | surface_alt | `#F3EEE4` | | text | `#22211F` | | warning | `#B84A32` | ### Motion - **Duration**: 150ms - **Easing**: cubic-bezier(0.2, 0, 0, 1) - **Philosophy**: functional reveal motion only: apertures open 8-20px, margin notes slide from the cut edge, and pins fade without bounce ### Radii - **Full**: 9999px - **Lg**: 8px - **Md**: 4px - **None**: 0 - **Sm**: 2px ### Shadows - **Lg**: 0 24px 72px rgba(36,31,25,0.10) - **Md**: 0 10px 32px rgba(36,31,25,0.08) - **Sm**: inset 0 0 0 1px rgba(36,31,25,0.04) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,80,96] ### Surfaces - **Bg Pattern**: tonal katagami micro-repeat only in empty states or section dividers at under 6% contrast - **Card Style**: not a floating card; use square paper slips with aperture edge, small notch, and one subtle cut shadow - **Treatment**: flat warm paper, carved aperture panels, pale mist inserts, and restrained cut shadows; avoid glossy transparency ### Typography - **Base Size**: 16px - **Body Font**: Source Sans 3 - **Dense Size**: 13.5px - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap - **Heading Font**: Source Sans 3 - **Letter Spacing**: -0.01em - **Line Height**: 1.58 - **Mono Font**: IBM Plex Mono - **Numeric Style**: tabular-nums ## Rules ### Composition Compose each screen as one editorial sheet with carved context margins. Prefer apertures, rails, inline side-notes, and ruled inserts over independent card grids. ### Density Use Review or Table inserts for data-heavy moments with high row height, pale paper backgrounds, tabular numerals, and minimal vertical rules. Do not convert the product into a dashboard wall. ### Hierarchy Prose and primary tasks lead; margin context is secondary; metadata and source controls are tertiary. Color never outranks text and always has a label, notch, icon, or pattern backup. ### Signature Patterns - Stencil margin note: a side note appears through a cut edge aligned to the referenced paragraph, with a subtle shadow and short semantic rule. - Aperture source peek: retrieved context opens as a narrow inline window exposing title, excerpt, confidence, and action without a modal. - Notched filter chip: selected filters use a small corner notch plus an indigo rule; inactive filters remain quiet text chips. - Margin thread rail: related notes connect through a thin vertical rule with small pins rather than badges in the prose. - Editorial data insert: tables and charts sit as paper-toned inserts with graphite labels, hairline axes, and one highlighted series. ## Layout ### Breakpoints mobile < 640px stacks margins into inline apertures below paragraphs; tablet 640-1023px uses collapsible context rails; desktop >= 1024px shows persistent margin lanes; wide >= 1280px supports dual side apertures for compare and sources. ### Density Three density modes: Reading uses a calm central sheet with margin notes; Compare opens paired stencil apertures beside selected passages; Review converts evidence into ruled inserts with high row height and visible provenance. Dense regions keep 13.5-14px minimum type and generous vertical rhythm. ### Grid Desktop uses a page-canvas grid: a 680-760px readable center column, 64-96px context margins, and optional 280-360px aperture panels for source peeks or compare views. Use 4px atomic spacing with 8/12/16/24/32/48/64 rhythm; linework reveals the grid only where it clarifies relationships. ### Responsive Maintain the cut/reveal metaphor at every size: margin rails become top-edge rule segments on mobile, source peeks become expandable inline slits, and table inserts become source-first records while preserving timestamp, confidence, and state. ### Whitespace Protect wide reading gutters and calm margins. Use 24-32px page padding, 40-64px between major editorial sections, and 8-12px internal gaps around chips, pins, and notch labels. ## Guidance ### Do - Use margins as active information architecture for notes, sources, constraints, and compare peeks. - Keep edges crisp and panels sheet-like; use subtle cut shadows or inset rules instead of blurry depth. - Apply accent colors as small semantic marks: notches, underlines, pins, rails, and rule segments. - Use tabular numerals for timestamps, confidence, counts, and metrics. - Expose source and provenance near the text it supports through inline apertures or side notes. - Reserve micro-pattern for empty states, dividers, loading, or close-detail brand moments. - Style inputs, filters, tables, citations, and focus states using the same cut-paper grammar. ### Don't - Do not place dense stencil texture behind body copy. - Do not rely on floating rounded cards as the default container model. - Do not overuse translucent blur; this language is cut and reveal, not glass. - Do not fill large panels with saturated indigo, vermilion, or moss. - Do not hide sources or constraints in detached modals when they can live in the margin. - Do not make dashboards the visual center unless the task is explicitly data review. - Do not use literal Japanese motifs unless they are abstracted into spacing, apertures, or repeat logic. ### Accessibility Graphite text meets WCAG AA on stencil-paper and white surfaces. Indigo, vermilion, and moss states are always paired with labels, notches, icons, dash styles, or position. Focus uses a visible indigo outline with offset and never color alone. ### Usage Context Best for text-heavy AI assistants, research workspaces, editorial tools, knowledge-base review, and source-grounded analysis products that need lots of context without becoming dashboard-heavy.
DESIGN.md
---
version: "alpha"
name: "Katagami Margin Interface System"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#264D73"
background: "#FBF7EF"
border: "#D8CDBB"
error: "#9B3F32"
fiber: "#D8CDBB"
info: "#264D73"
mist: "#EDE5D8"
muted: "#666058"
primary: "#264D73"
success: "#697A45"
surface: "#FFFFFF"
surface_alt: "#F3EEE4"
text: "#22211F"
warning: "#B84A32"
typography:
headline-lg:
fontFamily: "Source Sans 3"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.01em"
headline-md:
fontFamily: "Source Sans 3"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.01em"
body-md:
fontFamily: "Source Sans 3"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.58
letterSpacing: "-0.01em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "8px"
md: "4px"
none: "0px"
sm: "2px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "80px"
step-9: "96px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-fiber:
backgroundColor: "{colors.fiber}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-mist:
backgroundColor: "{colors.mist}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-surface_alt:
backgroundColor: "{colors.surface_alt}"
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"
---
# Katagami Margin Interface System
## Overview
A precise cut-paper editorial design language for text-heavy AI products where context is revealed through carved margins, stencil apertures, and quiet semantic notches instead of card-heavy dashboards.
### Values
- Text remains the main surface; context is cut into the page as margins, apertures, rails, and inline reveals.
- Precision and restraint create trust: edges are crisp, seams are intentional, and ornament is structural rather than decorative.
- Negative space is functional; empty margins hold provenance, related notes, and source peeks without interrupting reading.
- Accent color carries semantic state only: active context, needs attention, resolved, or selected.
- Data views are editorial inserts within the reading system, not a separate KPI cockpit.
- Pattern appears at the threshold of attention—empty states, dividers, and close-detail moments—never behind dense copy.
### Anti-Values
- Literal Japanese ornament, stencil patterns, or craft motifs pasted over the product without serving information architecture.
- Rounded bubbly SaaS cards, glossy glassmorphism, heavy shadows, and stacked floating panels.
- Full-width dashboard walls that make reading secondary to KPI tiles.
- Dense texture or micro-pattern behind body text.
- Colorful filled panels for routine states; accents must stay small and semantic.
### Visual Character
- Warm stencil-paper fields with graphite text and pale fiber seams create a crafted but modern reading plane.
- Panels feel like apertures cut from one sheet: square or minimally rounded edges, subtle inset shadows, and notched corners.
- Context lanes sit in generous left or right margins and connect to paragraphs with thin rails or pin marks.
- Semantic accents appear as small indigo, vermilion, or moss rule segments, corner cuts, pins, and underlines.
- Tables and metrics use high row height, tabular numerals, and sparse vertical lines so they feel like inserts in a page.
- Micro-patterns borrow katagami repeat logic but stay tonal and sparse, used only for dividers, empty surfaces, or loading skeletons.
## 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 | `#264D73` |
| background | `#FBF7EF` |
| border | `#D8CDBB` |
| error | `#9B3F32` |
| fiber | `#D8CDBB` |
| info | `#264D73` |
| mist | `#EDE5D8` |
| muted | `#666058` |
| primary | `#264D73` |
| success | `#697A45` |
| surface | `#FFFFFF` |
| surface_alt | `#F3EEE4` |
| text | `#22211F` |
| warning | `#B84A32` |
## Typography
- **Headline-Lg**: Source Sans 3, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Source Sans 3, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Source Sans 3, 16px, weight 400, line-height 1.58.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `80px`
- **Step-9**: `96px`
### Breakpoints
mobile < 640px stacks margins into inline apertures below paragraphs; tablet 640-1023px uses collapsible context rails; desktop >= 1024px shows persistent margin lanes; wide >= 1280px supports dual side apertures for compare and sources.
### Density
Three density modes: Reading uses a calm central sheet with margin notes; Compare opens paired stencil apertures beside selected passages; Review converts evidence into ruled inserts with high row height and visible provenance. Dense regions keep 13.5-14px minimum type and generous vertical rhythm.
### Grid
Desktop uses a page-canvas grid: a 680-760px readable center column, 64-96px context margins, and optional 280-360px aperture panels for source peeks or compare views. Use 4px atomic spacing with 8/12/16/24/32/48/64 rhythm; linework reveals the grid only where it clarifies relationships.
### Responsive
Maintain the cut/reveal metaphor at every size: margin rails become top-edge rule segments on mobile, source peeks become expandable inline slits, and table inserts become source-first records while preserving timestamp, confidence, and state.
### Whitespace
Protect wide reading gutters and calm margins. Use 24-32px page padding, 40-64px between major editorial sections, and 8-12px internal gaps around chips, pins, and notch labels.
## Elevation & Depth
### Shadows
- **Lg**: 0 24px 72px rgba(36,31,25,0.10)
- **Md**: 0 10px 32px rgba(36,31,25,0.08)
- **Sm**: inset 0 0 0 1px rgba(36,31,25,0.04)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `8px`
- **Md**: `4px`
- **None**: `0px`
- **Sm**: `2px`
### Surfaces
- **Bg Pattern**: tonal katagami micro-repeat only in empty states or section dividers at under 6% contrast
- **Card Style**: not a floating card; use square paper slips with aperture edge, small notch, and one subtle cut shadow
- **Treatment**: flat warm paper, carved aperture panels, pale mist inserts, and restrained cut shadows; avoid glossy transparency
### Borders
- **Aperture Width**: 2px
- **Character**: hairline fiber seams, squared aperture edges, and short accent notches
- **Default Width**: 1px
- **Rule Width**: 1px
- **Style**: solid
## Components
### Composition
Compose each screen as one editorial sheet with carved context margins. Prefer apertures, rails, inline side-notes, and ruled inserts over independent card grids.
### Density
Use Review or Table inserts for data-heavy moments with high row height, pale paper backgrounds, tabular numerals, and minimal vertical rules. Do not convert the product into a dashboard wall.
### Hierarchy
Prose and primary tasks lead; margin context is secondary; metadata and source controls are tertiary. Color never outranks text and always has a label, notch, icon, or pattern backup.
### Signature Patterns
- Stencil margin note: a side note appears through a cut edge aligned to the referenced paragraph, with a subtle shadow and short semantic rule.
- Aperture source peek: retrieved context opens as a narrow inline window exposing title, excerpt, confidence, and action without a modal.
- Notched filter chip: selected filters use a small corner notch plus an indigo rule; inactive filters remain quiet text chips.
- Margin thread rail: related notes connect through a thin vertical rule with small pins rather than badges in the prose.
- Editorial data insert: tables and charts sit as paper-toned inserts with graphite labels, hairline axes, and one highlighted series.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-019ee039-eaf9-7381-9232-67c0e5773601/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 margins as active information architecture for notes, sources, constraints, and compare peeks.
- Do Keep edges crisp and panels sheet-like; use subtle cut shadows or inset rules instead of blurry depth.
- Do Apply accent colors as small semantic marks: notches, underlines, pins, rails, and rule segments.
- Do Use tabular numerals for timestamps, confidence, counts, and metrics.
- Do Expose source and provenance near the text it supports through inline apertures or side notes.
- Do Reserve micro-pattern for empty states, dividers, loading, or close-detail brand moments.
- Do Style inputs, filters, tables, citations, and focus states using the same cut-paper grammar.
- Don't Do not place dense stencil texture behind body copy.
- Don't Do not rely on floating rounded cards as the default container model.
- Don't Do not overuse translucent blur; this language is cut and reveal, not glass.
- Don't Do not fill large panels with saturated indigo, vermilion, or moss.
- Don't Do not hide sources or constraints in detached modals when they can live in the margin.
- Don't Do not make dashboards the visual center unless the task is explicitly data review.
- Don't Do not use literal Japanese motifs unless they are abstracted into spacing, apertures, or repeat logic.
### Accessibility
Graphite text meets WCAG AA on stencil-paper and white surfaces. Indigo, vermilion, and moss states are always paired with labels, notches, icons, dash styles, or position. Focus uses a visible indigo outline with offset and never color alone.
### Usage Context
Best for text-heavy AI assistants, research workspaces, editorial tools, knowledge-base review, and source-grounded analysis products that need lots of context without becoming dashboard-heavy.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "katagami-margin-interface-system",
"type": "registry:theme",
"title": "Katagami Margin Interface System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FBF7EF",
"foreground": "#22211F",
"card": "#FFFFFF",
"card-foreground": "#22211F",
"popover": "#FFFFFF",
"popover-foreground": "#22211F",
"primary": "#264D73",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#666058",
"muted-foreground": "#22211F",
"accent": "#264D73",
"accent-foreground": "#ffffff",
"destructive": "#9B3F32",
"border": "#D8CDBB",
"input": "#D8CDBB",
"ring": "#264D73",
"chart-1": "#264D73",
"chart-2": "#f4f4f5",
"chart-3": "#264D73",
"chart-4": "#697A45",
"chart-5": "#B84A32",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#22211F",
"sidebar-primary": "#264D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#264D73",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8CDBB",
"sidebar-ring": "#264D73",
"radius": "4px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#264D73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#264D73",
"accent-foreground": "#ffffff",
"destructive": "#9B3F32",
"border": "#303642",
"input": "#303642",
"ring": "#264D73",
"chart-1": "#264D73",
"chart-2": "#f4f4f5",
"chart-3": "#264D73",
"chart-4": "#697A45",
"chart-5": "#B84A32",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#264D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#264D73",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#264D73",
"radius": "4px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ee039-eaf9-7381-9232-67c0e5773601",
"slug": "katagami-margin-interface-system",
"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": [
"aperture_width",
"character",
"default_width",
"rule_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"border_faint",
"error",
"fiber",
"info",
"mist",
"muted",
"primary",
"success",
"surface",
"surface_alt",
"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",
"dense_size",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"numeric_style"
]
}
}
}
```in the wild
embodiments
the full element showcase
embodiment · katagami-margin-interface-system
DESIGN.md
at a glance
Typography
headline-lgSource Sans 3 · 31px · 700
The quick brown fox jumps
headline-mdSource Sans 3 · 25px · 600
The quick brown fox jumps
body-mdSource Sans 3 · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
- step-880px
- step-996px
Shape
full9999px
lg8px
md4px
none0px
sm2px
shadcn/ui
implementation kit
recommendedcompatibility fallback
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu tabletheme css
:root {
--background: #FBF7EF;
--foreground: #22211F;
--card: #FFFFFF;
--card-foreground: #22211F;
--popover: #FFFFFF;
--popover-foreground: #22211F;
--primary: #264D73;
--primary-foreground: #ffffff;
--secondary: #f4f4f5;
--secondary-foreground: #111111;
--muted: #666058;
--muted-foreground: #22211F;
--accent: #264D73;
--accent-foreground: #ffffff;
--destructive: #9B3F32;
--border: #D8CDBB;
--input: #D8CDBB;
--ring: #264D73;
--chart-1: #264D73;
--chart-2: #f4f4f5;
--chart-3: #264D73;
--chart-4: #697A45;
--chart-5: #B84A32;
--sidebar: #FFFFFF;
--sidebar-foreground: #22211F;
--sidebar-primary: #264D73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #264D73;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #D8CDBB;
--sidebar-ring: #264D73;
--radius: 4px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #264D73;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #264D73;
--accent-foreground: #ffffff;
--destructive: #9B3F32;
--border: #303642;
--input: #303642;
--ring: #264D73;
--chart-1: #264D73;
--chart-2: #f4f4f5;
--chart-3: #264D73;
--chart-4: #697A45;
--chart-5: #B84A32;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #264D73;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #264D73;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #264D73;
--radius: 4px;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
export function KatagamiMarginInterfaceSystemShadcnKit() {
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">Katagami Margin Interface System</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
theme JSONcompatibility fallback
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "katagami-margin-interface-system",
"type": "registry:theme",
"title": "Katagami Margin Interface System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FBF7EF",
"foreground": "#22211F",
"card": "#FFFFFF",
"card-foreground": "#22211F",
"popover": "#FFFFFF",
"popover-foreground": "#22211F",
"primary": "#264D73",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#666058",
"muted-foreground": "#22211F",
"accent": "#264D73",
"accent-foreground": "#ffffff",
"destructive": "#9B3F32",
"border": "#D8CDBB",
"input": "#D8CDBB",
"ring": "#264D73",
"chart-1": "#264D73",
"chart-2": "#f4f4f5",
"chart-3": "#264D73",
"chart-4": "#697A45",
"chart-5": "#B84A32",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#22211F",
"sidebar-primary": "#264D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#264D73",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8CDBB",
"sidebar-ring": "#264D73",
"radius": "4px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#264D73",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#264D73",
"accent-foreground": "#ffffff",
"destructive": "#9B3F32",
"border": "#303642",
"input": "#303642",
"ring": "#264D73",
"chart-1": "#264D73",
"chart-2": "#f4f4f5",
"chart-3": "#264D73",
"chart-4": "#697A45",
"chart-5": "#B84A32",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#264D73",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#264D73",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#264D73",
"radius": "4px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ee039-eaf9-7381-9232-67c0e5773601",
"slug": "katagami-margin-interface-system",
"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": [
"aperture_width",
"character",
"default_width",
"rule_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"border_faint",
"error",
"fiber",
"info",
"mist",
"muted",
"primary",
"success",
"surface",
"surface_alt",
"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",
"dense_size",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"numeric_style"
]
}
}
}
component recipescompatibility fallback
# Katagami Margin Interface System shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019ee039-eaf9-7381-9232-67c0e5773601`
Slug: `katagami-margin-interface-system`
## Intent
A precise cut-paper editorial design language for text-heavy AI products where context is revealed through carved margins, stencil apertures, and quiet semantic notches instead of card-heavy dashboards.
## 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": "#264D73",
"background": "#FBF7EF",
"border": "#D8CDBB",
"border_faint": "rgba(36,31,25,0.08)",
"error": "#9B3F32",
"fiber": "#D8CDBB",
"info": "#264D73",
"mist": "#EDE5D8",
"muted": "#666058",
"primary": "#264D73",
"success": "#697A45",
"surface": "#FFFFFF",
"surface_alt": "#F3EEE4",
"text": "#22211F",
"warning": "#B84A32"
}
Typography:
{
"base_size": "16px",
"body_font": "Source Sans 3",
"dense_size": "13.5px",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap",
"heading_font": "Source Sans 3",
"letter_spacing": "-0.01em",
"line_height": 1.58,
"mono_font": "IBM Plex Mono",
"numeric_style": "tabular-nums"
}
## Visual character to preserve
- Warm stencil-paper fields with graphite text and pale fiber seams create a crafted but modern reading plane.
- Panels feel like apertures cut from one sheet: square or minimally rounded edges, subtle inset shadows, and notched corners.
- Context lanes sit in generous left or right margins and connect to paragraphs with thin rails or pin marks.
- Semantic accents appear as small indigo, vermilion, or moss rule segments, corner cuts, pins, and underlines.
- Tables and metrics use high row height, tabular numerals, and sparse vertical lines so they feel like inserts in a page.
- Micro-patterns borrow katagami repeat logic but stay tonal and sparse, used only for dividers, empty surfaces, or loading skeletons.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "solid",
"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/katagami-margin-interface-system/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 margins as active information architecture for notes, sources, constraints, and compare peeks.; Keep edges crisp and panels sheet-like; use subtle cut shadows or inset rules instead of blurry depth.; Apply accent colors as small semantic marks: notches, underlines, pins, rails, and rule segments.; Use tabular numerals for timestamps, confidence, counts, and metrics.; Expose source and provenance near the text it supports through inline apertures or side notes.; Reserve micro-pattern for empty states, dividers, loading, or close-detail brand moments.; Style inputs, filters, tables, citations, and focus states using the same cut-paper grammar.
- Do not: Do not place dense stencil texture behind body copy.; Do not rely on floating rounded cards as the default container model.; Do not overuse translucent blur; this language is cut and reveal, not glass.; Do not fill large panels with saturated indigo, vermilion, or moss.; Do not hide sources or constraints in detached modals when they can live in the margin.; Do not make dashboards the visual center unless the task is explicitly data review.; Do not use literal Japanese motifs unless they are abstracted into spacing, apertures, or repeat logic.
## 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 KatagamiMarginInterfaceSystemShadcnKit() {
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">Katagami Margin Interface System</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 margins into inline apertures below paragraphs; tablet 640-1023px uses collapsible context rails; desktop >= 1024px shows persistent margin lanes; wide >= 1280px supports dual side apertures for compare and sources.",
"density": "Three density modes: Reading uses a calm central sheet with margin notes; Compare opens paired stencil apertures beside selected passages; Review converts evidence into ruled inserts with high row height and visible provenance. Dense regions keep 13.5-14px minimum type and generous vertical rhythm.",
"grid": "Desktop uses a page-canvas grid: a 680-760px readable center column, 64-96px context margins, and optional 280-360px aperture panels for source peeks or compare views. Use 4px atomic spacing with 8/12/16/24/32/48/64 rhythm; linework reveals the grid only where it clarifies relationships.",
"responsive": "Maintain the cut/reveal metaphor at every size: margin rails become top-edge rule segments on mobile, source peeks become expandable inline slits, and table inserts become source-first records while preserving timestamp, confidence, and state.",
"whitespace": "Protect wide reading gutters and calm margins. Use 24-32px page padding, 40-64px between major editorial sections, and 8-12px internal gaps around chips, pins, and notch labels."
}
preview shotscompatibility fallback
{
"artifact": "katagami:shadcn-preview-shots",
"version": "preview-shots-v1",
"generator": "katagami-ui-compatibility-projection",
"generatedBy": "katagami-ui-projection",
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"renderable": true,
"language": {
"id": "en-019ee039-eaf9-7381-9232-67c0e5773601",
"name": "Katagami Margin Interface System",
"slug": "katagami-margin-interface-system"
},
"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": [
"Warm stencil-paper fields with graphite text and pale fiber seams create a crafted but modern reading plane.",
"Panels feel like apertures cut from one sheet: square or minimally rounded edges, subtle inset shadows, and notched corners.",
"Context lanes sit in generous left or right margins and connect to paragraphs with thin rails or pin marks.",
"Semantic accents appear as small indigo, vermilion, or moss rule segments, corner cuts, pins, and underlines.",
"Tables and metrics use high row height, tabular numerals, and sparse vertical lines so they feel like inserts in a page.",
"Micro-patterns borrow katagami repeat logic but stay tonal and sparse, used only for dividers, empty surfaces, or loading skeletons."
],
"visualProfile": {
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "solid",
"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": "Katagami Margin Interface System 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 margins as active information architecture for notes, sources, constraints, and compare peeks.",
"Keep edges crisp and panels sheet-like; use subtle cut shadows or inset rules instead of blurry depth.",
"Apply accent colors as small semantic marks: notches, underlines, pins, rails, and rule segments.",
"Use tabular numerals for timestamps, confidence, counts, and metrics.",
"Expose source and provenance near the text it supports through inline apertures or side notes.",
"Reserve micro-pattern for empty states, dividers, loading, or close-detail brand moments.",
"Style inputs, filters, tables, citations, and focus states using the same cut-paper grammar."
],
"dont": [
"Do not place dense stencil texture behind body copy.",
"Do not rely on floating rounded cards as the default container model.",
"Do not overuse translucent blur; this language is cut and reveal, not glass.",
"Do not fill large panels with saturated indigo, vermilion, or moss.",
"Do not hide sources or constraints in detached modals when they can live in the margin.",
"Do not make dashboards the visual center unless the task is explicitly data review.",
"Do not use literal Japanese motifs unless they are abstracted into spacing, apertures, or repeat logic."
]
}
}
related