back to gallery
design language·editorial-ink-atelier-electric-accents

Editorial Ink Atelier with Electric Accents

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
Editorial Ink Atelier with Electric Accents is a design language for serious visual culture tools: magazine planning rooms, print archives, art direction boards, and contemporary works-on-paper catalogs. It treats the interface like a warm sheet on a studio table: mostly black ink, measured columns, visible ruled lines, and generous editorial white space, then one electric signal at a time to mark urgency, selection, or authorship. The language is not playful, decorative, or retro; it is disciplined, material, and alive with the tension between hand-drawn gesture and publication-grid precision.
values
Ink-first authorityEditorial sequencingWorks-on-paper materialityElectric restraintGesture under controlFine-art seriousness
anti-values
×Rainbow creativity×Template minimalism×Crypto gloss×Decorative illustration
tokens
colors18 items
primary
#000000
secondary
#3A3732
accent
#F23B2E
background
#FFFFFF
surface
#FFFFFF
text
#000000
muted
#6F6A63
border
#111111
error
#B00020
success
#177245
warning
#D97706
info
#1D4ED8
paper_warm
#F4F1EA
gallery_neutral
#E7E2DA
cobalt
#0057FF
acid_chartreuse
#C8FF00
hot_coral
#FF4F6D
ink_wash
#EDEBE6
typography10 items
heading font
Libre Baskerville
body font
IBM Plex Sans
mono font
IBM Plex Mono
base size
16px
scale ratio
1.25
line height
1.48
letter spacing
-0.02em
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap
sizes
caption 11px·label 12px·body 16px·deck 20px·h3 24px·h2 36px·h1 64px
weights
regular 400·medium 500·semibold 600·bold 700
spacing2 items
base
8px
scale
4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px
radii5 items
none
0px
sm
0px
md
0px
lg
0px
full
9999px
shadows3 items
sm
0 1px 0 rgba(0,0,0,0.18)
md
8px 8px 0 rgba(0,0,0,0.08)
lg
14px 14px 0 rgba(0,0,0,0.10)
surfaces4 items
treatment
paper
card style
Flat white editorial panels with black ruled borders, faint paper grain, and occasional offset ink-wash blocks behind key spreads.
bg pattern
noise
paper texture
Subtle repeating radial grain at very low opacity over pure #FFFFFF, with warm neutral inset panels only for archive notes.
borders4 items
default width
1px
accent width
2px
style
solid
character
Printed black rules dominate the layout: thin frames for normal panels, double-rule headers for editorial emphasis, and rough dashed ink borders for annotations.
motion3 items
duration
160ms
easing
cubic-bezier(0.2, 0, 0, 1)
philosophy
snappy, editorial, and almost mechanical; state changes feel like a mark being placed on paper
rules
composition
Build screens as editorial spreads: a large title/deck zone, a narrow folio rail, a main layout grid, and caption-like metadata blocks.Prefer asymmetric two- and three-column arrangements with one dominant artwork or brief and smaller annotation panels around it.Use black horizontal and vertical rules to divide space before using background fills; the line is the primary layout material.Keep accent color to one chosen signal per screen, covering less than five percent of visible area.Place fine-art material cues in margins, captions, contact sheets, and annotation overlays rather than as decorative backgrounds.Let occasional rotated scribble strokes cross a panel edge to create human gesture without breaking alignment.
hierarchy
Headlines use Libre Baskerville at dramatic scale with tight tracking and compact line-height, creating an art-book editorial voice.Navigation, status labels, and folios use IBM Plex Mono uppercase in small sizes with visible rule separators.Body copy uses IBM Plex Sans with calm line height; avoid centered marketing copy and keep text aligned to the grid.Important actions receive a black outline plus a tiny electric accent mark, not a large colored fill.Data and counts are framed as circled edition marks or margin notes rather than conventional metric cards.
density

Medium editorial density: generous margins and large typographic moments are balanced by compact captions, small metadata, and tightly ruled annotation panels.

signature patterns
Panel headers use double black rules made with border-top and border-bottom, creating magazine-section dividers instead of generic card titles.Active or urgent items receive a 2px electric left border plus a small absolute-positioned accent pin, keeping color as a signal not a fill.Gesture underlines are rendered with rotated pseudo-elements and rough dashed SVG strokes that sit behind selected headings or annotations.Fine-art paper grain is implemented with layered radial-gradient noise at extremely low opacity over a pure white background.Edition counters and status chips use zero-radius rectangles or 9999px circled marks with mono type and black ink outlines.
layout
density
Medium-density editorial workspace with large title typography, compact mono metadata, and ruled panels that can hold dense publication planning information without feeling like a SaaS dashboard.
grid
Desktop uses a 12-column grid at max-width 1360px with 24px gutters, a 72px folio rail, and asymmetric spans of 5/4/3 columns; key panels align to a visible baseline rhythm.
breakpoints
desktop
1200px and up: 12 columns with folio rail
tablet
768px-1199px: 6 columns with rail collapsed into top bar
mobile
480px and below: single column with stacked full-width controls
whitespace
Whitespace should feel like gallery wall space: mostly pure white, sharply bounded by ink rules, with warm neutral paper panels only where material notes or artwork context require them.
responsive
At 1024px reduce headline scale and collapse side annotations; at 768px use two-column card flow; at 480px stack all panels, make controls full width, and allow tables to scroll inside ruled wrappers.
guidance
do
  • Use pure #FFFFFF as the main background and introduce paper warmth only inside small archival or material-note surfaces.
  • Apply -0.02em letter spacing globally, including captions, buttons, metadata, and form controls.
  • Use black ruled borders as the first hierarchy tool before adding color, shadow, or filled surfaces.
  • Choose one saturated accent per composition and reserve it for selection, urgency, active navigation, or annotation pins.
  • Make headings editorial and typographic; pair large serif display with compact mono folios and sans body copy.
  • Style every input, select, checkbox, button, and table with the same ink-border system.
  • Use rough gesture lines sparingly to emphasize curatorial judgment or hand annotation.
  • Keep border radius at 0px for panels and 9999px only for small circled counters or pills.
avoid
  • Do not use gradient text, gradient buttons, pastel backgrounds, glassmorphism, or crypto-style glows.
  • Do not fill large areas with vermilion, cobalt, chartreuse, or coral; accents must stay small and editorial.
  • Do not use generic rounded SaaS cards or random radius values such as 8px, 12px, 20px, or 32px.
  • Do not center every element or build a component catalog; create a real editorial workspace scene.
  • Do not let sketch marks reduce readability or make controls look unfinished.
  • Do not use default browser styles for selects, checkboxes, sliders, or focus states.
  • Do not mix multiple display fonts or use rejected LLM-default fonts like Poppins, Montserrat, DM Sans, or Space Grotesk.
katagami spec
# Editorial Ink Atelier with Electric Accents

## Philosophy

Editorial Ink Atelier with Electric Accents is a design language for serious visual culture tools: magazine planning rooms, print archives, art direction boards, and contemporary works-on-paper catalogs. It treats the interface like a warm sheet on a studio table: mostly black ink, measured columns, visible ruled lines, and generous editorial white space, then one electric signal at a time to mark urgency, selection, or authorship. The language is not playful, decorative, or retro; it is disciplined, material, and alive with the tension between hand-drawn gesture and publication-grid precision.

### Values

- {"name":"Ink-first authority","description":"Use black as the primary drawing instrument: typography, rules, icons, frames, and data marks should feel printed or drawn, not filled with decorative color."}
- {"name":"Editorial sequencing","description":"Information should unfold like a magazine spread with decks, folios, captions, callouts, and asymmetric columns rather than generic dashboard boxes."}
- {"name":"Works-on-paper materiality","description":"Surfaces should suggest tooth, wash, and studio paper through subtle grain and soft ink-wash shadows while keeping the overall field close to white and gallery-neutral."}
- {"name":"Electric restraint","description":"Saturated vermilion, cobalt, acid chartreuse, or hot coral appear as small editorial signals: registration marks, active states, annotation flags, and one decisive call to action."}
- {"name":"Gesture under control","description":"Irregular linework, underlines, and scribble marks can interrupt the grid, but they must be placed deliberately and never make controls hard to read."}
- {"name":"Fine-art seriousness","description":"The tone is quiet, intelligent, and curatorial; it avoids cute illustration, bright fills, sticker-like badges, and trend-driven effects."}

### Anti-Values

- {"name":"Rainbow creativity","description":"Do not use multiple saturated accents at once or turn the screen into an art-school palette sampler."}
- {"name":"Template minimalism","description":"Do not rely on generic white cards with soft shadows; identity must come from ruled structure, ink marks, and editorial hierarchy."}
- {"name":"Crypto gloss","description":"No gradient buttons, glassy hero panels, neon haze, or inflated rounded cards."}
- {"name":"Decorative illustration","description":"Linework must function as annotation, frame, or compositional tension, not as cute ornament."}

### Visual Character

- Zero-radius rectangular panels use 1px and 2px black ink borders with occasional double rules, making every container feel like a printed page frame.
- Oversized serif editorial headlines sit beside condensed uppercase folio labels and tiny caption text, all with tight -0.02em letter spacing.
- Subtle paper grain and pale ink-wash smudges sit on a pure white base, giving the interface works-on-paper materiality without cream backgrounds.
- Sparse electric accent marks appear as narrow left rules, circled counters, focus rings, and annotation pins rather than broad filled surfaces.
- Hand-drawn gesture lines are simulated with slightly rotated underline strokes, rough dashed borders, and SVG scribble marks that cross the grid in controlled places.

## Tokens

### Colors

| Name | Value |
|------|-------|
| primary | `#000000` |
| secondary | `#3A3732` |
| accent | `#F23B2E` |
| background | `#FFFFFF` |
| surface | `#FFFFFF` |
| text | `#000000` |
| muted | `#6F6A63` |
| border | `#111111` |
| error | `#B00020` |
| success | `#177245` |
| warning | `#D97706` |
| info | `#1D4ED8` |
| paper_warm | `#F4F1EA` |
| gallery_neutral | `#E7E2DA` |
| cobalt | `#0057FF` |
| acid_chartreuse | `#C8FF00` |
| hot_coral | `#FF4F6D` |
| ink_wash | `#EDEBE6` |

### Typography

- **Heading Font**: Libre Baskerville
- **Body Font**: IBM Plex Sans
- **Mono Font**: IBM Plex Mono
- **Base Size**: 16px
- **Scale Ratio**: 1.25
- **Line Height**: 1.48
- **Letter Spacing**: -0.02em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap
- **Sizes**: {"caption":"11px","label":"12px","body":"16px","deck":"20px","h3":"24px","h2":"36px","h1":"64px"}
- **Weights**: {"regular":400,"medium":500,"semibold":600,"bold":700}

### Spacing

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

### Radii

- **None**: 0px
- **Sm**: 0px
- **Md**: 0px
- **Lg**: 0px
- **Full**: 9999px

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,0.18)
- **Md**: 8px 8px 0 rgba(0,0,0,0.08)
- **Lg**: 14px 14px 0 rgba(0,0,0,0.10)

### Surfaces

- **Treatment**: paper
- **Card Style**: Flat white editorial panels with black ruled borders, faint paper grain, and occasional offset ink-wash blocks behind key spreads.
- **Bg Pattern**: noise
- **Paper Texture**: Subtle repeating radial grain at very low opacity over pure #FFFFFF, with warm neutral inset panels only for archive notes.

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Printed black rules dominate the layout: thin frames for normal panels, double-rule headers for editorial emphasis, and rough dashed ink borders for annotations.

### Motion

- **Duration**: 160ms
- **Easing**: cubic-bezier(0.2, 0, 0, 1)
- **Philosophy**: snappy, editorial, and almost mechanical; state changes feel like a mark being placed on paper

## Rules

### Composition

- Build screens as editorial spreads: a large title/deck zone, a narrow folio rail, a main layout grid, and caption-like metadata blocks.
- Prefer asymmetric two- and three-column arrangements with one dominant artwork or brief and smaller annotation panels around it.
- Use black horizontal and vertical rules to divide space before using background fills; the line is the primary layout material.
- Keep accent color to one chosen signal per screen, covering less than five percent of visible area.
- Place fine-art material cues in margins, captions, contact sheets, and annotation overlays rather than as decorative backgrounds.
- Let occasional rotated scribble strokes cross a panel edge to create human gesture without breaking alignment.

### Hierarchy

- Headlines use Libre Baskerville at dramatic scale with tight tracking and compact line-height, creating an art-book editorial voice.
- Navigation, status labels, and folios use IBM Plex Mono uppercase in small sizes with visible rule separators.
- Body copy uses IBM Plex Sans with calm line height; avoid centered marketing copy and keep text aligned to the grid.
- Important actions receive a black outline plus a tiny electric accent mark, not a large colored fill.
- Data and counts are framed as circled edition marks or margin notes rather than conventional metric cards.

### Density

Medium editorial density: generous margins and large typographic moments are balanced by compact captions, small metadata, and tightly ruled annotation panels.

### Signature Patterns

- Panel headers use double black rules made with border-top and border-bottom, creating magazine-section dividers instead of generic card titles.
- Active or urgent items receive a 2px electric left border plus a small absolute-positioned accent pin, keeping color as a signal not a fill.
- Gesture underlines are rendered with rotated pseudo-elements and rough dashed SVG strokes that sit behind selected headings or annotations.
- Fine-art paper grain is implemented with layered radial-gradient noise at extremely low opacity over a pure white background.
- Edition counters and status chips use zero-radius rectangles or 9999px circled marks with mono type and black ink outlines.

## Layout

### Density

Medium-density editorial workspace with large title typography, compact mono metadata, and ruled panels that can hold dense publication planning information without feeling like a SaaS dashboard.

### Grid

Desktop uses a 12-column grid at max-width 1360px with 24px gutters, a 72px folio rail, and asymmetric spans of 5/4/3 columns; key panels align to a visible baseline rhythm.

### Breakpoints

- **Desktop**: 1200px and up: 12 columns with folio rail
- **Tablet**: 768px-1199px: 6 columns with rail collapsed into top bar
- **Mobile**: 480px and below: single column with stacked full-width controls

### Whitespace

Whitespace should feel like gallery wall space: mostly pure white, sharply bounded by ink rules, with warm neutral paper panels only where material notes or artwork context require them.

### Responsive

At 1024px reduce headline scale and collapse side annotations; at 768px use two-column card flow; at 480px stack all panels, make controls full width, and allow tables to scroll inside ruled wrappers.

## Guidance

### Do

- Use pure #FFFFFF as the main background and introduce paper warmth only inside small archival or material-note surfaces.
- Apply -0.02em letter spacing globally, including captions, buttons, metadata, and form controls.
- Use black ruled borders as the first hierarchy tool before adding color, shadow, or filled surfaces.
- Choose one saturated accent per composition and reserve it for selection, urgency, active navigation, or annotation pins.
- Make headings editorial and typographic; pair large serif display with compact mono folios and sans body copy.
- Style every input, select, checkbox, button, and table with the same ink-border system.
- Use rough gesture lines sparingly to emphasize curatorial judgment or hand annotation.
- Keep border radius at 0px for panels and 9999px only for small circled counters or pills.

### Don't

- Do not use gradient text, gradient buttons, pastel backgrounds, glassmorphism, or crypto-style glows.
- Do not fill large areas with vermilion, cobalt, chartreuse, or coral; accents must stay small and editorial.
- Do not use generic rounded SaaS cards or random radius values such as 8px, 12px, 20px, or 32px.
- Do not center every element or build a component catalog; create a real editorial workspace scene.
- Do not let sketch marks reduce readability or make controls look unfinished.
- Do not use default browser styles for selects, checkboxes, sliders, or focus states.
- Do not mix multiple display fonts or use rejected LLM-default fonts like Poppins, Montserrat, DM Sans, or Space Grotesk.

### Usage Context

Best for editorial design tools, magazine issue planning, art direction archives, print-publication dashboards, contemporary art catalogs, studio critique workspaces, and visual culture research systems.

### Accessibility

Maintain WCAG contrast by keeping text black on white or warm neutral surfaces, never placing small text on saturated accent fields, using visible 2px focus rings, keeping touch targets at least 44px, and providing text labels beside symbolic ink marks.
DESIGN.md
---
version: "alpha"
name: "Editorial Ink Atelier with Electric Accents"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  primary: "#000000"
  secondary: "#3A3732"
  accent: "#F23B2E"
  background: "#FFFFFF"
  surface: "#FFFFFF"
  text: "#000000"
  muted: "#6F6A63"
  border: "#111111"
  error: "#B00020"
  success: "#177245"
  warning: "#D97706"
  info: "#1D4ED8"
  paper_warm: "#F4F1EA"
  gallery_neutral: "#E7E2DA"
  cobalt: "#0057FF"
  acid_chartreuse: "#C8FF00"
  hot_coral: "#FF4F6D"
  ink_wash: "#EDEBE6"
typography:
  headline-lg:
    fontFamily: "Libre Baskerville"
    fontSize: "1.953rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Libre Baskerville"
    fontSize: "1.563rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.48
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "0px"
  lg: "0px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
components:
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-paper_warm:
    backgroundColor: "{colors.paper_warm}"
  color-reference-gallery_neutral:
    backgroundColor: "{colors.gallery_neutral}"
  color-reference-cobalt:
    backgroundColor: "{colors.cobalt}"
  color-reference-acid_chartreuse:
    backgroundColor: "{colors.acid_chartreuse}"
  color-reference-hot_coral:
    backgroundColor: "{colors.hot_coral}"
  color-reference-ink_wash:
    backgroundColor: "{colors.ink_wash}"
  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"
---

# Editorial Ink Atelier with Electric Accents

## Overview

Editorial Ink Atelier with Electric Accents is a design language for serious visual culture tools: magazine planning rooms, print archives, art direction boards, and contemporary works-on-paper catalogs. It treats the interface like a warm sheet on a studio table: mostly black ink, measured columns, visible ruled lines, and generous editorial white space, then one electric signal at a time to mark urgency, selection, or authorship. The language is not playful, decorative, or retro; it is disciplined, material, and alive with the tension between hand-drawn gesture and publication-grid precision.

### Values

- {"name":"Ink-first authority","description":"Use black as the primary drawing instrument: typography, rules, icons, frames, and data marks should feel printed or drawn, not filled with decorative color."}
- {"name":"Editorial sequencing","description":"Information should unfold like a magazine spread with decks, folios, captions, callouts, and asymmetric columns rather than generic dashboard boxes."}
- {"name":"Works-on-paper materiality","description":"Surfaces should suggest tooth, wash, and studio paper through subtle grain and soft ink-wash shadows while keeping the overall field close to white and gallery-neutral."}
- {"name":"Electric restraint","description":"Saturated vermilion, cobalt, acid chartreuse, or hot coral appear as small editorial signals: registration marks, active states, annotation flags, and one decisive call to action."}
- {"name":"Gesture under control","description":"Irregular linework, underlines, and scribble marks can interrupt the grid, but they must be placed deliberately and never make controls hard to read."}
- {"name":"Fine-art seriousness","description":"The tone is quiet, intelligent, and curatorial; it avoids cute illustration, bright fills, sticker-like badges, and trend-driven effects."}

### Anti-Values

- {"name":"Rainbow creativity","description":"Do not use multiple saturated accents at once or turn the screen into an art-school palette sampler."}
- {"name":"Template minimalism","description":"Do not rely on generic white cards with soft shadows; identity must come from ruled structure, ink marks, and editorial hierarchy."}
- {"name":"Crypto gloss","description":"No gradient buttons, glassy hero panels, neon haze, or inflated rounded cards."}
- {"name":"Decorative illustration","description":"Linework must function as annotation, frame, or compositional tension, not as cute ornament."}

### Visual Character

- Zero-radius rectangular panels use 1px and 2px black ink borders with occasional double rules, making every container feel like a printed page frame.
- Oversized serif editorial headlines sit beside condensed uppercase folio labels and tiny caption text, all with tight -0.02em letter spacing.
- Subtle paper grain and pale ink-wash smudges sit on a pure white base, giving the interface works-on-paper materiality without cream backgrounds.
- Sparse electric accent marks appear as narrow left rules, circled counters, focus rings, and annotation pins rather than broad filled surfaces.
- Hand-drawn gesture lines are simulated with slightly rotated underline strokes, rough dashed borders, and SVG scribble marks that cross the grid in controlled places.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| primary | `#000000` |
| secondary | `#3A3732` |
| accent | `#F23B2E` |
| background | `#FFFFFF` |
| surface | `#FFFFFF` |
| text | `#000000` |
| muted | `#6F6A63` |
| border | `#111111` |
| error | `#B00020` |
| success | `#177245` |
| warning | `#D97706` |
| info | `#1D4ED8` |
| paper_warm | `#F4F1EA` |
| gallery_neutral | `#E7E2DA` |
| cobalt | `#0057FF` |
| acid_chartreuse | `#C8FF00` |
| hot_coral | `#FF4F6D` |
| ink_wash | `#EDEBE6` |

## Typography

- **Headline-Lg**: Libre Baskerville, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Libre Baskerville, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.48.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`

### Density

Medium-density editorial workspace with large title typography, compact mono metadata, and ruled panels that can hold dense publication planning information without feeling like a SaaS dashboard.

### Grid

Desktop uses a 12-column grid at max-width 1360px with 24px gutters, a 72px folio rail, and asymmetric spans of 5/4/3 columns; key panels align to a visible baseline rhythm.

### Breakpoints

- **Desktop**: 1200px and up: 12 columns with folio rail
- **Tablet**: 768px-1199px: 6 columns with rail collapsed into top bar
- **Mobile**: 480px and below: single column with stacked full-width controls

### Whitespace

Whitespace should feel like gallery wall space: mostly pure white, sharply bounded by ink rules, with warm neutral paper panels only where material notes or artwork context require them.

### Responsive

At 1024px reduce headline scale and collapse side annotations; at 768px use two-column card flow; at 480px stack all panels, make controls full width, and allow tables to scroll inside ruled wrappers.

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 0 rgba(0,0,0,0.18)
- **Md**: 8px 8px 0 rgba(0,0,0,0.08)
- **Lg**: 14px 14px 0 rgba(0,0,0,0.10)

## Shapes

### Rounded

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

### Surfaces

- **Treatment**: paper
- **Card Style**: Flat white editorial panels with black ruled borders, faint paper grain, and occasional offset ink-wash blocks behind key spreads.
- **Bg Pattern**: noise
- **Paper Texture**: Subtle repeating radial grain at very low opacity over pure #FFFFFF, with warm neutral inset panels only for archive notes.

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Printed black rules dominate the layout: thin frames for normal panels, double-rule headers for editorial emphasis, and rough dashed ink borders for annotations.

## Components

### Composition

- Build screens as editorial spreads: a large title/deck zone, a narrow folio rail, a main layout grid, and caption-like metadata blocks.
- Prefer asymmetric two- and three-column arrangements with one dominant artwork or brief and smaller annotation panels around it.
- Use black horizontal and vertical rules to divide space before using background fills; the line is the primary layout material.
- Keep accent color to one chosen signal per screen, covering less than five percent of visible area.
- Place fine-art material cues in margins, captions, contact sheets, and annotation overlays rather than as decorative backgrounds.
- Let occasional rotated scribble strokes cross a panel edge to create human gesture without breaking alignment.

### Hierarchy

- Headlines use Libre Baskerville at dramatic scale with tight tracking and compact line-height, creating an art-book editorial voice.
- Navigation, status labels, and folios use IBM Plex Mono uppercase in small sizes with visible rule separators.
- Body copy uses IBM Plex Sans with calm line height; avoid centered marketing copy and keep text aligned to the grid.
- Important actions receive a black outline plus a tiny electric accent mark, not a large colored fill.
- Data and counts are framed as circled edition marks or margin notes rather than conventional metric cards.

### Density

Medium editorial density: generous margins and large typographic moments are balanced by compact captions, small metadata, and tightly ruled annotation panels.

### Signature Patterns

- Panel headers use double black rules made with border-top and border-bottom, creating magazine-section dividers instead of generic card titles.
- Active or urgent items receive a 2px electric left border plus a small absolute-positioned accent pin, keeping color as a signal not a fill.
- Gesture underlines are rendered with rotated pseudo-elements and rough dashed SVG strokes that sit behind selected headings or annotations.
- Fine-art paper grain is implemented with layered radial-gradient noise at extremely low opacity over a pure white background.
- Edition counters and status chips use zero-radius rectangles or 9999px circled marks with mono type and black ink outlines.

## 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/editorial-ink-atelier-electric-accents/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 pure #FFFFFF as the main background and introduce paper warmth only inside small archival or material-note surfaces.
- Do Apply -0.02em letter spacing globally, including captions, buttons, metadata, and form controls.
- Do Use black ruled borders as the first hierarchy tool before adding color, shadow, or filled surfaces.
- Do Choose one saturated accent per composition and reserve it for selection, urgency, active navigation, or annotation pins.
- Do Make headings editorial and typographic; pair large serif display with compact mono folios and sans body copy.
- Do Style every input, select, checkbox, button, and table with the same ink-border system.
- Do Use rough gesture lines sparingly to emphasize curatorial judgment or hand annotation.
- Do Keep border radius at 0px for panels and 9999px only for small circled counters or pills.
- Don't Do not use gradient text, gradient buttons, pastel backgrounds, glassmorphism, or crypto-style glows.
- Don't Do not fill large areas with vermilion, cobalt, chartreuse, or coral; accents must stay small and editorial.
- Don't Do not use generic rounded SaaS cards or random radius values such as 8px, 12px, 20px, or 32px.
- Don't Do not center every element or build a component catalog; create a real editorial workspace scene.
- Don't Do not let sketch marks reduce readability or make controls look unfinished.
- Don't Do not use default browser styles for selects, checkboxes, sliders, or focus states.
- Don't Do not mix multiple display fonts or use rejected LLM-default fonts like Poppins, Montserrat, DM Sans, or Space Grotesk.

### Usage Context

Best for editorial design tools, magazine issue planning, art direction archives, print-publication dashboards, contemporary art catalogs, studio critique workspaces, and visual culture research systems.

### Accessibility

Maintain WCAG contrast by keeping text black on white or warm neutral surfaces, never placing small text on saturated accent fields, using visible 2px focus rings, keeping touch targets at least 44px, and providing text labels beside symbolic ink marks.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "editorial-ink-atelier-electric-accents",
  "type": "registry:theme",
  "title": "Editorial Ink Atelier with Electric Accents shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFFFFF",
      "foreground": "#000000",
      "card": "#FFFFFF",
      "card-foreground": "#000000",
      "popover": "#FFFFFF",
      "popover-foreground": "#000000",
      "primary": "#000000",
      "primary-foreground": "#ffffff",
      "secondary": "#3A3732",
      "secondary-foreground": "#ffffff",
      "muted": "#6F6A63",
      "muted-foreground": "#000000",
      "accent": "#F23B2E",
      "accent-foreground": "#ffffff",
      "destructive": "#B00020",
      "border": "#111111",
      "input": "#111111",
      "ring": "#F23B2E",
      "chart-1": "#000000",
      "chart-2": "#3A3732",
      "chart-3": "#F23B2E",
      "chart-4": "#177245",
      "chart-5": "#D97706",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#000000",
      "sidebar-primary": "#000000",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1D4ED8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#F23B2E",
      "radius": "0px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#000000",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#F23B2E",
      "accent-foreground": "#ffffff",
      "destructive": "#B00020",
      "border": "#303642",
      "input": "#303642",
      "ring": "#F23B2E",
      "chart-1": "#000000",
      "chart-2": "#3A3732",
      "chart-3": "#F23B2E",
      "chart-4": "#177245",
      "chart-5": "#D97706",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#000000",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#F23B2E",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#F23B2E",
      "radius": "0px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "editorial-ink-atelier-electric-accents",
    "slug": "editorial-ink-atelier-electric-accents",
    "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": {
      "colors": [
        "accent",
        "acid_chartreuse",
        "background",
        "border",
        "cobalt",
        "error",
        "gallery_neutral",
        "hot_coral",
        "info",
        "ink_wash",
        "muted",
        "paper_warm",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio",
        "sizes",
        "weights"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "paper_texture",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · editorial-ink-atelier-electric-accents
DESIGN.md

at a glance

Palette

Typography

headline-lgLibre Baskerville · 31px · 700

The quick brown fox jumps

headline-mdLibre Baskerville · 25px · 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
  • step-896px

Shape

none0px
sm0px
md0px
lg0px
full9999px
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: #FFFFFF;
  --foreground: #000000;
  --card: #FFFFFF;
  --card-foreground: #000000;
  --popover: #FFFFFF;
  --popover-foreground: #000000;
  --primary: #000000;
  --primary-foreground: #ffffff;
  --secondary: #3A3732;
  --secondary-foreground: #ffffff;
  --muted: #6F6A63;
  --muted-foreground: #000000;
  --accent: #F23B2E;
  --accent-foreground: #ffffff;
  --destructive: #B00020;
  --border: #111111;
  --input: #111111;
  --ring: #F23B2E;
  --chart-1: #000000;
  --chart-2: #3A3732;
  --chart-3: #F23B2E;
  --chart-4: #177245;
  --chart-5: #D97706;
  --sidebar: #FFFFFF;
  --sidebar-foreground: #000000;
  --sidebar-primary: #000000;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #1D4ED8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #111111;
  --sidebar-ring: #F23B2E;
  --radius: 0px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #000000;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #F23B2E;
  --accent-foreground: #ffffff;
  --destructive: #B00020;
  --border: #303642;
  --input: #303642;
  --ring: #F23B2E;
  --chart-1: #000000;
  --chart-2: #3A3732;
  --chart-3: #F23B2E;
  --chart-4: #177245;
  --chart-5: #D97706;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #000000;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #F23B2E;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #F23B2E;
  --radius: 0px;
}
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 EditorialInkAtelierWithElectricAccentsShadcnKit() {
  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">Editorial Ink Atelier with Electric Accents</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": "editorial-ink-atelier-electric-accents",
  "type": "registry:theme",
  "title": "Editorial Ink Atelier with Electric Accents shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFFFFF",
      "foreground": "#000000",
      "card": "#FFFFFF",
      "card-foreground": "#000000",
      "popover": "#FFFFFF",
      "popover-foreground": "#000000",
      "primary": "#000000",
      "primary-foreground": "#ffffff",
      "secondary": "#3A3732",
      "secondary-foreground": "#ffffff",
      "muted": "#6F6A63",
      "muted-foreground": "#000000",
      "accent": "#F23B2E",
      "accent-foreground": "#ffffff",
      "destructive": "#B00020",
      "border": "#111111",
      "input": "#111111",
      "ring": "#F23B2E",
      "chart-1": "#000000",
      "chart-2": "#3A3732",
      "chart-3": "#F23B2E",
      "chart-4": "#177245",
      "chart-5": "#D97706",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#000000",
      "sidebar-primary": "#000000",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1D4ED8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#F23B2E",
      "radius": "0px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#000000",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#F23B2E",
      "accent-foreground": "#ffffff",
      "destructive": "#B00020",
      "border": "#303642",
      "input": "#303642",
      "ring": "#F23B2E",
      "chart-1": "#000000",
      "chart-2": "#3A3732",
      "chart-3": "#F23B2E",
      "chart-4": "#177245",
      "chart-5": "#D97706",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#000000",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#F23B2E",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#F23B2E",
      "radius": "0px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "editorial-ink-atelier-electric-accents",
    "slug": "editorial-ink-atelier-electric-accents",
    "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": {
      "colors": [
        "accent",
        "acid_chartreuse",
        "background",
        "border",
        "cobalt",
        "error",
        "gallery_neutral",
        "hot_coral",
        "info",
        "ink_wash",
        "muted",
        "paper_warm",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio",
        "sizes",
        "weights"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "paper_texture",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
component recipescompatibility fallback
# Editorial Ink Atelier with Electric Accents shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `editorial-ink-atelier-electric-accents`
Slug: `editorial-ink-atelier-electric-accents`

## Intent

Editorial Ink Atelier with Electric Accents is a design language for serious visual culture tools: magazine planning rooms, print archives, art direction boards, and contemporary works-on-paper catalogs. It treats the interface like a warm sheet on a studio table: mostly black ink, measured columns, visible ruled lines, and generous editorial white space, then one electric signal at a time to mark urgency, selection, or authorship. The language is not playful, decorative, or retro; it is disciplined, material, and alive with the tension between hand-drawn gesture and publication-grid precision.

## 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:

{
  "primary": "#000000",
  "secondary": "#3A3732",
  "accent": "#F23B2E",
  "background": "#FFFFFF",
  "surface": "#FFFFFF",
  "text": "#000000",
  "muted": "#6F6A63",
  "border": "#111111",
  "error": "#B00020",
  "success": "#177245",
  "warning": "#D97706",
  "info": "#1D4ED8",
  "paper_warm": "#F4F1EA",
  "gallery_neutral": "#E7E2DA",
  "cobalt": "#0057FF",
  "acid_chartreuse": "#C8FF00",
  "hot_coral": "#FF4F6D",
  "ink_wash": "#EDEBE6"
}

Typography:

{
  "heading_font": "Libre Baskerville",
  "body_font": "IBM Plex Sans",
  "mono_font": "IBM Plex Mono",
  "base_size": "16px",
  "scale_ratio": 1.25,
  "line_height": 1.48,
  "letter_spacing": "-0.02em",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap",
  "sizes": {
    "caption": "11px",
    "label": "12px",
    "body": "16px",
    "deck": "20px",
    "h3": "24px",
    "h2": "36px",
    "h1": "64px"
  },
  "weights": {
    "regular": 400,
    "medium": 500,
    "semibold": 600,
    "bold": 700
  }
}

## Visual character to preserve

- Zero-radius rectangular panels use 1px and 2px black ink borders with occasional double rules, making every container feel like a printed page frame.
- Oversized serif editorial headlines sit beside condensed uppercase folio labels and tiny caption text, all with tight -0.02em letter spacing.
- Subtle paper grain and pale ink-wash smudges sit on a pure white base, giving the interface works-on-paper materiality without cream backgrounds.
- Sparse electric accent marks appear as narrow left rules, circled counters, focus rings, and annotation pins rather than broad filled surfaces.
- Hand-drawn gesture lines are simulated with slightly rotated underline strokes, rough dashed borders, and SVG scribble marks that cross the grid in controlled places.

## ShadSync visual profile

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

## Signature component recipes

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

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

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

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

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

## Preview shots

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

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/editorial-ink-atelier-electric-accents/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 pure #FFFFFF as the main background and introduce paper warmth only inside small archival or material-note surfaces.; Apply -0.02em letter spacing globally, including captions, buttons, metadata, and form controls.; Use black ruled borders as the first hierarchy tool before adding color, shadow, or filled surfaces.; Choose one saturated accent per composition and reserve it for selection, urgency, active navigation, or annotation pins.; Make headings editorial and typographic; pair large serif display with compact mono folios and sans body copy.; Style every input, select, checkbox, button, and table with the same ink-border system.; Use rough gesture lines sparingly to emphasize curatorial judgment or hand annotation.; Keep border radius at 0px for panels and 9999px only for small circled counters or pills.
- Do not: Do not use gradient text, gradient buttons, pastel backgrounds, glassmorphism, or crypto-style glows.; Do not fill large areas with vermilion, cobalt, chartreuse, or coral; accents must stay small and editorial.; Do not use generic rounded SaaS cards or random radius values such as 8px, 12px, 20px, or 32px.; Do not center every element or build a component catalog; create a real editorial workspace scene.; Do not let sketch marks reduce readability or make controls look unfinished.; Do not use default browser styles for selects, checkboxes, sliders, or focus states.; Do not mix multiple display fonts or use rejected LLM-default fonts like Poppins, Montserrat, DM Sans, or Space Grotesk.

## 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 EditorialInkAtelierWithElectricAccentsShadcnKit() {
  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">Editorial Ink Atelier with Electric Accents</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

{
  "density": "Medium-density editorial workspace with large title typography, compact mono metadata, and ruled panels that can hold dense publication planning information without feeling like a SaaS dashboard.",
  "grid": "Desktop uses a 12-column grid at max-width 1360px with 24px gutters, a 72px folio rail, and asymmetric spans of 5/4/3 columns; key panels align to a visible baseline rhythm.",
  "breakpoints": {
    "desktop": "1200px and up: 12 columns with folio rail",
    "tablet": "768px-1199px: 6 columns with rail collapsed into top bar",
    "mobile": "480px and below: single column with stacked full-width controls"
  },
  "whitespace": "Whitespace should feel like gallery wall space: mostly pure white, sharply bounded by ink rules, with warm neutral paper panels only where material notes or artwork context require them.",
  "responsive": "At 1024px reduce headline scale and collapse side annotations; at 768px use two-column card flow; at 480px stack all panels, make controls full width, and allow tables to scroll inside ruled wrappers."
}
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": "editorial-ink-atelier-electric-accents",
    "name": "Editorial Ink Atelier with Electric Accents",
    "slug": "editorial-ink-atelier-electric-accents"
  },
  "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": [
    "Zero-radius rectangular panels use 1px and 2px black ink borders with occasional double rules, making every container feel like a printed page frame.",
    "Oversized serif editorial headlines sit beside condensed uppercase folio labels and tiny caption text, all with tight -0.02em letter spacing.",
    "Subtle paper grain and pale ink-wash smudges sit on a pure white base, giving the interface works-on-paper materiality without cream backgrounds.",
    "Sparse electric accent marks appear as narrow left rules, circled counters, focus rings, and annotation pins rather than broad filled surfaces.",
    "Hand-drawn gesture lines are simulated with slightly rotated underline strokes, rough dashed borders, and SVG scribble marks that cross the grid in controlled places."
  ],
  "visualProfile": {
    "family": "paper-collage",
    "material": "paper",
    "contour": "default",
    "border": "dashed",
    "underlay": true,
    "grain": true,
    "stickerBadges": false,
    "motion": "lift-rotate",
    "density": "dense",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Editorial Ink Atelier with Electric Accents 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 pure #FFFFFF as the main background and introduce paper warmth only inside small archival or material-note surfaces.",
      "Apply -0.02em letter spacing globally, including captions, buttons, metadata, and form controls.",
      "Use black ruled borders as the first hierarchy tool before adding color, shadow, or filled surfaces.",
      "Choose one saturated accent per composition and reserve it for selection, urgency, active navigation, or annotation pins.",
      "Make headings editorial and typographic; pair large serif display with compact mono folios and sans body copy.",
      "Style every input, select, checkbox, button, and table with the same ink-border system.",
      "Use rough gesture lines sparingly to emphasize curatorial judgment or hand annotation.",
      "Keep border radius at 0px for panels and 9999px only for small circled counters or pills."
    ],
    "dont": [
      "Do not use gradient text, gradient buttons, pastel backgrounds, glassmorphism, or crypto-style glows.",
      "Do not fill large areas with vermilion, cobalt, chartreuse, or coral; accents must stay small and editorial.",
      "Do not use generic rounded SaaS cards or random radius values such as 8px, 12px, 20px, or 32px.",
      "Do not center every element or build a component catalog; create a real editorial workspace scene.",
      "Do not let sketch marks reduce readability or make controls look unfinished.",
      "Do not use default browser styles for selects, checkboxes, sliders, or focus states.",
      "Do not mix multiple display fonts or use rejected LLM-default fonts like Poppins, Montserrat, DM Sans, or Space Grotesk."
    ]
  }
}
related

More like this