back to gallery
design language·gouache-system-glass

Gouache System Glass

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
A quiet Apple-clean product language where cool glass panels and precise software restraint are interrupted by small gouache-like color marks that always carry semantic product meaning.
values
product-first neutralitysemantic chroma with restraintpremium optical calmaccessible hierarchyhandmade color intelligence
anti-values
×rainbow decoration without function×generic startup blobs×neon cyberpunk glow×textbook color-wheel layouts
tokens
borders4 items
accent width
3px
character
precise hairlines interrupted only where a state or module owns the color
default width
1px
style
solid with low-alpha frost on neutral panels and opaque paint on semantic edges
colors12 items
accent
#FF6F61
background
#F7F8FA
border
#DCE2EA
error
#C9352A
info
#5EC8F2
muted
#58616D
primary
#1F2933
secondary
#D9DEE7
success
#A7E23F
surface
#FFFFFF
text
#17202A
warning
#F6B735
motion3 items
duration
180ms
easing
cubic-bezier(0.2, 0.8, 0.2, 1)
philosophy
short material lift and color-wash focus transitions, never bouncy or playful
radii5 items
full
9999px
lg
24px
md
14px
none
0
sm
8px
shadows3 items
lg
0 30px 80px rgba(23,32,42,0.14)
md
0 14px 36px rgba(23,32,42,0.10)
sm
0 1px 2px rgba(23,32,42,0.06)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
nearly invisible silver grid and radial light wells, never decorative confetti
card style
white cards with inset frost hairlines, soft shadow, and functional color-edge daubs
treatment
cool white glass with subtle linear silver panels and backdrop blur
typography8 items
base size
16px
body font
Inter
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap
heading font
Instrument Sans
letter spacing
-0.022em
line height
1.48
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition

Use a real application shell with wide calm gutters, a narrow instrument rail, and a primary work surface that reads like premium hardware software.

density

Moderate product density with compact controls, airy section spacing, and visible state metadata for a trusted professional tool.

hierarchy

Let typography, panel elevation, and semantic paint tabs create hierarchy; large color fields are reserved for active decisions and alerts only.

signature patterns
Semantic gouache tabs: irregular radial-gradient paint marks clipped to small edge strips on cards, buttons, and selected rows.Frosted hardware panes: layered linear gradients, backdrop-filter blur, inset hairlines, and low-alpha cast shadows on neutral surfaces.Catalog collision chips: small adjacent coral, periwinkle, lime, cyan, and marigold chips arranged as role legends, never confetti.Paint-wash focus rings: controls receive a crisp outline plus a soft colored radial wash behind the focused element.Precision neutral rails: monochrome navigation and data frames interrupted by one aligned accent notch for current context.
layout
breakpoints

mobile 375px, tablet 768px, desktop 1440px with rail collapsing into top tabs below 900px

grid

Twelve-column desktop grid with a 72px utility rail, 280px context column, and fluid work canvas.

whitespace

Whitespace is cool and architectural: generous outer gutters, tight internal control spacing, and no loose decorative gaps.

guidance
do
  • Map every saturated color to a named product role or state.
  • Keep most surfaces cool white, silver, or charcoal before adding paint.
  • Use irregular paint geometry only in small controlled accents.
  • Maintain WCAG-minded contrast for text and interactive states.
avoid
  • Do not create rainbow gradients or arbitrary multicolor sprays.
  • Do not turn the page into a flat color theory worksheet.
  • Do not use generic blob backgrounds or neon cyberpunk glow.
  • Do not decorate cards with accents that have no product-system purpose.
katagami spec
# Gouache System Glass

## Philosophy

A quiet Apple-clean product language where cool glass panels and precise software restraint are interrupted by small gouache-like color marks that always carry semantic product meaning.

### Values

- product-first neutrality
- semantic chroma with restraint
- premium optical calm
- accessible hierarchy
- handmade color intelligence

### Anti-Values

- rainbow decoration without function
- generic startup blobs
- neon cyberpunk glow
- textbook color-wheel layouts

### Visual Character

- Layer cool white and pale silver panels with translucent CSS gradients, backdrop-filter blur, and single-pixel frost borders.
- Use deep charcoal typography with compact letter spacing, large negative-space gutters, and measured product-console hierarchy.
- Place five small gouache daub accents as irregular radial-gradient patches tied to status, focus, creation, insight, and warning roles.
- Build cards with inset hairlines, low alpha shadows, and restrained rounded rectangles instead of decorative illustrations.
- Interrupt neutral layouts with thin painted edge rules and offset color tabs that align to specific controls or data modules.

## Tokens

### Borders

- **Accent Width**: 3px
- **Character**: precise hairlines interrupted only where a state or module owns the color
- **Default Width**: 1px
- **Style**: solid with low-alpha frost on neutral panels and opaque paint on semantic edges

### Colors

| Name | Value |
|------|-------|
| accent | `#FF6F61` |
| background | `#F7F8FA` |
| border | `#DCE2EA` |
| error | `#C9352A` |
| info | `#5EC8F2` |
| muted | `#58616D` |
| primary | `#1F2933` |
| secondary | `#D9DEE7` |
| success | `#A7E23F` |
| surface | `#FFFFFF` |
| text | `#17202A` |
| warning | `#F6B735` |

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1)
- **Philosophy**: short material lift and color-wash focus transitions, never bouncy or playful

### Radii

- **Full**: 9999px
- **Lg**: 24px
- **Md**: 14px
- **None**: 0
- **Sm**: 8px

### Shadows

- **Lg**: 0 30px 80px rgba(23,32,42,0.14)
- **Md**: 0 14px 36px rgba(23,32,42,0.10)
- **Sm**: 0 1px 2px rgba(23,32,42,0.06)

### Spacing

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

### Surfaces

- **Bg Pattern**: nearly invisible silver grid and radial light wells, never decorative confetti
- **Card Style**: white cards with inset frost hairlines, soft shadow, and functional color-edge daubs
- **Treatment**: cool white glass with subtle linear silver panels and backdrop blur

### Typography

- **Base Size**: 16px
- **Body Font**: Inter
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap
- **Heading Font**: Instrument Sans
- **Letter Spacing**: -0.022em
- **Line Height**: 1.48
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Use a real application shell with wide calm gutters, a narrow instrument rail, and a primary work surface that reads like premium hardware software.

### Density

Moderate product density with compact controls, airy section spacing, and visible state metadata for a trusted professional tool.

### Hierarchy

Let typography, panel elevation, and semantic paint tabs create hierarchy; large color fields are reserved for active decisions and alerts only.

### Signature Patterns

- Semantic gouache tabs: irregular radial-gradient paint marks clipped to small edge strips on cards, buttons, and selected rows.
- Frosted hardware panes: layered linear gradients, backdrop-filter blur, inset hairlines, and low-alpha cast shadows on neutral surfaces.
- Catalog collision chips: small adjacent coral, periwinkle, lime, cyan, and marigold chips arranged as role legends, never confetti.
- Paint-wash focus rings: controls receive a crisp outline plus a soft colored radial wash behind the focused element.
- Precision neutral rails: monochrome navigation and data frames interrupted by one aligned accent notch for current context.

## Layout

### Breakpoints

mobile 375px, tablet 768px, desktop 1440px with rail collapsing into top tabs below 900px

### Grid

Twelve-column desktop grid with a 72px utility rail, 280px context column, and fluid work canvas.

### Whitespace

Whitespace is cool and architectural: generous outer gutters, tight internal control spacing, and no loose decorative gaps.

## Guidance

### Do

- Map every saturated color to a named product role or state.
- Keep most surfaces cool white, silver, or charcoal before adding paint.
- Use irregular paint geometry only in small controlled accents.
- Maintain WCAG-minded contrast for text and interactive states.

### Don't

- Do not create rainbow gradients or arbitrary multicolor sprays.
- Do not turn the page into a flat color theory worksheet.
- Do not use generic blob backgrounds or neon cyberpunk glow.
- Do not decorate cards with accents that have no product-system purpose.
DESIGN.md
---
version: "alpha"
name: "Gouache System Glass"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#FF6F61"
  background: "#F7F8FA"
  border: "#DCE2EA"
  error: "#C9352A"
  info: "#5EC8F2"
  muted: "#58616D"
  primary: "#1F2933"
  secondary: "#D9DEE7"
  success: "#A7E23F"
  surface: "#FFFFFF"
  text: "#17202A"
  warning: "#F6B735"
typography:
  headline-lg:
    fontFamily: "Instrument Sans"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.022em"
  headline-md:
    fontFamily: "Instrument Sans"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.022em"
  body-md:
    fontFamily: "Inter"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.48
    letterSpacing: "-0.022em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "24px"
  md: "14px"
  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: "#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"
---

# Gouache System Glass

## Overview

A quiet Apple-clean product language where cool glass panels and precise software restraint are interrupted by small gouache-like color marks that always carry semantic product meaning.

### Values

- product-first neutrality
- semantic chroma with restraint
- premium optical calm
- accessible hierarchy
- handmade color intelligence

### Anti-Values

- rainbow decoration without function
- generic startup blobs
- neon cyberpunk glow
- textbook color-wheel layouts

### Visual Character

- Layer cool white and pale silver panels with translucent CSS gradients, backdrop-filter blur, and single-pixel frost borders.
- Use deep charcoal typography with compact letter spacing, large negative-space gutters, and measured product-console hierarchy.
- Place five small gouache daub accents as irregular radial-gradient patches tied to status, focus, creation, insight, and warning roles.
- Build cards with inset hairlines, low alpha shadows, and restrained rounded rectangles instead of decorative illustrations.
- Interrupt neutral layouts with thin painted edge rules and offset color tabs that align to specific controls or data modules.

## 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 | `#FF6F61` |
| background | `#F7F8FA` |
| border | `#DCE2EA` |
| error | `#C9352A` |
| info | `#5EC8F2` |
| muted | `#58616D` |
| primary | `#1F2933` |
| secondary | `#D9DEE7` |
| success | `#A7E23F` |
| surface | `#FFFFFF` |
| text | `#17202A` |
| warning | `#F6B735` |

## Typography

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

## Layout

### Spacing Tokens

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

### Breakpoints

mobile 375px, tablet 768px, desktop 1440px with rail collapsing into top tabs below 900px

### Grid

Twelve-column desktop grid with a 72px utility rail, 280px context column, and fluid work canvas.

### Whitespace

Whitespace is cool and architectural: generous outer gutters, tight internal control spacing, and no loose decorative gaps.

## Elevation & Depth

### Shadows

- **Lg**: 0 30px 80px rgba(23,32,42,0.14)
- **Md**: 0 14px 36px rgba(23,32,42,0.10)
- **Sm**: 0 1px 2px rgba(23,32,42,0.06)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: nearly invisible silver grid and radial light wells, never decorative confetti
- **Card Style**: white cards with inset frost hairlines, soft shadow, and functional color-edge daubs
- **Treatment**: cool white glass with subtle linear silver panels and backdrop blur

### Borders

- **Accent Width**: 3px
- **Character**: precise hairlines interrupted only where a state or module owns the color
- **Default Width**: 1px
- **Style**: solid with low-alpha frost on neutral panels and opaque paint on semantic edges

## Components

### Composition

Use a real application shell with wide calm gutters, a narrow instrument rail, and a primary work surface that reads like premium hardware software.

### Density

Moderate product density with compact controls, airy section spacing, and visible state metadata for a trusted professional tool.

### Hierarchy

Let typography, panel elevation, and semantic paint tabs create hierarchy; large color fields are reserved for active decisions and alerts only.

### Signature Patterns

- Semantic gouache tabs: irregular radial-gradient paint marks clipped to small edge strips on cards, buttons, and selected rows.
- Frosted hardware panes: layered linear gradients, backdrop-filter blur, inset hairlines, and low-alpha cast shadows on neutral surfaces.
- Catalog collision chips: small adjacent coral, periwinkle, lime, cyan, and marigold chips arranged as role legends, never confetti.
- Paint-wash focus rings: controls receive a crisp outline plus a soft colored radial wash behind the focused element.
- Precision neutral rails: monochrome navigation and data frames interrupted by one aligned accent notch for current context.

## 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-019e4591-f88a-7462-aec7-c6f0afeb891a/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 Map every saturated color to a named product role or state.
- Do Keep most surfaces cool white, silver, or charcoal before adding paint.
- Do Use irregular paint geometry only in small controlled accents.
- Do Maintain WCAG-minded contrast for text and interactive states.
- Don't Do not create rainbow gradients or arbitrary multicolor sprays.
- Don't Do not turn the page into a flat color theory worksheet.
- Don't Do not use generic blob backgrounds or neon cyberpunk glow.
- Don't Do not decorate cards with accents that have no product-system purpose.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gouache-system-glass",
  "type": "registry:theme",
  "title": "Gouache System Glass shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F8FA",
      "foreground": "#17202A",
      "card": "#FFFFFF",
      "card-foreground": "#17202A",
      "popover": "#FFFFFF",
      "popover-foreground": "#17202A",
      "primary": "#1F2933",
      "primary-foreground": "#ffffff",
      "secondary": "#D9DEE7",
      "secondary-foreground": "#111111",
      "muted": "#58616D",
      "muted-foreground": "#17202A",
      "accent": "#FF6F61",
      "accent-foreground": "#ffffff",
      "destructive": "#C9352A",
      "border": "#DCE2EA",
      "input": "#DCE2EA",
      "ring": "#FF6F61",
      "chart-1": "#1F2933",
      "chart-2": "#D9DEE7",
      "chart-3": "#FF6F61",
      "chart-4": "#A7E23F",
      "chart-5": "#F6B735",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#17202A",
      "sidebar-primary": "#1F2933",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#5EC8F2",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#DCE2EA",
      "sidebar-ring": "#FF6F61",
      "radius": "14px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#1F2933",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#FF6F61",
      "accent-foreground": "#ffffff",
      "destructive": "#C9352A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#FF6F61",
      "chart-1": "#1F2933",
      "chart-2": "#D9DEE7",
      "chart-3": "#FF6F61",
      "chart-4": "#A7E23F",
      "chart-5": "#F6B735",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#1F2933",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#FF6F61",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#FF6F61",
      "radius": "14px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e4591-f88a-7462-aec7-c6f0afeb891a",
    "slug": "gouache-system-glass",
    "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 · gouache-system-glass
DESIGN.md

at a glance

Palette

Typography

headline-lgInstrument Sans · 29px · 700

The quick brown fox jumps

headline-mdInstrument Sans · 24px · 600

The quick brown fox jumps

body-mdInter · 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
lg24px
md14px
none0px
sm8px
shadcn/ui

implementation kit

needs agent-authored kitcompatibility fallback
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #F7F8FA;
  --foreground: #17202A;
  --card: #FFFFFF;
  --card-foreground: #17202A;
  --popover: #FFFFFF;
  --popover-foreground: #17202A;
  --primary: #1F2933;
  --primary-foreground: #ffffff;
  --secondary: #D9DEE7;
  --secondary-foreground: #111111;
  --muted: #58616D;
  --muted-foreground: #17202A;
  --accent: #FF6F61;
  --accent-foreground: #ffffff;
  --destructive: #C9352A;
  --border: #DCE2EA;
  --input: #DCE2EA;
  --ring: #FF6F61;
  --chart-1: #1F2933;
  --chart-2: #D9DEE7;
  --chart-3: #FF6F61;
  --chart-4: #A7E23F;
  --chart-5: #F6B735;
  --sidebar: #FFFFFF;
  --sidebar-foreground: #17202A;
  --sidebar-primary: #1F2933;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #5EC8F2;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #DCE2EA;
  --sidebar-ring: #FF6F61;
  --radius: 14px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #1F2933;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #FF6F61;
  --accent-foreground: #ffffff;
  --destructive: #C9352A;
  --border: #303642;
  --input: #303642;
  --ring: #FF6F61;
  --chart-1: #1F2933;
  --chart-2: #D9DEE7;
  --chart-3: #FF6F61;
  --chart-4: #A7E23F;
  --chart-5: #F6B735;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #1F2933;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #FF6F61;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #FF6F61;
  --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 GouacheSystemGlassShadcnKit() {
  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">Gouache System Glass</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 JSONstored + verified
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "cssVars": {
    "dark": {
      "accent": "#FF6F61",
      "accent-foreground": "#ffffff",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#1F2933",
      "chart-2": "#D9DEE7",
      "chart-3": "#FF6F61",
      "chart-4": "#A7E23F",
      "chart-5": "#F6B735",
      "destructive": "#C9352A",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#1F2933",
      "primary-foreground": "#ffffff",
      "radius": "14px",
      "ring": "#FF6F61",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#FF6F61",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#1F2933",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#FF6F61"
    },
    "light": {
      "accent": "#FF6F61",
      "accent-foreground": "#ffffff",
      "background": "#F7F8FA",
      "border": "#DCE2EA",
      "card": "#FFFFFF",
      "card-foreground": "#17202A",
      "chart-1": "#1F2933",
      "chart-2": "#D9DEE7",
      "chart-3": "#FF6F61",
      "chart-4": "#A7E23F",
      "chart-5": "#F6B735",
      "destructive": "#C9352A",
      "foreground": "#17202A",
      "input": "#DCE2EA",
      "muted": "#58616D",
      "muted-foreground": "#17202A",
      "popover": "#FFFFFF",
      "popover-foreground": "#17202A",
      "primary": "#1F2933",
      "primary-foreground": "#ffffff",
      "radius": "14px",
      "ring": "#FF6F61",
      "secondary": "#D9DEE7",
      "secondary-foreground": "#111111",
      "sidebar": "#FFFFFF",
      "sidebar-accent": "#5EC8F2",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#DCE2EA",
      "sidebar-foreground": "#17202A",
      "sidebar-primary": "#1F2933",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#FF6F61"
    },
    "theme": {}
  },
  "meta": {
    "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",
    "languageId": "en-019e4591-f88a-7462-aec7-c6f0afeb891a",
    "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"
      ]
    },
    "slug": "gouache-system-glass",
    "source": "katagami"
  },
  "name": "gouache-system-glass",
  "title": "Gouache System Glass shadcn Theme",
  "type": "registry:theme"
}
component recipescompatibility fallback
# Gouache System Glass shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e4591-f88a-7462-aec7-c6f0afeb891a`
Slug: `gouache-system-glass`

## Intent

A quiet Apple-clean product language where cool glass panels and precise software restraint are interrupted by small gouache-like color marks that always carry semantic product meaning.

## Required primitives

- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

## Token cues

Colors:

{
  "accent": "#FF6F61",
  "background": "#F7F8FA",
  "border": "#DCE2EA",
  "error": "#C9352A",
  "info": "#5EC8F2",
  "muted": "#58616D",
  "primary": "#1F2933",
  "secondary": "#D9DEE7",
  "success": "#A7E23F",
  "surface": "#FFFFFF",
  "text": "#17202A",
  "warning": "#F6B735"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Inter",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap",
  "heading_font": "Instrument Sans",
  "letter_spacing": "-0.022em",
  "line_height": 1.48,
  "mono_font": "IBM Plex Mono",
  "scale_ratio": 1.22
}

## Visual character to preserve

- Layer cool white and pale silver panels with translucent CSS gradients, backdrop-filter blur, and single-pixel frost borders.
- Use deep charcoal typography with compact letter spacing, large negative-space gutters, and measured product-console hierarchy.
- Place five small gouache daub accents as irregular radial-gradient patches tied to status, focus, creation, insight, and warning roles.
- Build cards with inset hairlines, low alpha shadows, and restrained rounded rectangles instead of decorative illustrations.
- Interrupt neutral layouts with thin painted edge rules and offset color tabs that align to specific controls or data modules.

## ShadSync visual profile

{
  "family": "system",
  "material": "flat",
  "contour": "blob",
  "border": "solid",
  "underlay": true,
  "grain": false,
  "stickerBadges": false,
  "motion": "lift",
  "density": "dense",
  "accents": [
    "primary",
    "accent",
    "secondary",
    "muted"
  ]
}

## Signature component recipes

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

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

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

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

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

## Preview shots

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

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/gouache-system-glass/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Map every saturated color to a named product role or state.; Keep most surfaces cool white, silver, or charcoal before adding paint.; Use irregular paint geometry only in small controlled accents.; Maintain WCAG-minded contrast for text and interactive states.
- Do not: Do not create rainbow gradients or arbitrary multicolor sprays.; Do not turn the page into a flat color theory worksheet.; Do not use generic blob backgrounds or neon cyberpunk glow.; Do not decorate cards with accents that have no product-system purpose.

## Copy-paste component example

This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.

```tsx
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function GouacheSystemGlassShadcnKit() {
  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">Gouache System Glass</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
```

## Layout notes

{
  "breakpoints": "mobile 375px, tablet 768px, desktop 1440px with rail collapsing into top tabs below 900px",
  "grid": "Twelve-column desktop grid with a 72px utility rail, 280px context column, and fluid work canvas.",
  "whitespace": "Whitespace is cool and architectural: generous outer gutters, tight internal control spacing, and no loose decorative gaps."
}
preview shotscompatibility fallback
{
  "artifact": "katagami:shadcn-preview-shots",
  "version": "preview-shots-v1",
  "generator": "katagami-ui-compatibility-projection",
  "generatedBy": "katagami-ui-projection",
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "renderable": true,
  "language": {
    "id": "en-019e4591-f88a-7462-aec7-c6f0afeb891a",
    "name": "Gouache System Glass",
    "slug": "gouache-system-glass"
  },
  "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
  "primitives": [
    "button",
    "card",
    "input",
    "textarea",
    "select",
    "dialog",
    "sheet",
    "tabs",
    "badge",
    "separator",
    "checkbox",
    "switch",
    "slider",
    "tooltip",
    "dropdown-menu",
    "table"
  ],
  "identityNotes": [
    "Layer cool white and pale silver panels with translucent CSS gradients, backdrop-filter blur, and single-pixel frost borders.",
    "Use deep charcoal typography with compact letter spacing, large negative-space gutters, and measured product-console hierarchy.",
    "Place five small gouache daub accents as irregular radial-gradient patches tied to status, focus, creation, insight, and warning roles.",
    "Build cards with inset hairlines, low alpha shadows, and restrained rounded rectangles instead of decorative illustrations.",
    "Interrupt neutral layouts with thin painted edge rules and offset color tabs that align to specific controls or data modules."
  ],
  "visualProfile": {
    "family": "system",
    "material": "flat",
    "contour": "blob",
    "border": "solid",
    "underlay": true,
    "grain": false,
    "stickerBadges": false,
    "motion": "still",
    "density": "dense",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Gouache System Glass launch room",
        "description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
        "primaryAction": "Apply theme",
        "secondaryAction": "Review states",
        "stats": [
          {
            "label": "components",
            "value": "16",
            "tone": "accent"
          },
          {
            "label": "states",
            "value": "ready"
          },
          {
            "label": "density",
            "value": "balanced",
            "tone": "warning"
          }
        ],
        "rows": [
          {
            "label": "Primary flow",
            "value": "mapped",
            "status": "active"
          },
          {
            "label": "Token coverage",
            "value": "semantic",
            "status": "synced"
          },
          {
            "label": "Responsive proof",
            "value": "queued",
            "status": "review"
          }
        ],
        "statuses": [
          "Active",
          "Synced",
          "Draft"
        ]
      }
    },
    {
      "id": "detail-editor",
      "title": "Detail editor",
      "viewport": "tablet",
      "primitives": [
        "button",
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "sheet"
      ],
      "composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
      "mustShow": [
        "focus ring",
        "error or destructive state",
        "dialog or sheet treatment",
        "written guidance content"
      ],
      "avoid": [
        "unstyled browser controls",
        "floating cards inside cards",
        "missing labels"
      ],
      "scene": {
        "eyebrow": "editing flow",
        "headline": "Language recipe editor",
        "description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
        "primaryAction": "Save recipe",
        "secondaryAction": "Open sheet",
        "fields": [
          {
            "label": "Component family",
            "value": "Narrative cards"
          },
          {
            "label": "State treatment",
            "value": "Visible focus + validation"
          },
          {
            "label": "Motion",
            "value": "Small lift, no opacity-only fade"
          }
        ],
        "statuses": [
          "Focus",
          "Invalid",
          "Confirmed"
        ]
      }
    },
    {
      "id": "data-operations",
      "title": "Data operations",
      "viewport": "mobile",
      "primitives": [
        "button",
        "tabs",
        "badge",
        "dropdown-menu",
        "table",
        "tooltip",
        "separator"
      ],
      "composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
      "mustShow": [
        "responsive reflow",
        "dense row styling",
        "menu affordance",
        "status badge system"
      ],
      "avoid": [
        "desktop-only tables",
        "text overflow",
        "default shadcn spacing without Katagami character"
      ],
      "scene": {
        "eyebrow": "operations",
        "headline": "Compact review queue",
        "description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
        "primaryAction": "Resolve",
        "secondaryAction": "Filter",
        "rows": [
          {
            "label": "Button hierarchy",
            "value": "approved",
            "status": "ok"
          },
          {
            "label": "Table rhythm",
            "value": "needs pass",
            "status": "watch"
          },
          {
            "label": "Empty state",
            "value": "designed",
            "status": "done"
          }
        ],
        "statuses": [
          "Queued",
          "Blocked",
          "Done"
        ]
      }
    }
  ],
  "componentRecipes": [
    {
      "primitive": "button",
      "intent": "Prove action hierarchy, focus, disabled, and destructive states."
    },
    {
      "primitive": "card",
      "intent": "Carry the language surface, border, elevation, and density rules."
    },
    {
      "primitive": "input",
      "intent": "Show labels, focus rings, validation, and spacing rhythm."
    },
    {
      "primitive": "textarea",
      "intent": "Show longer guidance, validation copy, and writing density."
    },
    {
      "primitive": "select",
      "intent": "Show filtering, selection contrast, and menu trigger styling."
    },
    {
      "primitive": "dialog",
      "intent": "Show centered decision states and overlay treatment."
    },
    {
      "primitive": "sheet",
      "intent": "Show contextual side panels and responsive editing."
    },
    {
      "primitive": "tabs",
      "intent": "Show navigational structure and active/inactive contrast."
    },
    {
      "primitive": "badge",
      "intent": "Show compact status vocabulary and semantic colors."
    },
    {
      "primitive": "separator",
      "intent": "Show section rhythm without generic gray dividers."
    },
    {
      "primitive": "checkbox",
      "intent": "Show binary selection with visible focus and checked states."
    },
    {
      "primitive": "switch",
      "intent": "Show settings toggles and on/off contrast."
    },
    {
      "primitive": "slider",
      "intent": "Show numeric adjustment with track/thumb styling."
    },
    {
      "primitive": "tooltip",
      "intent": "Show concise explanation styling above compact controls."
    },
    {
      "primitive": "dropdown-menu",
      "intent": "Show action menus, destructive items, and grouped choices."
    },
    {
      "primitive": "table",
      "intent": "Show dense operational data, separators, row states, and responsive behavior."
    }
  ],
  "qualityRules": {
    "do": [
      "Map every saturated color to a named product role or state.",
      "Keep most surfaces cool white, silver, or charcoal before adding paint.",
      "Use irregular paint geometry only in small controlled accents.",
      "Maintain WCAG-minded contrast for text and interactive states."
    ],
    "dont": [
      "Do not create rainbow gradients or arbitrary multicolor sprays.",
      "Do not turn the page into a flat color theory worksheet.",
      "Do not use generic blob backgrounds or neon cyberpunk glow.",
      "Do not decorate cards with accents that have no product-system purpose."
    ]
  }
}
related

More like this