Aquatic Mineral Botanics
A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.
Download DESIGN.md
Portable DESIGN.md source of truth for most agents and apps.
specification
philosophy
tokens
borders4 items
- accent width
- 4px
- character
- Quiet geology-like boundaries that separate content by material layers rather than by harsh dashboard chrome.
- default width
- 1px
- style
- solid with translucent mineral-gray color and selective teal stratum accents
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(0.22, 1, 0.36, 1)
- philosophy
- Motion should feel like water settling over stone: short lift, soft opacity change, and no bouncy novelty.
radii5 items
- full
- 9999px
- lg
- 30px
- md
- 18px
- none
- 0
- sm
- 10px
shadows3 items
- lg
- 0 28px 80px rgba(18,63,70,0.22)
- md
- 0 16px 40px rgba(18,63,70,0.14)
- sm
- 0 1px 2px rgba(16,43,42,0.10)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- Layered radial-gradient sea-glass blooms plus repeating-linear-gradient sediment bands at low opacity.
- card style
- Soft rounded slabs with translucent mineral borders, clipped cyan corner highlights, and a teal stratum rule on the leading edge.
- treatment
- Matte mineral surfaces with sea-glass radial highlights, quiet grain, and dark teal depth panels for primary navigation.
typography8 items
- base size
- 16px
- body font
- Instrument Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,650;9..144,750&family=Instrument+Sans:wght@400;500;600;700&display=swap
- heading font
- Fraunces
- letter spacing
- -0.015em
- line height
- 1.52
- mono font
- Azeret Mono
- scale ratio
- 1.22
rules
Compose product screens as an estuary cross-section: a dark teal navigation depth, pale mineral work surfaces, sea-glass highlighted priority cards, and sediment-band separators that organize dense data.
Balanced density: controls and tables can be information-rich, but every cluster needs a mineral quiet zone and clear 8px spacing rhythm.
Use Fraunces for concise material headlines, Instrument Sans for product clarity, and Azeret Mono for numeric environmental readings, with color roles reinforcing rather than replacing typographic scale.
layout
mobile <= 640px, tablet 641px-980px, desktop >= 981px
Desktop uses a 12-column 1200px max grid with a fixed-feeling dark teal rail and 8/4 content splits; tablet becomes 6 columns; mobile stacks cards under a compact top rail.
Use broad 32-64px mineral margins around scene blocks and tight 8-16px internal gaps inside controls, chips, and table cells.
guidance
- Map primary actions to transformative teal and reserve sea-glass cyan for focus, hover light, or selected-panel glow.
- Use mineral gray and off-white surfaces for long reading, forms, and tables so aquatic color remains meaningful.
- Pair every botanical success or growth state with text labels and icons so color is never the only signal.
- Use sediment separators and stratum rules to make dense product regions feel organized by material layers.
- Do not turn the interface into a tropical aquarium, neon sci-fi HUD, or pastel wellness moodboard.
- Do not use low-contrast sea-glass text on pale backgrounds for body copy or form labels.
- Do not scatter leaf icons, recycled symbols, or decorative plants as proof of sustainability.
- Do not let gradient blooms sit behind small text, table rows, or critical validation messages.
katagami spec
# Aquatic Mineral Botanics ## Philosophy Aquatic Mineral Botanics translates regenerative ocean, mineral, and plant-material research into an adaptive digital product language: deep blue-green structure, sea-glass luminosity, mineral-gray restraint, algae-green signals, and botanical darks become calm interface tokens rather than trend decoration. ### Values - Treat sustainable color as a material system with depth, weathering, translucency, and renewal instead of a greenwashing accent layer. - Use oceanic teal and blue-green as the primary navigational atmosphere while mineral neutrals keep dense product workflows usable. - Make botanical greens functional: growth, completion, low-impact status, and living-system emphasis without oversaturating every surface. - Preserve accessibility through dark botanical text, sea-foam highlights used sparingly, and contrast-tested light and dark role relationships. - Let palette roles feel tokenizable and pragmatic so the language can move from dashboards to editors, climate tools, and regenerative commerce. ### Anti-Values - No generic eco beige with a single leaf-green button; the palette must carry aquatic, mineral, and botanical roles throughout the system. - No neon cyber-ocean glow, tropical vacation blue, or inaccessible low-contrast pastel wash masquerading as sustainability. - No decorative material texture that obscures product hierarchy, form controls, data rows, or actionable states. ### Visual Character - Layer soft radial sea-glass cyan blooms over mineral-gray backgrounds using CSS gradients, with dark teal panels floating above as the primary application shell. - Frame cards and controls with one-pixel translucent mineral borders plus a thicker left or top stratum rule in transformative teal for orientation. - Use botanical dark text and algae-green state chips on light surfaces, then invert to sea-foam text and subdued algae outlines on dark panels. - Build section dividers as horizontal sediment bands made from repeating-linear-gradient CSS, separating data regions without heavy boxes. - Apply rounded mineral-slab geometry: large calm containers, smaller pill controls, and clipped sea-glass corner highlights created with pseudo-elements. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: Quiet geology-like boundaries that separate content by material layers rather than by harsh dashboard chrome. - **Default Width**: 1px - **Style**: solid with translucent mineral-gray color and selective teal stratum accents ### Colors | Name | Value | |------|-------| | accent | `#7ED9D3` | | background | `#EEF4F0` | | border | `#B8C7C0` | | error | `#A64B3C` | | info | `#2C7D92` | | muted | `#6F817B` | | primary | `#0E6F67` | | secondary | `#123F46` | | success | `#4F8A3B` | | surface | `#F8FBF7` | | text | `#102B2A` | | warning | `#B9822E` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(0.22, 1, 0.36, 1) - **Philosophy**: Motion should feel like water settling over stone: short lift, soft opacity change, and no bouncy novelty. ### Radii - **Full**: 9999px - **Lg**: 30px - **Md**: 18px - **None**: 0 - **Sm**: 10px ### Shadows - **Lg**: 0 28px 80px rgba(18,63,70,0.22) - **Md**: 0 16px 40px rgba(18,63,70,0.14) - **Sm**: 0 1px 2px rgba(16,43,42,0.10) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: Layered radial-gradient sea-glass blooms plus repeating-linear-gradient sediment bands at low opacity. - **Card Style**: Soft rounded slabs with translucent mineral borders, clipped cyan corner highlights, and a teal stratum rule on the leading edge. - **Treatment**: Matte mineral surfaces with sea-glass radial highlights, quiet grain, and dark teal depth panels for primary navigation. ### Typography - **Base Size**: 16px - **Body Font**: Instrument Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,650;9..144,750&family=Instrument+Sans:wght@400;500;600;700&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.015em - **Line Height**: 1.52 - **Mono Font**: Azeret Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Compose product screens as an estuary cross-section: a dark teal navigation depth, pale mineral work surfaces, sea-glass highlighted priority cards, and sediment-band separators that organize dense data. ### Density Balanced density: controls and tables can be information-rich, but every cluster needs a mineral quiet zone and clear 8px spacing rhythm. ### Hierarchy Use Fraunces for concise material headlines, Instrument Sans for product clarity, and Azeret Mono for numeric environmental readings, with color roles reinforcing rather than replacing typographic scale. ### Signature Patterns - Sea-glass bloom underlays: radial cyan gradients positioned behind only the most important panels so light feels embedded in the surface. - Teal stratum rules: four-pixel leading borders or top bars that mark active regions, selected tabs, and key workflow steps. - Sediment separators: thin repeating-linear-gradient bands used between sections, table groups, and footers instead of generic horizontal rules. - Clipped corner glints: card pseudo-elements with small diagonal cyan highlights that suggest polished glass without becoming skeuomorphic. - Botanical state ecology: algae-green chips, dark moss text, and sea-foam focus rings assigned to status and validation roles consistently. ## Layout ### Breakpoints mobile <= 640px, tablet 641px-980px, desktop >= 981px ### Grid Desktop uses a 12-column 1200px max grid with a fixed-feeling dark teal rail and 8/4 content splits; tablet becomes 6 columns; mobile stacks cards under a compact top rail. ### Whitespace Use broad 32-64px mineral margins around scene blocks and tight 8-16px internal gaps inside controls, chips, and table cells. ## Guidance ### Do - Map primary actions to transformative teal and reserve sea-glass cyan for focus, hover light, or selected-panel glow. - Use mineral gray and off-white surfaces for long reading, forms, and tables so aquatic color remains meaningful. - Pair every botanical success or growth state with text labels and icons so color is never the only signal. - Use sediment separators and stratum rules to make dense product regions feel organized by material layers. ### Don't - Do not turn the interface into a tropical aquarium, neon sci-fi HUD, or pastel wellness moodboard. - Do not use low-contrast sea-glass text on pale backgrounds for body copy or form labels. - Do not scatter leaf icons, recycled symbols, or decorative plants as proof of sustainability. - Do not let gradient blooms sit behind small text, table rows, or critical validation messages.
DESIGN.md
---
version: "alpha"
name: "Aquatic Mineral Botanics"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#7ED9D3"
background: "#EEF4F0"
border: "#B8C7C0"
error: "#A64B3C"
info: "#2C7D92"
muted: "#6F817B"
primary: "#0E6F67"
secondary: "#123F46"
success: "#4F8A3B"
surface: "#F8FBF7"
text: "#102B2A"
warning: "#B9822E"
typography:
headline-lg:
fontFamily: "Fraunces"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Fraunces"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.015em"
body-md:
fontFamily: "Instrument Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.52
letterSpacing: "-0.015em"
label-md:
fontFamily: "Azeret Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "30px"
md: "18px"
none: "0px"
sm: "10px"
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"
---
# Aquatic Mineral Botanics
## Overview
Aquatic Mineral Botanics translates regenerative ocean, mineral, and plant-material research into an adaptive digital product language: deep blue-green structure, sea-glass luminosity, mineral-gray restraint, algae-green signals, and botanical darks become calm interface tokens rather than trend decoration.
### Values
- Treat sustainable color as a material system with depth, weathering, translucency, and renewal instead of a greenwashing accent layer.
- Use oceanic teal and blue-green as the primary navigational atmosphere while mineral neutrals keep dense product workflows usable.
- Make botanical greens functional: growth, completion, low-impact status, and living-system emphasis without oversaturating every surface.
- Preserve accessibility through dark botanical text, sea-foam highlights used sparingly, and contrast-tested light and dark role relationships.
- Let palette roles feel tokenizable and pragmatic so the language can move from dashboards to editors, climate tools, and regenerative commerce.
### Anti-Values
- No generic eco beige with a single leaf-green button; the palette must carry aquatic, mineral, and botanical roles throughout the system.
- No neon cyber-ocean glow, tropical vacation blue, or inaccessible low-contrast pastel wash masquerading as sustainability.
- No decorative material texture that obscures product hierarchy, form controls, data rows, or actionable states.
### Visual Character
- Layer soft radial sea-glass cyan blooms over mineral-gray backgrounds using CSS gradients, with dark teal panels floating above as the primary application shell.
- Frame cards and controls with one-pixel translucent mineral borders plus a thicker left or top stratum rule in transformative teal for orientation.
- Use botanical dark text and algae-green state chips on light surfaces, then invert to sea-foam text and subdued algae outlines on dark panels.
- Build section dividers as horizontal sediment bands made from repeating-linear-gradient CSS, separating data regions without heavy boxes.
- Apply rounded mineral-slab geometry: large calm containers, smaller pill controls, and clipped sea-glass corner highlights created with pseudo-elements.
## 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 | `#7ED9D3` |
| background | `#EEF4F0` |
| border | `#B8C7C0` |
| error | `#A64B3C` |
| info | `#2C7D92` |
| muted | `#6F817B` |
| primary | `#0E6F67` |
| secondary | `#123F46` |
| success | `#4F8A3B` |
| surface | `#F8FBF7` |
| text | `#102B2A` |
| warning | `#B9822E` |
## Typography
- **Headline-Lg**: Fraunces, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Instrument Sans, 16px, weight 400, line-height 1.52.
- **Label-Md**: Azeret 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 <= 640px, tablet 641px-980px, desktop >= 981px
### Grid
Desktop uses a 12-column 1200px max grid with a fixed-feeling dark teal rail and 8/4 content splits; tablet becomes 6 columns; mobile stacks cards under a compact top rail.
### Whitespace
Use broad 32-64px mineral margins around scene blocks and tight 8-16px internal gaps inside controls, chips, and table cells.
## Elevation & Depth
### Shadows
- **Lg**: 0 28px 80px rgba(18,63,70,0.22)
- **Md**: 0 16px 40px rgba(18,63,70,0.14)
- **Sm**: 0 1px 2px rgba(16,43,42,0.10)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `30px`
- **Md**: `18px`
- **None**: `0px`
- **Sm**: `10px`
### Surfaces
- **Bg Pattern**: Layered radial-gradient sea-glass blooms plus repeating-linear-gradient sediment bands at low opacity.
- **Card Style**: Soft rounded slabs with translucent mineral borders, clipped cyan corner highlights, and a teal stratum rule on the leading edge.
- **Treatment**: Matte mineral surfaces with sea-glass radial highlights, quiet grain, and dark teal depth panels for primary navigation.
### Borders
- **Accent Width**: 4px
- **Character**: Quiet geology-like boundaries that separate content by material layers rather than by harsh dashboard chrome.
- **Default Width**: 1px
- **Style**: solid with translucent mineral-gray color and selective teal stratum accents
## Components
### Composition
Compose product screens as an estuary cross-section: a dark teal navigation depth, pale mineral work surfaces, sea-glass highlighted priority cards, and sediment-band separators that organize dense data.
### Density
Balanced density: controls and tables can be information-rich, but every cluster needs a mineral quiet zone and clear 8px spacing rhythm.
### Hierarchy
Use Fraunces for concise material headlines, Instrument Sans for product clarity, and Azeret Mono for numeric environmental readings, with color roles reinforcing rather than replacing typographic scale.
### Signature Patterns
- Sea-glass bloom underlays: radial cyan gradients positioned behind only the most important panels so light feels embedded in the surface.
- Teal stratum rules: four-pixel leading borders or top bars that mark active regions, selected tabs, and key workflow steps.
- Sediment separators: thin repeating-linear-gradient bands used between sections, table groups, and footers instead of generic horizontal rules.
- Clipped corner glints: card pseudo-elements with small diagonal cyan highlights that suggest polished glass without becoming skeuomorphic.
- Botanical state ecology: algae-green chips, dark moss text, and sea-foam focus rings assigned to status and validation roles consistently.
## 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-019ea9a3-1551-7af1-9a29-ca2e1f684967/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 primary actions to transformative teal and reserve sea-glass cyan for focus, hover light, or selected-panel glow.
- Do Use mineral gray and off-white surfaces for long reading, forms, and tables so aquatic color remains meaningful.
- Do Pair every botanical success or growth state with text labels and icons so color is never the only signal.
- Do Use sediment separators and stratum rules to make dense product regions feel organized by material layers.
- Don't Do not turn the interface into a tropical aquarium, neon sci-fi HUD, or pastel wellness moodboard.
- Don't Do not use low-contrast sea-glass text on pale backgrounds for body copy or form labels.
- Don't Do not scatter leaf icons, recycled symbols, or decorative plants as proof of sustainability.
- Don't Do not let gradient blooms sit behind small text, table rows, or critical validation messages.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "aquatic-mineral-botanics",
"type": "registry:theme",
"title": "Aquatic Mineral Botanics shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#EEF4F0",
"foreground": "#102B2A",
"card": "#F8FBF7",
"card-foreground": "#102B2A",
"popover": "#F8FBF7",
"popover-foreground": "#102B2A",
"primary": "#0E6F67",
"primary-foreground": "#ffffff",
"secondary": "#123F46",
"secondary-foreground": "#ffffff",
"muted": "#6F817B",
"muted-foreground": "#102B2A",
"accent": "#7ED9D3",
"accent-foreground": "#111111",
"destructive": "#A64B3C",
"border": "#B8C7C0",
"input": "#B8C7C0",
"ring": "#7ED9D3",
"chart-1": "#0E6F67",
"chart-2": "#123F46",
"chart-3": "#7ED9D3",
"chart-4": "#4F8A3B",
"chart-5": "#B9822E",
"sidebar": "#F8FBF7",
"sidebar-foreground": "#102B2A",
"sidebar-primary": "#0E6F67",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2C7D92",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#B8C7C0",
"sidebar-ring": "#7ED9D3",
"radius": "18px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0E6F67",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#7ED9D3",
"accent-foreground": "#111111",
"destructive": "#A64B3C",
"border": "#303642",
"input": "#303642",
"ring": "#7ED9D3",
"chart-1": "#0E6F67",
"chart-2": "#123F46",
"chart-3": "#7ED9D3",
"chart-4": "#4F8A3B",
"chart-5": "#B9822E",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0E6F67",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#7ED9D3",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#7ED9D3",
"radius": "18px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-1551-7af1-9a29-ca2e1f684967",
"slug": "aquatic-mineral-botanics",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
Shape
implementation kit
Aquatic Mineral Botanics
Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.
Adaptive palette operations
Translate ocean, mineral, and botanical cues into accessible token roles.
Contrast-safe material recipe
Edit role notes while preserving botanical text contrast and sea-glass focus behavior.
Regeneration queue
Audit palette role changes across light, dark, and high-contrast themes.
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table:root {
--background: #EEF4F0;
--foreground: #102B2A;
--card: #F8FBF7;
--card-foreground: #102B2A;
--popover: #F8FBF7;
--popover-foreground: #102B2A;
--primary: #0E6F67;
--primary-foreground: #ffffff;
--secondary: #123F46;
--secondary-foreground: #ffffff;
--muted: #6F817B;
--muted-foreground: #102B2A;
--accent: #7ED9D3;
--accent-foreground: #111111;
--destructive: #A64B3C;
--border: #B8C7C0;
--input: #B8C7C0;
--ring: #7ED9D3;
--chart-1: #0E6F67;
--chart-2: #123F46;
--chart-3: #7ED9D3;
--chart-4: #4F8A3B;
--chart-5: #B9822E;
--sidebar: #F8FBF7;
--sidebar-foreground: #102B2A;
--sidebar-primary: #0E6F67;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #2C7D92;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #B8C7C0;
--sidebar-ring: #7ED9D3;
--radius: 18px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #0E6F67;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #7ED9D3;
--accent-foreground: #111111;
--destructive: #A64B3C;
--border: #303642;
--input: #303642;
--ring: #7ED9D3;
--chart-1: #0E6F67;
--chart-2: #123F46;
--chart-3: #7ED9D3;
--chart-4: #4F8A3B;
--chart-5: #B9822E;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #0E6F67;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #7ED9D3;
--sidebar-accent-foreground: #111111;
--sidebar-border: #303642;
--sidebar-ring: #7ED9D3;
--radius: 18px;
}
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 AquaticMineralBotanicsShadcnKit() {
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">Aquatic Mineral Botanics</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "aquatic-mineral-botanics",
"type": "registry:theme",
"title": "Aquatic Mineral Botanics shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#EEF4F0",
"foreground": "#102B2A",
"card": "#F8FBF7",
"card-foreground": "#102B2A",
"popover": "#F8FBF7",
"popover-foreground": "#102B2A",
"primary": "#0E6F67",
"primary-foreground": "#ffffff",
"secondary": "#123F46",
"secondary-foreground": "#ffffff",
"muted": "#6F817B",
"muted-foreground": "#102B2A",
"accent": "#7ED9D3",
"accent-foreground": "#111111",
"destructive": "#A64B3C",
"border": "#B8C7C0",
"input": "#B8C7C0",
"ring": "#7ED9D3",
"chart-1": "#0E6F67",
"chart-2": "#123F46",
"chart-3": "#7ED9D3",
"chart-4": "#4F8A3B",
"chart-5": "#B9822E",
"sidebar": "#F8FBF7",
"sidebar-foreground": "#102B2A",
"sidebar-primary": "#0E6F67",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2C7D92",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#B8C7C0",
"sidebar-ring": "#7ED9D3",
"radius": "18px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#0E6F67",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#7ED9D3",
"accent-foreground": "#111111",
"destructive": "#A64B3C",
"border": "#303642",
"input": "#303642",
"ring": "#7ED9D3",
"chart-1": "#0E6F67",
"chart-2": "#123F46",
"chart-3": "#7ED9D3",
"chart-4": "#4F8A3B",
"chart-5": "#B9822E",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#0E6F67",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#7ED9D3",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#7ED9D3",
"radius": "18px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-1551-7af1-9a29-ca2e1f684967",
"slug": "aquatic-mineral-botanics",
"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"
]
}
}
}
# Aquatic Mineral Botanics shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate the aquatic mineral botanical palette into practical shadcn/ui screens for regenerative material tools, climate operations, and sustainable commerce. Components should feel like mineral slabs lit by sea glass, not generic teal SaaS.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.
## Token cues
Use `primary` as transformative teal, `secondary` as deep aquatic navigation, `accent` as sea-glass focus/light, `background` as mineral gray, `surface` as off-white slab, `text` as botanical dark, `success` as algae green, and `border` as translucent mineral edge.
## Visual character to preserve
- Dark teal shell beside pale mineral work surfaces.
- One-pixel mineral borders plus four-pixel teal stratum rules on active regions.
- Sea-glass cyan blooms only behind priority cards and focus states.
- Sediment-band separators between dense data regions.
- Rounded mineral-slab geometry with clipped corner glints used sparingly.
## ShadSync visual profile
family: aquatic-mineral-botanical; material: matte mineral and sea glass; contour: rounded-slab; border: translucent-mineral-with-teal-stratum; underlay: true; grain: subtle; stickerBadges: false; motion: water-settle; density: balanced; accents: transformative teal, sea-glass cyan, algae green.
## Signature component recipes
- `button`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `card`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `input`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `textarea`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `select`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `dialog`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `sheet`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `tabs`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `badge`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `separator`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `checkbox`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `switch`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `slider`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `tooltip`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `dropdown-menu`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
- `table`: use mineral slab radius, one-pixel translucent border, sea-glass focus ring, teal stratum accent for active or primary states, botanical success chips where stateful, and 180ms water-settling motion.
Shape scale: cards and dialogs use 24-30px radius, fields use 14-16px radius, badges and buttons use full pill radius. Focus rings are 4px sea-glass cyan with a primary border. Tables use sediment separators rather than heavy grid chrome.
## Preview shots
1. `application-shell`: dark teal rail, mineral dashboard cards, token metrics, and a material role table.
2. `detail-editor`: form-heavy palette governance editor with input, textarea, select, switch, checkbox, slider, tooltip, and dialog trigger.
3. `data-operations`: operations table with dropdown-menu actions, sheet filters, tabs, badges, and separators.
## Implementation contract
Import local shadcn primitives from `@/components/ui/*`; do not invent a second component system. Apply language classes around primitives to add stratum rules, sediment separators, sea-glass focus, and clipped corner glints while preserving accessibility and keyboard behavior.
## 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 { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"
export function AquaticMineralPanel() {
return (
<Card className="relative overflow-hidden rounded-[28px] border border-[var(--border)] border-t-4 border-t-[var(--primary)] bg-[var(--surface)] shadow-md before:absolute before:right-[-40px] before:top-[-50px] before:h-40 before:w-40 before:rounded-full before:bg-[radial-gradient(circle,var(--accent),transparent_65%)] before:opacity-40">
<CardHeader>
<Badge className="w-fit rounded-full border border-[var(--success)]/30 bg-[var(--success)]/10 text-[var(--success)]">algae approved</Badge>
<CardTitle className="font-serif text-3xl text-[var(--text)]">Material role ledger</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<Tabs defaultValue="light"><TabsList><TabsTrigger value="light">Light</TabsTrigger><TabsTrigger value="dark">Dark</TabsTrigger></TabsList></Tabs>
<Input className="rounded-[14px] focus-visible:ring-[var(--accent)]" defaultValue="Sea-glass focus reserved for priority actions" />
<Button className="rounded-full bg-[var(--primary)] text-white hover:bg-[var(--secondary)]">Generate palette</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "card",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "input",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "textarea",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "select",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "dialog",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "sheet",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "tabs",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "badge",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "separator",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "checkbox",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "switch",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "slider",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "tooltip",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "dropdown-menu",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
},
{
"component": "table",
"recipe": "Mineral slab treatment with accessible contrast, sea-glass focus ring, teal stratum accent on active/primary states, and balanced spacing derived from 8px base rhythm."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"generic analytics cards",
"neon ocean glow",
"low contrast cyan text"
],
"composition": "Dark teal navigation rail with pale mineral dashboard cards, sea-glass priority bloom, role ledger table, and sediment separator bands.",
"id": "application-shell",
"mustShowStates": [
"active tab with teal stratum",
"primary button hover-ready",
"approved algae badge",
"table rows with mineral separators"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"table",
"dropdown-menu"
],
"scene": {
"actions": [
"Generate palette",
"Review contrast"
],
"description": "Translate ocean, mineral, and botanical cues into accessible token roles.",
"eyebrow": "2026 sustainable material system",
"headline": "Adaptive palette operations",
"rows": [
{
"role": "Primary action",
"source": "oxidized copper + kelp shadow",
"status": "approved"
},
{
"role": "Focus ring",
"source": "wave-polished glass",
"status": "interactive"
},
{
"role": "Success",
"source": "algae bloom",
"status": "growth"
}
],
"stats": [
{
"label": "Teal depth",
"value": "#0E6F67"
},
{
"label": "AA contrast",
"value": "7.8:1"
},
{
"label": "Sea-glass focus",
"value": "non-text"
}
]
}
},
{
"avoid": [
"decorative leaf icons",
"gradient behind body text",
"unlabeled color-only validation"
],
"composition": "Palette governance editor on a rounded mineral slab with clipped sea-glass corner, labeled fields, accessible validation, and algae-green completion states.",
"id": "detail-editor",
"mustShowStates": [
"focused input ring",
"checked checkbox",
"enabled switch",
"slider progress",
"tooltip over contrast guidance"
],
"primitives": [
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"tooltip",
"dialog",
"button",
"badge"
],
"scene": {
"actions": [
"Save recipe",
"Open preview dialog"
],
"description": "Edit role notes while preserving botanical text contrast and sea-glass focus behavior.",
"eyebrow": "Governance editor",
"fields": [
{
"label": "Palette note",
"value": "Sea-glass accent reserved for focus only"
},
{
"label": "Material family",
"value": "Ocean + mineral + botanical"
},
{
"label": "Governance note",
"value": "Avoid greenwashing icons; prove sustainability through role consistency."
}
],
"headline": "Contrast-safe material recipe",
"stats": [
{
"label": "Focus ring",
"value": "4px cyan"
},
{
"label": "Motion",
"value": "180ms"
}
]
}
},
{
"avoid": [
"heavy grid chrome",
"inventory wall layout",
"pastel low contrast rows"
],
"composition": "Operations table with sheet filters, tabbed token modes, dropdown row actions, algae and ochre badges, and sediment-band separators for grouped data.",
"id": "data-operations",
"mustShowStates": [
"open filter sheet cue",
"warning badge",
"dropdown action affordance",
"selected row with teal stratum"
],
"primitives": [
"sheet",
"tabs",
"table",
"badge",
"separator",
"dropdown-menu",
"button",
"card",
"select"
],
"scene": {
"actions": [
"Open filters",
"Export tokens"
],
"description": "Audit palette role changes across light, dark, and high-contrast themes.",
"eyebrow": "Material ledger",
"headline": "Regeneration queue",
"rows": [
{
"contrast": "7.8:1",
"mode": "light",
"status": "approved",
"token": "primary"
},
{
"contrast": "5.4:1",
"mode": "dark",
"status": "monitor",
"token": "warning"
},
{
"contrast": "non-text",
"mode": "focus",
"status": "interactive",
"token": "accent"
}
],
"stats": [
{
"label": "Rows audited",
"value": "128"
},
{
"label": "Issues",
"value": "3"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"transformative teal",
"sea-glass cyan",
"algae green",
"botanical dark"
],
"border": "translucent mineral border with teal stratum rule",
"contour": "rounded-slab",
"density": "balanced",
"family": "aquatic-mineral-botanical",
"grain": true,
"material": "matte mineral, sea glass, algae state color",
"motion": "water-settle",
"stickerBadges": false,
"underlay": true
}
}