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.
specification
philosophy
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
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
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.
Maintain product-grade density with compact rows, generous section gutters, and no more than two active neon accents visible in a single decision area.
Primary hierarchy comes from bright text, geometric display headings, thin neon state rails, and mono confidence metrics; chroma marks meaning, not decoration.
layout
Desktop 1200px+, tablet 768-1199px with rail collapsing to top band, mobile below 640px as single-column stacked glass cards.
Twelve-column desktop grid with a 272px navigation rail, 24px gutters, and nested four-column cards for analysis modules.
Whitespace is dark breathable negative space: 24-32px between modules, 12-16px inside dense rows, and wide gutters around luminous clusters.
guidance
- 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.
- 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"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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
implementation kit
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table: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;
}
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>
);
}
{
"$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"
]
}
}
}
# 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>
)
}
```
{
"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
}
}