back to gallery

Loam

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 — tokens plus the paired art style. Agents must generate real images.

the spec

specification

philosophy
summary
Loam organizes an interface the way a field surveyor reads cultivated ground: by elevation. Every section, record, and reading sits on a contour-line band, and a hand-drawn topographic line-field is the structural grammar of the page rather than a decoration on top of it. Records are anchored to the land by a root-line — a thin stem with a node — so a list reads like plantings staked along a transect. The result is calm, legible terrain: information you survey and steward over seasons, not a feed you scroll.
values
Read the page as elevation: contour bands carry hierarchy, not stacked boxesAnchor every record to the ground with a root-line stem and nodeEarth tones kept clean and considered, never washed into mudStewardship over time — the interface implies seasons of care, not speedOne warm accent reserved for the few sites that matter
anti-values
×A leaf-notch or single decorative motif stamped onto every card until it is wallpaper×Muddy pastel beige washes that read as tasteful eco-SaaS sludge×Grey hairline borders boxing every panel×Glassmorphism, neon gradients, or chrome futurism×Bouncy gamified motion; movement should settle like sediment
visual character
A topographic contour-line field is the page's structural grammar, threading behind and between sections as flowing concentric linesEach record carries a root-line: a thin vertical stem with a filled node that stakes it to the contour bandSections are elevation bands — full-bleed contour terraces that the contained column rides onControls are seed-pod capsules with soft inset rims and a moss pressed-state, on a 9999 radiusHeadings sit on a single tapered contour underline drawn from the accent, never a hard rule
tokens
colors14 items
bg
#F2EAD7
surface
#FBF6EA
surface_alt
#F6EEDC
text
#23291F
muted
#6B7060
border
#D8CDB2
accent
#3F7A4E
on_accent
#FBF6EA
accent_2
#C2603A
accent_3
#3D6B82
success
#3F7A4E
warning
#C2603A
error
#A33A2E
info
#3D6B82
typography8 items
base size
17px
body font
Newsreader
heading font
Fraunces
mono font
Spline Sans Mono
heading weight
560
heading transform
none
letter spacing
-0.02em
google fonts url
https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,560;9..144,640&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Spline+Sans+Mono:wght@400;500;600&display=swap
radii4 items
none
0px
md
16px
lg
24px
full
9999px
shadows3 items
sm
0 2px 8px rgba(40,44,28,0.07)
md
0 14px 34px rgba(40,44,28,0.10)
lg
0 28px 70px rgba(40,44,28,0.16)
spacing2 items
base
8px
scale
4px, 8px, 12px, 16px, 24px, 32px, 48px, 72px, 112px
surfaces2 items
treatment
warm rag paper with a faint contour-line field
card style
flat parchment surface, no border, anchored by a root-line stem
borders1 items
character
borderless; separation comes from surface tint, contour bands, and root-line stems, never hairline strokes
motion3 items
duration
260ms
easing
cubic-bezier(0.22,1,0.36,1)
philosophy
settle like sediment — washes fade in, contour lines draw themselves, nothing bounces
rules
composition
Compose the page as stacked elevation bands. A full-bleed contour-line terrace defines each band; the contained content column rides on it at a capped width. Within a band, records are staked to a root-line transect rather than floated in equal boxes.
hierarchy
Lead with a literary Fraunces heading carrying a single tapered contour underline; support with Newsreader body at 17px and Spline Sans Mono for survey metadata (dates, plot codes, readings). The one warm sienna accent marks only the few sites that matter; moss carries primary action and growth, slate-water carries the watercourse and info.
density
Airy between bands, cultivated within them. Generous outer margins and deep band padding; tighter, disciplined clusters inside each record so a transect reads as planted, not sparse.
signature patterns
A topographic contour-line SVG field is the structural grammar, threading behind sections and drawing itself in on loadEvery record carries a root-line stem with a filled node anchoring it to the contour bandHeadings sit on a single tapered contour underline built from the accent, never a straight ruleControls are seed-pod capsules (9999 radius) with soft inset rims and a moss pressed stateSections are elevation bands: full-bleed contour terraces with a capped contained column
layout
grid
A capped 1160px content column rides on full-bleed elevation bands. Inside a band, a survey layout pairs a broad transect stream with a narrow observation rail; records stake to a left root-line. Bands stagger like terraces rather than aligning to one rigid grid.
whitespace

Large outer margins and deep band padding; air between bands like contour intervals between elevations, disciplined clustering inside each record.

density

moderate-to-airy

responsive
12-column transect+rail on desktop; rail drops below the stream at 900px; single-column terraces at 600px with full-width seed-pod controls and the contour field thinned.
breakpoints
lg
1160px
md
900px
sm
600px
guidance
do
  • Let the contour-line field be real structure — bands, transects, root-lines — not a texture sprinkled on top
  • Keep earth tones clean and high-contrast; reserve sienna for the few sites that genuinely matter
  • Anchor every list row and card to a root-line stem and node
  • Draw heading underlines as a single tapered contour, never a hard rule
  • Use seed-pod capsule controls consistently at one height and shape
avoid
  • Do not stamp one leaf-notch or motif on every card until it becomes wallpaper
  • Do not box panels in grey hairline borders; separate with surface tint and contour bands
  • Do not mud the palette into pastel beige sludge; keep the greens and siennas clean
  • Do not over-animate; motion settles like sediment, never bounces
  • Do not let the contour field reduce legibility — it stays faint behind text
imagery
pairs with

graticule

summary
Naturalist field-survey plates: ink contour line + concentric topographic lines wrapping the form + diluted earth-pigment washes with granulation, on warm rag paper. Imagery reads as a steward's survey of cultivated ground.
subjects
restored creek valleys and watershedsplanting transects and field plotsspecimen studies of plants, soil, and waterweathered land-steward portraitshillside terraces and survey landscapes
usage
One full-bleed hero survey plate on the landing with a calmer wash passage for the overlay; smaller plates for feature and empty-state slots. Never use the plates as the gallery thumbnail (that is the embodiment screenshot).
katagami spec
# Loam

## Philosophy

Loam organizes an interface the way a field surveyor reads cultivated ground: by elevation. Every section, record, and reading sits on a contour-line band, and a hand-drawn topographic line-field is the structural grammar of the page rather than a decoration on top of it. Records are anchored to the land by a root-line — a thin stem with a node — so a list reads like plantings staked along a transect. The result is calm, legible terrain: information you survey and steward over seasons, not a feed you scroll.

### Values

- Read the page as elevation: contour bands carry hierarchy, not stacked boxes
- Anchor every record to the ground with a root-line stem and node
- Earth tones kept clean and considered, never washed into mud
- Stewardship over time — the interface implies seasons of care, not speed
- One warm accent reserved for the few sites that matter

### Anti-Values

- A leaf-notch or single decorative motif stamped onto every card until it is wallpaper
- Muddy pastel beige washes that read as tasteful eco-SaaS sludge
- Grey hairline borders boxing every panel
- Glassmorphism, neon gradients, or chrome futurism
- Bouncy gamified motion; movement should settle like sediment

### Visual Character

- A topographic contour-line field is the page's structural grammar, threading behind and between sections as flowing concentric lines
- Each record carries a root-line: a thin vertical stem with a filled node that stakes it to the contour band
- Sections are elevation bands — full-bleed contour terraces that the contained column rides on
- Controls are seed-pod capsules with soft inset rims and a moss pressed-state, on a 9999 radius
- Headings sit on a single tapered contour underline drawn from the accent, never a hard rule

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#F2EAD7` |
| surface | `#FBF6EA` |
| surface_alt | `#F6EEDC` |
| text | `#23291F` |
| muted | `#6B7060` |
| border | `#D8CDB2` |
| accent | `#3F7A4E` |
| on_accent | `#FBF6EA` |
| accent_2 | `#C2603A` |
| accent_3 | `#3D6B82` |
| success | `#3F7A4E` |
| warning | `#C2603A` |
| error | `#A33A2E` |
| info | `#3D6B82` |

### Typography

- **Base Size**: 17px
- **Body Font**: Newsreader
- **Heading Font**: Fraunces
- **Mono Font**: Spline Sans Mono
- **Heading Weight**: 560
- **Heading Transform**: none
- **Letter Spacing**: -0.02em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,560;9..144,640&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Spline+Sans+Mono:wght@400;500;600&display=swap

### Radii

- **None**: 0px
- **Md**: 16px
- **Lg**: 24px
- **Full**: 9999px

### Shadows

- **Sm**: 0 2px 8px rgba(40,44,28,0.07)
- **Md**: 0 14px 34px rgba(40,44,28,0.10)
- **Lg**: 0 28px 70px rgba(40,44,28,0.16)

### Spacing

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

### Surfaces

- **Treatment**: warm rag paper with a faint contour-line field
- **Card Style**: flat parchment surface, no border, anchored by a root-line stem

### Borders

- **Character**: borderless; separation comes from surface tint, contour bands, and root-line stems, never hairline strokes

### Motion

- **Duration**: 260ms
- **Easing**: cubic-bezier(0.22,1,0.36,1)
- **Philosophy**: settle like sediment — washes fade in, contour lines draw themselves, nothing bounces

## Rules

### Composition

Compose the page as stacked elevation bands. A full-bleed contour-line terrace defines each band; the contained content column rides on it at a capped width. Within a band, records are staked to a root-line transect rather than floated in equal boxes.

### Hierarchy

Lead with a literary Fraunces heading carrying a single tapered contour underline; support with Newsreader body at 17px and Spline Sans Mono for survey metadata (dates, plot codes, readings). The one warm sienna accent marks only the few sites that matter; moss carries primary action and growth, slate-water carries the watercourse and info.

### Density

Airy between bands, cultivated within them. Generous outer margins and deep band padding; tighter, disciplined clusters inside each record so a transect reads as planted, not sparse.

### Signature Patterns

- A topographic contour-line SVG field is the structural grammar, threading behind sections and drawing itself in on load
- Every record carries a root-line stem with a filled node anchoring it to the contour band
- Headings sit on a single tapered contour underline built from the accent, never a straight rule
- Controls are seed-pod capsules (9999 radius) with soft inset rims and a moss pressed state
- Sections are elevation bands: full-bleed contour terraces with a capped contained column

## Layout

### Grid

A capped 1160px content column rides on full-bleed elevation bands. Inside a band, a survey layout pairs a broad transect stream with a narrow observation rail; records stake to a left root-line. Bands stagger like terraces rather than aligning to one rigid grid.

### Whitespace

Large outer margins and deep band padding; air between bands like contour intervals between elevations, disciplined clustering inside each record.

### Density

moderate-to-airy

### Responsive

12-column transect+rail on desktop; rail drops below the stream at 900px; single-column terraces at 600px with full-width seed-pod controls and the contour field thinned.

### Breakpoints

- **Lg**: 1160px
- **Md**: 900px
- **Sm**: 600px

## Guidance

### Do

- Let the contour-line field be real structure — bands, transects, root-lines — not a texture sprinkled on top
- Keep earth tones clean and high-contrast; reserve sienna for the few sites that genuinely matter
- Anchor every list row and card to a root-line stem and node
- Draw heading underlines as a single tapered contour, never a hard rule
- Use seed-pod capsule controls consistently at one height and shape

### Don't

- Do not stamp one leaf-notch or motif on every card until it becomes wallpaper
- Do not box panels in grey hairline borders; separate with surface tint and contour bands
- Do not mud the palette into pastel beige sludge; keep the greens and siennas clean
- Do not over-animate; motion settles like sediment, never bounces
- Do not let the contour field reduce legibility — it stays faint behind text

### Accessibility

Body 17px on a warm rag ground at AA+ contrast; ink text #23291F on #F2EAD7. The contour field is decorative and aria-hidden. Motion respects prefers-reduced-motion: the settled page is the default and reveals are skipped.

## Imagery Direction

### Pairs With

graticule

### Summary

Naturalist field-survey plates: ink contour line + concentric topographic lines wrapping the form + diluted earth-pigment washes with granulation, on warm rag paper. Imagery reads as a steward's survey of cultivated ground.

### Subjects

- restored creek valleys and watersheds
- planting transects and field plots
- specimen studies of plants, soil, and water
- weathered land-steward portraits
- hillside terraces and survey landscapes

### Usage

One full-bleed hero survey plate on the landing with a calmer wash passage for the overlay; smaller plates for feature and empty-state slots. Never use the plates as the gallery thumbnail (that is the embodiment screenshot).
DESIGN.md
---
version: "alpha"
name: "Loam"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#F2EAD7"
  surface: "#FBF6EA"
  surface_alt: "#F6EEDC"
  text: "#23291F"
  muted: "#6B7060"
  border: "#D8CDB2"
  accent: "#3F7A4E"
  on_accent: "#FBF6EA"
  accent_2: "#C2603A"
  accent_3: "#3D6B82"
  success: "#3F7A4E"
  warning: "#C2603A"
  error: "#A33A2E"
  info: "#3D6B82"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Newsreader"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "Spline Sans Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  md: "16px"
  lg: "24px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "72px"
  step-8: "112px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_alt:
    backgroundColor: "{colors.surface_alt}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  button-primary:
    backgroundColor: "{colors.accent}"
    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"
---

# Loam

## Overview

Loam organizes an interface the way a field surveyor reads cultivated ground: by elevation. Every section, record, and reading sits on a contour-line band, and a hand-drawn topographic line-field is the structural grammar of the page rather than a decoration on top of it. Records are anchored to the land by a root-line — a thin stem with a node — so a list reads like plantings staked along a transect. The result is calm, legible terrain: information you survey and steward over seasons, not a feed you scroll.

### Values

- Read the page as elevation: contour bands carry hierarchy, not stacked boxes
- Anchor every record to the ground with a root-line stem and node
- Earth tones kept clean and considered, never washed into mud
- Stewardship over time — the interface implies seasons of care, not speed
- One warm accent reserved for the few sites that matter

### Anti-Values

- A leaf-notch or single decorative motif stamped onto every card until it is wallpaper
- Muddy pastel beige washes that read as tasteful eco-SaaS sludge
- Grey hairline borders boxing every panel
- Glassmorphism, neon gradients, or chrome futurism
- Bouncy gamified motion; movement should settle like sediment

### Visual Character

- A topographic contour-line field is the page's structural grammar, threading behind and between sections as flowing concentric lines
- Each record carries a root-line: a thin vertical stem with a filled node that stakes it to the contour band
- Sections are elevation bands — full-bleed contour terraces that the contained column rides on
- Controls are seed-pod capsules with soft inset rims and a moss pressed-state, on a 9999 radius
- Headings sit on a single tapered contour underline drawn from the accent, never a hard rule

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| bg | `#F2EAD7` |
| surface | `#FBF6EA` |
| surface_alt | `#F6EEDC` |
| text | `#23291F` |
| muted | `#6B7060` |
| border | `#D8CDB2` |
| accent | `#3F7A4E` |
| on_accent | `#FBF6EA` |
| accent_2 | `#C2603A` |
| accent_3 | `#3D6B82` |
| success | `#3F7A4E` |
| warning | `#C2603A` |
| error | `#A33A2E` |
| info | `#3D6B82` |

## Typography

- **Headline-Lg**: Fraunces, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Newsreader, 17px, weight 400, line-height 1.5.
- **Label-Md**: Spline Sans 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**: `72px`
- **Step-8**: `112px`

### Grid

A capped 1160px content column rides on full-bleed elevation bands. Inside a band, a survey layout pairs a broad transect stream with a narrow observation rail; records stake to a left root-line. Bands stagger like terraces rather than aligning to one rigid grid.

### Whitespace

Large outer margins and deep band padding; air between bands like contour intervals between elevations, disciplined clustering inside each record.

### Density

moderate-to-airy

### Responsive

12-column transect+rail on desktop; rail drops below the stream at 900px; single-column terraces at 600px with full-width seed-pod controls and the contour field thinned.

### Breakpoints

- **Lg**: 1160px
- **Md**: 900px
- **Sm**: 600px

## Elevation & Depth

### Shadows

- **Sm**: 0 2px 8px rgba(40,44,28,0.07)
- **Md**: 0 14px 34px rgba(40,44,28,0.10)
- **Lg**: 0 28px 70px rgba(40,44,28,0.16)

## Shapes

### Rounded

- **None**: `0px`
- **Md**: `16px`
- **Lg**: `24px`
- **Full**: `9999px`

### Surfaces

- **Treatment**: warm rag paper with a faint contour-line field
- **Card Style**: flat parchment surface, no border, anchored by a root-line stem

### Borders

- **Character**: borderless; separation comes from surface tint, contour bands, and root-line stems, never hairline strokes

## Components

### Composition

Compose the page as stacked elevation bands. A full-bleed contour-line terrace defines each band; the contained content column rides on it at a capped width. Within a band, records are staked to a root-line transect rather than floated in equal boxes.

### Hierarchy

Lead with a literary Fraunces heading carrying a single tapered contour underline; support with Newsreader body at 17px and Spline Sans Mono for survey metadata (dates, plot codes, readings). The one warm sienna accent marks only the few sites that matter; moss carries primary action and growth, slate-water carries the watercourse and info.

### Density

Airy between bands, cultivated within them. Generous outer margins and deep band padding; tighter, disciplined clusters inside each record so a transect reads as planted, not sparse.

### Signature Patterns

- A topographic contour-line SVG field is the structural grammar, threading behind sections and drawing itself in on load
- Every record carries a root-line stem with a filled node anchoring it to the contour band
- Headings sit on a single tapered contour underline built from the accent, never a straight rule
- Controls are seed-pod capsules (9999 radius) with soft inset rims and a moss pressed state
- Sections are elevation bands: full-bleed contour terraces with a capped contained column

## 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-019efd5c-e887-7ff1-9777-b2da23f1a283/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 Let the contour-line field be real structure — bands, transects, root-lines — not a texture sprinkled on top
- Do Keep earth tones clean and high-contrast; reserve sienna for the few sites that genuinely matter
- Do Anchor every list row and card to a root-line stem and node
- Do Draw heading underlines as a single tapered contour, never a hard rule
- Do Use seed-pod capsule controls consistently at one height and shape
- Don't Do not stamp one leaf-notch or motif on every card until it becomes wallpaper
- Don't Do not box panels in grey hairline borders; separate with surface tint and contour bands
- Don't Do not mud the palette into pastel beige sludge; keep the greens and siennas clean
- Don't Do not over-animate; motion settles like sediment, never bounces
- Don't Do not let the contour field reduce legibility — it stays faint behind text

### Accessibility

Body 17px on a warm rag ground at AA+ contrast; ink text #23291F on #F2EAD7. The contour field is decorative and aria-hidden. Motion respects prefers-reduced-motion: the settled page is the default and reveals are skipped.

## Imagery Direction

### Pairs With

graticule

### Summary

Naturalist field-survey plates: ink contour line + concentric topographic lines wrapping the form + diluted earth-pigment washes with granulation, on warm rag paper. Imagery reads as a steward's survey of cultivated ground.

### Subjects

- restored creek valleys and watersheds
- planting transects and field plots
- specimen studies of plants, soil, and water
- weathered land-steward portraits
- hillside terraces and survey landscapes

### Usage

One full-bleed hero survey plate on the landing with a calmer wash passage for the overlay; smaller plates for feature and empty-state slots. Never use the plates as the gallery thumbnail (that is the embodiment screenshot).
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "loam",
  "type": "registry:theme",
  "title": "Loam shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F2EAD7",
      "foreground": "#23291F",
      "card": "#FBF6EA",
      "card-foreground": "#23291F",
      "popover": "#FBF6EA",
      "popover-foreground": "#23291F",
      "primary": "#23291F",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6B7060",
      "muted-foreground": "#23291F",
      "accent": "#3F7A4E",
      "accent-foreground": "#ffffff",
      "destructive": "#A33A2E",
      "border": "#D8CDB2",
      "input": "#D8CDB2",
      "ring": "#3F7A4E",
      "chart-1": "#23291F",
      "chart-2": "#f4f4f5",
      "chart-3": "#3F7A4E",
      "chart-4": "#3F7A4E",
      "chart-5": "#C2603A",
      "sidebar": "#FBF6EA",
      "sidebar-foreground": "#23291F",
      "sidebar-primary": "#23291F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#3D6B82",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#D8CDB2",
      "sidebar-ring": "#3F7A4E",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#23291F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#3F7A4E",
      "accent-foreground": "#ffffff",
      "destructive": "#A33A2E",
      "border": "#303642",
      "input": "#303642",
      "ring": "#3F7A4E",
      "chart-1": "#23291F",
      "chart-2": "#f4f4f5",
      "chart-3": "#3F7A4E",
      "chart-4": "#3F7A4E",
      "chart-5": "#C2603A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#23291F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#3F7A4E",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#3F7A4E",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019efd5c-e887-7ff1-9777-b2da23f1a283",
    "slug": "loam",
    "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": {
      "colors": [
        "accent",
        "accent_2",
        "accent_3",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "success",
        "surface",
        "surface_alt",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "mono_font"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "card_style",
        "treatment"
      ],
      "borders": [
        "character"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

DESIGN.md

at a glance

Typography

headline-lgFraunces · 33px · 700

The quick brown fox jumps

headline-mdFraunces · 27px · 600

The quick brown fox jumps

body-mdNewsreader · 17px · 400

The quick brown fox jumps

label-mdSpline Sans Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

produced by opus-4.8 · sourced by opus-4.8 · images by gpt-image-2

remix lane

try a remix

Keep Loam and swap a palette and an art style onto it. The landing & dashboard recolor live.

UI language · fixed
Loam
Palette
Art style
Landing Page
live preview · recolored + filled
related

More like this