back to gallery

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

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.
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
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

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
remix lane

try a remix

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

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

More like this