/* * impeccable.style — design tokens + minimal reset * * Shared by every page on the site (landing + generated sub-pages). * Keep this file small and dependency-free. */ /* ============================================ MINIMAL CSS RESET ============================================ */ *, *::before, *::after { box-sizing: border-box; } * { margin: 0; } img, picture, video, canvas, svg { display: block; max-width: 100%; } button, input, textarea, select { font: inherit; } /* ============================================ DESIGN TOKENS ============================================ */ :root { /* Typography — kinpaku is the default. The legacy token names now point at the --ks-* faces (defined in kinpaku-tokens.css, loaded globally via Base.astro) so any rule still reading --font-* renders in the brand faces. The old Cormorant/Instrument/Space Grotesk trio is retired. */ --font-display: var(--ks-font-display); --font-body: var(--ks-font); --font-mono: var(--ks-mono); /* Spacing Scale */ --spacing-xs: 8px; --spacing-sm: 16px; --spacing-md: 24px; --spacing-lg: 32px; --spacing-xl: 48px; --spacing-2xl: 80px; --spacing-3xl: 120px; /* Width */ --width-max: 1400px; --width-content: 900px; /* Animation */ --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); --duration-fast: 0.15s; --duration-base: 0.3s; --duration-slow: 0.6s; --duration-slower: 0.8s; --duration-slowest: 1.2s; /* Core colors — kinpaku is the default surface. The legacy token names now carry dark-lacquer values (mirroring the per-page kinpaku remaps), so any rule still reading --color-* renders on the kinpaku surface. Surfaces are literal oklch; ink/text/accent point at the --ks-* brand tokens. */ --color-ink: var(--ks-champagne); --color-text: var(--ks-text); --color-paper: oklch(7% 0.006 95); --color-cream: oklch(9% 0.006 95); --color-charcoal: var(--ks-text-muted); --color-ash: var(--ks-text-faint); --color-mist: var(--ks-rule); --color-bg: oklch(11% 0.006 95); /* Accent — kinpaku gold (was magenta). */ --color-accent: var(--ks-kinpaku); --color-accent-hover: var(--ks-kinpaku-pale); --color-accent-dim: oklch(78% 0.12 82 / 0.18); --color-accent-soft: oklch(78% 0.12 82 / 0.32); /* Framework category colors - Light mode */ --cat-create-bg: #fdf2f8; --cat-create-border: #ec4899; --cat-create-text: #be185d; --cat-evaluate-bg: #fdf4ff; --cat-evaluate-border: #d946ef; --cat-evaluate-text: #a21caf; --cat-refine-bg: #eff6ff; --cat-refine-border: #3b82f6; --cat-refine-text: #1d4ed8; --cat-simplify-bg: #fffbeb; --cat-simplify-border: #f59e0b; --cat-simplify-text: #b45309; --cat-harden-bg: #f0fdf4; --cat-harden-border: #22c55e; --cat-harden-text: #15803d; --cat-system-bg: #f5f5f4; --cat-system-border: #78716c; --cat-system-text: #44403c; } /* Light mode legacy aliases — mirror html.light --ks-* tokens. */ html.light { --color-ink: var(--ks-champagne); --color-text: var(--ks-text); --color-paper: var(--ks-lacquer); --color-cream: var(--ks-lacquer-raised); --color-charcoal: var(--ks-text); --color-ash: var(--ks-text-muted); --color-mist: var(--ks-rule); --color-bg: var(--ks-lacquer-raised); --color-accent: var(--ks-kinpaku); --color-accent-hover: var(--ks-kinpaku-pale); --color-accent-dim: oklch(77% 0.13 82 / 0.14); --color-accent-soft: oklch(77% 0.13 82 / 0.24); }