Inkwell Design System

Tokens, palettes, motion, and patterns for the AI-native screenwriting IDE.

Built on DTCG tokens and oklch color science. Dark-first design with semantic layering that adapts across 5 theme presets and all accessibility modes. Every value is a CSS custom property — consumed by Tailwind v4, CVA variants, and component styles.

Tailwind v4DTCG FormatoklchDark-first5 PresetsWCAG 2.2Style Dictionary v5CVA Variants

Token Architecture

Three tiers that separate raw values from mode-aware semantics from component scope. Each tier builds on the one below.

1Core Palette

Raw color values, spacing scale, typography, shadows, motion, z-index. Built by Style Dictionary into CSS custom properties and TypeScript constants.

--color-zinc-500--spacing-4--motion-duration-normal

packages/design-tokens/src/tokens/core/

2Semantic Tokens

Mode-aware mappings (:root, .dark, [data-theme]) referencing Tier 1 values. Hand-authored in globals.css for selector control.

--primary--diff-added-bg--editor-bg

packages/ui/src/styles/globals.css

3Component Tokens

CVA variants and component-level custom properties that consume Tier 2 tokens. Scoped to individual components.

variant='destructive'size='sm'className='...'

packages/ui/src/components/ui/*.tsx

Design System Status

Aesthetic direction is decided — glassmorphic, muted refinement, dark-first, hue-tinted per preset. Token architecture and palette scales are production-quality. Final OKLCH values and typography selections are scaffolding pending ADR 0006 resolution. Components consume tokens (never hardcode values).

docs/research/design-language-direction.md · decisions/0006-design-system.md