back to gallery

Casement

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
Casement traps near-monochrome inked subjects — an eye, a hand at the glass, an empty room — inside translucent aqua browser chrome. A window that opens like a captured browser pane: connection rendered as both promise and surveillance, where every warm gesture carries one small trace of being watched.
values
The inked monochrome subject dominates; aqua glass dresses it as luminous interface material, never decoration.Browser chrome is the architecture — tabs, address bars, scroll gutters, coordinate rails, stepped meters shape the page.Connection feels beautiful but never fully private; one tiny coral tick marks the moment a pane is watched.Theatrical fields of pale ice or near-black create the emotional pause before dense terminal overlays appear.Pixel-era controls are drawn with care: beveled, tiny, hard-cornered, composed with editorial precision.Human presence stays partial and cropped — implied through inked fragments, never illustrated as full character art.
anti-values
×No bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.×No three equal SaaS feature cards or generic dashboard widgets disguised with cyan.×No full-colour or full-body character posters; crops stay inked, partial, constrained by the frame.×No default browser controls, grey borders, soft drop-shadow clouds, or decoration without an idea.
tokens
colors14 items
bg
#EEF4F5
surface
#FBFEFE
text
#0A0D12
muted
#5A676D
border
#0A0D12
accent
#1E8FB0
on_accent
#F7FEFF
secondary
#4FB6C6
glass
#BDEFF1
console
#0C1116
success
#2F8E76
warning
#C77A3A
error
#D8455F
info
#4FB6C6
typography9 items
base size
17px
body font
Noto Sans
heading font
Archivo Narrow
mono font
Share Tech Mono
heading weight
700
heading transform
uppercase
letter spacing
-0.03em
line height
1.55
google fonts url
https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Noto+Sans:wght@400;500;600;700&family=Share+Tech+Mono&display=swap
radii4 items
none
0
md
16px
lg
24px
full
9999px
shadows3 items
sm
2px 2px 0 rgba(10,13,18,0.16)
md
6px 6px 0 rgba(10,13,18,0.14)
lg
0 24px 80px rgba(30,143,176,0.14)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96, 128
surfaces3 items
card style
hard-corner browser pane: cyan title bar, beveled address strip, tiny bitmap window buttons, one heavy offset pixel shadow; active panes add a 2px aqua top edge
treatment
pale-ice or near-black fields overlaid with translucent aqua glass panes, inset white highlights, faint 1px scanlines, halftone dot fields
bg pattern
sparse halftone dots, thin diagonal speed lines, isolated monospaced coordinate strings; never all-over patterning
borders4 items
default width
1px
accent width
2px
style
solid 1px near-black ink rule with inset rgba(255,255,255,.78) highlight; aqua 2px top edge on active panes
character
no grey borders, never a lone single accent edge on a card
motion3 items
duration
180ms
easing
cubic-bezier(.16,1,.3,1)
philosophy
small terminal blinks, progress pulses, tab focus shifts; the screen feels unattended but alive. Settled state renders with no JavaScript; reveal is gated behind a .preload class and respects prefers-reduced-motion.
rules
composition
Build every surface as a hard-corner browser pane and overlap panes like captured windows at different weights. Interrupt a dominant quiet field (pale ice or near-black console) with smaller terminal windows and inked crop frames. Avoid equal card rows; create a main portal, a narrow surveillance rail, and inset evidence fragments of different weights.
hierarchy
Headlines in condensed Archivo Narrow uppercase; operational data in Share Tech Mono. The largest crop or portal frame is the hero, not a metric card. Active information is aqua glass; passive context is ink on ice; warning is a tiny coral tick only.
density

Alternate theatrical empty fields (64-128px between scenes) with tightly packed chrome clusters (4-12px inside meters and rails).

signature
The Casement Pane: a hard-corner browser window with translucent cyan title bar, beveled address input, bitmap icon row, an embedded inked monochrome crop, a vertical surveillance rail of stacked IP coordinates and stepped progress cells, and exactly one tiny coral anomaly tick.
layout
grid
Desktop max-width 1320px, 12-col feel with asymmetric rails; the hero/portal spans the wider track and status fragments occupy the narrow rail. Grids use minmax(0,1fr) + min-width:0 so children shrink, never overflow.
whitespace

Theatrical and clean: 64-128px between major scenes, 4-8px inside browser chrome and status meters.

density

High-contrast density: broad quiet fields carry unease, chrome clusters pack tightly.

responsive
Overlaps reduce rather than disappear on tablet; on mobile panes stack to a single column, the rail compresses to a strip, decorative coordinate labels hide before content compresses, and the manga portal stays first.
breakpoints
mobile
< 760px single column, hidden non-essential nav + labels
tablet
760-1099px two-column portal plus rail
desktop
>= 1100px overlapping panes
ultrawide
>= 1320px content caps and centres; only the landing hero spans 100vw
guidance
do
  • Let inked monochrome linework dominate; reserve aqua for glass, tabs, status glow, and active edges.
  • Use condensed uppercase headings and monospaced microcopy for URLs, coordinates, IPs, prompts, and status codes.
  • Build panes from visible browser anatomy: tab, address bar, icon row, scroll groove, progress cells, status strip.
  • Crop bodies and faces aggressively so the system suggests human presence without becoming character art.
  • Make one compositional break with an oversized empty field or near-black console plane.
  • Keep the coral tick tiny and meaningful: anomaly, recording, login failure, unattended access only; pair every colour warning with a text label.
avoid
  • Do not use bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.
  • Do not arrange three equal feature cards or generic dashboard widgets.
  • Do not fill every empty area with decoration; negative space is the atmosphere.
  • Do not use rounded modern SaaS cards, pill-heavy interfaces, or soft app-store icon language.
  • Do not make the crop full-colour or full-body; keep it partial, inked, constrained by the UI frame.
  • Do not rely on default form styling, default scrollbars, or grey borders.
imagery
pairs with

aquaglass-bulletin

summary
Near-monochrome inked subjects rendered full-frame, overlaid with translucent aqua browser chrome, faint scanlines, a coordinate rail, and one tiny coral anomaly tick. Driven via background-image: var(--hero-image).
subjects
a lone figure at a window with a hand pressed to the glassa cropped eye or hairline fragment behind a panean empty unattended room at duska cityscape seen through layered browser windows
usage
Landing hero is full-bleed with a legible dark overlay; feature crops sit inside browser panes. Never full-colour, never full-body, always constrained by the frame.
katagami spec
# Casement

## Philosophy

Casement traps near-monochrome inked subjects — an eye, a hand at the glass, an empty room — inside translucent aqua browser chrome. A window that opens like a captured browser pane: connection rendered as both promise and surveillance, where every warm gesture carries one small trace of being watched.

### Values

- The inked monochrome subject dominates; aqua glass dresses it as luminous interface material, never decoration.
- Browser chrome is the architecture — tabs, address bars, scroll gutters, coordinate rails, stepped meters shape the page.
- Connection feels beautiful but never fully private; one tiny coral tick marks the moment a pane is watched.
- Theatrical fields of pale ice or near-black create the emotional pause before dense terminal overlays appear.
- Pixel-era controls are drawn with care: beveled, tiny, hard-cornered, composed with editorial precision.
- Human presence stays partial and cropped — implied through inked fragments, never illustrated as full character art.

### Anti-Values

- No bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.
- No three equal SaaS feature cards or generic dashboard widgets disguised with cyan.
- No full-colour or full-body character posters; crops stay inked, partial, constrained by the frame.
- No default browser controls, grey borders, soft drop-shadow clouds, or decoration without an idea.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#EEF4F5` |
| surface | `#FBFEFE` |
| text | `#0A0D12` |
| muted | `#5A676D` |
| border | `#0A0D12` |
| accent | `#1E8FB0` |
| on_accent | `#F7FEFF` |
| secondary | `#4FB6C6` |
| glass | `#BDEFF1` |
| console | `#0C1116` |
| success | `#2F8E76` |
| warning | `#C77A3A` |
| error | `#D8455F` |
| info | `#4FB6C6` |

### Typography

- **Base Size**: 17px
- **Body Font**: Noto Sans
- **Heading Font**: Archivo Narrow
- **Mono Font**: Share Tech Mono
- **Heading Weight**: 700
- **Heading Transform**: uppercase
- **Letter Spacing**: -0.03em
- **Line Height**: 1.55
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Noto+Sans:wght@400;500;600;700&family=Share+Tech+Mono&display=swap

### Radii

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

### Shadows

- **Sm**: 2px 2px 0 rgba(10,13,18,0.16)
- **Md**: 6px 6px 0 rgba(10,13,18,0.14)
- **Lg**: 0 24px 80px rgba(30,143,176,0.14)

### Spacing

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

### Surfaces

- **Card Style**: hard-corner browser pane: cyan title bar, beveled address strip, tiny bitmap window buttons, one heavy offset pixel shadow; active panes add a 2px aqua top edge
- **Treatment**: pale-ice or near-black fields overlaid with translucent aqua glass panes, inset white highlights, faint 1px scanlines, halftone dot fields
- **Bg Pattern**: sparse halftone dots, thin diagonal speed lines, isolated monospaced coordinate strings; never all-over patterning

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid 1px near-black ink rule with inset rgba(255,255,255,.78) highlight; aqua 2px top edge on active panes
- **Character**: no grey borders, never a lone single accent edge on a card

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(.16,1,.3,1)
- **Philosophy**: small terminal blinks, progress pulses, tab focus shifts; the screen feels unattended but alive. Settled state renders with no JavaScript; reveal is gated behind a .preload class and respects prefers-reduced-motion.

## Rules

### Composition

Build every surface as a hard-corner browser pane and overlap panes like captured windows at different weights. Interrupt a dominant quiet field (pale ice or near-black console) with smaller terminal windows and inked crop frames. Avoid equal card rows; create a main portal, a narrow surveillance rail, and inset evidence fragments of different weights.

### Hierarchy

Headlines in condensed Archivo Narrow uppercase; operational data in Share Tech Mono. The largest crop or portal frame is the hero, not a metric card. Active information is aqua glass; passive context is ink on ice; warning is a tiny coral tick only.

### Density

Alternate theatrical empty fields (64-128px between scenes) with tightly packed chrome clusters (4-12px inside meters and rails).

### Signature

The Casement Pane: a hard-corner browser window with translucent cyan title bar, beveled address input, bitmap icon row, an embedded inked monochrome crop, a vertical surveillance rail of stacked IP coordinates and stepped progress cells, and exactly one tiny coral anomaly tick.

## Layout

### Grid

Desktop max-width 1320px, 12-col feel with asymmetric rails; the hero/portal spans the wider track and status fragments occupy the narrow rail. Grids use minmax(0,1fr) + min-width:0 so children shrink, never overflow.

### Whitespace

Theatrical and clean: 64-128px between major scenes, 4-8px inside browser chrome and status meters.

### Density

High-contrast density: broad quiet fields carry unease, chrome clusters pack tightly.

### Responsive

Overlaps reduce rather than disappear on tablet; on mobile panes stack to a single column, the rail compresses to a strip, decorative coordinate labels hide before content compresses, and the manga portal stays first.

### Breakpoints

- **Mobile**: < 760px single column, hidden non-essential nav + labels
- **Tablet**: 760-1099px two-column portal plus rail
- **Desktop**: >= 1100px overlapping panes
- **Ultrawide**: >= 1320px content caps and centres; only the landing hero spans 100vw

## Guidance

### Do

- Let inked monochrome linework dominate; reserve aqua for glass, tabs, status glow, and active edges.
- Use condensed uppercase headings and monospaced microcopy for URLs, coordinates, IPs, prompts, and status codes.
- Build panes from visible browser anatomy: tab, address bar, icon row, scroll groove, progress cells, status strip.
- Crop bodies and faces aggressively so the system suggests human presence without becoming character art.
- Make one compositional break with an oversized empty field or near-black console plane.
- Keep the coral tick tiny and meaningful: anomaly, recording, login failure, unattended access only; pair every colour warning with a text label.

### Don't

- Do not use bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.
- Do not arrange three equal feature cards or generic dashboard widgets.
- Do not fill every empty area with decoration; negative space is the atmosphere.
- Do not use rounded modern SaaS cards, pill-heavy interfaces, or soft app-store icon language.
- Do not make the crop full-colour or full-body; keep it partial, inked, constrained by the UI frame.
- Do not rely on default form styling, default scrollbars, or grey borders.

### Accessibility

Maintain AA contrast for body text; never put essential copy only in tiny bitmap labels; pair every colour warning with a text label; preserve focus outlines as 2px aqua rules; honour prefers-reduced-motion.

## Imagery Direction

### Pairs With

aquaglass-bulletin

### Summary

Near-monochrome inked subjects rendered full-frame, overlaid with translucent aqua browser chrome, faint scanlines, a coordinate rail, and one tiny coral anomaly tick. Driven via background-image: var(--hero-image).

### Subjects

- a lone figure at a window with a hand pressed to the glass
- a cropped eye or hairline fragment behind a pane
- an empty unattended room at dusk
- a cityscape seen through layered browser windows

### Usage

Landing hero is full-bleed with a legible dark overlay; feature crops sit inside browser panes. Never full-colour, never full-body, always constrained by the frame.
DESIGN.md
---
version: "alpha"
name: "Casement"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#EEF4F5"
  surface: "#FBFEFE"
  text: "#0A0D12"
  muted: "#5A676D"
  border: "#0A0D12"
  accent: "#1E8FB0"
  on_accent: "#F7FEFF"
  secondary: "#4FB6C6"
  glass: "#BDEFF1"
  console: "#0C1116"
  success: "#2F8E76"
  warning: "#C77A3A"
  error: "#D8455F"
  info: "#4FB6C6"
typography:
  headline-lg:
    fontFamily: "Archivo Narrow"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.03em"
  headline-md:
    fontFamily: "Archivo Narrow"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.03em"
  body-md:
    fontFamily: "Noto Sans"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.03em"
  label-md:
    fontFamily: "Share Tech Mono"
    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: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
  step-9: "128px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  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-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-glass:
    backgroundColor: "{colors.glass}"
  color-reference-console:
    backgroundColor: "{colors.console}"
  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"
---

# Casement

## Overview

Casement traps near-monochrome inked subjects — an eye, a hand at the glass, an empty room — inside translucent aqua browser chrome. A window that opens like a captured browser pane: connection rendered as both promise and surveillance, where every warm gesture carries one small trace of being watched.

### Values

- The inked monochrome subject dominates; aqua glass dresses it as luminous interface material, never decoration.
- Browser chrome is the architecture — tabs, address bars, scroll gutters, coordinate rails, stepped meters shape the page.
- Connection feels beautiful but never fully private; one tiny coral tick marks the moment a pane is watched.
- Theatrical fields of pale ice or near-black create the emotional pause before dense terminal overlays appear.
- Pixel-era controls are drawn with care: beveled, tiny, hard-cornered, composed with editorial precision.
- Human presence stays partial and cropped — implied through inked fragments, never illustrated as full character art.

### Anti-Values

- No bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.
- No three equal SaaS feature cards or generic dashboard widgets disguised with cyan.
- No full-colour or full-body character posters; crops stay inked, partial, constrained by the frame.
- No default browser controls, grey borders, soft drop-shadow clouds, or decoration without an idea.

## 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 | `#EEF4F5` |
| surface | `#FBFEFE` |
| text | `#0A0D12` |
| muted | `#5A676D` |
| border | `#0A0D12` |
| accent | `#1E8FB0` |
| on_accent | `#F7FEFF` |
| secondary | `#4FB6C6` |
| glass | `#BDEFF1` |
| console | `#0C1116` |
| success | `#2F8E76` |
| warning | `#C77A3A` |
| error | `#D8455F` |
| info | `#4FB6C6` |

## Typography

- **Headline-Lg**: Archivo Narrow, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo Narrow, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Noto Sans, 17px, weight 400, line-height 1.5.
- **Label-Md**: Share Tech 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`
- **Step-8**: `96px`
- **Step-9**: `128px`

### Grid

Desktop max-width 1320px, 12-col feel with asymmetric rails; the hero/portal spans the wider track and status fragments occupy the narrow rail. Grids use minmax(0,1fr) + min-width:0 so children shrink, never overflow.

### Whitespace

Theatrical and clean: 64-128px between major scenes, 4-8px inside browser chrome and status meters.

### Density

High-contrast density: broad quiet fields carry unease, chrome clusters pack tightly.

### Responsive

Overlaps reduce rather than disappear on tablet; on mobile panes stack to a single column, the rail compresses to a strip, decorative coordinate labels hide before content compresses, and the manga portal stays first.

### Breakpoints

- **Mobile**: < 760px single column, hidden non-essential nav + labels
- **Tablet**: 760-1099px two-column portal plus rail
- **Desktop**: >= 1100px overlapping panes
- **Ultrawide**: >= 1320px content caps and centres; only the landing hero spans 100vw

## Elevation & Depth

### Shadows

- **Sm**: 2px 2px 0 rgba(10,13,18,0.16)
- **Md**: 6px 6px 0 rgba(10,13,18,0.14)
- **Lg**: 0 24px 80px rgba(30,143,176,0.14)

## Shapes

### Rounded

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

### Surfaces

- **Card Style**: hard-corner browser pane: cyan title bar, beveled address strip, tiny bitmap window buttons, one heavy offset pixel shadow; active panes add a 2px aqua top edge
- **Treatment**: pale-ice or near-black fields overlaid with translucent aqua glass panes, inset white highlights, faint 1px scanlines, halftone dot fields
- **Bg Pattern**: sparse halftone dots, thin diagonal speed lines, isolated monospaced coordinate strings; never all-over patterning

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid 1px near-black ink rule with inset rgba(255,255,255,.78) highlight; aqua 2px top edge on active panes
- **Character**: no grey borders, never a lone single accent edge on a card

## Components

### Composition

Build every surface as a hard-corner browser pane and overlap panes like captured windows at different weights. Interrupt a dominant quiet field (pale ice or near-black console) with smaller terminal windows and inked crop frames. Avoid equal card rows; create a main portal, a narrow surveillance rail, and inset evidence fragments of different weights.

### Hierarchy

Headlines in condensed Archivo Narrow uppercase; operational data in Share Tech Mono. The largest crop or portal frame is the hero, not a metric card. Active information is aqua glass; passive context is ink on ice; warning is a tiny coral tick only.

### Density

Alternate theatrical empty fields (64-128px between scenes) with tightly packed chrome clusters (4-12px inside meters and rails).

### Signature

The Casement Pane: a hard-corner browser window with translucent cyan title bar, beveled address input, bitmap icon row, an embedded inked monochrome crop, a vertical surveillance rail of stacked IP coordinates and stepped progress cells, and exactly one tiny coral anomaly tick.

## 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-019efb50-96f6-75b1-876a-1aed4356e889/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 inked monochrome linework dominate; reserve aqua for glass, tabs, status glow, and active edges.
- Do Use condensed uppercase headings and monospaced microcopy for URLs, coordinates, IPs, prompts, and status codes.
- Do Build panes from visible browser anatomy: tab, address bar, icon row, scroll groove, progress cells, status strip.
- Do Crop bodies and faces aggressively so the system suggests human presence without becoming character art.
- Do Make one compositional break with an oversized empty field or near-black console plane.
- Do Keep the coral tick tiny and meaningful: anomaly, recording, login failure, unattended access only; pair every colour warning with a text label.
- Don't Do not use bright cyberpunk gradients, vaporwave sunsets, neon floods, or rainbow Y2K nostalgia.
- Don't Do not arrange three equal feature cards or generic dashboard widgets.
- Don't Do not fill every empty area with decoration; negative space is the atmosphere.
- Don't Do not use rounded modern SaaS cards, pill-heavy interfaces, or soft app-store icon language.
- Don't Do not make the crop full-colour or full-body; keep it partial, inked, constrained by the UI frame.
- Don't Do not rely on default form styling, default scrollbars, or grey borders.

### Accessibility

Maintain AA contrast for body text; never put essential copy only in tiny bitmap labels; pair every colour warning with a text label; preserve focus outlines as 2px aqua rules; honour prefers-reduced-motion.

## Imagery Direction

### Pairs With

aquaglass-bulletin

### Summary

Near-monochrome inked subjects rendered full-frame, overlaid with translucent aqua browser chrome, faint scanlines, a coordinate rail, and one tiny coral anomaly tick. Driven via background-image: var(--hero-image).

### Subjects

- a lone figure at a window with a hand pressed to the glass
- a cropped eye or hairline fragment behind a pane
- an empty unattended room at dusk
- a cityscape seen through layered browser windows

### Usage

Landing hero is full-bleed with a legible dark overlay; feature crops sit inside browser panes. Never full-colour, never full-body, always constrained by the frame.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "casement",
  "type": "registry:theme",
  "title": "Casement shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#EEF4F5",
      "foreground": "#0A0D12",
      "card": "#FBFEFE",
      "card-foreground": "#0A0D12",
      "popover": "#FBFEFE",
      "popover-foreground": "#0A0D12",
      "primary": "#0A0D12",
      "primary-foreground": "#ffffff",
      "secondary": "#4FB6C6",
      "secondary-foreground": "#ffffff",
      "muted": "#5A676D",
      "muted-foreground": "#0A0D12",
      "accent": "#1E8FB0",
      "accent-foreground": "#ffffff",
      "destructive": "#D8455F",
      "border": "#0A0D12",
      "input": "#0A0D12",
      "ring": "#1E8FB0",
      "chart-1": "#0A0D12",
      "chart-2": "#4FB6C6",
      "chart-3": "#1E8FB0",
      "chart-4": "#2F8E76",
      "chart-5": "#C77A3A",
      "sidebar": "#FBFEFE",
      "sidebar-foreground": "#0A0D12",
      "sidebar-primary": "#0A0D12",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#4FB6C6",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#0A0D12",
      "sidebar-ring": "#1E8FB0",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0A0D12",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#1E8FB0",
      "accent-foreground": "#ffffff",
      "destructive": "#D8455F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#1E8FB0",
      "chart-1": "#0A0D12",
      "chart-2": "#4FB6C6",
      "chart-3": "#1E8FB0",
      "chart-4": "#2F8E76",
      "chart-5": "#C77A3A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0A0D12",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1E8FB0",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#1E8FB0",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019efb50-96f6-75b1-876a-1aed4356e889",
    "slug": "casement",
    "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",
        "console",
        "error",
        "glass",
        "info",
        "muted",
        "on_accent",
        "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"
      ],
      "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-lgArchivo Narrow · 33px · 700

The quick brown fox jumps

headline-mdArchivo Narrow · 27px · 600

The quick brown fox jumps

body-mdNoto Sans · 17px · 400

The quick brown fox jumps

label-mdShare Tech Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

produced by claude-opus-4-8 · sourced by claude-opus-4-8 · images by gpt-image-2

remix lane

try a remix

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

UI language · fixed
Casement
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

1 descendant
related

More like this