/** * Ignition Palette — TypeScript Constants * Extracted from brand reference images (retro-futuristic palette) * Syntax colors are WCAG contrast-validated. * * Generated by: bun run scripts/extract-palette.ts * Do not edit manually. */ export const palette = { /** primary-bg — upper sky across all images */ skyTeal: "#6BA89A", /** primary-bg-alt — mid-sky, horizon haze */ skySage: "#8CBFB0", /** surface-light — brightest sky near horizon */ skyPale: "#A8D4C6", /** accent-warm — golden grass, hillside */ amber: "#C8A050", /** accent-gold — light wheat grass, highlights */ wheat: "#D4B868", /** accent-deep — deep grass, shadow side */ ochre: "#B88A3A", /** brand — building accents, red structures */ vermillion: "#C44D2B", /** brand-light — lighter red accents, warm glow */ sienna: "#D4603A", /** brand-dark — deep rust shadows, dark accents */ rust: "#A43820", /** fg-lightest — clouds, brightest surfaces */ ivory: "#F0E4D0", /** fg-light — building facades, clouds */ cream: "#E8DCCA", /** fg-muted — weathered surfaces, muted areas */ sand: "#D0C4AE", /** secondary — mountains, distant hills */ sage: "#8AAA90", /** secondary-mid — mountain mid-tones, foliage */ sageMid: "#7A9A80", /** secondary-deep — closer vegetation, shadows */ sageDeep: "#6A8A70", /** bg-darkest — deepest shadows */ void: "#1E2A28", /** bg-dark — dark background, night teal */ deepTeal: "#2A3A38", /** bg-mid — tree canopy, dark vegetation */ darkOlive: "#3A4A40", /** bg-elevated — mid-dark vegetation, panels */ olive: "#4A5A48", /** interactive — CRT screens, water surface */ teal: "#5AAFA0", /** interactive-alt — deeper water, screen glow */ tealDeep: "#4A9A8A", } as const /** Semantic design tokens derived from the generated palette. */ export const tokens = { surface: { bg: "#1E2A28", bgElevated: "#2A3A38", bgCard: "#2A3A38", bgCardHover: "#3A4A40", bgOverlay: "rgba(30, 42, 40, 0.85)", bgInput: "#1E2A28", border: "#3A4A40", borderSubtle: "rgba(138, 170, 144, 0.15)", }, text: { primary: "#f0e4d0", secondary: "#d0c4ae", muted: "#8aaa90", dim: "#6a8a70", inverse: "#1E2A28", }, brand: { DEFAULT: "#C44D2B", light: "#D4603A", dark: "#A43820", foreground: "#F0E4D0", glow: "rgba(196, 77, 43, 0.20)", }, accent: { warm: "#C8A050", gold: "#D4B868", teal: "#5AAFA0", sage: "#8AAA90", sky: "#8CBFB0", }, status: { ok: "#5aaf78", changed: "#d4b868", failed: "#c44d2b", running: "#5aafa0", pending: "#6a8a70", }, syntax: { keyword: "#c44d2b", string: "#d4b868", function: "#5aafa0", comment: "#6a8a70", type: "#c8a050", variable: "#e8dcca", literal: "#d4603a", operator: "#8aaa90", property: "#8cbfb0", tag: "#d4603a", attribute: "#d0c4ae", regexp: "#6ba89a", punctuation: "#7a9a80", constant: "#d4b868", number: "#d4603a", background: "#1E2A28", foreground: "#e8dcca", selection: "#2a4540", cursor: "#C44D2B", lineHighlight: "#233532", }, } as const /** Named palette colors available to the theme system. */ export type PaletteColor = keyof typeof palette /** Top-level token categories exposed by the theme system. */ export type TokenCategory = keyof typeof tokens