back to gallery
design language·katagami-information-weave

Katagami Information Weave

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
Katagami Information Weave is a light, text-forward product language for AYA-style knowledge work: many strands of context are interlaced into calm reading surfaces, with Japanese stencil craft translated into structure, masks, divider rhythm, and density rather than illustration.
values
Contextual weaving: related text, evidence, and decisions are visibly threaded without becoming a dashboard grid.Craft restraint: katagami influence appears as pierced separators, quiet masks, and modular density rhythms, never as scenic ornament.Reading clarity: typography, line length, and hierarchy keep long-form interface copy comfortable and scannable.Low-chroma precision: paper whites, sumi gray, fiber neutrals, and one aizome accent carry state without visual noise.
anti-values
×Decorative Japan cues such as fans, waves, red seals, faux brush lettering, or background wallpaper.×Dashboard maximalism with boxed KPI tiles dominating the product story.×Generic rounded SaaS cards with heavy shadows, saturated gradients, and interchangeable hierarchy.
tokens
borders4 items
accent width
2px
character
Sumi-gray hairlines, pale fiber borders, and occasional aizome thread rules that align across columns.
default width
1px
style
solid with double-rule and dotted-mask variants
colors12 items
accent
#6D8494
background
#F7F4EC
border
#D8D0C1
error
#9B4D43
info
#607F91
muted
#837C70
primary
#2B2D2F
secondary
#6F6A60
success
#5D7A62
surface
#FFFCF4
text
#242321
warning
#A47A3E
motion3 items
duration
140ms
easing
cubic-bezier(0.2, 0, 0.1, 1)
philosophy
Quiet state confirmation: borders darken, accent threads extend, and paper tint changes without bouncing or scaling.
radii5 items
full
9999px
lg
6px
md
4px
none
0
sm
2px
shadows3 items
lg
0 0 0 1px rgba(43,45,47,0.06)
md
0 0 0 1px rgba(43,45,47,0.04)
sm
none
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
Two repeating-linear-gradient fiber layers plus sparse radial perforations reserved for structural separators.
card style
Flat rectangular paper cards with 1px fiber borders, 4px radius, internal thread rails, and no blur or shadow.
treatment
Warm paper panels on a woven fiber field; variation comes from tint, inset rules, and masked dividers, not elevation.
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;450;500;600&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap
heading font
Newsreader
letter spacing
-0.01em
line height
1.58
mono font
IBM Plex Mono
scale ratio
1.2
rules
composition
Compose screens as reading workbenches: one primary narrative column, one context rail, and one evidence strand, aligned by continuous vertical and horizontal hairlines.
density

Support high information density with generous line height, compact metadata rows, and sectional breathing room every three to five content bands.

hierarchy

Use size sparingly and rely on typeface contrast, small caps labels, line weight, and position; headings are calm editorial anchors, not marketing headlines.

signature patterns
Perforation bands: CSS radial-gradient mask strips create katagami-like openings only as dividers between content strata.Thread rails: 2px vertical accent lines run beside active decisions, selected rows, and focus areas to imply woven context.Fiber grid underlay: intersecting low-opacity repeating-linear-gradients provide paper texture and alignment without visible wallpaper.Staggered evidence slips: small text panels offset by 8px increments create asymmetry while remaining locked to the column grid.Density knots: compact metadata clusters use mono numerals, dot leaders, and ruled edges to show compressed related context.
layout
breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

grid
Desktop uses 12 columns with a 72px side margin, 24px gutters, and persistent context rails; tablet collapses to 8 columns; mobile becomes one woven narrative stack.
whitespace
Whitespace is layered like margins around paper sheets: narrow inside dense rows, wider after decision bands, and asymmetric in rails to avoid dashboard sameness.
guidance
do
  • Use katagami pattern as structure: masks, dividers, alignment rails, and density rhythm.
  • Keep text real, specific, and product-like with long passages, metadata, states, and decision records.
  • Use pale accent color for selected strands, focus rings, and quiet status chips only.
  • Maintain accessible contrast on all text and ensure focus states are visible through border and thread changes.
avoid
  • Do not use Japanese motifs as decorative icons, hero art, chop marks, or wallpaper.
  • Do not turn the interface into a KPI dashboard; data surfaces should support reading and synthesis.
  • Do not rely on heavy shadows, gradients, glossy cards, or default rounded SaaS styling.
  • Do not over-pattern large fields; perforation and fiber textures must remain below content priority.
katagami spec
# Katagami Information Weave

## Philosophy

Katagami Information Weave is a light, text-forward product language for AYA-style knowledge work: many strands of context are interlaced into calm reading surfaces, with Japanese stencil craft translated into structure, masks, divider rhythm, and density rather than illustration.

### Values

- Contextual weaving: related text, evidence, and decisions are visibly threaded without becoming a dashboard grid.
- Craft restraint: katagami influence appears as pierced separators, quiet masks, and modular density rhythms, never as scenic ornament.
- Reading clarity: typography, line length, and hierarchy keep long-form interface copy comfortable and scannable.
- Low-chroma precision: paper whites, sumi gray, fiber neutrals, and one aizome accent carry state without visual noise.

### Anti-Values

- Decorative Japan cues such as fans, waves, red seals, faux brush lettering, or background wallpaper.
- Dashboard maximalism with boxed KPI tiles dominating the product story.
- Generic rounded SaaS cards with heavy shadows, saturated gradients, and interchangeable hierarchy.

### Visual Character

- Use a 12-column text grid with narrow 1px sumi hairlines and occasional double-rule dividers to simulate warp and weft alignment.
- Apply paper-fiber background texture through subtle repeating-linear-gradient layers at 0deg and 90deg below all surfaces.
- Create katagami-informed perforated separators with CSS radial-gradient masks used only between sections and inside metadata rails.
- Keep containers nearly square with 2px to 6px radii, no drop shadows, and contrast built from borders, insets, and tonal paper panels.
- Use pale aizome accent as a thin left thread, focus outline, and small status mark rather than large filled buttons or banners.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: Sumi-gray hairlines, pale fiber borders, and occasional aizome thread rules that align across columns.
- **Default Width**: 1px
- **Style**: solid with double-rule and dotted-mask variants

### Colors

| Name | Value |
|------|-------|
| accent | `#6D8494` |
| background | `#F7F4EC` |
| border | `#D8D0C1` |
| error | `#9B4D43` |
| info | `#607F91` |
| muted | `#837C70` |
| primary | `#2B2D2F` |
| secondary | `#6F6A60` |
| success | `#5D7A62` |
| surface | `#FFFCF4` |
| text | `#242321` |
| warning | `#A47A3E` |

### Motion

- **Duration**: 140ms
- **Easing**: cubic-bezier(0.2, 0, 0.1, 1)
- **Philosophy**: Quiet state confirmation: borders darken, accent threads extend, and paper tint changes without bouncing or scaling.

### Radii

- **Full**: 9999px
- **Lg**: 6px
- **Md**: 4px
- **None**: 0
- **Sm**: 2px

### Shadows

- **Lg**: 0 0 0 1px rgba(43,45,47,0.06)
- **Md**: 0 0 0 1px rgba(43,45,47,0.04)
- **Sm**: none

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64]

### Surfaces

- **Bg Pattern**: Two repeating-linear-gradient fiber layers plus sparse radial perforations reserved for structural separators.
- **Card Style**: Flat rectangular paper cards with 1px fiber borders, 4px radius, internal thread rails, and no blur or shadow.
- **Treatment**: Warm paper panels on a woven fiber field; variation comes from tint, inset rules, and masked dividers, not elevation.

### Typography

- **Base Size**: 16px
- **Body Font**: IBM Plex Sans
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;450;500;600&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap
- **Heading Font**: Newsreader
- **Letter Spacing**: -0.01em
- **Line Height**: 1.58
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.2

## Rules

### Composition

Compose screens as reading workbenches: one primary narrative column, one context rail, and one evidence strand, aligned by continuous vertical and horizontal hairlines.

### Density

Support high information density with generous line height, compact metadata rows, and sectional breathing room every three to five content bands.

### Hierarchy

Use size sparingly and rely on typeface contrast, small caps labels, line weight, and position; headings are calm editorial anchors, not marketing headlines.

### Signature Patterns

- Perforation bands: CSS radial-gradient mask strips create katagami-like openings only as dividers between content strata.
- Thread rails: 2px vertical accent lines run beside active decisions, selected rows, and focus areas to imply woven context.
- Fiber grid underlay: intersecting low-opacity repeating-linear-gradients provide paper texture and alignment without visible wallpaper.
- Staggered evidence slips: small text panels offset by 8px increments create asymmetry while remaining locked to the column grid.
- Density knots: compact metadata clusters use mono numerals, dot leaders, and ruled edges to show compressed related context.

## Layout

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

### Grid

Desktop uses 12 columns with a 72px side margin, 24px gutters, and persistent context rails; tablet collapses to 8 columns; mobile becomes one woven narrative stack.

### Whitespace

Whitespace is layered like margins around paper sheets: narrow inside dense rows, wider after decision bands, and asymmetric in rails to avoid dashboard sameness.

## Guidance

### Do

- Use katagami pattern as structure: masks, dividers, alignment rails, and density rhythm.
- Keep text real, specific, and product-like with long passages, metadata, states, and decision records.
- Use pale accent color for selected strands, focus rings, and quiet status chips only.
- Maintain accessible contrast on all text and ensure focus states are visible through border and thread changes.

### Don't

- Do not use Japanese motifs as decorative icons, hero art, chop marks, or wallpaper.
- Do not turn the interface into a KPI dashboard; data surfaces should support reading and synthesis.
- Do not rely on heavy shadows, gradients, glossy cards, or default rounded SaaS styling.
- Do not over-pattern large fields; perforation and fiber textures must remain below content priority.
DESIGN.md
---
version: "alpha"
name: "Katagami Information Weave"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#6D8494"
  background: "#F7F4EC"
  border: "#D8D0C1"
  error: "#9B4D43"
  info: "#607F91"
  muted: "#837C70"
  primary: "#2B2D2F"
  secondary: "#6F6A60"
  success: "#5D7A62"
  surface: "#FFFCF4"
  text: "#242321"
  warning: "#A47A3E"
typography:
  headline-lg:
    fontFamily: "Newsreader"
    fontSize: "1.728rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Newsreader"
    fontSize: "1.44rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "IBM Plex Sans"
    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: "6px"
  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"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#ffffff"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Katagami Information Weave

## Overview

Katagami Information Weave is a light, text-forward product language for AYA-style knowledge work: many strands of context are interlaced into calm reading surfaces, with Japanese stencil craft translated into structure, masks, divider rhythm, and density rather than illustration.

### Values

- Contextual weaving: related text, evidence, and decisions are visibly threaded without becoming a dashboard grid.
- Craft restraint: katagami influence appears as pierced separators, quiet masks, and modular density rhythms, never as scenic ornament.
- Reading clarity: typography, line length, and hierarchy keep long-form interface copy comfortable and scannable.
- Low-chroma precision: paper whites, sumi gray, fiber neutrals, and one aizome accent carry state without visual noise.

### Anti-Values

- Decorative Japan cues such as fans, waves, red seals, faux brush lettering, or background wallpaper.
- Dashboard maximalism with boxed KPI tiles dominating the product story.
- Generic rounded SaaS cards with heavy shadows, saturated gradients, and interchangeable hierarchy.

### Visual Character

- Use a 12-column text grid with narrow 1px sumi hairlines and occasional double-rule dividers to simulate warp and weft alignment.
- Apply paper-fiber background texture through subtle repeating-linear-gradient layers at 0deg and 90deg below all surfaces.
- Create katagami-informed perforated separators with CSS radial-gradient masks used only between sections and inside metadata rails.
- Keep containers nearly square with 2px to 6px radii, no drop shadows, and contrast built from borders, insets, and tonal paper panels.
- Use pale aizome accent as a thin left thread, focus outline, and small status mark rather than large filled buttons or banners.

## 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 | `#6D8494` |
| background | `#F7F4EC` |
| border | `#D8D0C1` |
| error | `#9B4D43` |
| info | `#607F91` |
| muted | `#837C70` |
| primary | `#2B2D2F` |
| secondary | `#6F6A60` |
| success | `#5D7A62` |
| surface | `#FFFCF4` |
| text | `#242321` |
| warning | `#A47A3E` |

## Typography

- **Headline-Lg**: Newsreader, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Newsreader, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 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`

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

### Grid

Desktop uses 12 columns with a 72px side margin, 24px gutters, and persistent context rails; tablet collapses to 8 columns; mobile becomes one woven narrative stack.

### Whitespace

Whitespace is layered like margins around paper sheets: narrow inside dense rows, wider after decision bands, and asymmetric in rails to avoid dashboard sameness.

## Elevation & Depth

### Shadows

- **Lg**: 0 0 0 1px rgba(43,45,47,0.06)
- **Md**: 0 0 0 1px rgba(43,45,47,0.04)
- **Sm**: none

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `6px`
- **Md**: `4px`
- **None**: `0px`
- **Sm**: `2px`

### Surfaces

- **Bg Pattern**: Two repeating-linear-gradient fiber layers plus sparse radial perforations reserved for structural separators.
- **Card Style**: Flat rectangular paper cards with 1px fiber borders, 4px radius, internal thread rails, and no blur or shadow.
- **Treatment**: Warm paper panels on a woven fiber field; variation comes from tint, inset rules, and masked dividers, not elevation.

### Borders

- **Accent Width**: 2px
- **Character**: Sumi-gray hairlines, pale fiber borders, and occasional aizome thread rules that align across columns.
- **Default Width**: 1px
- **Style**: solid with double-rule and dotted-mask variants

## Components

### Composition

Compose screens as reading workbenches: one primary narrative column, one context rail, and one evidence strand, aligned by continuous vertical and horizontal hairlines.

### Density

Support high information density with generous line height, compact metadata rows, and sectional breathing room every three to five content bands.

### Hierarchy

Use size sparingly and rely on typeface contrast, small caps labels, line weight, and position; headings are calm editorial anchors, not marketing headlines.

### Signature Patterns

- Perforation bands: CSS radial-gradient mask strips create katagami-like openings only as dividers between content strata.
- Thread rails: 2px vertical accent lines run beside active decisions, selected rows, and focus areas to imply woven context.
- Fiber grid underlay: intersecting low-opacity repeating-linear-gradients provide paper texture and alignment without visible wallpaper.
- Staggered evidence slips: small text panels offset by 8px increments create asymmetry while remaining locked to the column grid.
- Density knots: compact metadata clusters use mono numerals, dot leaders, and ruled edges to show compressed related context.

## 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-019edab1-9cca-7c22-9a2b-b91a52cdb71d/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 katagami pattern as structure: masks, dividers, alignment rails, and density rhythm.
- Do Keep text real, specific, and product-like with long passages, metadata, states, and decision records.
- Do Use pale accent color for selected strands, focus rings, and quiet status chips only.
- Do Maintain accessible contrast on all text and ensure focus states are visible through border and thread changes.
- Don't Do not use Japanese motifs as decorative icons, hero art, chop marks, or wallpaper.
- Don't Do not turn the interface into a KPI dashboard; data surfaces should support reading and synthesis.
- Don't Do not rely on heavy shadows, gradients, glossy cards, or default rounded SaaS styling.
- Don't Do not over-pattern large fields; perforation and fiber textures must remain below content priority.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "katagami-information-weave",
  "type": "registry:theme",
  "title": "Katagami Information Weave shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F4EC",
      "foreground": "#242321",
      "card": "#FFFCF4",
      "card-foreground": "#242321",
      "popover": "#FFFCF4",
      "popover-foreground": "#242321",
      "primary": "#2B2D2F",
      "primary-foreground": "#ffffff",
      "secondary": "#6F6A60",
      "secondary-foreground": "#ffffff",
      "muted": "#837C70",
      "muted-foreground": "#242321",
      "accent": "#6D8494",
      "accent-foreground": "#ffffff",
      "destructive": "#9B4D43",
      "border": "#D8D0C1",
      "input": "#D8D0C1",
      "ring": "#6D8494",
      "chart-1": "#2B2D2F",
      "chart-2": "#6F6A60",
      "chart-3": "#6D8494",
      "chart-4": "#5D7A62",
      "chart-5": "#A47A3E",
      "sidebar": "#FFFCF4",
      "sidebar-foreground": "#242321",
      "sidebar-primary": "#2B2D2F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#607F91",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8D0C1",
      "sidebar-ring": "#6D8494",
      "radius": "4px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#2B2D2F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#6D8494",
      "accent-foreground": "#ffffff",
      "destructive": "#9B4D43",
      "border": "#303642",
      "input": "#303642",
      "ring": "#6D8494",
      "chart-1": "#2B2D2F",
      "chart-2": "#6F6A60",
      "chart-3": "#6D8494",
      "chart-4": "#5D7A62",
      "chart-5": "#A47A3E",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#2B2D2F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6D8494",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#6D8494",
      "radius": "4px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019edab1-9cca-7c22-9a2b-b91a52cdb71d",
    "slug": "katagami-information-weave",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · katagami-information-weave
DESIGN.md

at a glance

Palette

Typography

headline-lgNewsreader · 28px · 700

The quick brown fox jumps

headline-mdNewsreader · 23px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 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

Shape

full9999px
lg6px
md4px
none0px
sm2px
shadcn/ui

implementation kit

needs agent-authored kitcompatibility fallback
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
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 table
theme css
:root {
  --background: #F7F4EC;
  --foreground: #242321;
  --card: #FFFCF4;
  --card-foreground: #242321;
  --popover: #FFFCF4;
  --popover-foreground: #242321;
  --primary: #2B2D2F;
  --primary-foreground: #ffffff;
  --secondary: #6F6A60;
  --secondary-foreground: #ffffff;
  --muted: #837C70;
  --muted-foreground: #242321;
  --accent: #6D8494;
  --accent-foreground: #ffffff;
  --destructive: #9B4D43;
  --border: #D8D0C1;
  --input: #D8D0C1;
  --ring: #6D8494;
  --chart-1: #2B2D2F;
  --chart-2: #6F6A60;
  --chart-3: #6D8494;
  --chart-4: #5D7A62;
  --chart-5: #A47A3E;
  --sidebar: #FFFCF4;
  --sidebar-foreground: #242321;
  --sidebar-primary: #2B2D2F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #607F91;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #D8D0C1;
  --sidebar-ring: #6D8494;
  --radius: 4px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #2B2D2F;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #6D8494;
  --accent-foreground: #ffffff;
  --destructive: #9B4D43;
  --border: #303642;
  --input: #303642;
  --ring: #6D8494;
  --chart-1: #2B2D2F;
  --chart-2: #6F6A60;
  --chart-3: #6D8494;
  --chart-4: #5D7A62;
  --chart-5: #A47A3E;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #2B2D2F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #6D8494;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #6D8494;
  --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 KatagamiInformationWeaveShadcnKit() {
  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 Information Weave</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-information-weave",
  "type": "registry:theme",
  "title": "Katagami Information Weave shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F4EC",
      "foreground": "#242321",
      "card": "#FFFCF4",
      "card-foreground": "#242321",
      "popover": "#FFFCF4",
      "popover-foreground": "#242321",
      "primary": "#2B2D2F",
      "primary-foreground": "#ffffff",
      "secondary": "#6F6A60",
      "secondary-foreground": "#ffffff",
      "muted": "#837C70",
      "muted-foreground": "#242321",
      "accent": "#6D8494",
      "accent-foreground": "#ffffff",
      "destructive": "#9B4D43",
      "border": "#D8D0C1",
      "input": "#D8D0C1",
      "ring": "#6D8494",
      "chart-1": "#2B2D2F",
      "chart-2": "#6F6A60",
      "chart-3": "#6D8494",
      "chart-4": "#5D7A62",
      "chart-5": "#A47A3E",
      "sidebar": "#FFFCF4",
      "sidebar-foreground": "#242321",
      "sidebar-primary": "#2B2D2F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#607F91",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8D0C1",
      "sidebar-ring": "#6D8494",
      "radius": "4px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#2B2D2F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#6D8494",
      "accent-foreground": "#ffffff",
      "destructive": "#9B4D43",
      "border": "#303642",
      "input": "#303642",
      "ring": "#6D8494",
      "chart-1": "#2B2D2F",
      "chart-2": "#6F6A60",
      "chart-3": "#6D8494",
      "chart-4": "#5D7A62",
      "chart-5": "#A47A3E",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#2B2D2F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6D8494",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#6D8494",
      "radius": "4px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019edab1-9cca-7c22-9a2b-b91a52cdb71d",
    "slug": "katagami-information-weave",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipescompatibility fallback
# Katagami Information Weave shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019edab1-9cca-7c22-9a2b-b91a52cdb71d`
Slug: `katagami-information-weave`

## Intent

Katagami Information Weave is a light, text-forward product language for AYA-style knowledge work: many strands of context are interlaced into calm reading surfaces, with Japanese stencil craft translated into structure, masks, divider rhythm, and density rather than illustration.

## 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": "#6D8494",
  "background": "#F7F4EC",
  "border": "#D8D0C1",
  "error": "#9B4D43",
  "info": "#607F91",
  "muted": "#837C70",
  "primary": "#2B2D2F",
  "secondary": "#6F6A60",
  "success": "#5D7A62",
  "surface": "#FFFCF4",
  "text": "#242321",
  "warning": "#A47A3E"
}

Typography:

{
  "base_size": "16px",
  "body_font": "IBM Plex Sans",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;450;500;600&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap",
  "heading_font": "Newsreader",
  "letter_spacing": "-0.01em",
  "line_height": 1.58,
  "mono_font": "IBM Plex Mono",
  "scale_ratio": 1.2
}

## Visual character to preserve

- Use a 12-column text grid with narrow 1px sumi hairlines and occasional double-rule dividers to simulate warp and weft alignment.
- Apply paper-fiber background texture through subtle repeating-linear-gradient layers at 0deg and 90deg below all surfaces.
- Create katagami-informed perforated separators with CSS radial-gradient masks used only between sections and inside metadata rails.
- Keep containers nearly square with 2px to 6px radii, no drop shadows, and contrast built from borders, insets, and tonal paper panels.
- Use pale aizome accent as a thin left thread, focus outline, and small status mark rather than large filled buttons or banners.

## ShadSync visual profile

{
  "family": "paper-collage",
  "material": "paper",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": true,
  "stickerBadges": false,
  "motion": "still",
  "density": "dense",
  "accents": [
    "primary",
    "accent",
    "secondary",
    "muted"
  ]
}

## Signature component recipes

### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.

### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.

### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.

### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.

### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.

## Preview shots

- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/katagami-information-weave/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 katagami pattern as structure: masks, dividers, alignment rails, and density rhythm.; Keep text real, specific, and product-like with long passages, metadata, states, and decision records.; Use pale accent color for selected strands, focus rings, and quiet status chips only.; Maintain accessible contrast on all text and ensure focus states are visible through border and thread changes.
- Do not: Do not use Japanese motifs as decorative icons, hero art, chop marks, or wallpaper.; Do not turn the interface into a KPI dashboard; data surfaces should support reading and synthesis.; Do not rely on heavy shadows, gradients, glossy cards, or default rounded SaaS styling.; Do not over-pattern large fields; perforation and fiber textures must remain below content priority.

## 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 KatagamiInformationWeaveShadcnKit() {
  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 Information Weave</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 375px, tablet 768px, desktop 1200px, wide 1440px",
  "grid": "Desktop uses 12 columns with a 72px side margin, 24px gutters, and persistent context rails; tablet collapses to 8 columns; mobile becomes one woven narrative stack.",
  "whitespace": "Whitespace is layered like margins around paper sheets: narrow inside dense rows, wider after decision bands, and asymmetric in rails to avoid dashboard sameness."
}
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-019edab1-9cca-7c22-9a2b-b91a52cdb71d",
    "name": "Katagami Information Weave",
    "slug": "katagami-information-weave"
  },
  "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
  "primitives": [
    "button",
    "card",
    "input",
    "textarea",
    "select",
    "dialog",
    "sheet",
    "tabs",
    "badge",
    "separator",
    "checkbox",
    "switch",
    "slider",
    "tooltip",
    "dropdown-menu",
    "table"
  ],
  "identityNotes": [
    "Use a 12-column text grid with narrow 1px sumi hairlines and occasional double-rule dividers to simulate warp and weft alignment.",
    "Apply paper-fiber background texture through subtle repeating-linear-gradient layers at 0deg and 90deg below all surfaces.",
    "Create katagami-informed perforated separators with CSS radial-gradient masks used only between sections and inside metadata rails.",
    "Keep containers nearly square with 2px to 6px radii, no drop shadows, and contrast built from borders, insets, and tonal paper panels.",
    "Use pale aizome accent as a thin left thread, focus outline, and small status mark rather than large filled buttons or banners."
  ],
  "visualProfile": {
    "family": "paper-collage",
    "material": "paper",
    "contour": "default",
    "border": "solid",
    "underlay": true,
    "grain": true,
    "stickerBadges": false,
    "motion": "still",
    "density": "dense",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Katagami Information Weave 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 katagami pattern as structure: masks, dividers, alignment rails, and density rhythm.",
      "Keep text real, specific, and product-like with long passages, metadata, states, and decision records.",
      "Use pale accent color for selected strands, focus rings, and quiet status chips only.",
      "Maintain accessible contrast on all text and ensure focus states are visible through border and thread changes."
    ],
    "dont": [
      "Do not use Japanese motifs as decorative icons, hero art, chop marks, or wallpaper.",
      "Do not turn the interface into a KPI dashboard; data surfaces should support reading and synthesis.",
      "Do not rely on heavy shadows, gradients, glossy cards, or default rounded SaaS styling.",
      "Do not over-pattern large fields; perforation and fiber textures must remain below content priority."
    ]
  }
}
related

More like this