back to gallery
design language·gantry

Gantry

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
Gantry is a vector-scope workstation language for tools that report honestly. It keeps the early-computing machine-room discipline — a limited palette where colour codes system state, quantized readouts, and a compact information-rich surface — but reconceives the expression from the CRT/DOS costume into a pen-plotter table. The signature move is the beam trace: every panel is drawn by one continuous plotted stroke that lifts at a glowing node, and data arrives as scope traces and segmented cells rather than smooth bars.
values
Colour carries operational meaning: three plotter channels (cyan / amber / magenta) code system state.The drawn beam-trace outline is the frame — no box borders, no accent-edge cards.Data stays quantized and machine-honest: scope traces and segmented meters, never smooth marketing curves.Dense and information-rich, yet high-contrast and legible at every size.One strict type scale; a clean grotesque for display, mono for all data.
anti-values
×Scanline overlays, CRT bevels, checker-dither, or a pixel display font (the abandoned costume).×Grey box borders and nested cards.×Navigation trapped in a floating pill or rounded widget.×Smooth gradient progress bars and soft drop-shadow elevation.×Muddy grounds; airy luxury minimalism that erases the workstation density.
tokens
colors14 items
bg
#04121a
surface
#0a1f2b
surface_solid
#0d2733
text
#e6f7ff
muted
#6f97a6
border
#1d4150
accent
#31e6ff
accent_2
#ffb02e
accent_soft
#0d2733
on_accent
#04121a
success
#3dffa2
warning
#ffd23d
error
#ff5c6c
info
#31e6ff
typography10 items
base size
17px
body font
JetBrains Mono, ui-monospace, monospace
heading font
Space Grotesk, system-ui, sans-serif
mono font
JetBrains Mono, ui-monospace, monospace
heading weight
700
heading transform
none
letter spacing
-0.02em
line height
1.55
scale ratio
1.2
google fonts url
https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap
radii4 items
none
0px
md
16px
lg
24px
full
9999px
shadows3 items
sm
0 0 8px color-mix(in srgb,#31e6ff 45%,transparent)
md
0 0 16px color-mix(in srgb,#31e6ff 55%,transparent)
lg
0 0 26px color-mix(in srgb,#31e6ff 55%,transparent)
spacing2 items
base
8px
scale
4px, 8px, 16px, 24px, 32px, 48px, 64px
surfaces3 items
treatment
graticule
card style
Flat phosphor panel drawn by a beam-trace outline with a glowing endpoint node; no border, no nested cards.
bg pattern
graticule-grid
borders4 items
default width
0px
accent width
1.6px
style
drawn-trace
character
The frame is a drawn beam trace (SVG stroke + glow), not a box border; each stroke ends in a glowing node.
motion3 items
duration
200ms
easing
cubic-bezier(.2,.7,.2,1)
philosophy
snappy beam-draw reveals; settled state is the default
rules
composition
Compose screens as regions of a vector scope: an instrument bar or rail, channel-coloured readout panels, scope traces and a plot-log table, all on a graticule ground aligned to an 8px grid.
hierarchy
Hierarchy comes from the display/mono contrast, channel colour, and the beam-trace outline — large display type is reserved for screen titles and critical counters.
density

Compact and information-rich; readouts expose many states at once without collapsing into minimalism.

signature patterns
The beam trace: every panel outline is a single drawn stroke ending in a glowing node — never a box border.Quantized data: segmented meters and multi-channel scope traces sampled at intervals, never smooth gradient bars.Status lamps: chips whose leading dot glows in the state or channel colour.Three plotter channels (cyan A / amber B / magenta C) mapped onto semantic roles so a palette swap re-inks every trace at once.Phosphor-glow elevation: focus rings, live beams and lamps glow; there are no soft drop shadows.
layout
grid

12-column desktop grid on an 8px base; panels align to the graticule and internal spacing resolves in multiples of 4/8px.

breakpoints
Tablet (768-1024) is its own layout — the rail collapses to a horizontal strip and grids drop to two columns; mobile stacks to a single column, wraps headlines, hides non-essential nav, and scrolls dense tables horizontally.
whitespace

Economical and structural — gaps separate panels and control groups without erasing the workstation density.

guidance
do
  • Let the beam-trace outline be the frame; end each stroke in a glowing node.
  • Keep data quantized — scope traces and segmented cells.
  • Use the three channels for meaning; keep semantic colours small.
  • Keep geometry sharp and elevation a tight phosphor glow.
  • Pair a grotesque display face with a mono data face on one strict scale.
avoid
  • Do not reintroduce scanlines, CRT bevels, checker-dither, or a pixel display font.
  • Do not add box borders or nest cards; do not box the navigation.
  • Do not use smooth gradient bars or soft drop shadows.
  • Do not use emoji or symbol glyphs on controls or in copy.
  • Do not let a headline or table run off the mobile edge.
imagery
pairs with

gantry-plot

summary
Single-weight pen-plotter line art on the vector-scope ground: any subject drawn as one continuous phosphor contour with glowing endpoint nodes over a faint graticule.
hero

A wide plotted composition of oscilloscope traces and function curves, calm dark space reserved for the overlay.

avoid

photographic imagery, glossy 3D, neon bloom, synthwave perspective floors, any text.

katagami spec
# Gantry

## Philosophy

Gantry is a vector-scope workstation language for tools that report honestly. It keeps the early-computing machine-room discipline — a limited palette where colour codes system state, quantized readouts, and a compact information-rich surface — but reconceives the expression from the CRT/DOS costume into a pen-plotter table. The signature move is the beam trace: every panel is drawn by one continuous plotted stroke that lifts at a glowing node, and data arrives as scope traces and segmented cells rather than smooth bars.

### Values

- Colour carries operational meaning: three plotter channels (cyan / amber / magenta) code system state.
- The drawn beam-trace outline is the frame — no box borders, no accent-edge cards.
- Data stays quantized and machine-honest: scope traces and segmented meters, never smooth marketing curves.
- Dense and information-rich, yet high-contrast and legible at every size.
- One strict type scale; a clean grotesque for display, mono for all data.

### Anti-Values

- Scanline overlays, CRT bevels, checker-dither, or a pixel display font (the abandoned costume).
- Grey box borders and nested cards.
- Navigation trapped in a floating pill or rounded widget.
- Smooth gradient progress bars and soft drop-shadow elevation.
- Muddy grounds; airy luxury minimalism that erases the workstation density.

### Visual Character

- Every module is drawn by a single continuous plotted stroke; the panel outline is the trace, ending in a glowing endpoint node.
- A faint teal graticule grid underlies every surface, so panels read as regions of a vector scope rather than floating marketing cards.
- Numbers render as two- or three-channel scope traces and segmented quantized meters keyed to the channel colours.
- Elevation is a tight phosphor glow (0 0 N glow), never a soft drop shadow; geometry is sharp with radius 0 by default.
- Type pairs a clean grotesque for screen titles with dense mono for data; labels are uppercase with wide tracking like instrument signage.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#04121a` |
| surface | `#0a1f2b` |
| surface_solid | `#0d2733` |
| text | `#e6f7ff` |
| muted | `#6f97a6` |
| border | `#1d4150` |
| accent | `#31e6ff` |
| accent_2 | `#ffb02e` |
| accent_soft | `#0d2733` |
| on_accent | `#04121a` |
| success | `#3dffa2` |
| warning | `#ffd23d` |
| error | `#ff5c6c` |
| info | `#31e6ff` |

### Typography

- **Base Size**: 17px
- **Body Font**: JetBrains Mono, ui-monospace, monospace
- **Heading Font**: Space Grotesk, system-ui, sans-serif
- **Mono Font**: JetBrains Mono, ui-monospace, monospace
- **Heading Weight**: 700
- **Heading Transform**: none
- **Letter Spacing**: -0.02em
- **Line Height**: 1.55
- **Scale Ratio**: 1.2
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap

### Radii

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

### Shadows

- **Sm**: 0 0 8px color-mix(in srgb,#31e6ff 45%,transparent)
- **Md**: 0 0 16px color-mix(in srgb,#31e6ff 55%,transparent)
- **Lg**: 0 0 26px color-mix(in srgb,#31e6ff 55%,transparent)

### Spacing

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

### Surfaces

- **Treatment**: graticule
- **Card Style**: Flat phosphor panel drawn by a beam-trace outline with a glowing endpoint node; no border, no nested cards.
- **Bg Pattern**: graticule-grid

### Borders

- **Default Width**: 0px
- **Accent Width**: 1.6px
- **Style**: drawn-trace
- **Character**: The frame is a drawn beam trace (SVG stroke + glow), not a box border; each stroke ends in a glowing node.

### Motion

- **Duration**: 200ms
- **Easing**: cubic-bezier(.2,.7,.2,1)
- **Philosophy**: snappy beam-draw reveals; settled state is the default

## Rules

### Composition

Compose screens as regions of a vector scope: an instrument bar or rail, channel-coloured readout panels, scope traces and a plot-log table, all on a graticule ground aligned to an 8px grid.

### Hierarchy

Hierarchy comes from the display/mono contrast, channel colour, and the beam-trace outline — large display type is reserved for screen titles and critical counters.

### Density

Compact and information-rich; readouts expose many states at once without collapsing into minimalism.

### Signature Patterns

- The beam trace: every panel outline is a single drawn stroke ending in a glowing node — never a box border.
- Quantized data: segmented meters and multi-channel scope traces sampled at intervals, never smooth gradient bars.
- Status lamps: chips whose leading dot glows in the state or channel colour.
- Three plotter channels (cyan A / amber B / magenta C) mapped onto semantic roles so a palette swap re-inks every trace at once.
- Phosphor-glow elevation: focus rings, live beams and lamps glow; there are no soft drop shadows.

## Layout

### Grid

12-column desktop grid on an 8px base; panels align to the graticule and internal spacing resolves in multiples of 4/8px.

### Breakpoints

Tablet (768-1024) is its own layout — the rail collapses to a horizontal strip and grids drop to two columns; mobile stacks to a single column, wraps headlines, hides non-essential nav, and scrolls dense tables horizontally.

### Whitespace

Economical and structural — gaps separate panels and control groups without erasing the workstation density.

## Guidance

### Do

- Let the beam-trace outline be the frame; end each stroke in a glowing node.
- Keep data quantized — scope traces and segmented cells.
- Use the three channels for meaning; keep semantic colours small.
- Keep geometry sharp and elevation a tight phosphor glow.
- Pair a grotesque display face with a mono data face on one strict scale.

### Don't

- Do not reintroduce scanlines, CRT bevels, checker-dither, or a pixel display font.
- Do not add box borders or nest cards; do not box the navigation.
- Do not use smooth gradient bars or soft drop shadows.
- Do not use emoji or symbol glyphs on controls or in copy.
- Do not let a headline or table run off the mobile edge.

## Imagery Direction

### Pairs With

gantry-plot

### Summary

Single-weight pen-plotter line art on the vector-scope ground: any subject drawn as one continuous phosphor contour with glowing endpoint nodes over a faint graticule.

### Hero

A wide plotted composition of oscilloscope traces and function curves, calm dark space reserved for the overlay.

### Avoid

photographic imagery, glossy 3D, neon bloom, synthwave perspective floors, any text.
DESIGN.md
---
version: "alpha"
name: "Gantry"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#04121a"
  surface: "#0a1f2b"
  surface_solid: "#0d2733"
  text: "#e6f7ff"
  muted: "#6f97a6"
  border: "#1d4150"
  accent: "#31e6ff"
  accent_2: "#ffb02e"
  accent_soft: "#0d2733"
  on_accent: "#04121a"
  success: "#3dffa2"
  warning: "#ffd23d"
  error: "#ff5c6c"
  info: "#31e6ff"
typography:
  headline-lg:
    fontFamily: "Space Grotesk, system-ui, sans-serif"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Space Grotesk, system-ui, sans-serif"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "JetBrains Mono, ui-monospace, monospace"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "JetBrains Mono, ui-monospace, monospace"
    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: "16px"
  lg: "24px"
  xl: "32px"
  2xl: "48px"
  3xl: "64px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_solid:
    backgroundColor: "{colors.surface_solid}"
  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-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_soft:
    backgroundColor: "{colors.accent_soft}"
  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"
---

# Gantry

## Overview

Gantry is a vector-scope workstation language for tools that report honestly. It keeps the early-computing machine-room discipline — a limited palette where colour codes system state, quantized readouts, and a compact information-rich surface — but reconceives the expression from the CRT/DOS costume into a pen-plotter table. The signature move is the beam trace: every panel is drawn by one continuous plotted stroke that lifts at a glowing node, and data arrives as scope traces and segmented cells rather than smooth bars.

### Values

- Colour carries operational meaning: three plotter channels (cyan / amber / magenta) code system state.
- The drawn beam-trace outline is the frame — no box borders, no accent-edge cards.
- Data stays quantized and machine-honest: scope traces and segmented meters, never smooth marketing curves.
- Dense and information-rich, yet high-contrast and legible at every size.
- One strict type scale; a clean grotesque for display, mono for all data.

### Anti-Values

- Scanline overlays, CRT bevels, checker-dither, or a pixel display font (the abandoned costume).
- Grey box borders and nested cards.
- Navigation trapped in a floating pill or rounded widget.
- Smooth gradient progress bars and soft drop-shadow elevation.
- Muddy grounds; airy luxury minimalism that erases the workstation density.

### Visual Character

- Every module is drawn by a single continuous plotted stroke; the panel outline is the trace, ending in a glowing endpoint node.
- A faint teal graticule grid underlies every surface, so panels read as regions of a vector scope rather than floating marketing cards.
- Numbers render as two- or three-channel scope traces and segmented quantized meters keyed to the channel colours.
- Elevation is a tight phosphor glow (0 0 N glow), never a soft drop shadow; geometry is sharp with radius 0 by default.
- Type pairs a clean grotesque for screen titles with dense mono for data; labels are uppercase with wide tracking like instrument signage.

## 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 | `#04121a` |
| surface | `#0a1f2b` |
| surface_solid | `#0d2733` |
| text | `#e6f7ff` |
| muted | `#6f97a6` |
| border | `#1d4150` |
| accent | `#31e6ff` |
| accent_2 | `#ffb02e` |
| accent_soft | `#0d2733` |
| on_accent | `#04121a` |
| success | `#3dffa2` |
| warning | `#ffd23d` |
| error | `#ff5c6c` |
| info | `#31e6ff` |

## Typography

- **Headline-Lg**: Space Grotesk, system-ui, sans-serif, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Space Grotesk, system-ui, sans-serif, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: JetBrains Mono, ui-monospace, monospace, 17px, weight 400, line-height 1.5.
- **Label-Md**: JetBrains Mono, ui-monospace, monospace, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

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

### Grid

12-column desktop grid on an 8px base; panels align to the graticule and internal spacing resolves in multiples of 4/8px.

### Breakpoints

Tablet (768-1024) is its own layout — the rail collapses to a horizontal strip and grids drop to two columns; mobile stacks to a single column, wraps headlines, hides non-essential nav, and scrolls dense tables horizontally.

### Whitespace

Economical and structural — gaps separate panels and control groups without erasing the workstation density.

## Elevation & Depth

### Shadows

- **Sm**: 0 0 8px color-mix(in srgb,#31e6ff 45%,transparent)
- **Md**: 0 0 16px color-mix(in srgb,#31e6ff 55%,transparent)
- **Lg**: 0 0 26px color-mix(in srgb,#31e6ff 55%,transparent)

## Shapes

### Rounded

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

### Surfaces

- **Treatment**: graticule
- **Card Style**: Flat phosphor panel drawn by a beam-trace outline with a glowing endpoint node; no border, no nested cards.
- **Bg Pattern**: graticule-grid

### Borders

- **Default Width**: 0px
- **Accent Width**: 1.6px
- **Style**: drawn-trace
- **Character**: The frame is a drawn beam trace (SVG stroke + glow), not a box border; each stroke ends in a glowing node.

## Components

### Composition

Compose screens as regions of a vector scope: an instrument bar or rail, channel-coloured readout panels, scope traces and a plot-log table, all on a graticule ground aligned to an 8px grid.

### Hierarchy

Hierarchy comes from the display/mono contrast, channel colour, and the beam-trace outline — large display type is reserved for screen titles and critical counters.

### Density

Compact and information-rich; readouts expose many states at once without collapsing into minimalism.

### Signature Patterns

- The beam trace: every panel outline is a single drawn stroke ending in a glowing node — never a box border.
- Quantized data: segmented meters and multi-channel scope traces sampled at intervals, never smooth gradient bars.
- Status lamps: chips whose leading dot glows in the state or channel colour.
- Three plotter channels (cyan A / amber B / magenta C) mapped onto semantic roles so a palette swap re-inks every trace at once.
- Phosphor-glow elevation: focus rings, live beams and lamps glow; there are no soft drop shadows.

## 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-019f3dd6-79ef-79d2-8c50-6a6fb4fcefab/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 beam-trace outline be the frame; end each stroke in a glowing node.
- Do Keep data quantized — scope traces and segmented cells.
- Do Use the three channels for meaning; keep semantic colours small.
- Do Keep geometry sharp and elevation a tight phosphor glow.
- Do Pair a grotesque display face with a mono data face on one strict scale.
- Don't Do not reintroduce scanlines, CRT bevels, checker-dither, or a pixel display font.
- Don't Do not add box borders or nest cards; do not box the navigation.
- Don't Do not use smooth gradient bars or soft drop shadows.
- Don't Do not use emoji or symbol glyphs on controls or in copy.
- Don't Do not let a headline or table run off the mobile edge.

## Imagery Direction

### Pairs With

gantry-plot

### Summary

Single-weight pen-plotter line art on the vector-scope ground: any subject drawn as one continuous phosphor contour with glowing endpoint nodes over a faint graticule.

### Hero

A wide plotted composition of oscilloscope traces and function curves, calm dark space reserved for the overlay.

### Avoid

photographic imagery, glossy 3D, neon bloom, synthwave perspective floors, any text.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "gantry",
  "type": "registry:theme",
  "title": "Gantry shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#04121a",
      "foreground": "#e6f7ff",
      "card": "#0a1f2b",
      "card-foreground": "#e6f7ff",
      "popover": "#0a1f2b",
      "popover-foreground": "#e6f7ff",
      "primary": "#e6f7ff",
      "primary-foreground": "#111111",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6f97a6",
      "muted-foreground": "#e6f7ff",
      "accent": "#31e6ff",
      "accent-foreground": "#111111",
      "destructive": "#ff5c6c",
      "border": "#1d4150",
      "input": "#1d4150",
      "ring": "#31e6ff",
      "chart-1": "#e6f7ff",
      "chart-2": "#f4f4f5",
      "chart-3": "#31e6ff",
      "chart-4": "#3dffa2",
      "chart-5": "#ffd23d",
      "sidebar": "#0a1f2b",
      "sidebar-foreground": "#e6f7ff",
      "sidebar-primary": "#e6f7ff",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#31e6ff",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#1d4150",
      "sidebar-ring": "#31e6ff",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#e6f7ff",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#31e6ff",
      "accent-foreground": "#111111",
      "destructive": "#ff5c6c",
      "border": "#303642",
      "input": "#303642",
      "ring": "#31e6ff",
      "chart-1": "#e6f7ff",
      "chart-2": "#f4f4f5",
      "chart-3": "#31e6ff",
      "chart-4": "#3dffa2",
      "chart-5": "#ffd23d",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#e6f7ff",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#31e6ff",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#31e6ff",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019f3dd6-79ef-79d2-8c50-6a6fb4fcefab",
    "slug": "gantry",
    "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_soft",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "success",
        "surface",
        "surface_solid",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · gantry
DESIGN.md

at a glance

Typography

headline-lgSpace Grotesk · 33px · 700

The quick brown fox jumps

headline-mdSpace Grotesk · 27px · 600

The quick brown fox jumps

body-mdJetBrains Mono · 17px · 400

The quick brown fox jumps

label-mdJetBrains Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with
Palette

Agent-generated

remix lane

try a remix

Keep Gantryand 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
Gantry
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

related

More like this