back to gallery
design language·synthetic-naturalism-tokens

Synthetic Naturalism Tokens

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
Synthetic Naturalism Tokens is a 2026 AI product language that grounds generative intelligence in mineral-dark neutrals, translucent glass strata, and disciplined semantic color pulses for generated, suggested, verified, and risky states.
values
Grounded neutral foundations before chromaSemantic AI affordances instead of decorative neonAccessible luminous dark-mode hierarchyMaterial surfaces that feel translucent but operational
anti-values
×Rainbow gradient wash over every panel×Low-contrast glassmorphism that hides data×Generic white SaaS dashboards×Unlabeled AI magic sparkle decoration
tokens
borders4 items
accent width
2px
character
Cool graphite borders with occasional electric top or left rails for state meaning.
default width
1px
style
solid
colors12 items
accent
#B26CFF
background
#11100E
border
#39362F
error
#FF5C8A
info
#62E2FF
muted
#9B9589
primary
#C6FF3D
secondary
#31D7FF
success
#7CFF9B
surface
#1C1B18
text
#F2EFE7
warning
#FFD166
motion3 items
duration
180ms
easing
cubic-bezier(.2,.8,.2,1)
philosophy
Small opacity, glow, and translate changes confirm system intelligence without theatrical animation.
radii5 items
full
9999px
lg
28px
md
16px
none
0
sm
8px
shadows3 items
lg
0 2px 0 rgba(255,255,255,0.08), 0 44px 120px rgba(0,0,0,0.55)
md
0 1px 0 rgba(255,255,255,0.07), 0 24px 70px rgba(0,0,0,0.38)
sm
0 1px 0 rgba(255,255,255,0.05), 0 10px 28px rgba(0,0,0,0.28)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
Fixed mineral noise plus large blurred radial glows in lime, cyan, magenta, and ultraviolet behind the app shell.
card style
Warm/cool neutral translucent cards with one semantic rail and contained neon only for active generated states.
treatment
Luminous dark glass: rgba graphite and peat surfaces, backdrop blur, inner top highlight, and subtle gradient underlight.
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap
heading font
Space Grotesk
letter spacing
-0.015em
line height
1.52
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Compose screens as a dark command-center canvas: one anchored navigation rail, one dominant translucent workbench, and secondary glass cards that overlap only in measured eight-pixel increments.
density

Maintain product-grade density with compact rows, generous section gutters, and no more than two active neon accents visible in a single decision area.

hierarchy

Primary hierarchy comes from bright text, geometric display headings, thin neon state rails, and mono confidence metrics; chroma marks meaning, not decoration.

signature patterns
Semantic glow rails: two-pixel linear-gradient borders encode generated, verified, warning, and queued states along card edges.Glass stratum panels: layered rgba surfaces use backdrop-filter blur, inner highlights, and faint mineral grain to imply depth without opacity loss.AI token chips: small pill badges combine mono labels, colored dots, and low-alpha fills to identify model outputs and human approvals.Luminous focus fields: inputs and controls receive cyan-lime ring shadows and dark inset wells on hover or active states.
layout
breakpoints

Desktop 1200px+, tablet 768-1199px with rail collapsing to top band, mobile below 640px as single-column stacked glass cards.

grid

Twelve-column desktop grid with a 272px navigation rail, 24px gutters, and nested four-column cards for analysis modules.

whitespace

Whitespace is dark breathable negative space: 24-32px between modules, 12-16px inside dense rows, and wide gutters around luminous clusters.

guidance
do
  • Use grounded graphite, umber, stone, and smoke neutrals as the majority of every screen.
  • Map lime, cyan, magenta, and ultraviolet to explicit AI states such as generated, suggested, queued, or verified.
  • Preserve contrast with bright text over dark glass and avoid placing small text on high-chroma gradients.
  • Use mono numerals for confidence, latency, version, and model identifiers.
avoid
  • Do not flood backgrounds with full-spectrum gradients or rainbow buttons.
  • Do not make translucent cards so transparent that rows, controls, or labels lose contrast.
  • Do not use neon accents for unrelated decorative flourishes.
  • Do not replace product scenes with generic component inventories.
katagami spec
# Synthetic Naturalism Tokens

## Philosophy

Synthetic Naturalism Tokens is a 2026 AI product language that grounds generative intelligence in mineral-dark neutrals, translucent glass strata, and disciplined semantic color pulses for generated, suggested, verified, and risky states.

### Values

- Grounded neutral foundations before chroma
- Semantic AI affordances instead of decorative neon
- Accessible luminous dark-mode hierarchy
- Material surfaces that feel translucent but operational

### Anti-Values

- Rainbow gradient wash over every panel
- Low-contrast glassmorphism that hides data
- Generic white SaaS dashboards
- Unlabeled AI magic sparkle decoration

### Visual Character

- Use a near-black cool umber body background with oversized radial lime, cyan, and ultraviolet glows fixed behind content at low opacity.
- Build cards from semi-transparent warm graphite surfaces using backdrop-filter blur, one-pixel cool borders, and inset highlight lines.
- Reserve electric accent colors for thin rails, status chips, focus rings, and generated-state indicators rather than large filled blocks.
- Create hierarchy with compressed geometric headings, tabular mono numerals, spacious dark gutters, and dense but aligned product data rows.
- Layer glass panels on an eight-pixel grid with stepped radii: rectangular shells, softer cards, and fully rounded semantic tokens.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: Cool graphite borders with occasional electric top or left rails for state meaning.
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#B26CFF` |
| background | `#11100E` |
| border | `#39362F` |
| error | `#FF5C8A` |
| info | `#62E2FF` |
| muted | `#9B9589` |
| primary | `#C6FF3D` |
| secondary | `#31D7FF` |
| success | `#7CFF9B` |
| surface | `#1C1B18` |
| text | `#F2EFE7` |
| warning | `#FFD166` |

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: Small opacity, glow, and translate changes confirm system intelligence without theatrical animation.

### Radii

- **Full**: 9999px
- **Lg**: 28px
- **Md**: 16px
- **None**: 0
- **Sm**: 8px

### Shadows

- **Lg**: 0 2px 0 rgba(255,255,255,0.08), 0 44px 120px rgba(0,0,0,0.55)
- **Md**: 0 1px 0 rgba(255,255,255,0.07), 0 24px 70px rgba(0,0,0,0.38)
- **Sm**: 0 1px 0 rgba(255,255,255,0.05), 0 10px 28px rgba(0,0,0,0.28)

### Spacing

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

### Surfaces

- **Bg Pattern**: Fixed mineral noise plus large blurred radial glows in lime, cyan, magenta, and ultraviolet behind the app shell.
- **Card Style**: Warm/cool neutral translucent cards with one semantic rail and contained neon only for active generated states.
- **Treatment**: Luminous dark glass: rgba graphite and peat surfaces, backdrop blur, inner top highlight, and subtle gradient underlight.

### Typography

- **Base Size**: 16px
- **Body Font**: IBM Plex Sans
- **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=Space+Grotesk:wght@500;600;700&display=swap
- **Heading Font**: Space Grotesk
- **Letter Spacing**: -0.015em
- **Line Height**: 1.52
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Compose screens as a dark command-center canvas: one anchored navigation rail, one dominant translucent workbench, and secondary glass cards that overlap only in measured eight-pixel increments.

### Density

Maintain product-grade density with compact rows, generous section gutters, and no more than two active neon accents visible in a single decision area.

### Hierarchy

Primary hierarchy comes from bright text, geometric display headings, thin neon state rails, and mono confidence metrics; chroma marks meaning, not decoration.

### Signature Patterns

- Semantic glow rails: two-pixel linear-gradient borders encode generated, verified, warning, and queued states along card edges.
- Glass stratum panels: layered rgba surfaces use backdrop-filter blur, inner highlights, and faint mineral grain to imply depth without opacity loss.
- AI token chips: small pill badges combine mono labels, colored dots, and low-alpha fills to identify model outputs and human approvals.
- Luminous focus fields: inputs and controls receive cyan-lime ring shadows and dark inset wells on hover or active states.

## Layout

### Breakpoints

Desktop 1200px+, tablet 768-1199px with rail collapsing to top band, mobile below 640px as single-column stacked glass cards.

### Grid

Twelve-column desktop grid with a 272px navigation rail, 24px gutters, and nested four-column cards for analysis modules.

### Whitespace

Whitespace is dark breathable negative space: 24-32px between modules, 12-16px inside dense rows, and wide gutters around luminous clusters.

## Guidance

### Do

- Use grounded graphite, umber, stone, and smoke neutrals as the majority of every screen.
- Map lime, cyan, magenta, and ultraviolet to explicit AI states such as generated, suggested, queued, or verified.
- Preserve contrast with bright text over dark glass and avoid placing small text on high-chroma gradients.
- Use mono numerals for confidence, latency, version, and model identifiers.

### Don't

- Do not flood backgrounds with full-spectrum gradients or rainbow buttons.
- Do not make translucent cards so transparent that rows, controls, or labels lose contrast.
- Do not use neon accents for unrelated decorative flourishes.
- Do not replace product scenes with generic component inventories.
DESIGN.md
---
version: "alpha"
name: "Synthetic Naturalism Tokens"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#B26CFF"
  background: "#11100E"
  border: "#39362F"
  error: "#FF5C8A"
  info: "#62E2FF"
  muted: "#9B9589"
  primary: "#C6FF3D"
  secondary: "#31D7FF"
  success: "#7CFF9B"
  surface: "#1C1B18"
  text: "#F2EFE7"
  warning: "#FFD166"
typography:
  headline-lg:
    fontFamily: "Space Grotesk"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Space Grotesk"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.52
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "28px"
  md: "16px"
  none: "0px"
  sm: "8px"
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: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Synthetic Naturalism Tokens

## Overview

Synthetic Naturalism Tokens is a 2026 AI product language that grounds generative intelligence in mineral-dark neutrals, translucent glass strata, and disciplined semantic color pulses for generated, suggested, verified, and risky states.

### Values

- Grounded neutral foundations before chroma
- Semantic AI affordances instead of decorative neon
- Accessible luminous dark-mode hierarchy
- Material surfaces that feel translucent but operational

### Anti-Values

- Rainbow gradient wash over every panel
- Low-contrast glassmorphism that hides data
- Generic white SaaS dashboards
- Unlabeled AI magic sparkle decoration

### Visual Character

- Use a near-black cool umber body background with oversized radial lime, cyan, and ultraviolet glows fixed behind content at low opacity.
- Build cards from semi-transparent warm graphite surfaces using backdrop-filter blur, one-pixel cool borders, and inset highlight lines.
- Reserve electric accent colors for thin rails, status chips, focus rings, and generated-state indicators rather than large filled blocks.
- Create hierarchy with compressed geometric headings, tabular mono numerals, spacious dark gutters, and dense but aligned product data rows.
- Layer glass panels on an eight-pixel grid with stepped radii: rectangular shells, softer cards, and fully rounded semantic tokens.

## 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 | `#B26CFF` |
| background | `#11100E` |
| border | `#39362F` |
| error | `#FF5C8A` |
| info | `#62E2FF` |
| muted | `#9B9589` |
| primary | `#C6FF3D` |
| secondary | `#31D7FF` |
| success | `#7CFF9B` |
| surface | `#1C1B18` |
| text | `#F2EFE7` |
| warning | `#FFD166` |

## Typography

- **Headline-Lg**: Space Grotesk, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Space Grotesk, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.52.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

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

### Breakpoints

Desktop 1200px+, tablet 768-1199px with rail collapsing to top band, mobile below 640px as single-column stacked glass cards.

### Grid

Twelve-column desktop grid with a 272px navigation rail, 24px gutters, and nested four-column cards for analysis modules.

### Whitespace

Whitespace is dark breathable negative space: 24-32px between modules, 12-16px inside dense rows, and wide gutters around luminous clusters.

## Elevation & Depth

### Shadows

- **Lg**: 0 2px 0 rgba(255,255,255,0.08), 0 44px 120px rgba(0,0,0,0.55)
- **Md**: 0 1px 0 rgba(255,255,255,0.07), 0 24px 70px rgba(0,0,0,0.38)
- **Sm**: 0 1px 0 rgba(255,255,255,0.05), 0 10px 28px rgba(0,0,0,0.28)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: Fixed mineral noise plus large blurred radial glows in lime, cyan, magenta, and ultraviolet behind the app shell.
- **Card Style**: Warm/cool neutral translucent cards with one semantic rail and contained neon only for active generated states.
- **Treatment**: Luminous dark glass: rgba graphite and peat surfaces, backdrop blur, inner top highlight, and subtle gradient underlight.

### Borders

- **Accent Width**: 2px
- **Character**: Cool graphite borders with occasional electric top or left rails for state meaning.
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Compose screens as a dark command-center canvas: one anchored navigation rail, one dominant translucent workbench, and secondary glass cards that overlap only in measured eight-pixel increments.

### Density

Maintain product-grade density with compact rows, generous section gutters, and no more than two active neon accents visible in a single decision area.

### Hierarchy

Primary hierarchy comes from bright text, geometric display headings, thin neon state rails, and mono confidence metrics; chroma marks meaning, not decoration.

### Signature Patterns

- Semantic glow rails: two-pixel linear-gradient borders encode generated, verified, warning, and queued states along card edges.
- Glass stratum panels: layered rgba surfaces use backdrop-filter blur, inner highlights, and faint mineral grain to imply depth without opacity loss.
- AI token chips: small pill badges combine mono labels, colored dots, and low-alpha fills to identify model outputs and human approvals.
- Luminous focus fields: inputs and controls receive cyan-lime ring shadows and dark inset wells on hover or active states.

## 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-019ea9a2-c599-7520-8e0f-0701b9d2ee4d/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 grounded graphite, umber, stone, and smoke neutrals as the majority of every screen.
- Do Map lime, cyan, magenta, and ultraviolet to explicit AI states such as generated, suggested, queued, or verified.
- Do Preserve contrast with bright text over dark glass and avoid placing small text on high-chroma gradients.
- Do Use mono numerals for confidence, latency, version, and model identifiers.
- Don't Do not flood backgrounds with full-spectrum gradients or rainbow buttons.
- Don't Do not make translucent cards so transparent that rows, controls, or labels lose contrast.
- Don't Do not use neon accents for unrelated decorative flourishes.
- Don't Do not replace product scenes with generic component inventories.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "synthetic-naturalism-tokens",
  "type": "registry:theme",
  "title": "Synthetic Naturalism Tokens shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#11100E",
      "foreground": "#F2EFE7",
      "card": "#1C1B18",
      "card-foreground": "#F2EFE7",
      "popover": "#1C1B18",
      "popover-foreground": "#F2EFE7",
      "primary": "#C6FF3D",
      "primary-foreground": "#111111",
      "secondary": "#31D7FF",
      "secondary-foreground": "#111111",
      "muted": "#9B9589",
      "muted-foreground": "#F2EFE7",
      "accent": "#B26CFF",
      "accent-foreground": "#ffffff",
      "destructive": "#FF5C8A",
      "border": "#39362F",
      "input": "#39362F",
      "ring": "#B26CFF",
      "chart-1": "#C6FF3D",
      "chart-2": "#31D7FF",
      "chart-3": "#B26CFF",
      "chart-4": "#7CFF9B",
      "chart-5": "#FFD166",
      "sidebar": "#1C1B18",
      "sidebar-foreground": "#F2EFE7",
      "sidebar-primary": "#C6FF3D",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#62E2FF",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#39362F",
      "sidebar-ring": "#B26CFF",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#C6FF3D",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#B26CFF",
      "accent-foreground": "#ffffff",
      "destructive": "#FF5C8A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#B26CFF",
      "chart-1": "#C6FF3D",
      "chart-2": "#31D7FF",
      "chart-3": "#B26CFF",
      "chart-4": "#7CFF9B",
      "chart-5": "#FFD166",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#C6FF3D",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#B26CFF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#B26CFF",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a2-c599-7520-8e0f-0701b9d2ee4d",
    "slug": "synthetic-naturalism-tokens",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · synthetic-naturalism-tokens
DESIGN.md

at a glance

Palette

Typography

headline-lgSpace Grotesk · 29px · 700

The quick brown fox jumps

headline-mdSpace Grotesk · 24px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 16px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • 2xl32px
  • 3xl48px
  • 4xl64px

Shape

full9999px
lg28px
md16px
none0px
sm8px
shadcn/ui

implementation kit

needs agent-authored kitstored
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: #11100E;
  --foreground: #F2EFE7;
  --card: #1C1B18;
  --card-foreground: #F2EFE7;
  --popover: #1C1B18;
  --popover-foreground: #F2EFE7;
  --primary: #C6FF3D;
  --primary-foreground: #111111;
  --secondary: #31D7FF;
  --secondary-foreground: #111111;
  --muted: #9B9589;
  --muted-foreground: #F2EFE7;
  --accent: #B26CFF;
  --accent-foreground: #ffffff;
  --destructive: #FF5C8A;
  --border: #39362F;
  --input: #39362F;
  --ring: #B26CFF;
  --chart-1: #C6FF3D;
  --chart-2: #31D7FF;
  --chart-3: #B26CFF;
  --chart-4: #7CFF9B;
  --chart-5: #FFD166;
  --sidebar: #1C1B18;
  --sidebar-foreground: #F2EFE7;
  --sidebar-primary: #C6FF3D;
  --sidebar-primary-foreground: #111111;
  --sidebar-accent: #62E2FF;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #39362F;
  --sidebar-ring: #B26CFF;
  --radius: 16px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #C6FF3D;
  --primary-foreground: #111111;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #B26CFF;
  --accent-foreground: #ffffff;
  --destructive: #FF5C8A;
  --border: #303642;
  --input: #303642;
  --ring: #B26CFF;
  --chart-1: #C6FF3D;
  --chart-2: #31D7FF;
  --chart-3: #B26CFF;
  --chart-4: #7CFF9B;
  --chart-5: #FFD166;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #C6FF3D;
  --sidebar-primary-foreground: #111111;
  --sidebar-accent: #B26CFF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #B26CFF;
  --radius: 16px;
}
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 SyntheticNaturalismTokensShadcnKit() {
  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">Synthetic Naturalism Tokens</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": "synthetic-naturalism-tokens",
  "type": "registry:theme",
  "title": "Synthetic Naturalism Tokens shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#11100E",
      "foreground": "#F2EFE7",
      "card": "#1C1B18",
      "card-foreground": "#F2EFE7",
      "popover": "#1C1B18",
      "popover-foreground": "#F2EFE7",
      "primary": "#C6FF3D",
      "primary-foreground": "#111111",
      "secondary": "#31D7FF",
      "secondary-foreground": "#111111",
      "muted": "#9B9589",
      "muted-foreground": "#F2EFE7",
      "accent": "#B26CFF",
      "accent-foreground": "#ffffff",
      "destructive": "#FF5C8A",
      "border": "#39362F",
      "input": "#39362F",
      "ring": "#B26CFF",
      "chart-1": "#C6FF3D",
      "chart-2": "#31D7FF",
      "chart-3": "#B26CFF",
      "chart-4": "#7CFF9B",
      "chart-5": "#FFD166",
      "sidebar": "#1C1B18",
      "sidebar-foreground": "#F2EFE7",
      "sidebar-primary": "#C6FF3D",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#62E2FF",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#39362F",
      "sidebar-ring": "#B26CFF",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#C6FF3D",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#B26CFF",
      "accent-foreground": "#ffffff",
      "destructive": "#FF5C8A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#B26CFF",
      "chart-1": "#C6FF3D",
      "chart-2": "#31D7FF",
      "chart-3": "#B26CFF",
      "chart-4": "#7CFF9B",
      "chart-5": "#FFD166",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#C6FF3D",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#B26CFF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#B26CFF",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a2-c599-7520-8e0f-0701b9d2ee4d",
    "slug": "synthetic-naturalism-tokens",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipesstored
# Synthetic Naturalism Tokens shadcn/ui Components
Author: `katagami-agent`

## Intent
Translate Synthetic Naturalism Tokens into shadcn/ui as a grounded dark AI product kit: warm/cool graphite neutrals, translucent glass cards, semantic neon rails, mono confidence labels, and accessible luminous focus states.

## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, and table. Import local primitives from `@/components/ui/*`; do not invent a second component system.

## Token cues
Use `colors.background` for the app canvas, `colors.surface` for glass panels, `colors.text` for foreground, `colors.muted` for secondary labels, `colors.border` for graphite strokes, `colors.primary` for generated AI states, `colors.secondary` for verified states, `colors.accent` for simulation/dream states, and warning/error/success/info only for explicit product states.

## Visual character to preserve
- Near-black cool umber background with low-opacity radial lime, cyan, and ultraviolet glows behind content.
- Semi-transparent card surfaces with backdrop blur, one-pixel borders, and inset highlight lines.
- Electric accents only as thin rails, focus rings, token chips, and generated-state indicators.
- Space Grotesk headings, IBM Plex Sans body, and IBM Plex Mono numerals for confidence and model traces.
- Rectangular shells, softer cards, fully rounded badges, and dense rows on an eight-pixel grid.

## ShadSync visual profile
family: synthetic-naturalism; material: luminous-dark-glass; contour: stepped-radius; border: graphite-one-pixel-with-neon-rails; underlay: radial-ai-glows; grain: mineral-noise; stickerBadges: semantic-token-chips; motion: small-glow-translate; density: compact-product; accents: lime-generated, cyan-verified, ultraviolet-simulation, magenta-risk.

## Signature component recipes
- button: Primary buttons use lime fill with dark text and restrained glow; secondary buttons are transparent graphite pills with one-pixel borders. Hover adds a 1px lift and cyan focus halo.
- card: Cards use `bg-card/70`, backdrop blur, inset top highlight, graphite border, and optional `border-l-2` semantic rails for generated, verified, warning, or simulation states.
- input: Inputs sit in dark inset wells with 16px radius; focus uses cyan border plus low-alpha cyan/lime ring shadow.
- textarea: Same as input, with minimum height, mono optional model trace footer, and no gradient fill behind small text.
- select: Trigger mirrors input well, menu uses glass card material, selected item gets a left neon rail.
- dialog: Dialog content is a centered glass stratum panel with 28px radius, dark scrim, and one semantic top line only when stateful.
- sheet: Sheets slide as opaque-enough graphite glass with sticky header, mono timestamp, and cyan focus management.
- tabs: Tabs are compact rounded pills; active tab uses low-alpha lime fill and inset left/top rail rather than a full neon slab.
- badge: Badges are mono token chips with colored dot, low-alpha semantic fill, and pill radius.
- separator: Separators are 1px graphite lines; use gradient separators only for explicit AI phase changes.
- checkbox: Checkbox uses graphite square, lime check for generated inclusion, and cyan ring on focus.
- switch: Track stays dark graphite; thumb glow color maps to the enabled semantic state.
- slider: Track is graphite with a lime-to-cyan filled segment and mono value label.
- tooltip: Tooltip is small blurred graphite glass with bright text and no decorative arrow glow unless explaining AI state.
- dropdown-menu: Menu is a dense glass panel; destructive item uses error pink text, generated action uses lime dot.
- table: Tables are compact with mono headers, subtle row dividers, right-aligned numerics, and status chips rather than filled rows.

## Preview shots
1. application-shell: AI ecology operating console with navigation rail, hero confidence card, and recommendation queue.
2. detail-editor: Scenario editor dialog/sheet with generated notes, verified fields, controls, and semantic badges.
3. data-operations: Dense model audit table with filters, dropdown actions, slider threshold, and state chips.

## Implementation contract
Use the generated DESIGN.md tokens as the source of truth. Preserve accessible contrast by keeping text on dark neutral surfaces, not on saturated gradients. Limit a composition to one dominant neon state and one secondary accent. Use local shadcn/ui primitives from `@/components/ui/*` only.

## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"
import { Input } from "@/components/ui/input"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"

export function SyntheticNaturalismPanel() {
  return (
    <Card className="border border-border/70 bg-card/70 shadow-2xl backdrop-blur-xl [box-shadow:inset_2px_0_0_hsl(var(--primary)),inset_0_1px_0_rgba(255,255,255,.07)] rounded-[28px]">
      <CardHeader>
        <Badge className="w-fit rounded-full border-primary/30 bg-primary/10 font-mono text-primary">GEN · generated</Badge>
        <CardTitle className="font-heading tracking-tight">Habitat synthesis queue</CardTitle>
      </CardHeader>
      <CardContent className="space-y-4">
        <Input className="rounded-2xl border-border/70 bg-background/40 focus-visible:ring-secondary/30" defaultValue="confidence above 0.72" />
        <Table>
          <TableHeader><TableRow><TableHead>Trace</TableHead><TableHead>State</TableHead></TableRow></TableHeader>
          <TableBody><TableRow><TableCell className="font-mono">GEN-204</TableCell><TableCell><Badge>verified</Badge></TableCell></TableRow></TableBody>
        </Table>
        <Button className="rounded-full bg-primary text-background shadow-[0_0_34px_rgba(198,255,61,.22)]">Generate scenario</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/button primitives."
    },
    {
      "component": "card",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/card primitives."
    },
    {
      "component": "input",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/input primitives."
    },
    {
      "component": "textarea",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/textarea primitives."
    },
    {
      "component": "select",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/select primitives."
    },
    {
      "component": "dialog",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/dialog primitives."
    },
    {
      "component": "sheet",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/sheet primitives."
    },
    {
      "component": "tabs",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/tabs primitives."
    },
    {
      "component": "badge",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/badge primitives."
    },
    {
      "component": "separator",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/separator primitives."
    },
    {
      "component": "checkbox",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/checkbox primitives."
    },
    {
      "component": "switch",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/switch primitives."
    },
    {
      "component": "slider",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/slider primitives."
    },
    {
      "component": "tooltip",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/tooltip primitives."
    },
    {
      "component": "dropdown-menu",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/dropdown-menu primitives."
    },
    {
      "component": "table",
      "recipe": "Use luminous dark glass neutrals, accessible contrast, stepped radii, semantic neon only for state, and local @/components/ui/table primitives."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "avoid": [
        "rainbow gradients",
        "component inventory walls",
        "low contrast glass"
      ],
      "composition": "Navigation rail, large synthesis hero, confidence card, recommendation table, and token chips on a luminous dark glass canvas.",
      "id": "application-shell",
      "mustShowStates": [
        "generated lime rail",
        "verified cyan badge",
        "active tab",
        "focus input"
      ],
      "name": "Application shell",
      "primitives": [
        "button",
        "card",
        "input",
        "tabs",
        "badge",
        "separator",
        "tooltip",
        "table"
      ],
      "scene": {
        "description": "A field operations console where AI suggestions are visible but semantically restrained.",
        "eyebrow": "Generated biome forecast · v4.8",
        "headline": "Dark glass intelligence for living climate decisions",
        "primaryAction": "Generate scenario",
        "rows": [
          [
            "GEN-204",
            "Irrigation shift",
            "generated"
          ],
          [
            "VER-118",
            "Sensor drift check",
            "verified"
          ],
          [
            "LAB-072",
            "Pollinator routing",
            "simulated"
          ]
        ],
        "secondaryAction": "Compare baselines",
        "stats": [
          {
            "label": "Confidence",
            "value": "83.7%"
          },
          {
            "label": "Generated",
            "value": "18"
          },
          {
            "label": "Verified",
            "value": "11"
          }
        ]
      }
    },
    {
      "avoid": [
        "transparent text over glow",
        "oversized neon controls"
      ],
      "composition": "A glass scenario editor with verified fields, generated notes, controls, and an audit sheet.",
      "id": "detail-editor",
      "mustShowStates": [
        "cyan focus field",
        "lime generated note",
        "warning threshold slider",
        "enabled semantic switch"
      ],
      "name": "Detail editor",
      "primitives": [
        "dialog",
        "sheet",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "badge",
        "button"
      ],
      "scene": {
        "description": "Operators can accept generated language only after reviewing assumptions and threshold controls.",
        "eyebrow": "Scenario editor",
        "fields": [
          {
            "label": "Model trace",
            "value": "moss corridor confidence > 0.72"
          },
          {
            "label": "Narrative note",
            "value": "Explain salinity assumptions before publishing."
          },
          {
            "label": "Threshold",
            "value": "0.74"
          }
        ],
        "headline": "Tune the moss corridor model",
        "primaryAction": "Approve synthesis",
        "secondaryAction": "Open audit sheet"
      }
    },
    {
      "avoid": [
        "filled neon rows",
        "generic analytics labels"
      ],
      "composition": "Dense model audit workspace with filters, dropdown actions, status chips, and mono numeric columns.",
      "id": "data-operations",
      "mustShowStates": [
        "verified cyan rows",
        "risk magenta badge",
        "dropdown action menu",
        "compact table hierarchy"
      ],
      "name": "Data operations",
      "primitives": [
        "table",
        "dropdown-menu",
        "badge",
        "separator",
        "input",
        "select",
        "button",
        "tooltip",
        "card"
      ],
      "scene": {
        "description": "Every chroma event maps to generated, verified, simulated, or risk states.",
        "eyebrow": "Model audit",
        "headline": "Semantic tokens keep operations legible",
        "primaryAction": "Export audit",
        "rows": [
          [
            "GEN-204",
            "Gaia-7",
            "83.7%",
            "generated"
          ],
          [
            "VER-118",
            "Review",
            "91.2%",
            "verified"
          ],
          [
            "RISK-033",
            "Policy",
            "42.0%",
            "risk"
          ]
        ],
        "secondaryAction": "Filter risks",
        "stats": [
          {
            "label": "Latency",
            "value": "128ms"
          },
          {
            "label": "Risk flags",
            "value": "02"
          },
          {
            "label": "Approved",
            "value": "11"
          }
        ]
      }
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "lime-generated",
      "cyan-verified",
      "ultraviolet-simulation",
      "magenta-risk"
    ],
    "border": "graphite-one-pixel-with-neon-rails",
    "contour": "stepped-radius",
    "density": "compact-product",
    "family": "synthetic-naturalism",
    "grain": true,
    "material": "luminous-dark-glass",
    "motion": "small-glow-translate",
    "stickerBadges": true,
    "underlay": true
  }
}