back to gallery
design language·aurora

Aurora

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
Aurora reads a system the way an oscilloscope reads a circuit: one luminous aqua trace riding a measured graticule on an indigo-violet night. You watch the line, and the line tells you everything — a signal surface, not a wall of rows.
values
The signal is the interface — a trace beats a thousand rowsA measured graticule grounds every value in amplitude and timeAqua is nominal; scarce magenta and gold mean an event happenedTwo-typeface instrument voice: condensed labels, mono data
anti-values
×Three-column command-rail-plus-telemetry console layouts×Terminal syntax-mark prefixes and stamped corner ticks on every panel×Rainbow neon excess; green-screen nostalgia; grey borders×Walls of tabular command-output rows in place of a plotted trace
tokens
colors17 items
bg
#0B0A1E
surface
#131233
recess
#0E0D26
text
#E9ECFF
muted
#8F92C8
primary
#54F2E6
secondary
#0E0D26
accent
#54F2E6
on_accent
#06121A
magenta
#FF6AC2
gold
#FFC75A
success
#54F2E6
warning
#FFC75A
error
#FF6AC2
info
#8AB4FF
border
#2A2960
grid
#1C1B45
typography10 items
base size
17px
body font
Archivo
heading font
Saira Condensed
mono font
Spline Sans Mono
heading weight
600
heading transform
none
letter spacing
-0.01em
line height
1.6
scale ratio
1.2
google fonts url
https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@400;500;600;700&family=Archivo:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600&display=swap
radii5 items
none
0
sm
0
md
16px
lg
16px
full
9999px
shadows4 items
sm
0 0 10px rgba(84,242,230,0.30)
md
0 0 28px rgba(84,242,230,0.22)
lg
0 0 64px rgba(84,242,230,0.18)
focus
inset 0 0 0 1px #54F2E6, 0 0 10px rgba(84,242,230,0.30)
spacing2 items
base
8px
scale
6, 12, 20, 32, 48, 72, 112
surfaces3 items
bg pattern
graticule
card style
Flat indigo-violet bands with a measured graticule grid, soft cyan phosphor bloom, 16px radius, no borders; the live aqua trace is always the brightest element.
treatment
phosphor-glow
borders4 items
default width
0
accent width
2px
style
none
character
No borders; separation comes from surface, cyan bloom, and the graticule division lines. Faint violet graticule lines (#2A2960 / #1C1B45) measure every band.
motion3 items
duration
160ms
easing
cubic-bezier(.2,.7,.2,1)
philosophy
Snappy and meaningful: the trace draws on, sections rise once. The settled fully-rendered page is the default with no JS; motion is layered on top and respects prefers-reduced-motion.
rules
composition
Strip-chart sweep: an open masthead nav across the header, then full-width sweep bands stacked down the page like a recorder strip — no command rail, no telemetry column. A continuous luminous trace threads the page over a measured graticule.
hierarchy
Hierarchy comes from phosphor brightness (aqua is brightest = the live signal), condensed display headings, and tabular mono numerics; scarce magenta/gold mark only threshold crossings.
density
Comfortable, instrument-grade: generous band padding, traces and graticule given room to read; numbers stay tabular and right-aligned so a column scans at a glance.
signature
Continuous luminous aqua trace over a measured graticule; full-width sweep bands; scarce magenta/gold peak markers at threshold crossings; soft cyan bloom in place of shadow; two-typeface instrument voice (Saira Condensed + Spline Sans Mono).
layout
grid
Full-width sweep bands stacked vertically; the dashboard uses a 12-column band grid (8/4 splits) that collapses to single column. No fixed command rail or telemetry column. Internal rhythm on an 8px base.
whitespace

Comfortable and measured: bands get 32px padding, traces and graticule wells get room to breathe; titles always padded above.

density

medium

responsive
minmax(0,1fr) columns and min-width:0 children so grids never blow out; single column on mobile with non-essential nav hidden; only the hero is full-bleed (100vw x 100svh); contained content capped and centred on ultra-wide.
breakpoints
mobile
< 760px single stacked column, nav hidden
tablet
760-1099px bands stack, 12-col splits collapse to 6/12
desktop
>= 1100px full 12-column band grid
ultrawide
>= 1600px contained content capped and centred
guidance
do
  • Keep the aqua trace the brightest element on screen; everything quieter recedes.
  • Plot data as a continuous trace on a graticule; right-align numbers in Spline Sans Mono.
  • Use magenta and gold only at a threshold crossing — a peak, a reserve floor.
  • Open on a full-bleed luminous waveform hero with the headline set low and left.
  • Build separation with surface, cyan bloom, and graticule lines — never grey borders.
avoid
  • Do not fall back to a three-column command-rail-plus-telemetry console layout.
  • Do not prefix labels with terminal syntax marks ($ > ::) or stamp corner ticks on panels.
  • Do not tip the palette into rainbow neon; aqua leads, magenta and gold stay scarce.
  • Do not use emoji on buttons or symbol-font glyphs in copy; use SVG/CSS primitives.
  • Do not hide the page behind a JS-only reveal; the settled state must render with no JS.
imagery
pairs with

lumiphor

summary
Luminous phosphor CRT vector-trace technique tuned to an aqua-cyan signal on a deep indigo-violet ground; subjects render as a single sweeping waveform/aurora ribbon over a faint graticule, scanlines and bloom as texture, scarce magenta/gold flecks at signal peaks.
subjects
a sweeping oscilloscope waveform ribbonan aurora-like signal trace over a graticulea single luminous contour of a measured phenomenon
usage
One full-bleed hero waveform with calm dark space lower-left for the headline overlay; sparklines and composite sweeps inside bands echo the same trace technique.
katagami spec
# Aurora

## Philosophy

Aurora reads a system the way an oscilloscope reads a circuit: one luminous aqua trace riding a measured graticule on an indigo-violet night. You watch the line, and the line tells you everything — a signal surface, not a wall of rows.

### Values

- The signal is the interface — a trace beats a thousand rows
- A measured graticule grounds every value in amplitude and time
- Aqua is nominal; scarce magenta and gold mean an event happened
- Two-typeface instrument voice: condensed labels, mono data

### Anti-Values

- Three-column command-rail-plus-telemetry console layouts
- Terminal syntax-mark prefixes and stamped corner ticks on every panel
- Rainbow neon excess; green-screen nostalgia; grey borders
- Walls of tabular command-output rows in place of a plotted trace

### Visual Character

- A single continuous luminous polyline is the load-bearing element — it threads the landing as a divider, rides a baseline in the embodiment, and becomes the live data plot in the dashboard.
- Every surface carries a fine measured graticule grid; the grid is the layout, and content stacks in full-width sweep bands like a strip-chart recorder rather than in a rail-and-column grid.
- The interface sits on a deep indigo-violet night ground with aqua-cyan phosphor as the brightest element and soft cyan bloom standing in for shadow.
- Headings are condensed Saira; numerics, status tokens and micro-labels are Spline Sans Mono, tabular and right-aligned; body is Archivo.
- Magenta and gold appear only at threshold crossings — a peak marker, a reserve floor — never as primary colour.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#0B0A1E` |
| surface | `#131233` |
| recess | `#0E0D26` |
| text | `#E9ECFF` |
| muted | `#8F92C8` |
| primary | `#54F2E6` |
| secondary | `#0E0D26` |
| accent | `#54F2E6` |
| on_accent | `#06121A` |
| magenta | `#FF6AC2` |
| gold | `#FFC75A` |
| success | `#54F2E6` |
| warning | `#FFC75A` |
| error | `#FF6AC2` |
| info | `#8AB4FF` |
| border | `#2A2960` |
| grid | `#1C1B45` |

### Typography

- **Base Size**: 17px
- **Body Font**: Archivo
- **Heading Font**: Saira Condensed
- **Mono Font**: Spline Sans Mono
- **Heading Weight**: 600
- **Heading Transform**: none
- **Letter Spacing**: -0.01em
- **Line Height**: 1.6
- **Scale Ratio**: 1.2
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@400;500;600;700&family=Archivo:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500;600&display=swap

### Radii

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

### Shadows

- **Sm**: 0 0 10px rgba(84,242,230,0.30)
- **Md**: 0 0 28px rgba(84,242,230,0.22)
- **Lg**: 0 0 64px rgba(84,242,230,0.18)
- **Focus**: inset 0 0 0 1px #54F2E6, 0 0 10px rgba(84,242,230,0.30)

### Spacing

- **Base**: 8px
- **Scale**: [6,12,20,32,48,72,112]

### Surfaces

- **Bg Pattern**: graticule
- **Card Style**: Flat indigo-violet bands with a measured graticule grid, soft cyan phosphor bloom, 16px radius, no borders; the live aqua trace is always the brightest element.
- **Treatment**: phosphor-glow

### Borders

- **Default Width**: 0
- **Accent Width**: 2px
- **Style**: none
- **Character**: No borders; separation comes from surface, cyan bloom, and the graticule division lines. Faint violet graticule lines (#2A2960 / #1C1B45) measure every band.

### Motion

- **Duration**: 160ms
- **Easing**: cubic-bezier(.2,.7,.2,1)
- **Philosophy**: Snappy and meaningful: the trace draws on, sections rise once. The settled fully-rendered page is the default with no JS; motion is layered on top and respects prefers-reduced-motion.

## Rules

### Composition

Strip-chart sweep: an open masthead nav across the header, then full-width sweep bands stacked down the page like a recorder strip — no command rail, no telemetry column. A continuous luminous trace threads the page over a measured graticule.

### Hierarchy

Hierarchy comes from phosphor brightness (aqua is brightest = the live signal), condensed display headings, and tabular mono numerics; scarce magenta/gold mark only threshold crossings.

### Density

Comfortable, instrument-grade: generous band padding, traces and graticule given room to read; numbers stay tabular and right-aligned so a column scans at a glance.

### Signature

Continuous luminous aqua trace over a measured graticule; full-width sweep bands; scarce magenta/gold peak markers at threshold crossings; soft cyan bloom in place of shadow; two-typeface instrument voice (Saira Condensed + Spline Sans Mono).

## Layout

### Grid

Full-width sweep bands stacked vertically; the dashboard uses a 12-column band grid (8/4 splits) that collapses to single column. No fixed command rail or telemetry column. Internal rhythm on an 8px base.

### Whitespace

Comfortable and measured: bands get 32px padding, traces and graticule wells get room to breathe; titles always padded above.

### Density

medium

### Responsive

minmax(0,1fr) columns and min-width:0 children so grids never blow out; single column on mobile with non-essential nav hidden; only the hero is full-bleed (100vw x 100svh); contained content capped and centred on ultra-wide.

### Breakpoints

- **Mobile**: < 760px single stacked column, nav hidden
- **Tablet**: 760-1099px bands stack, 12-col splits collapse to 6/12
- **Desktop**: >= 1100px full 12-column band grid
- **Ultrawide**: >= 1600px contained content capped and centred

## Guidance

### Do

- Keep the aqua trace the brightest element on screen; everything quieter recedes.
- Plot data as a continuous trace on a graticule; right-align numbers in Spline Sans Mono.
- Use magenta and gold only at a threshold crossing — a peak, a reserve floor.
- Open on a full-bleed luminous waveform hero with the headline set low and left.
- Build separation with surface, cyan bloom, and graticule lines — never grey borders.

### Don't

- Do not fall back to a three-column command-rail-plus-telemetry console layout.
- Do not prefix labels with terminal syntax marks ($ > ::) or stamp corner ticks on panels.
- Do not tip the palette into rainbow neon; aqua leads, magenta and gold stay scarce.
- Do not use emoji on buttons or symbol-font glyphs in copy; use SVG/CSS primitives.
- Do not hide the page behind a JS-only reveal; the settled state must render with no JS.

### Accessibility

High-contrast phosphor text (#E9ECFF) on indigo ground (>= 7:1 for body). Status is never colour alone — every token carries a dot plus an uppercase label. Every interactive control has a visible focus state (inset aqua ring + bloom). Motion respects prefers-reduced-motion; the no-JS render is the full settled page.

## Imagery Direction

### Pairs With

lumiphor

### Summary

Luminous phosphor CRT vector-trace technique tuned to an aqua-cyan signal on a deep indigo-violet ground; subjects render as a single sweeping waveform/aurora ribbon over a faint graticule, scanlines and bloom as texture, scarce magenta/gold flecks at signal peaks.

### Subjects

- a sweeping oscilloscope waveform ribbon
- an aurora-like signal trace over a graticule
- a single luminous contour of a measured phenomenon

### Usage

One full-bleed hero waveform with calm dark space lower-left for the headline overlay; sparklines and composite sweeps inside bands echo the same trace technique.
DESIGN.md
---
version: "alpha"
name: "Aurora"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#0B0A1E"
  surface: "#131233"
  recess: "#0E0D26"
  text: "#E9ECFF"
  muted: "#8F92C8"
  primary: "#54F2E6"
  secondary: "#0E0D26"
  accent: "#54F2E6"
  on_accent: "#06121A"
  magenta: "#FF6AC2"
  gold: "#FFC75A"
  success: "#54F2E6"
  warning: "#FFC75A"
  error: "#FF6AC2"
  info: "#8AB4FF"
  border: "#2A2960"
  grid: "#1C1B45"
typography:
  headline-lg:
    fontFamily: "Saira Condensed"
    fontSize: "1.836rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Saira Condensed"
    fontSize: "1.53rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "Archivo"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.6
    letterSpacing: "-0.01em"
  label-md:
    fontFamily: "Spline Sans 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: "6px"
  sm: "12px"
  md: "20px"
  lg: "32px"
  xl: "48px"
  2xl: "72px"
  3xl: "112px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-recess:
    backgroundColor: "{colors.recess}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-magenta:
    backgroundColor: "{colors.magenta}"
  color-reference-gold:
    backgroundColor: "{colors.gold}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-grid:
    backgroundColor: "{colors.grid}"
  button-primary:
    backgroundColor: "{colors.primary}"
    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"
---

# Aurora

## Overview

Aurora reads a system the way an oscilloscope reads a circuit: one luminous aqua trace riding a measured graticule on an indigo-violet night. You watch the line, and the line tells you everything — a signal surface, not a wall of rows.

### Values

- The signal is the interface — a trace beats a thousand rows
- A measured graticule grounds every value in amplitude and time
- Aqua is nominal; scarce magenta and gold mean an event happened
- Two-typeface instrument voice: condensed labels, mono data

### Anti-Values

- Three-column command-rail-plus-telemetry console layouts
- Terminal syntax-mark prefixes and stamped corner ticks on every panel
- Rainbow neon excess; green-screen nostalgia; grey borders
- Walls of tabular command-output rows in place of a plotted trace

### Visual Character

- A single continuous luminous polyline is the load-bearing element — it threads the landing as a divider, rides a baseline in the embodiment, and becomes the live data plot in the dashboard.
- Every surface carries a fine measured graticule grid; the grid is the layout, and content stacks in full-width sweep bands like a strip-chart recorder rather than in a rail-and-column grid.
- The interface sits on a deep indigo-violet night ground with aqua-cyan phosphor as the brightest element and soft cyan bloom standing in for shadow.
- Headings are condensed Saira; numerics, status tokens and micro-labels are Spline Sans Mono, tabular and right-aligned; body is Archivo.
- Magenta and gold appear only at threshold crossings — a peak marker, a reserve floor — never as primary colour.

## 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 | `#0B0A1E` |
| surface | `#131233` |
| recess | `#0E0D26` |
| text | `#E9ECFF` |
| muted | `#8F92C8` |
| primary | `#54F2E6` |
| secondary | `#0E0D26` |
| accent | `#54F2E6` |
| on_accent | `#06121A` |
| magenta | `#FF6AC2` |
| gold | `#FFC75A` |
| success | `#54F2E6` |
| warning | `#FFC75A` |
| error | `#FF6AC2` |
| info | `#8AB4FF` |
| border | `#2A2960` |
| grid | `#1C1B45` |

## Typography

- **Headline-Lg**: Saira Condensed, 1.836rem, weight 700, line-height 1.1.
- **Headline-Md**: Saira Condensed, 1.53rem, weight 600, line-height 1.15.
- **Body-Md**: Archivo, 17px, weight 400, line-height 1.6.
- **Label-Md**: Spline Sans Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `6px`
- **Sm**: `12px`
- **Md**: `20px`
- **Lg**: `32px`
- **Xl**: `48px`
- **2xl**: `72px`
- **3xl**: `112px`

### Grid

Full-width sweep bands stacked vertically; the dashboard uses a 12-column band grid (8/4 splits) that collapses to single column. No fixed command rail or telemetry column. Internal rhythm on an 8px base.

### Whitespace

Comfortable and measured: bands get 32px padding, traces and graticule wells get room to breathe; titles always padded above.

### Density

medium

### Responsive

minmax(0,1fr) columns and min-width:0 children so grids never blow out; single column on mobile with non-essential nav hidden; only the hero is full-bleed (100vw x 100svh); contained content capped and centred on ultra-wide.

### Breakpoints

- **Mobile**: < 760px single stacked column, nav hidden
- **Tablet**: 760-1099px bands stack, 12-col splits collapse to 6/12
- **Desktop**: >= 1100px full 12-column band grid
- **Ultrawide**: >= 1600px contained content capped and centred

## Elevation & Depth

### Shadows

- **Sm**: 0 0 10px rgba(84,242,230,0.30)
- **Md**: 0 0 28px rgba(84,242,230,0.22)
- **Lg**: 0 0 64px rgba(84,242,230,0.18)
- **Focus**: inset 0 0 0 1px #54F2E6, 0 0 10px rgba(84,242,230,0.30)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: graticule
- **Card Style**: Flat indigo-violet bands with a measured graticule grid, soft cyan phosphor bloom, 16px radius, no borders; the live aqua trace is always the brightest element.
- **Treatment**: phosphor-glow

### Borders

- **Default Width**: 0
- **Accent Width**: 2px
- **Style**: none
- **Character**: No borders; separation comes from surface, cyan bloom, and the graticule division lines. Faint violet graticule lines (#2A2960 / #1C1B45) measure every band.

## Components

### Composition

Strip-chart sweep: an open masthead nav across the header, then full-width sweep bands stacked down the page like a recorder strip — no command rail, no telemetry column. A continuous luminous trace threads the page over a measured graticule.

### Hierarchy

Hierarchy comes from phosphor brightness (aqua is brightest = the live signal), condensed display headings, and tabular mono numerics; scarce magenta/gold mark only threshold crossings.

### Density

Comfortable, instrument-grade: generous band padding, traces and graticule given room to read; numbers stay tabular and right-aligned so a column scans at a glance.

### Signature

Continuous luminous aqua trace over a measured graticule; full-width sweep bands; scarce magenta/gold peak markers at threshold crossings; soft cyan bloom in place of shadow; two-typeface instrument voice (Saira Condensed + Spline Sans Mono).

## 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-019ef865-d349-7fa3-9cfd-7f4b2d4beb82/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 Keep the aqua trace the brightest element on screen; everything quieter recedes.
- Do Plot data as a continuous trace on a graticule; right-align numbers in Spline Sans Mono.
- Do Use magenta and gold only at a threshold crossing — a peak, a reserve floor.
- Do Open on a full-bleed luminous waveform hero with the headline set low and left.
- Do Build separation with surface, cyan bloom, and graticule lines — never grey borders.
- Don't Do not fall back to a three-column command-rail-plus-telemetry console layout.
- Don't Do not prefix labels with terminal syntax marks ($ > ::) or stamp corner ticks on panels.
- Don't Do not tip the palette into rainbow neon; aqua leads, magenta and gold stay scarce.
- Don't Do not use emoji on buttons or symbol-font glyphs in copy; use SVG/CSS primitives.
- Don't Do not hide the page behind a JS-only reveal; the settled state must render with no JS.

### Accessibility

High-contrast phosphor text (#E9ECFF) on indigo ground (>= 7:1 for body). Status is never colour alone — every token carries a dot plus an uppercase label. Every interactive control has a visible focus state (inset aqua ring + bloom). Motion respects prefers-reduced-motion; the no-JS render is the full settled page.

## Imagery Direction

### Pairs With

lumiphor

### Summary

Luminous phosphor CRT vector-trace technique tuned to an aqua-cyan signal on a deep indigo-violet ground; subjects render as a single sweeping waveform/aurora ribbon over a faint graticule, scanlines and bloom as texture, scarce magenta/gold flecks at signal peaks.

### Subjects

- a sweeping oscilloscope waveform ribbon
- an aurora-like signal trace over a graticule
- a single luminous contour of a measured phenomenon

### Usage

One full-bleed hero waveform with calm dark space lower-left for the headline overlay; sparklines and composite sweeps inside bands echo the same trace technique.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "aurora",
  "type": "registry:theme",
  "title": "Aurora shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#0B0A1E",
      "foreground": "#E9ECFF",
      "card": "#131233",
      "card-foreground": "#E9ECFF",
      "popover": "#131233",
      "popover-foreground": "#E9ECFF",
      "primary": "#54F2E6",
      "primary-foreground": "#111111",
      "secondary": "#0E0D26",
      "secondary-foreground": "#ffffff",
      "muted": "#8F92C8",
      "muted-foreground": "#E9ECFF",
      "accent": "#54F2E6",
      "accent-foreground": "#111111",
      "destructive": "#FF6AC2",
      "border": "#2A2960",
      "input": "#2A2960",
      "ring": "#54F2E6",
      "chart-1": "#54F2E6",
      "chart-2": "#0E0D26",
      "chart-3": "#54F2E6",
      "chart-4": "#54F2E6",
      "chart-5": "#FFC75A",
      "sidebar": "#131233",
      "sidebar-foreground": "#E9ECFF",
      "sidebar-primary": "#54F2E6",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#8AB4FF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#2A2960",
      "sidebar-ring": "#54F2E6",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#54F2E6",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#54F2E6",
      "accent-foreground": "#111111",
      "destructive": "#FF6AC2",
      "border": "#303642",
      "input": "#303642",
      "ring": "#54F2E6",
      "chart-1": "#54F2E6",
      "chart-2": "#0E0D26",
      "chart-3": "#54F2E6",
      "chart-4": "#54F2E6",
      "chart-5": "#FFC75A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#54F2E6",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#54F2E6",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#54F2E6",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef865-d349-7fa3-9cfd-7f4b2d4beb82",
    "slug": "aurora",
    "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",
        "bg",
        "border",
        "error",
        "gold",
        "grid",
        "info",
        "magenta",
        "muted",
        "on_accent",
        "primary",
        "recess",
        "secondary",
        "success",
        "surface",
        "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",
        "sm"
      ],
      "shadows": [
        "focus",
        "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 · aurora
DESIGN.md

at a glance

Typography

headline-lgSaira Condensed · 29px · 700

The quick brown fox jumps

headline-mdSaira Condensed · 24px · 600

The quick brown fox jumps

body-mdArchivo · 17px · 400

The quick brown fox jumps

label-mdSpline Sans Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

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

Family

Evolved from
related

More like this