back to gallery
design language·zhou-vertical-axis-ink

Zhóu

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 vertical-axis ink language that reimagines liu bai (留白) as the hanging scroll under tension. The ground is inverted to a deep warm wet-ink black on which luminous bone-white type and a single cinnabar seal bloom. Content registers down one plumb line, the seal descends the margin, and the void is full, not blank.
values
charged emptinessvertical descentcinnabar restraintluminous ink on darksharp formal disciplineslow attentive reading
anti-values
×centred floating columns×warm-paper minimalism×chromatic hierarchy×decorative seal wallpaper×bouncy motion×boxed-in chrome
tokens
colors16 items
bg
#16130f
surface
#1f1b16
surface_alt
#262019
inset
#262019
text
#f2ede3
muted
#9b9286
faint
#6f675c
border
rgba(242,237,227,0.10)
rail
rgba(242,237,227,0.16)
accent
#d4452f
accent_light
rgba(212,69,47,0.14)
on_accent
#16130f
success
#7d9168
warning
#c98a3a
error
#d4452f
info
#6f8aa6
typography9 items
base size
18px
body font
IBM Plex Sans, system-ui, sans-serif
heading font
Spectral, Georgia, 'Times New Roman', serif
mono font
IBM Plex Mono, ui-monospace, monospace
heading weight
300
heading transform
none
letter spacing
-0.025em headings, -0.01em body
scale ratio
1.414
google fonts url
https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,500;0,600;1,400&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap
radii5 items
none
0px
sm
0px
md
0px
lg
0px
pill
9999px (control affordances only)
shadows3 items
none
none
subtle
0 1px 2px rgba(0,0,0,0.30)
default
0 1px 2px rgba(0,0,0,0.30)
spacing2 items
base
8px
scale
8px, 16px, 24px, 40px, 64px, 104px, 160px
surfaces4 items
ground
#16130f deep warm wet-ink — the inverted void, the primary surface
card
#1f1b16 panel with one hairline rule and 0px radius; no accent edge, never nested
inset
#262019 for control tracks and recessed wells
void
the dark ground left untouched; never filled to balance a grid
borders4 items
color
rgba(242,237,227,0.10)
width
1px
style
solid
radius
0px
motion3 items
duration default
700ms
easing
cubic-bezier(.2,0,.1,1)
type
vertical reveal + opacity; the plumb line draws down on load; no scale, bounce, or parallax
rules
composition
Every screen registers against one vertical plumb line at the left margin (64px rail). Content hangs off it; nothing floats centred. Weight loads toward the lower third, the way a hanging scroll loads its base. The dark wet-ink ground dominates; luminous marks are placed one at a time.
hierarchy
Typography alone establishes hierarchy: a Spectral display cascade in a 1.414 ratio plus weight variation. Colour is NOT used for rank — bone-white and stone-grey only. The single cinnabar marks importance through rarity. Semantic hues appear only as a documented state heat-scale.
density
Airy. Generous 40–160px spacing; cards separated by the ground and hairlines, never crowded. Lists paginate before they fill. Empty is the natural condition, not an error.
signature
The Plumb Line (one vertical hairline rail every screen); The Registration Tick (a cinnabar bar+square hanging eyebrows off the rail); The Descending Seal (a column of impressed chops down the margin, three weights = three states); The Unrolling (downward vertical reveal, plumb line draws on load); Absence as state (a single mark on the dark field).
layout
grid

single vertical axis; content registered to a left 64px plumb-line rail, max-width ~1180px (1320px ultra-wide)

whitespace

the dark wet-ink void is the primary compositional material; generous 40–160px section rhythm

density

airy

responsive

single column on mobile; the rail collapses but the descent remains; only the full-bleed hero spans 100vw; content caps and centres on ultra-wide

breakpoints
mobile
≤680px
tablet
681–980px
desktop
981–1699px
ultrawide
≥1700px
guidance
do
  • Register everything to one vertical plumb line; load weight toward the base
  • Keep the cinnabar a seal — a mark of rarity, descending the margin, never an edge
  • Let the dark wet-ink void dominate; place luminous marks one at a time
  • Carry hierarchy with the Spectral size cascade and the measure rail
  • Use the semantic hues only as a documented state heat-scale (verified / in review / disputed)
  • Ship the settled finished state visible with no JavaScript; layer vertical motion on top
  • Keep sharp 0px corners and hairline luminous rules
avoid
  • Don't centre content in a floating column — the axis is left-anchored and asymmetric
  • Don't use colour for hierarchy or let semantic hues become primary surface
  • Don't put an accent edge on a card, nest cards, or box the nav into a pill
  • Don't round corners or add shadow beyond a faint ink lift
  • Don't let the seal repeat decoratively until it is wallpaper
  • Don't revert to warm paper or a white ground — the void here is ink
imagery
pairs with

cinnabar-seal

summary
Traditional Chinese shuimo (water-and-ink) brushwork — luminous ink blooming into a wet dark ground — finished with impressed vermilion seal stamps. Composed on a vertical hanging-scroll axis: misted forms dissolving into dark void with a descending column of cinnabar chops.
subjects
hanging-scroll landscapesmisted ridges dissolving into voidink dispersing in dark waterimpressed seal columnssingle luminous brush strokes on dark
usage
One full-bleed hero per landing, composed vertically with content pinned lower-left and the seal-column descending the right edge. Never used for the thumbnail (the embodiment is the thumbnail source).
katagami spec
# Zhóu

## Philosophy

A vertical-axis ink language that reimagines liu bai (留白) as the hanging scroll under tension. The ground is inverted to a deep warm wet-ink black on which luminous bone-white type and a single cinnabar seal bloom. Content registers down one plumb line, the seal descends the margin, and the void is full, not blank.

### Values

- charged emptiness
- vertical descent
- cinnabar restraint
- luminous ink on dark
- sharp formal discipline
- slow attentive reading

### Anti-Values

- centred floating columns
- warm-paper minimalism
- chromatic hierarchy
- decorative seal wallpaper
- bouncy motion
- boxed-in chrome

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#16130f` |
| surface | `#1f1b16` |
| surface_alt | `#262019` |
| inset | `#262019` |
| text | `#f2ede3` |
| muted | `#9b9286` |
| faint | `#6f675c` |
| border | `rgba(242,237,227,0.10)` |
| rail | `rgba(242,237,227,0.16)` |
| accent | `#d4452f` |
| accent_light | `rgba(212,69,47,0.14)` |
| on_accent | `#16130f` |
| success | `#7d9168` |
| warning | `#c98a3a` |
| error | `#d4452f` |
| info | `#6f8aa6` |

### Typography

- **Base Size**: 18px
- **Body Font**: IBM Plex Sans, system-ui, sans-serif
- **Heading Font**: Spectral, Georgia, 'Times New Roman', serif
- **Mono Font**: IBM Plex Mono, ui-monospace, monospace
- **Heading Weight**: 300
- **Heading Transform**: none
- **Letter Spacing**: -0.025em headings, -0.01em body
- **Scale Ratio**: 1.414
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,500;0,600;1,400&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap

### Radii

- **None**: 0px
- **Sm**: 0px
- **Md**: 0px
- **Lg**: 0px
- **Pill**: 9999px (control affordances only)

### Shadows

- **None**: none
- **Subtle**: 0 1px 2px rgba(0,0,0,0.30)
- **Default**: 0 1px 2px rgba(0,0,0,0.30)

### Spacing

- **Base**: 8px
- **Scale**: ["8px","16px","24px","40px","64px","104px","160px"]

### Surfaces

- **Ground**: #16130f deep warm wet-ink — the inverted void, the primary surface
- **Card**: #1f1b16 panel with one hairline rule and 0px radius; no accent edge, never nested
- **Inset**: #262019 for control tracks and recessed wells
- **Void**: the dark ground left untouched; never filled to balance a grid

### Borders

- **Color**: rgba(242,237,227,0.10)
- **Width**: 1px
- **Style**: solid
- **Radius**: 0px

### Motion

- **Duration Default**: 700ms
- **Easing**: cubic-bezier(.2,0,.1,1)
- **Type**: vertical reveal + opacity; the plumb line draws down on load; no scale, bounce, or parallax

## Rules

### Composition

Every screen registers against one vertical plumb line at the left margin (64px rail). Content hangs off it; nothing floats centred. Weight loads toward the lower third, the way a hanging scroll loads its base. The dark wet-ink ground dominates; luminous marks are placed one at a time.

### Hierarchy

Typography alone establishes hierarchy: a Spectral display cascade in a 1.414 ratio plus weight variation. Colour is NOT used for rank — bone-white and stone-grey only. The single cinnabar marks importance through rarity. Semantic hues appear only as a documented state heat-scale.

### Density

Airy. Generous 40–160px spacing; cards separated by the ground and hairlines, never crowded. Lists paginate before they fill. Empty is the natural condition, not an error.

### Signature

The Plumb Line (one vertical hairline rail every screen); The Registration Tick (a cinnabar bar+square hanging eyebrows off the rail); The Descending Seal (a column of impressed chops down the margin, three weights = three states); The Unrolling (downward vertical reveal, plumb line draws on load); Absence as state (a single mark on the dark field).

## Layout

### Grid

single vertical axis; content registered to a left 64px plumb-line rail, max-width ~1180px (1320px ultra-wide)

### Whitespace

the dark wet-ink void is the primary compositional material; generous 40–160px section rhythm

### Density

airy

### Responsive

single column on mobile; the rail collapses but the descent remains; only the full-bleed hero spans 100vw; content caps and centres on ultra-wide

### Breakpoints

- **Mobile**: ≤680px
- **Tablet**: 681–980px
- **Desktop**: 981–1699px
- **Ultrawide**: ≥1700px

## Guidance

### Do

- Register everything to one vertical plumb line; load weight toward the base
- Keep the cinnabar a seal — a mark of rarity, descending the margin, never an edge
- Let the dark wet-ink void dominate; place luminous marks one at a time
- Carry hierarchy with the Spectral size cascade and the measure rail
- Use the semantic hues only as a documented state heat-scale (verified / in review / disputed)
- Ship the settled finished state visible with no JavaScript; layer vertical motion on top
- Keep sharp 0px corners and hairline luminous rules

### Don't

- Don't centre content in a floating column — the axis is left-anchored and asymmetric
- Don't use colour for hierarchy or let semantic hues become primary surface
- Don't put an accent edge on a card, nest cards, or box the nav into a pill
- Don't round corners or add shadow beyond a faint ink lift
- Don't let the seal repeat decoratively until it is wallpaper
- Don't revert to warm paper or a white ground — the void here is ink

### Accessibility

Bone-white (#f2ede3) on wet-ink (#16130f) clears WCAG AAA for body text. Controls are explicitly styled with a visible cinnabar focus border. Body 17–18px, mono labels 12px+. Motion respects prefers-reduced-motion and is never required to read the page.

## Imagery Direction

### Pairs With

cinnabar-seal

### Summary

Traditional Chinese shuimo (water-and-ink) brushwork — luminous ink blooming into a wet dark ground — finished with impressed vermilion seal stamps. Composed on a vertical hanging-scroll axis: misted forms dissolving into dark void with a descending column of cinnabar chops.

### Subjects

- hanging-scroll landscapes
- misted ridges dissolving into void
- ink dispersing in dark water
- impressed seal columns
- single luminous brush strokes on dark

### Usage

One full-bleed hero per landing, composed vertically with content pinned lower-left and the seal-column descending the right edge. Never used for the thumbnail (the embodiment is the thumbnail source).
DESIGN.md
---
version: "alpha"
name: "Zhóu"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#16130f"
  surface: "#1f1b16"
  surface_alt: "#262019"
  inset: "#262019"
  text: "#f2ede3"
  muted: "#9b9286"
  faint: "#6f675c"
  accent: "#d4452f"
  on_accent: "#16130f"
  success: "#7d9168"
  warning: "#c98a3a"
  error: "#d4452f"
  info: "#6f8aa6"
typography:
  headline-lg:
    fontFamily: "Spectral, Georgia, 'Times New Roman', serif"
    fontSize: "3.181rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Spectral, Georgia, 'Times New Roman', serif"
    fontSize: "2.249rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "IBM Plex Sans, system-ui, sans-serif"
    fontSize: "18px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono, ui-monospace, monospace"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "0px"
  lg: "0px"
  pill: "0px"
spacing:
  base: "8px"
  xs: "8px"
  sm: "16px"
  md: "24px"
  lg: "40px"
  xl: "64px"
  2xl: "104px"
  3xl: "160px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_alt:
    backgroundColor: "{colors.surface_alt}"
  color-reference-inset:
    backgroundColor: "{colors.inset}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-faint:
    backgroundColor: "{colors.faint}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  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: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Zhóu

## Overview

A vertical-axis ink language that reimagines liu bai (留白) as the hanging scroll under tension. The ground is inverted to a deep warm wet-ink black on which luminous bone-white type and a single cinnabar seal bloom. Content registers down one plumb line, the seal descends the margin, and the void is full, not blank.

### Values

- charged emptiness
- vertical descent
- cinnabar restraint
- luminous ink on dark
- sharp formal discipline
- slow attentive reading

### Anti-Values

- centred floating columns
- warm-paper minimalism
- chromatic hierarchy
- decorative seal wallpaper
- bouncy motion
- boxed-in chrome

## 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 | `#16130f` |
| surface | `#1f1b16` |
| surface_alt | `#262019` |
| inset | `#262019` |
| text | `#f2ede3` |
| muted | `#9b9286` |
| faint | `#6f675c` |
| accent | `#d4452f` |
| on_accent | `#16130f` |
| success | `#7d9168` |
| warning | `#c98a3a` |
| error | `#d4452f` |
| info | `#6f8aa6` |

## Typography

- **Headline-Lg**: Spectral, Georgia, 'Times New Roman', serif, 3.181rem, weight 700, line-height 1.1.
- **Headline-Md**: Spectral, Georgia, 'Times New Roman', serif, 2.249rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, system-ui, sans-serif, 18px, weight 400, line-height 1.5.
- **Label-Md**: IBM Plex Mono, ui-monospace, monospace, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `8px`
- **Sm**: `16px`
- **Md**: `24px`
- **Lg**: `40px`
- **Xl**: `64px`
- **2xl**: `104px`
- **3xl**: `160px`

### Grid

single vertical axis; content registered to a left 64px plumb-line rail, max-width ~1180px (1320px ultra-wide)

### Whitespace

the dark wet-ink void is the primary compositional material; generous 40–160px section rhythm

### Density

airy

### Responsive

single column on mobile; the rail collapses but the descent remains; only the full-bleed hero spans 100vw; content caps and centres on ultra-wide

### Breakpoints

- **Mobile**: ≤680px
- **Tablet**: 681–980px
- **Desktop**: 981–1699px
- **Ultrawide**: ≥1700px

## Elevation & Depth

### Shadows

- **None**: none
- **Subtle**: 0 1px 2px rgba(0,0,0,0.30)
- **Default**: 0 1px 2px rgba(0,0,0,0.30)

## Shapes

### Rounded

- **None**: `0px`
- **Sm**: `0px`
- **Md**: `0px`
- **Lg**: `0px`
- **Pill**: `0px`

### Surfaces

- **Ground**: #16130f deep warm wet-ink — the inverted void, the primary surface
- **Card**: #1f1b16 panel with one hairline rule and 0px radius; no accent edge, never nested
- **Inset**: #262019 for control tracks and recessed wells
- **Void**: the dark ground left untouched; never filled to balance a grid

### Borders

- **Color**: rgba(242,237,227,0.10)
- **Width**: 1px
- **Style**: solid
- **Radius**: 0px

## Components

### Composition

Every screen registers against one vertical plumb line at the left margin (64px rail). Content hangs off it; nothing floats centred. Weight loads toward the lower third, the way a hanging scroll loads its base. The dark wet-ink ground dominates; luminous marks are placed one at a time.

### Hierarchy

Typography alone establishes hierarchy: a Spectral display cascade in a 1.414 ratio plus weight variation. Colour is NOT used for rank — bone-white and stone-grey only. The single cinnabar marks importance through rarity. Semantic hues appear only as a documented state heat-scale.

### Density

Airy. Generous 40–160px spacing; cards separated by the ground and hairlines, never crowded. Lists paginate before they fill. Empty is the natural condition, not an error.

### Signature

The Plumb Line (one vertical hairline rail every screen); The Registration Tick (a cinnabar bar+square hanging eyebrows off the rail); The Descending Seal (a column of impressed chops down the margin, three weights = three states); The Unrolling (downward vertical reveal, plumb line draws on load); Absence as state (a single mark on the dark field).

## 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-019ef924-5221-7500-a3ef-eadac1278ed7/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 Register everything to one vertical plumb line; load weight toward the base
- Do Keep the cinnabar a seal — a mark of rarity, descending the margin, never an edge
- Do Let the dark wet-ink void dominate; place luminous marks one at a time
- Do Carry hierarchy with the Spectral size cascade and the measure rail
- Do Use the semantic hues only as a documented state heat-scale (verified / in review / disputed)
- Do Ship the settled finished state visible with no JavaScript; layer vertical motion on top
- Do Keep sharp 0px corners and hairline luminous rules
- Don't Don't centre content in a floating column — the axis is left-anchored and asymmetric
- Don't Don't use colour for hierarchy or let semantic hues become primary surface
- Don't Don't put an accent edge on a card, nest cards, or box the nav into a pill
- Don't Don't round corners or add shadow beyond a faint ink lift
- Don't Don't let the seal repeat decoratively until it is wallpaper
- Don't Don't revert to warm paper or a white ground — the void here is ink

### Accessibility

Bone-white (#f2ede3) on wet-ink (#16130f) clears WCAG AAA for body text. Controls are explicitly styled with a visible cinnabar focus border. Body 17–18px, mono labels 12px+. Motion respects prefers-reduced-motion and is never required to read the page.

## Imagery Direction

### Pairs With

cinnabar-seal

### Summary

Traditional Chinese shuimo (water-and-ink) brushwork — luminous ink blooming into a wet dark ground — finished with impressed vermilion seal stamps. Composed on a vertical hanging-scroll axis: misted forms dissolving into dark void with a descending column of cinnabar chops.

### Subjects

- hanging-scroll landscapes
- misted ridges dissolving into void
- ink dispersing in dark water
- impressed seal columns
- single luminous brush strokes on dark

### Usage

One full-bleed hero per landing, composed vertically with content pinned lower-left and the seal-column descending the right edge. Never used for the thumbnail (the embodiment is the thumbnail source).
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "zhou-vertical-axis-ink",
  "type": "registry:theme",
  "title": "Zhóu shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#16130f",
      "foreground": "#f2ede3",
      "card": "#1f1b16",
      "card-foreground": "#f2ede3",
      "popover": "#1f1b16",
      "popover-foreground": "#f2ede3",
      "primary": "#f2ede3",
      "primary-foreground": "#111111",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#9b9286",
      "muted-foreground": "#f2ede3",
      "accent": "#d4452f",
      "accent-foreground": "#ffffff",
      "destructive": "#d4452f",
      "border": "rgba(242,237,227,0.10)",
      "input": "rgba(242,237,227,0.10)",
      "ring": "#d4452f",
      "chart-1": "#f2ede3",
      "chart-2": "#f4f4f5",
      "chart-3": "#d4452f",
      "chart-4": "#7d9168",
      "chart-5": "#c98a3a",
      "sidebar": "#1f1b16",
      "sidebar-foreground": "#f2ede3",
      "sidebar-primary": "#f2ede3",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#6f8aa6",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "rgba(242,237,227,0.10)",
      "sidebar-ring": "#d4452f",
      "radius": "0px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#f2ede3",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#d4452f",
      "accent-foreground": "#ffffff",
      "destructive": "#d4452f",
      "border": "#303642",
      "input": "#303642",
      "ring": "#d4452f",
      "chart-1": "#f2ede3",
      "chart-2": "#f4f4f5",
      "chart-3": "#d4452f",
      "chart-4": "#7d9168",
      "chart-5": "#c98a3a",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#f2ede3",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#d4452f",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#d4452f",
      "radius": "0px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef924-5221-7500-a3ef-eadac1278ed7",
    "slug": "zhou-vertical-axis-ink",
    "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_light",
        "bg",
        "border",
        "error",
        "faint",
        "info",
        "inset",
        "muted",
        "on_accent",
        "rail",
        "success",
        "surface",
        "surface_alt",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "lg",
        "md",
        "none",
        "pill",
        "sm"
      ],
      "shadows": [
        "default",
        "none",
        "subtle"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "card",
        "ground",
        "inset",
        "void"
      ],
      "borders": [
        "color",
        "radius",
        "style",
        "width"
      ],
      "motion": [
        "duration_default",
        "easing",
        "type"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · zhou-vertical-axis-ink
DESIGN.md

at a glance

Typography

headline-lgSpectral · 51px · 700

The quick brown fox jumps

headline-mdSpectral · 36px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 18px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

Keep Zhóuand swap a palette and an art style onto it — the landing & dashboard recolor live. The Studio does the same with all three lanes free.

UI language · fixed
Zhóu
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

Evolved from
related

More like this