back to gallery
design language·vernier

Vernier

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
Vernier is an observatory decision bench: every reading is plotted on one engraved calibration axis on a deep obsidian plate, where a single phosphor-green trace shows what is live and a single sodium-amber pin marks the threshold a human still has to lock.
values
evidence on one axisrationed signal colourinstrument-grade precisiondark observatory grounda human signs the decision
anti-values
×white premium analytics default×rainbow charting×coloured side rails or card stripes×glass-rounded aperture cards×blank pre-animation states
tokens
colors15 items
bg
#0B0F14
surface
#121821
surface_2
#0E141C
text
#E8EEF2
muted
#8A97A6
border
#222E3A
accent
#5BE6A8
accent_soft
#15281F
accent_2
#F2A23C
accent_2_soft
#2A1E0E
on_accent
#07120C
success
#5BE6A8
warning
#F2A23C
error
#E8607A
info
#6FB7FF
typography9 items
base size
17px
body font
IBM Plex Sans
heading font
Spectral
mono font
IBM Plex Mono
heading weight
700
heading transform
none
letter spacing
-0.02em
line height
1.55
google fonts url
https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap
radii5 items
none
0
sm
0
md
16px
lg
16px
full
9999px
shadows3 items
sm
0 1px 2px rgba(0,0,0,0.4)
md
0 14px 34px rgba(0,0,0,0.45)
lg
0 30px 70px rgba(0,0,0,0.55)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
none; obsidian ground with raised slate plates and recessed channels, no texture
card style
square-cut etched slate plates (radius 0; 16 only on a few feature plates), 1px slate hairline borders, ambient shadow on the dark ground, never a coloured edge
treatment
deep ink observatory plate; structure carried by slate hairlines and the calibrated Reticle Rail
borders4 items
default width
1px
accent width
2px
style
solid
character
low-contrast slate hairlines and etched calibration ticks; accents appear only as the rail pin, focus rings, chart traces, or threshold markers, never as side rails or card stripes
motion3 items
duration
180ms
easing
cubic-bezier(0.2, 0.8, 0.2, 1)
philosophy
settled state is the default and renders with no JavaScript; motion adds micro-lift and opacity clarification on scroll, gated behind an html.js class; respects prefers-reduced-motion; no bounce or colour sweep
rules
composition
Plot a run on one calibrated axis (the Reticle Rail): a spacious live-bench area, a left measurement gutter or evidence rail, and analytical plates aligned to content columns rather than a visible grid.
hierarchy
Spectral for engraved headings, IBM Plex Sans for explanation, IBM Plex Mono for all values; hierarchy comes from size, whitespace, and tabular alignment before colour.
density

Medium-low on a dark ground with generous gutters; tables stay information-rich but keep 14-18px vertical padding and calm hairline row separation.

signature
Reticle Rail: a 1px slate axis with etched calibration ticks running edge to edge, dividing sections; data sits on it as nodes; it turns vertical to become the dashboard gutter.Two indicator lamps: a single phosphor-green trace marks what is live; a single sodium-amber pin marks thresholds and the records a human must lock; everything else stays slate.Monospace evidence capsules: square-cut plates with IBM Plex Mono tabular numerals, tiny uppercase labels, and one semantic dot (green or amber) only when meaningful.Non-rainbow chart grammar: slate opacity bars carry structure with exactly one green trace and one amber threshold ring in any visible chart.Square-cut etched plates: radius 0 modules (16 only on a few feature plates), no glass-rounded aperture cards, no coloured side rails.
layout
grid
Invisible 12-column content grid at desktop; a left measurement gutter beside a wide plotting plate on the bench; collapses to 6 then 1 column with no visible grid lines.
whitespace

Outer dark space is treated as material: 28-64px margins on large screens, never filled with decoration.

density

medium-low

responsive
Single-column stack on mobile with the gutter collapsed and non-essential nav/table columns hidden; only the full-bleed hero spans 100vw; contained content capped and centred on ultra-wide.
breakpoints
mobile
390px
tablet
768px
desktop
1200px
wide
1440px
guidance
do
  • Plot evidence on the Reticle Rail and let mono tabular numerals line up to the digit.
  • Keep colour rationed to two lamps: green for live, amber for thresholds and human locks.
  • Let slate opacity carry every chart, table, and structural surface.
  • Treat the obsidian ground and outer space as a premium material; render the settled state with no JavaScript.
avoid
  • Do not add a third accent, a rainbow chart, multicolor KPI tiles, or coloured side rails / card stripes.
  • Do not round modules into glass aperture cards or use in-between radii.
  • Do not box the nav into a floating pill or rounded card; let it sit open across the header.
  • Do not default to a white analytics surface or ship a blank pre-animation state.
imagery
pairs with

calibration-plate-optical-slate-technique

summary
Subjects reconstructed from fine hairline contour lines on a near-dark field, with faint concentric optical guide rings, scattered registration cross-ticks, one luminous phosphor-green data trace, and one sodium-amber threshold pin.
subjects
meridian transit telescopes and observatory instrumentsstar fields and constellation arcs as measured platesoptical mechanisms: gears, mounts, reticleslight curves and orbital paths rendered as engraved traces
usage
One full-bleed hero per landing applying the calibration-plate technique to an observatory subject, composed with calm negative space (upper-left) so the overlay stays legible; the studio swaps the hero via --hero-image.
katagami spec
# Vernier

## Philosophy

Vernier is an observatory decision bench: every reading is plotted on one engraved calibration axis on a deep obsidian plate, where a single phosphor-green trace shows what is live and a single sodium-amber pin marks the threshold a human still has to lock.

### Values

- evidence on one axis
- rationed signal colour
- instrument-grade precision
- dark observatory ground
- a human signs the decision

### Anti-Values

- white premium analytics default
- rainbow charting
- coloured side rails or card stripes
- glass-rounded aperture cards
- blank pre-animation states

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#0B0F14` |
| surface | `#121821` |
| surface_2 | `#0E141C` |
| text | `#E8EEF2` |
| muted | `#8A97A6` |
| border | `#222E3A` |
| accent | `#5BE6A8` |
| accent_soft | `#15281F` |
| accent_2 | `#F2A23C` |
| accent_2_soft | `#2A1E0E` |
| on_accent | `#07120C` |
| success | `#5BE6A8` |
| warning | `#F2A23C` |
| error | `#E8607A` |
| info | `#6FB7FF` |

### Typography

- **Base Size**: 17px
- **Body Font**: IBM Plex Sans
- **Heading Font**: Spectral
- **Mono Font**: IBM Plex Mono
- **Heading Weight**: 700
- **Heading Transform**: none
- **Letter Spacing**: -0.02em
- **Line Height**: 1.55
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap

### Radii

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

### Shadows

- **Sm**: 0 1px 2px rgba(0,0,0,0.4)
- **Md**: 0 14px 34px rgba(0,0,0,0.45)
- **Lg**: 0 30px 70px rgba(0,0,0,0.55)

### Spacing

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

### Surfaces

- **Bg Pattern**: none; obsidian ground with raised slate plates and recessed channels, no texture
- **Card Style**: square-cut etched slate plates (radius 0; 16 only on a few feature plates), 1px slate hairline borders, ambient shadow on the dark ground, never a coloured edge
- **Treatment**: deep ink observatory plate; structure carried by slate hairlines and the calibrated Reticle Rail

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: low-contrast slate hairlines and etched calibration ticks; accents appear only as the rail pin, focus rings, chart traces, or threshold markers, never as side rails or card stripes

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1)
- **Philosophy**: settled state is the default and renders with no JavaScript; motion adds micro-lift and opacity clarification on scroll, gated behind an html.js class; respects prefers-reduced-motion; no bounce or colour sweep

## Rules

### Composition

Plot a run on one calibrated axis (the Reticle Rail): a spacious live-bench area, a left measurement gutter or evidence rail, and analytical plates aligned to content columns rather than a visible grid.

### Hierarchy

Spectral for engraved headings, IBM Plex Sans for explanation, IBM Plex Mono for all values; hierarchy comes from size, whitespace, and tabular alignment before colour.

### Density

Medium-low on a dark ground with generous gutters; tables stay information-rich but keep 14-18px vertical padding and calm hairline row separation.

### Signature

- Reticle Rail: a 1px slate axis with etched calibration ticks running edge to edge, dividing sections; data sits on it as nodes; it turns vertical to become the dashboard gutter.
- Two indicator lamps: a single phosphor-green trace marks what is live; a single sodium-amber pin marks thresholds and the records a human must lock; everything else stays slate.
- Monospace evidence capsules: square-cut plates with IBM Plex Mono tabular numerals, tiny uppercase labels, and one semantic dot (green or amber) only when meaningful.
- Non-rainbow chart grammar: slate opacity bars carry structure with exactly one green trace and one amber threshold ring in any visible chart.
- Square-cut etched plates: radius 0 modules (16 only on a few feature plates), no glass-rounded aperture cards, no coloured side rails.

## Layout

### Grid

Invisible 12-column content grid at desktop; a left measurement gutter beside a wide plotting plate on the bench; collapses to 6 then 1 column with no visible grid lines.

### Whitespace

Outer dark space is treated as material: 28-64px margins on large screens, never filled with decoration.

### Density

medium-low

### Responsive

Single-column stack on mobile with the gutter collapsed and non-essential nav/table columns hidden; only the full-bleed hero spans 100vw; contained content capped and centred on ultra-wide.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1200px
- **Wide**: 1440px

## Guidance

### Do

- Plot evidence on the Reticle Rail and let mono tabular numerals line up to the digit.
- Keep colour rationed to two lamps: green for live, amber for thresholds and human locks.
- Let slate opacity carry every chart, table, and structural surface.
- Treat the obsidian ground and outer space as a premium material; render the settled state with no JavaScript.

### Don't

- Do not add a third accent, a rainbow chart, multicolor KPI tiles, or coloured side rails / card stripes.
- Do not round modules into glass aperture cards or use in-between radii.
- Do not box the nav into a floating pill or rounded card; let it sit open across the header.
- Do not default to a white analytics surface or ship a blank pre-animation state.

### Accessibility

Body 17px on a high-contrast dark ground (text #E8EEF2 on #0B0F14); phosphor focus rings on every control; semantic colour never the sole signal (paired with label and shape); respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

calibration-plate-optical-slate-technique

### Summary

Subjects reconstructed from fine hairline contour lines on a near-dark field, with faint concentric optical guide rings, scattered registration cross-ticks, one luminous phosphor-green data trace, and one sodium-amber threshold pin.

### Subjects

- meridian transit telescopes and observatory instruments
- star fields and constellation arcs as measured plates
- optical mechanisms: gears, mounts, reticles
- light curves and orbital paths rendered as engraved traces

### Usage

One full-bleed hero per landing applying the calibration-plate technique to an observatory subject, composed with calm negative space (upper-left) so the overlay stays legible; the studio swaps the hero via --hero-image.
DESIGN.md
---
version: "alpha"
name: "Vernier"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#0B0F14"
  surface: "#121821"
  surface_2: "#0E141C"
  text: "#E8EEF2"
  muted: "#8A97A6"
  border: "#222E3A"
  accent: "#5BE6A8"
  accent_soft: "#15281F"
  accent_2: "#F2A23C"
  accent_2_soft: "#2A1E0E"
  on_accent: "#07120C"
  success: "#5BE6A8"
  warning: "#F2A23C"
  error: "#E8607A"
  info: "#6FB7FF"
typography:
  headline-lg:
    fontFamily: "Spectral"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Spectral"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "16px"
  lg: "16px"
  full: "9999px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  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_soft:
    backgroundColor: "{colors.accent_soft}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_2_soft:
    backgroundColor: "{colors.accent_2_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"
---

# Vernier

## Overview

Vernier is an observatory decision bench: every reading is plotted on one engraved calibration axis on a deep obsidian plate, where a single phosphor-green trace shows what is live and a single sodium-amber pin marks the threshold a human still has to lock.

### Values

- evidence on one axis
- rationed signal colour
- instrument-grade precision
- dark observatory ground
- a human signs the decision

### Anti-Values

- white premium analytics default
- rainbow charting
- coloured side rails or card stripes
- glass-rounded aperture cards
- blank pre-animation states

## 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 | `#0B0F14` |
| surface | `#121821` |
| surface_2 | `#0E141C` |
| text | `#E8EEF2` |
| muted | `#8A97A6` |
| border | `#222E3A` |
| accent | `#5BE6A8` |
| accent_soft | `#15281F` |
| accent_2 | `#F2A23C` |
| accent_2_soft | `#2A1E0E` |
| on_accent | `#07120C` |
| success | `#5BE6A8` |
| warning | `#F2A23C` |
| error | `#E8607A` |
| info | `#6FB7FF` |

## Typography

- **Headline-Lg**: Spectral, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Spectral, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 17px, weight 400, line-height 1.55.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

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

### Grid

Invisible 12-column content grid at desktop; a left measurement gutter beside a wide plotting plate on the bench; collapses to 6 then 1 column with no visible grid lines.

### Whitespace

Outer dark space is treated as material: 28-64px margins on large screens, never filled with decoration.

### Density

medium-low

### Responsive

Single-column stack on mobile with the gutter collapsed and non-essential nav/table columns hidden; only the full-bleed hero spans 100vw; contained content capped and centred on ultra-wide.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 768px
- **Desktop**: 1200px
- **Wide**: 1440px

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 2px rgba(0,0,0,0.4)
- **Md**: 0 14px 34px rgba(0,0,0,0.45)
- **Lg**: 0 30px 70px rgba(0,0,0,0.55)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: none; obsidian ground with raised slate plates and recessed channels, no texture
- **Card Style**: square-cut etched slate plates (radius 0; 16 only on a few feature plates), 1px slate hairline borders, ambient shadow on the dark ground, never a coloured edge
- **Treatment**: deep ink observatory plate; structure carried by slate hairlines and the calibrated Reticle Rail

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: low-contrast slate hairlines and etched calibration ticks; accents appear only as the rail pin, focus rings, chart traces, or threshold markers, never as side rails or card stripes

## Components

### Composition

Plot a run on one calibrated axis (the Reticle Rail): a spacious live-bench area, a left measurement gutter or evidence rail, and analytical plates aligned to content columns rather than a visible grid.

### Hierarchy

Spectral for engraved headings, IBM Plex Sans for explanation, IBM Plex Mono for all values; hierarchy comes from size, whitespace, and tabular alignment before colour.

### Density

Medium-low on a dark ground with generous gutters; tables stay information-rich but keep 14-18px vertical padding and calm hairline row separation.

### Signature

- Reticle Rail: a 1px slate axis with etched calibration ticks running edge to edge, dividing sections; data sits on it as nodes; it turns vertical to become the dashboard gutter.
- Two indicator lamps: a single phosphor-green trace marks what is live; a single sodium-amber pin marks thresholds and the records a human must lock; everything else stays slate.
- Monospace evidence capsules: square-cut plates with IBM Plex Mono tabular numerals, tiny uppercase labels, and one semantic dot (green or amber) only when meaningful.
- Non-rainbow chart grammar: slate opacity bars carry structure with exactly one green trace and one amber threshold ring in any visible chart.
- Square-cut etched plates: radius 0 modules (16 only on a few feature plates), no glass-rounded aperture cards, no coloured side rails.

## 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-019ef99a-18a8-7433-adff-4cbb74fa82f2/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 Plot evidence on the Reticle Rail and let mono tabular numerals line up to the digit.
- Do Keep colour rationed to two lamps: green for live, amber for thresholds and human locks.
- Do Let slate opacity carry every chart, table, and structural surface.
- Do Treat the obsidian ground and outer space as a premium material; render the settled state with no JavaScript.
- Don't Do not add a third accent, a rainbow chart, multicolor KPI tiles, or coloured side rails / card stripes.
- Don't Do not round modules into glass aperture cards or use in-between radii.
- Don't Do not box the nav into a floating pill or rounded card; let it sit open across the header.
- Don't Do not default to a white analytics surface or ship a blank pre-animation state.

### Accessibility

Body 17px on a high-contrast dark ground (text #E8EEF2 on #0B0F14); phosphor focus rings on every control; semantic colour never the sole signal (paired with label and shape); respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

calibration-plate-optical-slate-technique

### Summary

Subjects reconstructed from fine hairline contour lines on a near-dark field, with faint concentric optical guide rings, scattered registration cross-ticks, one luminous phosphor-green data trace, and one sodium-amber threshold pin.

### Subjects

- meridian transit telescopes and observatory instruments
- star fields and constellation arcs as measured plates
- optical mechanisms: gears, mounts, reticles
- light curves and orbital paths rendered as engraved traces

### Usage

One full-bleed hero per landing applying the calibration-plate technique to an observatory subject, composed with calm negative space (upper-left) so the overlay stays legible; the studio swaps the hero via --hero-image.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "vernier",
  "type": "registry:theme",
  "title": "Vernier shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#0B0F14",
      "foreground": "#E8EEF2",
      "card": "#121821",
      "card-foreground": "#E8EEF2",
      "popover": "#121821",
      "popover-foreground": "#E8EEF2",
      "primary": "#E8EEF2",
      "primary-foreground": "#111111",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#8A97A6",
      "muted-foreground": "#E8EEF2",
      "accent": "#5BE6A8",
      "accent-foreground": "#111111",
      "destructive": "#E8607A",
      "border": "#222E3A",
      "input": "#222E3A",
      "ring": "#5BE6A8",
      "chart-1": "#E8EEF2",
      "chart-2": "#f4f4f5",
      "chart-3": "#5BE6A8",
      "chart-4": "#5BE6A8",
      "chart-5": "#F2A23C",
      "sidebar": "#121821",
      "sidebar-foreground": "#E8EEF2",
      "sidebar-primary": "#E8EEF2",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#6FB7FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#222E3A",
      "sidebar-ring": "#5BE6A8",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#E8EEF2",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#5BE6A8",
      "accent-foreground": "#111111",
      "destructive": "#E8607A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#5BE6A8",
      "chart-1": "#E8EEF2",
      "chart-2": "#f4f4f5",
      "chart-3": "#5BE6A8",
      "chart-4": "#5BE6A8",
      "chart-5": "#F2A23C",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#E8EEF2",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#5BE6A8",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#5BE6A8",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef99a-18a8-7433-adff-4cbb74fa82f2",
    "slug": "vernier",
    "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_2_soft",
        "accent_soft",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "success",
        "surface",
        "surface_2",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "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 · vernier
DESIGN.md

at a glance

Typography

headline-lgSpectral · 33px · 700

The quick brown fox jumps

headline-mdSpectral · 27px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 17px · 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 Vernierand 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
Vernier
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

related

More like this