back to gallery
design language·lanthorn

Lanthorn

A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.

Download DESIGN.md

Portable DESIGN.md source of truth for most agents and apps.

the spec

specification

philosophy
summary
A lamplit paper toy-theatre read at the dusk reading hour: every product surface is staged inside a paper pop-up book, with receding cut-paper planes, a stitched page-tab spine read straight down, and one warm lantern marking the act in focus.
values
depth through staged paper planes, not flat boardsone lamp lights the focus; the dusk frames the restread progress straight down a spine, like a chapter
anti-values
×white or pale daytime defaults×flat anonymous component grids×cold enterprise-grey severity
tokens
colors20 items
bg
#1C2541
bg_deep
#141A30
bg_glow
#27315A
surface
#F6ECD8
surface2
#EFE0C4
text
#23201A
text_on_dark
#F4ECDB
muted
#6E665A
muted_dark
#9AA1BE
border
#2B2A33
accent
#F0A93B
on_accent
#23201A
curtain
#C26B4E
on_curtain
#F4ECDB
sage
#5E8C7A
on_sage
#F4ECDB
success
#5E8C7A
warning
#E0992C
error
#C25646
info
#6C8FC0
typography8 items
base size
17px
body font
Mulish
heading font
Fraunces
mono font
IBM Plex Mono
heading weight
900
heading transform
none
letter spacing
-0.005em
google fonts url
https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,500;1,9..144,600&family=Mulish:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap
radii4 items
none
0
sm
16px
md
24px
full
9999px
shadows4 items
sm
5px 6px 0 #2B2A33
md
8px 10px 0 #2B2A33, 0 22px 40px rgba(8,12,28,.45)
lg
11px 14px 0 #2B2A33, 0 34px 70px rgba(8,12,28,.55)
glow
0 0 0 6px rgba(240,169,59,.16), 0 0 60px 8px rgba(240,169,59,.30)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
treatment
paper
card style
Cut-paper cut-outs in cream or oatmeal, ringed by a thick charcoal marker outline, lifted on one offset paper-shadow block with a cream highlight patch in a corner, glowing against a deep dusk indigo ground.
bg pattern
stars
borders4 items
default width
3px
accent width
3px
style
solid
character
A uniform charcoal marker outline ringing every paper cut-out; never a single accent edge on one side.
motion3 items
duration
300ms
easing
cubic-bezier(0.34,1.2,0.4,1)
philosophy
tags lift toward the lamp, sections reveal on scroll; the settled state renders with no JS; respects prefers-reduced-motion
rules
composition
Stage each screen as a paper pop-up book: a proscenium of receding cut-paper planes framed by terracotta curtains, one lantern glow on the focus, and staggered paper modules on a deep dusk indigo ground.
hierarchy
Lead with Fraunces storybook display, then Mulish copy, then square-shouldered cut-paper tags and IBM Plex Mono numerals; sequences read down a stitched page-tab spine.
density

Moderate density with roomy gutters and clustered controls so the spread feels active but unhurried, like a bedtime page.

signature
The diorama stage + the stitched spine: receding paper planes inside a proscenium with one lantern glow, and progress read straight down a bound page-tab rail with a ribbon bookmark.
layout
grid
Hero and masthead are bound double-page spreads with a centre gutter (recto/verso); below, a narrative board of staggered paper modules; the dashboard sidebar is the book spine.
whitespace

Generous outer padding and airy vertical rhythm so paper planes breathe on the dusk ground; always pad above titles.

density

moderate

responsive
minmax(0,1fr) columns and min-width:0 children so grids never overflow; the spine collapses to a top tab bar and spreads stack to a single column on mobile; non-essential nav and table columns hide below 600px; only the hero spans 100vw; contained content caps and centres on ultra-wide.
breakpoints
desktop
1440
tablet
900
mobile
600
guidance
do
  • Light one lantern per scene and let the dusk frame the rest.
  • Keep the marker outline and one offset paper-shadow on every cut-out.
  • Read sequences down the spine; mark the current page with the ribbon bookmark.
  • Reserve honey for the lit focus, terracotta for structure, sage for done.
avoid
  • Default the ground to white or to a pale daytime sky.
  • Fall back to grey enterprise tables or flat borderless rectangles.
  • Use glossy realism, 3D skeuomorphism, or photographic heroes.
  • Stamp one shape everywhere until it becomes wallpaper.
imagery
pairs with

foldspring

summary
Foldspring cut-paper collage applied to a night subject: a paper toy-theatre lit by a single lantern, receding planes and a proscenium on a deep dusk indigo ground.
subjects
paper toy-theatre / pop-up-book stageshanging paper lanterns and their glowreceding paper hills and a cottagecrescent moon, paper stars and cloudsproscenium curtains
usage

Full-bleed lamplit theatre scenes for heroes; single layered cut-paper lanterns or cottages for features; calm sparse dusk vignettes for empty states.

katagami spec
# Lanthorn

## Philosophy

A lamplit paper toy-theatre read at the dusk reading hour: every product surface is staged inside a paper pop-up book, with receding cut-paper planes, a stitched page-tab spine read straight down, and one warm lantern marking the act in focus.

### Values

- depth through staged paper planes, not flat boards
- one lamp lights the focus; the dusk frames the rest
- read progress straight down a spine, like a chapter

### Anti-Values

- white or pale daytime defaults
- flat anonymous component grids
- cold enterprise-grey severity

### Visual Character

- Every major scene is a proscenium of three receding cut-paper planes (far, mid, near hills) framed by terracotta curtains, each plane with its own marker outline and offset paper-shadow so depth comes from stacked planes rather than a flat board.
- A single honey-gold lantern-glow halo falls on the element in focus while the rest of the spread rests in calm indigo dusk, so attention is lit rather than shouted.
- Sequences run vertically down a bound page-tab spine: done pages stitch sage, the current page glows honey under a ribbon bookmark, read top to bottom like a table of contents.
- Buttons and badges are square-shouldered cut-paper tags that rest flat then lift toward the lamp and pick up its glow on hover.
- Hero and masthead surfaces are bound double-page spreads with a visible centre gutter seam, recto and verso, on a deep dusk indigo ground.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#1C2541` |
| bg_deep | `#141A30` |
| bg_glow | `#27315A` |
| surface | `#F6ECD8` |
| surface2 | `#EFE0C4` |
| text | `#23201A` |
| text_on_dark | `#F4ECDB` |
| muted | `#6E665A` |
| muted_dark | `#9AA1BE` |
| border | `#2B2A33` |
| accent | `#F0A93B` |
| on_accent | `#23201A` |
| curtain | `#C26B4E` |
| on_curtain | `#F4ECDB` |
| sage | `#5E8C7A` |
| on_sage | `#F4ECDB` |
| success | `#5E8C7A` |
| warning | `#E0992C` |
| error | `#C25646` |
| info | `#6C8FC0` |

### Typography

- **Base Size**: 17px
- **Body Font**: Mulish
- **Heading Font**: Fraunces
- **Mono Font**: IBM Plex Mono
- **Heading Weight**: 900
- **Heading Transform**: none
- **Letter Spacing**: -0.005em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,500;1,9..144,600&family=Mulish:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap

### Radii

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

### Shadows

- **Sm**: 5px 6px 0 #2B2A33
- **Md**: 8px 10px 0 #2B2A33, 0 22px 40px rgba(8,12,28,.45)
- **Lg**: 11px 14px 0 #2B2A33, 0 34px 70px rgba(8,12,28,.55)
- **Glow**: 0 0 0 6px rgba(240,169,59,.16), 0 0 60px 8px rgba(240,169,59,.30)

### Spacing

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

### Surfaces

- **Treatment**: paper
- **Card Style**: Cut-paper cut-outs in cream or oatmeal, ringed by a thick charcoal marker outline, lifted on one offset paper-shadow block with a cream highlight patch in a corner, glowing against a deep dusk indigo ground.
- **Bg Pattern**: stars

### Borders

- **Default Width**: 3px
- **Accent Width**: 3px
- **Style**: solid
- **Character**: A uniform charcoal marker outline ringing every paper cut-out; never a single accent edge on one side.

### Motion

- **Duration**: 300ms
- **Easing**: cubic-bezier(0.34,1.2,0.4,1)
- **Philosophy**: tags lift toward the lamp, sections reveal on scroll; the settled state renders with no JS; respects prefers-reduced-motion

## Rules

### Composition

Stage each screen as a paper pop-up book: a proscenium of receding cut-paper planes framed by terracotta curtains, one lantern glow on the focus, and staggered paper modules on a deep dusk indigo ground.

### Hierarchy

Lead with Fraunces storybook display, then Mulish copy, then square-shouldered cut-paper tags and IBM Plex Mono numerals; sequences read down a stitched page-tab spine.

### Density

Moderate density with roomy gutters and clustered controls so the spread feels active but unhurried, like a bedtime page.

### Signature

The diorama stage + the stitched spine: receding paper planes inside a proscenium with one lantern glow, and progress read straight down a bound page-tab rail with a ribbon bookmark.

## Layout

### Grid

Hero and masthead are bound double-page spreads with a centre gutter (recto/verso); below, a narrative board of staggered paper modules; the dashboard sidebar is the book spine.

### Whitespace

Generous outer padding and airy vertical rhythm so paper planes breathe on the dusk ground; always pad above titles.

### Density

moderate

### Responsive

minmax(0,1fr) columns and min-width:0 children so grids never overflow; the spine collapses to a top tab bar and spreads stack to a single column on mobile; non-essential nav and table columns hide below 600px; only the hero spans 100vw; contained content caps and centres on ultra-wide.

### Breakpoints

- **Desktop**: 1440
- **Tablet**: 900
- **Mobile**: 600

## Guidance

### Do

- Light one lantern per scene and let the dusk frame the rest.
- Keep the marker outline and one offset paper-shadow on every cut-out.
- Read sequences down the spine; mark the current page with the ribbon bookmark.
- Reserve honey for the lit focus, terracotta for structure, sage for done.

### Don't

- Default the ground to white or to a pale daytime sky.
- Fall back to grey enterprise tables or flat borderless rectangles.
- Use glossy realism, 3D skeuomorphism, or photographic heroes.
- Stamp one shape everywhere until it becomes wallpaper.

### Accessibility

High-contrast ink on warm paper and cream ink on the dusk ground; 17px+ body; SVG icons and carets, never symbol glyphs; every form control explicitly styled with a lantern-glow focus ring; respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

foldspring

### Summary

Foldspring cut-paper collage applied to a night subject: a paper toy-theatre lit by a single lantern, receding planes and a proscenium on a deep dusk indigo ground.

### Subjects

- paper toy-theatre / pop-up-book stages
- hanging paper lanterns and their glow
- receding paper hills and a cottage
- crescent moon, paper stars and clouds
- proscenium curtains

### Usage

Full-bleed lamplit theatre scenes for heroes; single layered cut-paper lanterns or cottages for features; calm sparse dusk vignettes for empty states.
DESIGN.md
---
version: "alpha"
name: "Lanthorn"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#1C2541"
  bg_deep: "#141A30"
  bg_glow: "#27315A"
  surface: "#F6ECD8"
  surface2: "#EFE0C4"
  text: "#23201A"
  text_on_dark: "#F4ECDB"
  muted: "#6E665A"
  muted_dark: "#9AA1BE"
  border: "#2B2A33"
  accent: "#F0A93B"
  on_accent: "#23201A"
  curtain: "#C26B4E"
  on_curtain: "#F4ECDB"
  sage: "#5E8C7A"
  on_sage: "#F4ECDB"
  success: "#5E8C7A"
  warning: "#E0992C"
  error: "#C25646"
  info: "#6C8FC0"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.005em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.005em"
  body-md:
    fontFamily: "Mulish"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.005em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "16px"
  md: "24px"
  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-bg_deep:
    backgroundColor: "{colors.bg_deep}"
  color-reference-bg_glow:
    backgroundColor: "{colors.bg_glow}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface2:
    backgroundColor: "{colors.surface2}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-text_on_dark:
    backgroundColor: "{colors.text_on_dark}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-muted_dark:
    backgroundColor: "{colors.muted_dark}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-curtain:
    backgroundColor: "{colors.curtain}"
  color-reference-on_curtain:
    backgroundColor: "{colors.on_curtain}"
  color-reference-sage:
    backgroundColor: "{colors.sage}"
  color-reference-on_sage:
    backgroundColor: "{colors.on_sage}"
  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"
---

# Lanthorn

## Overview

A lamplit paper toy-theatre read at the dusk reading hour: every product surface is staged inside a paper pop-up book, with receding cut-paper planes, a stitched page-tab spine read straight down, and one warm lantern marking the act in focus.

### Values

- depth through staged paper planes, not flat boards
- one lamp lights the focus; the dusk frames the rest
- read progress straight down a spine, like a chapter

### Anti-Values

- white or pale daytime defaults
- flat anonymous component grids
- cold enterprise-grey severity

### Visual Character

- Every major scene is a proscenium of three receding cut-paper planes (far, mid, near hills) framed by terracotta curtains, each plane with its own marker outline and offset paper-shadow so depth comes from stacked planes rather than a flat board.
- A single honey-gold lantern-glow halo falls on the element in focus while the rest of the spread rests in calm indigo dusk, so attention is lit rather than shouted.
- Sequences run vertically down a bound page-tab spine: done pages stitch sage, the current page glows honey under a ribbon bookmark, read top to bottom like a table of contents.
- Buttons and badges are square-shouldered cut-paper tags that rest flat then lift toward the lamp and pick up its glow on hover.
- Hero and masthead surfaces are bound double-page spreads with a visible centre gutter seam, recto and verso, on a deep dusk indigo ground.

## 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 | `#1C2541` |
| bg_deep | `#141A30` |
| bg_glow | `#27315A` |
| surface | `#F6ECD8` |
| surface2 | `#EFE0C4` |
| text | `#23201A` |
| text_on_dark | `#F4ECDB` |
| muted | `#6E665A` |
| muted_dark | `#9AA1BE` |
| border | `#2B2A33` |
| accent | `#F0A93B` |
| on_accent | `#23201A` |
| curtain | `#C26B4E` |
| on_curtain | `#F4ECDB` |
| sage | `#5E8C7A` |
| on_sage | `#F4ECDB` |
| success | `#5E8C7A` |
| warning | `#E0992C` |
| error | `#C25646` |
| info | `#6C8FC0` |

## Typography

- **Headline-Lg**: Fraunces, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Mulish, 17px, weight 400, line-height 1.5.
- **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

Hero and masthead are bound double-page spreads with a centre gutter (recto/verso); below, a narrative board of staggered paper modules; the dashboard sidebar is the book spine.

### Whitespace

Generous outer padding and airy vertical rhythm so paper planes breathe on the dusk ground; always pad above titles.

### Density

moderate

### Responsive

minmax(0,1fr) columns and min-width:0 children so grids never overflow; the spine collapses to a top tab bar and spreads stack to a single column on mobile; non-essential nav and table columns hide below 600px; only the hero spans 100vw; contained content caps and centres on ultra-wide.

### Breakpoints

- **Desktop**: 1440
- **Tablet**: 900
- **Mobile**: 600

## Elevation & Depth

### Shadows

- **Sm**: 5px 6px 0 #2B2A33
- **Md**: 8px 10px 0 #2B2A33, 0 22px 40px rgba(8,12,28,.45)
- **Lg**: 11px 14px 0 #2B2A33, 0 34px 70px rgba(8,12,28,.55)
- **Glow**: 0 0 0 6px rgba(240,169,59,.16), 0 0 60px 8px rgba(240,169,59,.30)

## Shapes

### Rounded

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

### Surfaces

- **Treatment**: paper
- **Card Style**: Cut-paper cut-outs in cream or oatmeal, ringed by a thick charcoal marker outline, lifted on one offset paper-shadow block with a cream highlight patch in a corner, glowing against a deep dusk indigo ground.
- **Bg Pattern**: stars

### Borders

- **Default Width**: 3px
- **Accent Width**: 3px
- **Style**: solid
- **Character**: A uniform charcoal marker outline ringing every paper cut-out; never a single accent edge on one side.

## Components

### Composition

Stage each screen as a paper pop-up book: a proscenium of receding cut-paper planes framed by terracotta curtains, one lantern glow on the focus, and staggered paper modules on a deep dusk indigo ground.

### Hierarchy

Lead with Fraunces storybook display, then Mulish copy, then square-shouldered cut-paper tags and IBM Plex Mono numerals; sequences read down a stitched page-tab spine.

### Density

Moderate density with roomy gutters and clustered controls so the spread feels active but unhurried, like a bedtime page.

### Signature

The diorama stage + the stitched spine: receding paper planes inside a proscenium with one lantern glow, and progress read straight down a bound page-tab rail with a ribbon bookmark.

## 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-019ef8ff-f5ba-7533-ba92-8f1ba3beb298/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 Light one lantern per scene and let the dusk frame the rest.
- Do Keep the marker outline and one offset paper-shadow on every cut-out.
- Do Read sequences down the spine; mark the current page with the ribbon bookmark.
- Do Reserve honey for the lit focus, terracotta for structure, sage for done.
- Don't Default the ground to white or to a pale daytime sky.
- Don't Fall back to grey enterprise tables or flat borderless rectangles.
- Don't Use glossy realism, 3D skeuomorphism, or photographic heroes.
- Don't Stamp one shape everywhere until it becomes wallpaper.

### Accessibility

High-contrast ink on warm paper and cream ink on the dusk ground; 17px+ body; SVG icons and carets, never symbol glyphs; every form control explicitly styled with a lantern-glow focus ring; respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

foldspring

### Summary

Foldspring cut-paper collage applied to a night subject: a paper toy-theatre lit by a single lantern, receding planes and a proscenium on a deep dusk indigo ground.

### Subjects

- paper toy-theatre / pop-up-book stages
- hanging paper lanterns and their glow
- receding paper hills and a cottage
- crescent moon, paper stars and clouds
- proscenium curtains

### Usage

Full-bleed lamplit theatre scenes for heroes; single layered cut-paper lanterns or cottages for features; calm sparse dusk vignettes for empty states.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "lanthorn",
  "type": "registry:theme",
  "title": "Lanthorn shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#1C2541",
      "foreground": "#23201A",
      "card": "#F6ECD8",
      "card-foreground": "#23201A",
      "popover": "#F6ECD8",
      "popover-foreground": "#23201A",
      "primary": "#23201A",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6E665A",
      "muted-foreground": "#23201A",
      "accent": "#F0A93B",
      "accent-foreground": "#ffffff",
      "destructive": "#C25646",
      "border": "#2B2A33",
      "input": "#2B2A33",
      "ring": "#F0A93B",
      "chart-1": "#23201A",
      "chart-2": "#f4f4f5",
      "chart-3": "#F0A93B",
      "chart-4": "#5E8C7A",
      "chart-5": "#E0992C",
      "sidebar": "#F6ECD8",
      "sidebar-foreground": "#23201A",
      "sidebar-primary": "#23201A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6C8FC0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#2B2A33",
      "sidebar-ring": "#F0A93B",
      "radius": "24px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#23201A",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#F0A93B",
      "accent-foreground": "#ffffff",
      "destructive": "#C25646",
      "border": "#303642",
      "input": "#303642",
      "ring": "#F0A93B",
      "chart-1": "#23201A",
      "chart-2": "#f4f4f5",
      "chart-3": "#F0A93B",
      "chart-4": "#5E8C7A",
      "chart-5": "#E0992C",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#23201A",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#F0A93B",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#F0A93B",
      "radius": "24px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef8ff-f5ba-7533-ba92-8f1ba3beb298",
    "slug": "lanthorn",
    "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",
        "bg_deep",
        "bg_glow",
        "border",
        "curtain",
        "error",
        "info",
        "muted",
        "muted_dark",
        "on_accent",
        "on_curtain",
        "on_sage",
        "sage",
        "success",
        "surface",
        "surface2",
        "text",
        "text_on_dark",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "mono_font"
      ],
      "radii": [
        "full",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "glow",
        "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 · lanthorn
DESIGN.md

at a glance

Typography

headline-lgFraunces · 33px · 700

The quick brown fox jumps

headline-mdFraunces · 27px · 600

The quick brown fox jumps

body-mdMulish · 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 Lanthornand 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
Lanthorn
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

Evolved from
related

More like this