back to gallery
design language·eco-accountable-redirection-palettes

Eco-accountable Redirection Palettes

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
An editorial design language for 2026 climate, culture, and civic repair stories: Transformative Teal anchors responsibility, offbeat earth naturals carry material provenance, urgent brights mark redirection, and calming tints keep complex future-building legible rather than sentimental.
values
repair over extractioncultural redirection with named provenanceWCAG-aware editorial dramafuture-building optimism grounded in accountability
anti-values
×generic leaf-and-sky nature symbolism×low-contrast trend color used as body text×placeless eco aesthetics with no cultural or material origin
tokens
borders4 items
accent width
4px
character
earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline
default width
1.5px
style
solid with occasional dashed provenance separators
colors12 items
accent
#FFB000
background
#F5F0E6
border
#B97B5D
error
#C83232
info
#0B5F8A
muted
#5B6C66
primary
#006D73
secondary
#8A5A44
success
#167A4A
surface
#FFF8EC
text
#162321
warning
#B86B00
motion3 items
duration
180ms
easing
cubic-bezier(.2,.8,.2,1)
philosophy
small accountable reveals: cards lift two pixels, urgent tags slide in, and reduced-motion users receive static borders
radii5 items
full
9999px
lg
26px
md
14px
none
0
sm
6px
shadows3 items
lg
0 26px 60px rgba(22,35,33,0.22)
md
0 14px 32px rgba(22,35,33,0.16)
sm
0 2px 0 rgba(22,35,33,0.18)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
subtle dotted field grid and torn-coordinate provenance bands
card style
ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers
treatment
warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks
typography8 items
base size
16px
body font
Atkinson Hyperlegible
google fonts url
https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..800,60,1&family=IBM+Plex+Mono:wght@500;700&display=swap
heading font
Fraunces
letter spacing
-0.015em
line height
1.58
mono font
IBM Plex Mono
scale ratio
1.25
rules
composition

Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance.

density

Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters.

hierarchy

Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges.

signature patterns
Responsibility rail: a fixed teal column or inline stripe labels the system promise and gives every major section a non-color structural anchor.Provenance tags: mono coordinate chips and material labels attach to palettes, cards, and rows so color meaning is explicit rather than decorative.Urgent bright tabs: amber or coral tabs protrude from cards with icons and text, never relying on hue alone to signal priority.Tint-underlay layering: pale aqua and cream panels offset behind content create calming depth while clay keylines maintain crisp contrast.
layout
breakpoints

mobile 375px, tablet 768px, desktop 1200px

grid

12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band.

whitespace

Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity.

guidance
do
  • Name the provenance of every expressive color family in labels or captions.
  • Use teal as responsibility infrastructure, not a generic nature wash.
  • Pair urgent brights with icon, border weight, or text label for accessibility.
  • Keep body text charcoal on cream or ivory for enhanced contrast where feasible.
avoid
  • Do not put amber, coral, or pale aqua behind small body text without a dark text check.
  • Do not use color alone to indicate status, priority, or selection.
  • Do not reduce the palette to conventional green sustainability clichés.
  • Do not remove grain, rails, and provenance tags; they carry the language identity.
katagami spec
# Eco-accountable Redirection Palettes

## Philosophy

An editorial design language for 2026 climate, culture, and civic repair stories: Transformative Teal anchors responsibility, offbeat earth naturals carry material provenance, urgent brights mark redirection, and calming tints keep complex future-building legible rather than sentimental.

### Values

- repair over extraction
- cultural redirection with named provenance
- WCAG-aware editorial drama
- future-building optimism grounded in accountability

### Anti-Values

- generic leaf-and-sky nature symbolism
- low-contrast trend color used as body text
- placeless eco aesthetics with no cultural or material origin

### Visual Character

- CSS uses a split editorial grid with a teal responsibility rail, off-axis earth-toned story cards, and a persistent provenance strip naming material and cultural color origins.
- Layered calming tint panels sit behind urgent bright callouts via pseudo-elements, keeping emphasis visible through shape, labels, and border weight rather than color alone.
- Cards combine rounded-but-not-soft corners, clay keyline borders, grain overlays, and small coordinate tags to make palettes feel sourced from field repair work.
- Large Fraunces editorial headings pair with Atkinson Hyperlegible body text, oversized numerals, and high-contrast charcoal text to meet accessibility requirements.

## Tokens

### Borders

- **Accent Width**: 4px
- **Character**: earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline
- **Default Width**: 1.5px
- **Style**: solid with occasional dashed provenance separators

### Colors

| Name | Value |
|------|-------|
| accent | `#FFB000` |
| background | `#F5F0E6` |
| border | `#B97B5D` |
| error | `#C83232` |
| info | `#0B5F8A` |
| muted | `#5B6C66` |
| primary | `#006D73` |
| secondary | `#8A5A44` |
| success | `#167A4A` |
| surface | `#FFF8EC` |
| text | `#162321` |
| warning | `#B86B00` |

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: small accountable reveals: cards lift two pixels, urgent tags slide in, and reduced-motion users receive static borders

### Radii

- **Full**: 9999px
- **Lg**: 26px
- **Md**: 14px
- **None**: 0
- **Sm**: 6px

### Shadows

- **Lg**: 0 26px 60px rgba(22,35,33,0.22)
- **Md**: 0 14px 32px rgba(22,35,33,0.16)
- **Sm**: 0 2px 0 rgba(22,35,33,0.18)

### Spacing

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

### Surfaces

- **Bg Pattern**: subtle dotted field grid and torn-coordinate provenance bands
- **Card Style**: ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers
- **Treatment**: warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks

### Typography

- **Base Size**: 16px
- **Body Font**: Atkinson Hyperlegible
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..800,60,1&family=IBM+Plex+Mono:wght@500;700&display=swap
- **Heading Font**: Fraunces
- **Letter Spacing**: -0.015em
- **Line Height**: 1.58
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.25

## Rules

### Composition

Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance.

### Density

Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters.

### Hierarchy

Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges.

### Signature Patterns

- Responsibility rail: a fixed teal column or inline stripe labels the system promise and gives every major section a non-color structural anchor.
- Provenance tags: mono coordinate chips and material labels attach to palettes, cards, and rows so color meaning is explicit rather than decorative.
- Urgent bright tabs: amber or coral tabs protrude from cards with icons and text, never relying on hue alone to signal priority.
- Tint-underlay layering: pale aqua and cream panels offset behind content create calming depth while clay keylines maintain crisp contrast.

## Layout

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px

### Grid

12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band.

### Whitespace

Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity.

## Guidance

### Do

- Name the provenance of every expressive color family in labels or captions.
- Use teal as responsibility infrastructure, not a generic nature wash.
- Pair urgent brights with icon, border weight, or text label for accessibility.
- Keep body text charcoal on cream or ivory for enhanced contrast where feasible.

### Don't

- Do not put amber, coral, or pale aqua behind small body text without a dark text check.
- Do not use color alone to indicate status, priority, or selection.
- Do not reduce the palette to conventional green sustainability clichés.
- Do not remove grain, rails, and provenance tags; they carry the language identity.
DESIGN.md
---
version: "alpha"
name: "Eco-accountable Redirection Palettes"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#FFB000"
  background: "#F5F0E6"
  border: "#B97B5D"
  error: "#C83232"
  info: "#0B5F8A"
  muted: "#5B6C66"
  primary: "#006D73"
  secondary: "#8A5A44"
  success: "#167A4A"
  surface: "#FFF8EC"
  text: "#162321"
  warning: "#B86B00"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "1.953rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.563rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "Atkinson Hyperlegible"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.58
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "26px"
  md: "14px"
  none: "0px"
  sm: "6px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#ffffff"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Eco-accountable Redirection Palettes

## Overview

An editorial design language for 2026 climate, culture, and civic repair stories: Transformative Teal anchors responsibility, offbeat earth naturals carry material provenance, urgent brights mark redirection, and calming tints keep complex future-building legible rather than sentimental.

### Values

- repair over extraction
- cultural redirection with named provenance
- WCAG-aware editorial drama
- future-building optimism grounded in accountability

### Anti-Values

- generic leaf-and-sky nature symbolism
- low-contrast trend color used as body text
- placeless eco aesthetics with no cultural or material origin

### Visual Character

- CSS uses a split editorial grid with a teal responsibility rail, off-axis earth-toned story cards, and a persistent provenance strip naming material and cultural color origins.
- Layered calming tint panels sit behind urgent bright callouts via pseudo-elements, keeping emphasis visible through shape, labels, and border weight rather than color alone.
- Cards combine rounded-but-not-soft corners, clay keyline borders, grain overlays, and small coordinate tags to make palettes feel sourced from field repair work.
- Large Fraunces editorial headings pair with Atkinson Hyperlegible body text, oversized numerals, and high-contrast charcoal text to meet accessibility requirements.

## 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 | `#FFB000` |
| background | `#F5F0E6` |
| border | `#B97B5D` |
| error | `#C83232` |
| info | `#0B5F8A` |
| muted | `#5B6C66` |
| primary | `#006D73` |
| secondary | `#8A5A44` |
| success | `#167A4A` |
| surface | `#FFF8EC` |
| text | `#162321` |
| warning | `#B86B00` |

## Typography

- **Headline-Lg**: Fraunces, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Atkinson Hyperlegible, 16px, weight 400, line-height 1.58.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

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

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px

### Grid

12-column desktop grid with a 96px responsibility rail; tablet collapses to 6 columns; mobile becomes a single column with rail converted to top band.

### Whitespace

Use 24px card gutters, 48px section spacing, and tight 8px relationships between labels and values for editorial clarity.

## Elevation & Depth

### Shadows

- **Lg**: 0 26px 60px rgba(22,35,33,0.22)
- **Md**: 0 14px 32px rgba(22,35,33,0.16)
- **Sm**: 0 2px 0 rgba(22,35,33,0.18)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: subtle dotted field grid and torn-coordinate provenance bands
- **Card Style**: ivory cards with clay borders, teal left rails, coordinate labels, and urgent bright tab markers
- **Treatment**: warm editorial paper with low-opacity teal wash, clay grain, and inset tint blocks

### Borders

- **Accent Width**: 4px
- **Character**: earth-clay keylines paired with teal responsibility rails; focus rings are amber plus dark outline
- **Default Width**: 1.5px
- **Style**: solid with occasional dashed provenance separators

## Components

### Composition

Build pages as editorial dashboards: a stable teal rail, a broad story canvas, and modular cards that visibly connect decisions to repair provenance.

### Density

Moderately dense: enough charts, notes, and controls to feel operational, but separated by tint blocks and generous card gutters.

### Hierarchy

Lead with large, warm serif headlines and oversized impact numerals; support decisions with high-contrast body text, mono provenance labels, and shaped badges.

### Signature Patterns

- Responsibility rail: a fixed teal column or inline stripe labels the system promise and gives every major section a non-color structural anchor.
- Provenance tags: mono coordinate chips and material labels attach to palettes, cards, and rows so color meaning is explicit rather than decorative.
- Urgent bright tabs: amber or coral tabs protrude from cards with icons and text, never relying on hue alone to signal priority.
- Tint-underlay layering: pale aqua and cream panels offset behind content create calming depth while clay keylines maintain crisp contrast.

## 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-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d/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 Name the provenance of every expressive color family in labels or captions.
- Do Use teal as responsibility infrastructure, not a generic nature wash.
- Do Pair urgent brights with icon, border weight, or text label for accessibility.
- Do Keep body text charcoal on cream or ivory for enhanced contrast where feasible.
- Don't Do not put amber, coral, or pale aqua behind small body text without a dark text check.
- Don't Do not use color alone to indicate status, priority, or selection.
- Don't Do not reduce the palette to conventional green sustainability clichés.
- Don't Do not remove grain, rails, and provenance tags; they carry the language identity.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "eco-accountable-redirection-palettes",
  "type": "registry:theme",
  "title": "Eco-accountable Redirection Palettes shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F5F0E6",
      "foreground": "#162321",
      "card": "#FFF8EC",
      "card-foreground": "#162321",
      "popover": "#FFF8EC",
      "popover-foreground": "#162321",
      "primary": "#006D73",
      "primary-foreground": "#ffffff",
      "secondary": "#8A5A44",
      "secondary-foreground": "#ffffff",
      "muted": "#5B6C66",
      "muted-foreground": "#162321",
      "accent": "#FFB000",
      "accent-foreground": "#ffffff",
      "destructive": "#C83232",
      "border": "#B97B5D",
      "input": "#B97B5D",
      "ring": "#FFB000",
      "chart-1": "#006D73",
      "chart-2": "#8A5A44",
      "chart-3": "#FFB000",
      "chart-4": "#167A4A",
      "chart-5": "#B86B00",
      "sidebar": "#FFF8EC",
      "sidebar-foreground": "#162321",
      "sidebar-primary": "#006D73",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#0B5F8A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#B97B5D",
      "sidebar-ring": "#FFB000",
      "radius": "14px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#006D73",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#FFB000",
      "accent-foreground": "#ffffff",
      "destructive": "#C83232",
      "border": "#303642",
      "input": "#303642",
      "ring": "#FFB000",
      "chart-1": "#006D73",
      "chart-2": "#8A5A44",
      "chart-3": "#FFB000",
      "chart-4": "#167A4A",
      "chart-5": "#B86B00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#006D73",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#FFB000",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#FFB000",
      "radius": "14px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d",
    "slug": "eco-accountable-redirection-palettes",
    "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 · eco-accountable-redirection-palettes
DESIGN.md

at a glance

Palette

Typography

headline-lgFraunces · 31px · 700

The quick brown fox jumps

headline-mdFraunces · 25px · 600

The quick brown fox jumps

body-mdAtkinson Hyperlegible · 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
lg26px
md14px
none0px
sm6px
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: #F5F0E6;
  --foreground: #162321;
  --card: #FFF8EC;
  --card-foreground: #162321;
  --popover: #FFF8EC;
  --popover-foreground: #162321;
  --primary: #006D73;
  --primary-foreground: #ffffff;
  --secondary: #8A5A44;
  --secondary-foreground: #ffffff;
  --muted: #5B6C66;
  --muted-foreground: #162321;
  --accent: #FFB000;
  --accent-foreground: #ffffff;
  --destructive: #C83232;
  --border: #B97B5D;
  --input: #B97B5D;
  --ring: #FFB000;
  --chart-1: #006D73;
  --chart-2: #8A5A44;
  --chart-3: #FFB000;
  --chart-4: #167A4A;
  --chart-5: #B86B00;
  --sidebar: #FFF8EC;
  --sidebar-foreground: #162321;
  --sidebar-primary: #006D73;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #0B5F8A;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #B97B5D;
  --sidebar-ring: #FFB000;
  --radius: 14px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #006D73;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #FFB000;
  --accent-foreground: #ffffff;
  --destructive: #C83232;
  --border: #303642;
  --input: #303642;
  --ring: #FFB000;
  --chart-1: #006D73;
  --chart-2: #8A5A44;
  --chart-3: #FFB000;
  --chart-4: #167A4A;
  --chart-5: #B86B00;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #006D73;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #FFB000;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #FFB000;
  --radius: 14px;
}
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 EcoAccountableRedirectionPalettesShadcnKit() {
  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">Eco-accountable Redirection Palettes</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": "eco-accountable-redirection-palettes",
  "type": "registry:theme",
  "title": "Eco-accountable Redirection Palettes shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F5F0E6",
      "foreground": "#162321",
      "card": "#FFF8EC",
      "card-foreground": "#162321",
      "popover": "#FFF8EC",
      "popover-foreground": "#162321",
      "primary": "#006D73",
      "primary-foreground": "#ffffff",
      "secondary": "#8A5A44",
      "secondary-foreground": "#ffffff",
      "muted": "#5B6C66",
      "muted-foreground": "#162321",
      "accent": "#FFB000",
      "accent-foreground": "#ffffff",
      "destructive": "#C83232",
      "border": "#B97B5D",
      "input": "#B97B5D",
      "ring": "#FFB000",
      "chart-1": "#006D73",
      "chart-2": "#8A5A44",
      "chart-3": "#FFB000",
      "chart-4": "#167A4A",
      "chart-5": "#B86B00",
      "sidebar": "#FFF8EC",
      "sidebar-foreground": "#162321",
      "sidebar-primary": "#006D73",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#0B5F8A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#B97B5D",
      "sidebar-ring": "#FFB000",
      "radius": "14px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#006D73",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#FFB000",
      "accent-foreground": "#ffffff",
      "destructive": "#C83232",
      "border": "#303642",
      "input": "#303642",
      "ring": "#FFB000",
      "chart-1": "#006D73",
      "chart-2": "#8A5A44",
      "chart-3": "#FFB000",
      "chart-4": "#167A4A",
      "chart-5": "#B86B00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#006D73",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#FFB000",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#FFB000",
      "radius": "14px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a5-07dc-7f20-8fcb-ab5b25c9111d",
    "slug": "eco-accountable-redirection-palettes",
    "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
# Eco-accountable Redirection Palettes shadcn/ui Components
Author: `katagami-agent`

## Intent
Translate the palette language into shadcn/ui product screens where teal is responsibility infrastructure, earth tones show provenance, amber/coral signal redirection, and calm aqua/cream tints support comprehension.

## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.

## Token cues
Use primary teal for rails and primary actions, charcoal for all body text, warm cream/ivory for backgrounds, clay borders for material provenance, amber for urgent callouts with icon/text, and aqua as low-stress underlay. Normal text must meet 4.5:1; prefer charcoal-on-cream or charcoal-on-aqua for body copy.

## Visual character to preserve
Maintain a teal responsibility rail, clay keyline borders, offset tint underlays, mono provenance chips, protruding urgent bright tabs, and Fraunces/Atkinson-style hierarchy.

## ShadSync visual profile
family: editorial-repair-palette; material: warm paper with civic field grid; contour: rounded-rect with pill chips; border: clay keyline plus teal rail; underlay: true; grain: true; stickerBadges: measured urgent tabs; motion: lift-2px; density: balanced-editorial; accents: amber tabs and aqua underlays.

## Signature component recipes
- button: Primary buttons use `bg-primary text-primary-foreground rounded-full border-2 border-foreground shadow-[0_4px_0_var(--accent)]`; include arrow or icon on urgent actions.
- card: Cards use ivory surface, clay border, teal left border rail, `rounded-[26px]`, offset aqua `before:` underlay for feature cards, and mono provenance badge in the top-right.
- input: Inputs are white fields with charcoal 2px border, rounded 14px, aqua shadow, visible label text, and amber+charcoal focus ring.
- textarea: Same as input with minimum height and provenance helper copy below.
- select: Use the input shell plus chevron icon; never indicate validity by hue alone.
- dialog: Dialog content should appear as a paper repair brief with teal header rail, clay border, and amber decision badge.
- sheet: Sheets slide from the side with a persistent teal rail and stacked provenance chips.
- tabs: Tabs use mono uppercase labels; active tab gets teal underline, amber pill count, and bold text.
- badge: Provenance badges are clay outlined pills; urgent badges are amber with icon and text.
- separator: Dashed clay separators divide source notes and audit sections.
- checkbox: Charcoal bordered square; checked state adds teal fill and visible check icon.
- switch: Teal track with white knob and text label beside it.
- slider: Clay track, teal filled range, amber thumb for deadline/priority settings.
- tooltip: Ivory surface, charcoal text, clay border, and source/provenance wording.
- dropdown-menu: Warm paper menu with teal active rail and mono section labels.
- table: Rows are ivory capsules with teal left rule, clay border, and explicit status text.

## Preview shots
Use three polished scenes: application-shell, detail-editor, and data-operations. Each must show the rail, provenance chips, tinted underlays, and at least one accessible urgent cue.

## Implementation contract
Import local primitives from `@/components/ui/*`; do not invent a second component library. Preserve contrast ratios, use text/icon/shape for status, and keep color provenance visible in content.

## 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 RepairPalettePanel() {
  return (
    <Card className="relative overflow-hidden rounded-[26px] border border-[#B97B5D] border-l-8 border-l-[#006D73] bg-[#FFF8EC] shadow-[0_8px_0_rgba(0,109,115,.13)]">
      <CardHeader>
        <Badge className="w-fit rounded-full border border-[#162321] bg-[#FFB000] text-[#241A00]">⚠ deadline labeled</Badge>
        <CardTitle className="font-serif text-4xl tracking-tight text-[#162321]">Watershed repair palette</CardTitle>
      </CardHeader>
      <CardContent className="space-y-4 text-[#162321]">
        <Input aria-label="Provenance" defaultValue="Teal: civic water infrastructure" className="rounded-[14px] border-2 border-[#162321] bg-white shadow-[0_3px_0_#D9F2EE]" />
        <Table><TableHeader><TableRow><TableHead>Hue</TableHead><TableHead>Use</TableHead></TableRow></TableHeader><TableBody><TableRow><TableCell>#006D73</TableCell><TableCell>Responsibility rail</TableCell></TableRow></TableBody></Table>
        <Button className="rounded-full border-2 border-[#162321] bg-[#162321] text-white shadow-[0_4px_0_#FFB000]">Run audit →</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "card",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "input",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "textarea",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "select",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "dialog",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "sheet",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "tabs",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "badge",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "separator",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "checkbox",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "switch",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "slider",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "tooltip",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "dropdown-menu",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    },
    {
      "component": "table",
      "recipe": "Use Eco-accountable Redirection styling with teal infrastructure, clay border, charcoal text, visible focus, and non-color status cues."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "avoid": [
        "generic green nature symbols",
        "color-only state"
      ],
      "composition": "Desktop editorial dashboard with left teal responsibility rail, hero card, palette audit table, and amber urgent tab.",
      "id": "application-shell",
      "mustShowStates": [
        "active tab has teal underline and label",
        "urgent badge includes warning icon and text",
        "table rows include status words"
      ],
      "primitives": [
        "button",
        "card",
        "tabs",
        "badge",
        "separator",
        "table",
        "dropdown-menu",
        "tooltip"
      ],
      "scene": {
        "description": "Editors compare color provenance, contrast, and narrative role before publishing a climate repair feature.",
        "eyebrow": "2026 repair newsroom",
        "headline": "Watershed investment palette audit",
        "primaryAction": "Run contrast audit",
        "rows": [
          {
            "hue": "#006D73",
            "role": "responsibility rail",
            "status": "approved"
          },
          {
            "hue": "#FFB000",
            "role": "urgent funding deadline",
            "status": "icon + label required"
          }
        ],
        "secondaryAction": "Export provenance notes",
        "stats": [
          {
            "label": "Body contrast",
            "value": "7.2:1"
          },
          {
            "label": "Named sources",
            "value": "12"
          },
          {
            "label": "Urgent cues",
            "value": "3 modes"
          }
        ]
      }
    },
    {
      "avoid": [
        "placeholder-only fields",
        "low contrast helper text"
      ],
      "composition": "Palette provenance editor with ivory cards, form controls, aqua underlay, and labeled amber priority controls.",
      "id": "detail-editor",
      "mustShowStates": [
        "focused input uses amber and charcoal outline",
        "switch has adjacent text label",
        "slider shows numeric priority"
      ],
      "primitives": [
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "button",
        "badge"
      ],
      "scene": {
        "description": "A curator records material references and accessibility constraints for each expressive hue.",
        "eyebrow": "Local authenticity check",
        "fields": [
          {
            "label": "Teal source",
            "value": "civic water infrastructure"
          },
          {
            "label": "Earth neutral source",
            "value": "repaired clay and bark materials"
          },
          {
            "label": "Contrast note",
            "value": "charcoal body text on cream only"
          }
        ],
        "headline": "Document the clay and teal source story",
        "primaryAction": "Save provenance",
        "secondaryAction": "Preview palette",
        "stats": [
          {
            "label": "Priority",
            "value": "62%"
          },
          {
            "label": "WCAG state",
            "value": "Pass"
          }
        ]
      }
    },
    {
      "avoid": [
        "component inventory wall",
        "unlabeled colored dots"
      ],
      "composition": "Operations review with slide-out sheet, capsule table rows, provenance badges, and decision controls.",
      "id": "data-operations",
      "mustShowStates": [
        "open sheet has teal rail",
        "badges distinguish provenance from urgency using words",
        "dropdown active item has rail and label"
      ],
      "primitives": [
        "sheet",
        "table",
        "badge",
        "separator",
        "tooltip",
        "dropdown-menu",
        "button",
        "card",
        "select",
        "switch"
      ],
      "scene": {
        "description": "A policy communications team reviews which palette choices can carry urgency without losing accessibility.",
        "eyebrow": "Redirection board",
        "headline": "Approve future-building color decisions",
        "primaryAction": "Approve redirection",
        "rows": [
          {
            "contrast": "Pass",
            "cue": "amber tab + icon",
            "project": "Mangrove repair"
          },
          {
            "contrast": "Pass",
            "cue": "aqua underlay",
            "project": "Urban cooling"
          },
          {
            "contrast": "Pass",
            "cue": "clay border",
            "project": "Soil commons"
          }
        ],
        "secondaryAction": "Open source sheet",
        "stats": [
          {
            "label": "Decisions ready",
            "value": "9"
          },
          {
            "label": "Needs local note",
            "value": "2"
          }
        ]
      }
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "transformative teal responsibility rail",
      "solar amber urgent tabs",
      "pale aqua calming underlays",
      "clay provenance borders"
    ],
    "border": "clay-keyline-with-teal-rail",
    "contour": "rounded-rect-and-pill",
    "density": "balanced-editorial",
    "family": "editorial-repair-palette",
    "grain": true,
    "material": "warm-paper-field-notes",
    "motion": "lift-2px-accountable-reveal",
    "stickerBadges": true,
    "underlay": true
  }
}