back to gallery
design language·neo-editorial-tech

Neo-Editorial Tech

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
Neo-Editorial Tech frames software and research interfaces as premium digital publishing. Information should feel authored, paced, and cited, combining contemporary product clarity with the gravity, whitespace, and typographic ceremony of a serious magazine feature.
values
reading-first hierarchy over dashboard noisehigh-contrast editorial pacing with clear metadata and captionswarm human texture balanced with precise technical annotation
anti-values
×generic SaaS card farms×cold neon futurism without readability×playful consumer UI ornament that weakens authority
tokens
borders4 items
accent width
2px
character
near-invisible oxford hairline rules with separate sharp accent bars for quotes and active markers
default width
1px
style
solid
colors12 items
accent
#b13a2e
background
#f7f3ee
border
#e3d9cf
error
#b5483f
info
#496c88
muted
#7a7068
primary
#161412
secondary
#655d56
success
#2f6a53
surface
#fffaf5
text
#161412
warning
#b18646
motion3 items
duration
280ms
easing
cubic-bezier(0.22, 1, 0.36, 1)
philosophy
deliberate
radii4 items
container
24px
control
9999px
none
0px
sharp
0px
shadows3 items
lg
0 28px 80px rgba(22,20,18,0.12)
md
0 18px 36px rgba(22,20,18,0.08)
sm
0 12px 24px rgba(22,20,18,0.05)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
subtle editorial column rules and paper grain
card style
warm paper panels using rgba(255,250,245,0.82), backdrop-filter blur(18px), restrained noise, and consistent 24px rounded sheet silhouettes
treatment
translucent warm paper
typography11 items
base size
16px
body font
Manrope
body line height
1.58
display letter spacing
-0.04em
display line height
1.12
google fonts url
https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap
heading font
Instrument Serif
letter spacing
-0.02em
line height
1.6
mono font
IBM Plex Mono
scale ratio
1.25
rules
composition
Compose interfaces like an annotated feature spread: a dominant lead story column, supporting side rails, and small utility clusters that never overpower the reading path.
hierarchy
Use dramatic serif display type for the narrative headline, uppercase sans metadata for navigation and system labels, and mono captions for figures, metrics, and timestamps.
density
Overall density is moderate and breathable; high-information zones exist, but every cluster needs margin, separators, and caption structure so the page still feels edited.
signature patterns
Every major panel uses warm translucent paper surfaces with backdrop-filter blur, a 1px hairline border, and a large rounded rectangle silhouette to simulate layered printed sheets.Section labels, figure numbers, and navigation items are rendered as uppercase tracked microtype using a mono or compact sans face, often separated by thin horizontal rules.Headline groups pair oversized italic-capable serif typography with restrained accent underlines or left-edge quote bars instead of heavy filled color blocks.The layout relies on asymmetric editorial grids where a wide story column is offset by narrower side annotations, pull quotes, and data fragments that align to shared baselines.Accent red is applied as rule lines, active state strokes, tag outlines, and chart highlights, never as saturated background floods, so emphasis feels typeset rather than dashboard-like.
layout
grid
Desktop uses a 12-column editorial grid with a dominant 7-column story area, a 3-column note rail, and a 2-column utility strip; interior panels also use nested split grids for article and data pairings.
breakpoints
Desktop 1440px and above keeps multi-column spread composition; tablet at 768px collapses to stacked main-and-side sections with two-column internals; mobile at 375px becomes a single reading column with full-width controls and horizontally scrollable tables only where necessary.
whitespace
Whitespace is generous and directional, with large vertical spacing around headline blocks and measured gutters between annotation modules to preserve magazine pacing.
responsive
desktop
12-column editorial spread
tablet
6-column stacked editorial board
mobile
single-column reading flow with full-width modules
guidance
do
  • Use long-form content, captions, and metadata as first-class design material.
  • Pair warm neutral surfaces with precise rule lines and one restrained accent color.
  • Create hierarchy through typography, spacing, and annotation instead of oversized buttons or bright fills.
  • Use a 12-column editorial grid with one dominant article area and smaller annotation rails.
  • Set body copy at 16px with -0.02em tracking and generous 1.58 leading for reading comfort.
  • Style every control as a typographic editorial element with hairline borders and pill geometry.
  • Use backdrop-filter and warm translucent paper surfaces on all major cards.
  • Keep accent red to rules, underlines, outlines, and chart strokes rather than filled panels.
avoid
  • Do not turn the language into a generic analytics dashboard.
  • Do not replace the serif-and-microtype contrast with uniform sans typography.
  • Do not flood panels with heavy color backgrounds, loud gradients, or gadget-like chrome.
  • Do not use browser-default form controls or unstyled tables.
  • Do not mix arbitrary radius values such as 10px, 18px, or 28px.
  • Do not use component-catalog sections labeled Controls, Feedback, or Data.
  • Do not use pure saturated accents, rainbow gradients, or SaaS-blue defaults.
  • Do not make all cards equal size or arrange content in a generic three-card row.
imagery
not set
generative
not set
katagami spec
# Neo-Editorial Tech

## Philosophy

Neo-Editorial Tech frames software and research interfaces as premium digital publishing. Information should feel authored, paced, and cited, combining contemporary product clarity with the gravity, whitespace, and typographic ceremony of a serious magazine feature.

### Values

- reading-first hierarchy over dashboard noise
- high-contrast editorial pacing with clear metadata and captions
- warm human texture balanced with precise technical annotation

### Anti-Values

- generic SaaS card farms
- cold neon futurism without readability
- playful consumer UI ornament that weakens authority

### Visual Character

- Large high-contrast serif headlines sit inside wide asymmetric columns while compact uppercase sans metadata rails create a deliberate magazine spread rhythm across the page.
- Panels use warm paper-toned translucent surfaces with backdrop blur, hairline rule borders, and soft shadow depth so every module feels like a printed sheet hovering above an editorial desk.
- Thin mono labels, issue markers, timestamps, and figure captions are rendered in uppercase tracked microtype, creating a layer of technical annotation around the primary reading experience.
- Accent color appears as restrained oxblood red underlines, quote bars, progress rules, and callout markers instead of filled buttons, preserving a literate and premium tone.
- Images, pull quotes, metrics, and side notes are arranged in uneven but aligned columns with generous gutters, emphasizing curation and page composition rather than uniform component grids.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: near-invisible oxford hairline rules with separate sharp accent bars for quotes and active markers
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#b13a2e` |
| background | `#f7f3ee` |
| border | `#e3d9cf` |
| error | `#b5483f` |
| info | `#496c88` |
| muted | `#7a7068` |
| primary | `#161412` |
| secondary | `#655d56` |
| success | `#2f6a53` |
| surface | `#fffaf5` |
| text | `#161412` |
| warning | `#b18646` |

### Motion

- **Duration**: 280ms
- **Easing**: cubic-bezier(0.22, 1, 0.36, 1)
- **Philosophy**: deliberate

### Radii

- **Container**: 24px
- **Control**: 9999px
- **None**: 0px
- **Sharp**: 0px

### Shadows

- **Lg**: 0 28px 80px rgba(22,20,18,0.12)
- **Md**: 0 18px 36px rgba(22,20,18,0.08)
- **Sm**: 0 12px 24px rgba(22,20,18,0.05)

### Spacing

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

### Surfaces

- **Bg Pattern**: subtle editorial column rules and paper grain
- **Card Style**: warm paper panels using rgba(255,250,245,0.82), backdrop-filter blur(18px), restrained noise, and consistent 24px rounded sheet silhouettes
- **Treatment**: translucent warm paper

### Typography

- **Base Size**: 16px
- **Body Font**: Manrope
- **Body Line Height**: 1.58
- **Display Letter Spacing**: -0.04em
- **Display Line Height**: 1.12
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap
- **Heading Font**: Instrument Serif
- **Letter Spacing**: -0.02em
- **Line Height**: 1.6
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.25

## Rules

### Composition

Compose interfaces like an annotated feature spread: a dominant lead story column, supporting side rails, and small utility clusters that never overpower the reading path.

### Hierarchy

Use dramatic serif display type for the narrative headline, uppercase sans metadata for navigation and system labels, and mono captions for figures, metrics, and timestamps.

### Density

Overall density is moderate and breathable; high-information zones exist, but every cluster needs margin, separators, and caption structure so the page still feels edited.

### Signature Patterns

- Every major panel uses warm translucent paper surfaces with backdrop-filter blur, a 1px hairline border, and a large rounded rectangle silhouette to simulate layered printed sheets.
- Section labels, figure numbers, and navigation items are rendered as uppercase tracked microtype using a mono or compact sans face, often separated by thin horizontal rules.
- Headline groups pair oversized italic-capable serif typography with restrained accent underlines or left-edge quote bars instead of heavy filled color blocks.
- The layout relies on asymmetric editorial grids where a wide story column is offset by narrower side annotations, pull quotes, and data fragments that align to shared baselines.
- Accent red is applied as rule lines, active state strokes, tag outlines, and chart highlights, never as saturated background floods, so emphasis feels typeset rather than dashboard-like.

## Layout

### Grid

Desktop uses a 12-column editorial grid with a dominant 7-column story area, a 3-column note rail, and a 2-column utility strip; interior panels also use nested split grids for article and data pairings.

### Breakpoints

Desktop 1440px and above keeps multi-column spread composition; tablet at 768px collapses to stacked main-and-side sections with two-column internals; mobile at 375px becomes a single reading column with full-width controls and horizontally scrollable tables only where necessary.

### Whitespace

Whitespace is generous and directional, with large vertical spacing around headline blocks and measured gutters between annotation modules to preserve magazine pacing.

### Responsive

- **Desktop**: 12-column editorial spread
- **Tablet**: 6-column stacked editorial board
- **Mobile**: single-column reading flow with full-width modules

## Guidance

### Do

- Use long-form content, captions, and metadata as first-class design material.
- Pair warm neutral surfaces with precise rule lines and one restrained accent color.
- Create hierarchy through typography, spacing, and annotation instead of oversized buttons or bright fills.
- Use a 12-column editorial grid with one dominant article area and smaller annotation rails.
- Set body copy at 16px with -0.02em tracking and generous 1.58 leading for reading comfort.
- Style every control as a typographic editorial element with hairline borders and pill geometry.
- Use backdrop-filter and warm translucent paper surfaces on all major cards.
- Keep accent red to rules, underlines, outlines, and chart strokes rather than filled panels.

### Don't

- Do not turn the language into a generic analytics dashboard.
- Do not replace the serif-and-microtype contrast with uniform sans typography.
- Do not flood panels with heavy color backgrounds, loud gradients, or gadget-like chrome.
- Do not use browser-default form controls or unstyled tables.
- Do not mix arbitrary radius values such as 10px, 18px, or 28px.
- Do not use component-catalog sections labeled Controls, Feedback, or Data.
- Do not use pure saturated accents, rainbow gradients, or SaaS-blue defaults.
- Do not make all cards equal size or arrange content in a generic three-card row.

### Accessibility

Maintain WCAG AA contrast, visible focus states, readable 16px body copy, and keyboard-usable controls with clear labels.

### Notes

The embodiment should feel like a live technology journal issue page with interactive controls, side notes, evidence blocks, and editorial pacing.

### Usage Context

Best for technology journals, research digests, product essays, evidence libraries, analyst notes, and publication-like software experiences.
DESIGN.md
---
version: "alpha"
name: "Neo-Editorial Tech"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#b13a2e"
  background: "#f7f3ee"
  border: "#e3d9cf"
  error: "#b5483f"
  info: "#496c88"
  muted: "#7a7068"
  primary: "#161412"
  secondary: "#655d56"
  success: "#2f6a53"
  surface: "#fffaf5"
  text: "#161412"
  warning: "#b18646"
typography:
  headline-lg:
    fontFamily: "Instrument Serif"
    fontSize: "1.953rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Instrument Serif"
    fontSize: "1.563rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Manrope"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.6
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  container: "24px"
  control: "9999px"
  none: "0px"
  sharp: "0px"
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.none}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    height: "44px"
---

# Neo-Editorial Tech

## Overview

Neo-Editorial Tech frames software and research interfaces as premium digital publishing. Information should feel authored, paced, and cited, combining contemporary product clarity with the gravity, whitespace, and typographic ceremony of a serious magazine feature.

### Values

- reading-first hierarchy over dashboard noise
- high-contrast editorial pacing with clear metadata and captions
- warm human texture balanced with precise technical annotation

### Anti-Values

- generic SaaS card farms
- cold neon futurism without readability
- playful consumer UI ornament that weakens authority

### Visual Character

- Large high-contrast serif headlines sit inside wide asymmetric columns while compact uppercase sans metadata rails create a deliberate magazine spread rhythm across the page.
- Panels use warm paper-toned translucent surfaces with backdrop blur, hairline rule borders, and soft shadow depth so every module feels like a printed sheet hovering above an editorial desk.
- Thin mono labels, issue markers, timestamps, and figure captions are rendered in uppercase tracked microtype, creating a layer of technical annotation around the primary reading experience.
- Accent color appears as restrained oxblood red underlines, quote bars, progress rules, and callout markers instead of filled buttons, preserving a literate and premium tone.
- Images, pull quotes, metrics, and side notes are arranged in uneven but aligned columns with generous gutters, emphasizing curation and page composition rather than uniform component grids.

## 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 | `#b13a2e` |
| background | `#f7f3ee` |
| border | `#e3d9cf` |
| error | `#b5483f` |
| info | `#496c88` |
| muted | `#7a7068` |
| primary | `#161412` |
| secondary | `#655d56` |
| success | `#2f6a53` |
| surface | `#fffaf5` |
| text | `#161412` |
| warning | `#b18646` |

## Typography

- **Headline-Lg**: Instrument Serif, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Instrument Serif, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Manrope, 16px, weight 400, line-height 1.6.
- **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`

### Grid

Desktop uses a 12-column editorial grid with a dominant 7-column story area, a 3-column note rail, and a 2-column utility strip; interior panels also use nested split grids for article and data pairings.

### Breakpoints

Desktop 1440px and above keeps multi-column spread composition; tablet at 768px collapses to stacked main-and-side sections with two-column internals; mobile at 375px becomes a single reading column with full-width controls and horizontally scrollable tables only where necessary.

### Whitespace

Whitespace is generous and directional, with large vertical spacing around headline blocks and measured gutters between annotation modules to preserve magazine pacing.

### Responsive

- **Desktop**: 12-column editorial spread
- **Tablet**: 6-column stacked editorial board
- **Mobile**: single-column reading flow with full-width modules

## Elevation & Depth

### Shadows

- **Lg**: 0 28px 80px rgba(22,20,18,0.12)
- **Md**: 0 18px 36px rgba(22,20,18,0.08)
- **Sm**: 0 12px 24px rgba(22,20,18,0.05)

## Shapes

### Rounded

- **Container**: `24px`
- **Control**: `9999px`
- **None**: `0px`
- **Sharp**: `0px`

### Surfaces

- **Bg Pattern**: subtle editorial column rules and paper grain
- **Card Style**: warm paper panels using rgba(255,250,245,0.82), backdrop-filter blur(18px), restrained noise, and consistent 24px rounded sheet silhouettes
- **Treatment**: translucent warm paper

### Borders

- **Accent Width**: 2px
- **Character**: near-invisible oxford hairline rules with separate sharp accent bars for quotes and active markers
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Compose interfaces like an annotated feature spread: a dominant lead story column, supporting side rails, and small utility clusters that never overpower the reading path.

### Hierarchy

Use dramatic serif display type for the narrative headline, uppercase sans metadata for navigation and system labels, and mono captions for figures, metrics, and timestamps.

### Density

Overall density is moderate and breathable; high-information zones exist, but every cluster needs margin, separators, and caption structure so the page still feels edited.

### Signature Patterns

- Every major panel uses warm translucent paper surfaces with backdrop-filter blur, a 1px hairline border, and a large rounded rectangle silhouette to simulate layered printed sheets.
- Section labels, figure numbers, and navigation items are rendered as uppercase tracked microtype using a mono or compact sans face, often separated by thin horizontal rules.
- Headline groups pair oversized italic-capable serif typography with restrained accent underlines or left-edge quote bars instead of heavy filled color blocks.
- The layout relies on asymmetric editorial grids where a wide story column is offset by narrower side annotations, pull quotes, and data fragments that align to shared baselines.
- Accent red is applied as rule lines, active state strokes, tag outlines, and chart highlights, never as saturated background floods, so emphasis feels typeset rather than dashboard-like.

## 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-019d9bb8-174a-7b31-b5c9-834122679219/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 long-form content, captions, and metadata as first-class design material.
- Do Pair warm neutral surfaces with precise rule lines and one restrained accent color.
- Do Create hierarchy through typography, spacing, and annotation instead of oversized buttons or bright fills.
- Do Use a 12-column editorial grid with one dominant article area and smaller annotation rails.
- Do Set body copy at 16px with -0.02em tracking and generous 1.58 leading for reading comfort.
- Do Style every control as a typographic editorial element with hairline borders and pill geometry.
- Do Use backdrop-filter and warm translucent paper surfaces on all major cards.
- Do Keep accent red to rules, underlines, outlines, and chart strokes rather than filled panels.
- Don't Do not turn the language into a generic analytics dashboard.
- Don't Do not replace the serif-and-microtype contrast with uniform sans typography.
- Don't Do not flood panels with heavy color backgrounds, loud gradients, or gadget-like chrome.
- Don't Do not use browser-default form controls or unstyled tables.
- Don't Do not mix arbitrary radius values such as 10px, 18px, or 28px.
- Don't Do not use component-catalog sections labeled Controls, Feedback, or Data.
- Don't Do not use pure saturated accents, rainbow gradients, or SaaS-blue defaults.
- Don't Do not make all cards equal size or arrange content in a generic three-card row.

### Accessibility

Maintain WCAG AA contrast, visible focus states, readable 16px body copy, and keyboard-usable controls with clear labels.

### Notes

The embodiment should feel like a live technology journal issue page with interactive controls, side notes, evidence blocks, and editorial pacing.

### Usage Context

Best for technology journals, research digests, product essays, evidence libraries, analyst notes, and publication-like software experiences.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "neo-editorial-tech",
  "type": "registry:theme",
  "title": "Neo-Editorial Tech shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#f7f3ee",
      "foreground": "#161412",
      "card": "#fffaf5",
      "card-foreground": "#161412",
      "popover": "#fffaf5",
      "popover-foreground": "#161412",
      "primary": "#161412",
      "primary-foreground": "#ffffff",
      "secondary": "#655d56",
      "secondary-foreground": "#ffffff",
      "muted": "#7a7068",
      "muted-foreground": "#161412",
      "accent": "#b13a2e",
      "accent-foreground": "#ffffff",
      "destructive": "#b5483f",
      "border": "#e3d9cf",
      "input": "#e3d9cf",
      "ring": "#b13a2e",
      "chart-1": "#161412",
      "chart-2": "#655d56",
      "chart-3": "#b13a2e",
      "chart-4": "#2f6a53",
      "chart-5": "#b18646",
      "sidebar": "#fffaf5",
      "sidebar-foreground": "#161412",
      "sidebar-primary": "#161412",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#496c88",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#e3d9cf",
      "sidebar-ring": "#b13a2e",
      "radius": "0.625rem"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#161412",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#b13a2e",
      "accent-foreground": "#ffffff",
      "destructive": "#b5483f",
      "border": "#303642",
      "input": "#303642",
      "ring": "#b13a2e",
      "chart-1": "#161412",
      "chart-2": "#655d56",
      "chart-3": "#b13a2e",
      "chart-4": "#2f6a53",
      "chart-5": "#b18646",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#161412",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#b13a2e",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#b13a2e",
      "radius": "0.625rem"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019d9bb8-174a-7b31-b5c9-834122679219",
    "slug": "neo-editorial-tech",
    "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": [
        "container",
        "control",
        "none",
        "sharp"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "body_line_height",
        "display_letter_spacing",
        "display_line_height",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · neo-editorial-tech
DESIGN.md

at a glance

Palette

Typography

headline-lgInstrument Serif · 31px · 700

The quick brown fox jumps

headline-mdInstrument Serif · 25px · 600

The quick brown fox jumps

body-mdManrope · 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

container24px
control9999px
none0px
sharp0px
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: #f7f3ee;
  --foreground: #161412;
  --card: #fffaf5;
  --card-foreground: #161412;
  --popover: #fffaf5;
  --popover-foreground: #161412;
  --primary: #161412;
  --primary-foreground: #ffffff;
  --secondary: #655d56;
  --secondary-foreground: #ffffff;
  --muted: #7a7068;
  --muted-foreground: #161412;
  --accent: #b13a2e;
  --accent-foreground: #ffffff;
  --destructive: #b5483f;
  --border: #e3d9cf;
  --input: #e3d9cf;
  --ring: #b13a2e;
  --chart-1: #161412;
  --chart-2: #655d56;
  --chart-3: #b13a2e;
  --chart-4: #2f6a53;
  --chart-5: #b18646;
  --sidebar: #fffaf5;
  --sidebar-foreground: #161412;
  --sidebar-primary: #161412;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #496c88;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #e3d9cf;
  --sidebar-ring: #b13a2e;
  --radius: 0.625rem;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #161412;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #b13a2e;
  --accent-foreground: #ffffff;
  --destructive: #b5483f;
  --border: #303642;
  --input: #303642;
  --ring: #b13a2e;
  --chart-1: #161412;
  --chart-2: #655d56;
  --chart-3: #b13a2e;
  --chart-4: #2f6a53;
  --chart-5: #b18646;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #161412;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #b13a2e;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #b13a2e;
  --radius: 0.625rem;
}
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 NeoEditorialTechShadcnKit() {
  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">Neo-Editorial Tech</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": "neo-editorial-tech",
  "type": "registry:theme",
  "title": "Neo-Editorial Tech shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#f7f3ee",
      "foreground": "#161412",
      "card": "#fffaf5",
      "card-foreground": "#161412",
      "popover": "#fffaf5",
      "popover-foreground": "#161412",
      "primary": "#161412",
      "primary-foreground": "#ffffff",
      "secondary": "#655d56",
      "secondary-foreground": "#ffffff",
      "muted": "#7a7068",
      "muted-foreground": "#161412",
      "accent": "#b13a2e",
      "accent-foreground": "#ffffff",
      "destructive": "#b5483f",
      "border": "#e3d9cf",
      "input": "#e3d9cf",
      "ring": "#b13a2e",
      "chart-1": "#161412",
      "chart-2": "#655d56",
      "chart-3": "#b13a2e",
      "chart-4": "#2f6a53",
      "chart-5": "#b18646",
      "sidebar": "#fffaf5",
      "sidebar-foreground": "#161412",
      "sidebar-primary": "#161412",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#496c88",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#e3d9cf",
      "sidebar-ring": "#b13a2e",
      "radius": "0.625rem"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#161412",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#b13a2e",
      "accent-foreground": "#ffffff",
      "destructive": "#b5483f",
      "border": "#303642",
      "input": "#303642",
      "ring": "#b13a2e",
      "chart-1": "#161412",
      "chart-2": "#655d56",
      "chart-3": "#b13a2e",
      "chart-4": "#2f6a53",
      "chart-5": "#b18646",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#161412",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#b13a2e",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#b13a2e",
      "radius": "0.625rem"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019d9bb8-174a-7b31-b5c9-834122679219",
    "slug": "neo-editorial-tech",
    "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": [
        "container",
        "control",
        "none",
        "sharp"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "body_line_height",
        "display_letter_spacing",
        "display_line_height",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipescompatibility fallback
# Neo-Editorial Tech shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019d9bb8-174a-7b31-b5c9-834122679219`
Slug: `neo-editorial-tech`

## Intent

Neo-Editorial Tech frames software and research interfaces as premium digital publishing. Information should feel authored, paced, and cited, combining contemporary product clarity with the gravity, whitespace, and typographic ceremony of a serious magazine feature.

## 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": "#b13a2e",
  "background": "#f7f3ee",
  "border": "#e3d9cf",
  "error": "#b5483f",
  "info": "#496c88",
  "muted": "#7a7068",
  "primary": "#161412",
  "secondary": "#655d56",
  "success": "#2f6a53",
  "surface": "#fffaf5",
  "text": "#161412",
  "warning": "#b18646"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Manrope",
  "body_line_height": "1.58",
  "display_letter_spacing": "-0.04em",
  "display_line_height": "1.12",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap",
  "heading_font": "Instrument Serif",
  "letter_spacing": "-0.02em",
  "line_height": 1.6,
  "mono_font": "IBM Plex Mono",
  "scale_ratio": 1.25
}

## Visual character to preserve

- Large high-contrast serif headlines sit inside wide asymmetric columns while compact uppercase sans metadata rails create a deliberate magazine spread rhythm across the page.
- Panels use warm paper-toned translucent surfaces with backdrop blur, hairline rule borders, and soft shadow depth so every module feels like a printed sheet hovering above an editorial desk.
- Thin mono labels, issue markers, timestamps, and figure captions are rendered in uppercase tracked microtype, creating a layer of technical annotation around the primary reading experience.
- Accent color appears as restrained oxblood red underlines, quote bars, progress rules, and callout markers instead of filled buttons, preserving a literate and premium tone.
- Images, pull quotes, metrics, and side notes are arranged in uneven but aligned columns with generous gutters, emphasizing curation and page composition rather than uniform component grids.

## ShadSync visual profile

{
  "family": "paper-collage",
  "material": "paper",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": true,
  "stickerBadges": true,
  "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/neo-editorial-tech/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 long-form content, captions, and metadata as first-class design material.; Pair warm neutral surfaces with precise rule lines and one restrained accent color.; Create hierarchy through typography, spacing, and annotation instead of oversized buttons or bright fills.; Use a 12-column editorial grid with one dominant article area and smaller annotation rails.; Set body copy at 16px with -0.02em tracking and generous 1.58 leading for reading comfort.; Style every control as a typographic editorial element with hairline borders and pill geometry.; Use backdrop-filter and warm translucent paper surfaces on all major cards.; Keep accent red to rules, underlines, outlines, and chart strokes rather than filled panels.
- Do not: Do not turn the language into a generic analytics dashboard.; Do not replace the serif-and-microtype contrast with uniform sans typography.; Do not flood panels with heavy color backgrounds, loud gradients, or gadget-like chrome.; Do not use browser-default form controls or unstyled tables.; Do not mix arbitrary radius values such as 10px, 18px, or 28px.; Do not use component-catalog sections labeled Controls, Feedback, or Data.; Do not use pure saturated accents, rainbow gradients, or SaaS-blue defaults.; Do not make all cards equal size or arrange content in a generic three-card row.

## 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 NeoEditorialTechShadcnKit() {
  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">Neo-Editorial Tech</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

{
  "grid": "Desktop uses a 12-column editorial grid with a dominant 7-column story area, a 3-column note rail, and a 2-column utility strip; interior panels also use nested split grids for article and data pairings.",
  "breakpoints": "Desktop 1440px and above keeps multi-column spread composition; tablet at 768px collapses to stacked main-and-side sections with two-column internals; mobile at 375px becomes a single reading column with full-width controls and horizontally scrollable tables only where necessary.",
  "whitespace": "Whitespace is generous and directional, with large vertical spacing around headline blocks and measured gutters between annotation modules to preserve magazine pacing.",
  "responsive": {
    "desktop": "12-column editorial spread",
    "tablet": "6-column stacked editorial board",
    "mobile": "single-column reading flow with full-width modules"
  }
}
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-019d9bb8-174a-7b31-b5c9-834122679219",
    "name": "Neo-Editorial Tech",
    "slug": "neo-editorial-tech"
  },
  "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": [
    "Large high-contrast serif headlines sit inside wide asymmetric columns while compact uppercase sans metadata rails create a deliberate magazine spread rhythm across the page.",
    "Panels use warm paper-toned translucent surfaces with backdrop blur, hairline rule borders, and soft shadow depth so every module feels like a printed sheet hovering above an editorial desk.",
    "Thin mono labels, issue markers, timestamps, and figure captions are rendered in uppercase tracked microtype, creating a layer of technical annotation around the primary reading experience.",
    "Accent color appears as restrained oxblood red underlines, quote bars, progress rules, and callout markers instead of filled buttons, preserving a literate and premium tone.",
    "Images, pull quotes, metrics, and side notes are arranged in uneven but aligned columns with generous gutters, emphasizing curation and page composition rather than uniform component grids."
  ],
  "visualProfile": {
    "family": "paper-collage",
    "material": "paper",
    "contour": "default",
    "border": "solid",
    "underlay": true,
    "grain": true,
    "stickerBadges": true,
    "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": "Neo-Editorial Tech 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 long-form content, captions, and metadata as first-class design material.",
      "Pair warm neutral surfaces with precise rule lines and one restrained accent color.",
      "Create hierarchy through typography, spacing, and annotation instead of oversized buttons or bright fills.",
      "Use a 12-column editorial grid with one dominant article area and smaller annotation rails.",
      "Set body copy at 16px with -0.02em tracking and generous 1.58 leading for reading comfort.",
      "Style every control as a typographic editorial element with hairline borders and pill geometry.",
      "Use backdrop-filter and warm translucent paper surfaces on all major cards.",
      "Keep accent red to rules, underlines, outlines, and chart strokes rather than filled panels."
    ],
    "dont": [
      "Do not turn the language into a generic analytics dashboard.",
      "Do not replace the serif-and-microtype contrast with uniform sans typography.",
      "Do not flood panels with heavy color backgrounds, loud gradients, or gadget-like chrome.",
      "Do not use browser-default form controls or unstyled tables.",
      "Do not mix arbitrary radius values such as 10px, 18px, or 28px.",
      "Do not use component-catalog sections labeled Controls, Feedback, or Data.",
      "Do not use pure saturated accents, rainbow gradients, or SaaS-blue defaults.",
      "Do not make all cards equal size or arrange content in a generic three-card row."
    ]
  }
}
related

More like this