/* GENERATED by platform/tools/gen_tokens.py — edit design/tokens.json instead. */

/* ---- Hyperfix palette (raw) ---------------------------------------- */
:root, .dark, :host {
  --hx-ink: #07070C;
  --hx-surface: #101018;
  --hx-surface2: #161622;
  --hx-raised: #1D1D2C;
  --hx-paper: #F4F2EA;
  --hx-muted: #9A97B4;
  --hx-line: #2A2A40;
  --hx-lime: #C8FF3E;
  --hx-magenta: #FF3EA5;
  --hx-cyan: #3EE8FF;
  --hx-violet: #8B5CFF;
  --hx-amber: #FFB03A;
  --hx-red: #FF4B4B;
  --hx-green: #4BFF7C;
  --hx-glass-alpha-chrome: 0.82;
  --hx-glass-alpha-pane: 0.72;
  --hx-glass-alpha-card: 0.66;
  --hx-glass-blur: 18px;
  --hx-glass-saturate: 1.25;
  --hx-glass-alpha-app: 0.42;
  --hx-radius-base: 10px;
  --hx-radius-card: 14px;
  --hx-radius-chip: 999px;
  --hx-rim: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --hx-lift-1: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --hx-lift-2: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --hx-press: inset 0 2px 6px rgba(0,0,0,0.6);
  --hx-glow: 0 0 0 1px color-mix(in oklab, var(--hx-accent) 45%, transparent), 0 0 28px -6px var(--hx-accent);
  --hx-motion-fast: 120ms cubic-bezier(.2,.7,.3,1);
  --hx-motion-base: 220ms cubic-bezier(.2,.7,.3,1);
  --hx-motion-marquee: 26s linear infinite;
  --hx-motion-pulse: 2.4s ease-in-out infinite;

  /* accents assigned by function, never by taste */
  --hx-fn-go: var(--hx-lime);
  --hx-fn-now: var(--hx-magenta);
  --hx-fn-inflight: var(--hx-amber);
  --hx-fn-blocked: var(--hx-red);
  --hx-fn-machine: var(--hx-cyan);
  --hx-fn-ok: var(--hx-green);
  --hx-fn-brainstorm: var(--hx-violet);
  --hx-stage-brainstorm: var(--hx-violet);
  --hx-stage-plan: var(--hx-cyan);
  --hx-stage-execute: var(--hx-lime);
  --hx-accent: var(--hx-fn-go);
}

/* ---- shell token override (the whole restyle) ---------------------- */
:root {
  --background: rgba(7,7,12,0.42);
  --foreground: #F4F2EA;
  --card: rgba(29,29,44,0.66);
  --card-foreground: #F4F2EA;
  --popover: rgba(22,22,34,0.94);
  --popover-foreground: #F4F2EA;
  --primary: #C8FF3E;
  --primary-foreground: #07070C;
  --secondary: rgba(29,29,44,0.8);
  --secondary-foreground: #F4F2EA;
  --muted: rgba(22,22,34,0.7);
  --muted-foreground: #9A97B4;
  --accent: color-mix(in oklab, #8B5CFF 26%, #161622);
  --accent-foreground: #F4F2EA;
  --destructive: #FF4B4B;
  --destructive-foreground: #07070C;
  --success: #4BFF7C;
  --success-foreground: #07070C;
  --warning: #FFB03A;
  --warning-foreground: #07070C;
  --info: #3EE8FF;
  --info-foreground: #07070C;
  --border: rgba(42,42,64,0.9);
  --input: rgba(7,7,12,0.55);
  --ring: #C8FF3E;
  --chart-1: #C8FF3E;
  --chart-2: #3EE8FF;
  --chart-3: #FF3EA5;
  --chart-4: #8B5CFF;
  --chart-5: #FFB03A;
  --sidebar: rgba(16,16,24,0.82);
  --sidebar-foreground: #F4F2EA;
  --sidebar-primary: #C8FF3E;
  --sidebar-primary-foreground: #07070C;
  --sidebar-accent: color-mix(in oklab, #8B5CFF 30%, #161622);
  --sidebar-accent-foreground: #F4F2EA;
  --sidebar-border: rgba(42,42,64,0.8);
  --sidebar-ring: #C8FF3E;
  --overlay: rgba(7,7,12,0.72);
  --font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 10px;
  --shadow-2xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-sm: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-md: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-lg: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-2xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --raised-surface-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --link: #3EE8FF;
  --link-hover: #C8FF3E;
  --open-foreground: #C8FF3E;
  --open-background: color-mix(in oklab, #C8FF3E 14%, transparent);
  --active-foreground: #07070C;
  --active-background: #C8FF3E;
  --attention-foreground: #07070C;
  --attention-background: #FFB03A;
  --phaser-dots-static-color: color-mix(in oklab, #8B5CFF 40%, transparent);
  --phaser-dots-trail-color: #C8FF3E;
  --term-background: rgba(7,7,12,0.72);
  --term-foreground: #F4F2EA;
  --term-cursor: #C8FF3E;
  --term-green: #4BFF7C;
  --term-cyan: #3EE8FF;
  --term-magenta: #FF3EA5;
  --term-yellow: #FFB03A;
  --term-red: #FF4B4B;
  --term-bright-green: #4BFF7C;
  --term-bright-cyan: #3EE8FF;
  --term-bright-magenta: #FF3EA5;
  --term-bright-yellow: #FFB03A;
  --term-bright-red: #FF4B4B;
  --foil-metal: linear-gradient(140deg, rgba(29,29,44,0.9) 0%, rgba(22,22,34,0.7) 46%, rgba(29,29,44,0.95) 100%);
  --foil-metal-soft: linear-gradient(140deg, rgba(29,29,44,0.7) 0%, rgba(22,22,34,0.5) 46%, rgba(29,29,44,0.75) 100%);
  --foil-gold: linear-gradient(140deg, color-mix(in oklab, #C8FF3E 22%, #161622) 0%, rgba(22,22,34,0.8) 50%, color-mix(in oklab, #3EE8FF 18%, #161622) 100%);
  --foil-border: rgba(244,242,234,0.10);
  --foil-raise: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
}

.dark {
  --background: rgba(7,7,12,0.42);
  --foreground: #F4F2EA;
  --card: rgba(29,29,44,0.66);
  --card-foreground: #F4F2EA;
  --popover: rgba(22,22,34,0.94);
  --popover-foreground: #F4F2EA;
  --primary: #C8FF3E;
  --primary-foreground: #07070C;
  --secondary: rgba(29,29,44,0.8);
  --secondary-foreground: #F4F2EA;
  --muted: rgba(22,22,34,0.7);
  --muted-foreground: #9A97B4;
  --accent: color-mix(in oklab, #8B5CFF 26%, #161622);
  --accent-foreground: #F4F2EA;
  --destructive: #FF4B4B;
  --destructive-foreground: #07070C;
  --success: #4BFF7C;
  --success-foreground: #07070C;
  --warning: #FFB03A;
  --warning-foreground: #07070C;
  --info: #3EE8FF;
  --info-foreground: #07070C;
  --border: rgba(42,42,64,0.9);
  --input: rgba(7,7,12,0.55);
  --ring: #C8FF3E;
  --chart-1: #C8FF3E;
  --chart-2: #3EE8FF;
  --chart-3: #FF3EA5;
  --chart-4: #8B5CFF;
  --chart-5: #FFB03A;
  --sidebar: rgba(16,16,24,0.82);
  --sidebar-foreground: #F4F2EA;
  --sidebar-primary: #C8FF3E;
  --sidebar-primary-foreground: #07070C;
  --sidebar-accent: color-mix(in oklab, #8B5CFF 30%, #161622);
  --sidebar-accent-foreground: #F4F2EA;
  --sidebar-border: rgba(42,42,64,0.8);
  --sidebar-ring: #C8FF3E;
  --overlay: rgba(7,7,12,0.72);
  --font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 10px;
  --shadow-2xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-sm: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-md: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-lg: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-2xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --raised-surface-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --link: #3EE8FF;
  --link-hover: #C8FF3E;
  --open-foreground: #C8FF3E;
  --open-background: color-mix(in oklab, #C8FF3E 14%, transparent);
  --active-foreground: #07070C;
  --active-background: #C8FF3E;
  --attention-foreground: #07070C;
  --attention-background: #FFB03A;
  --phaser-dots-static-color: color-mix(in oklab, #8B5CFF 40%, transparent);
  --phaser-dots-trail-color: #C8FF3E;
  --term-background: rgba(7,7,12,0.72);
  --term-foreground: #F4F2EA;
  --term-cursor: #C8FF3E;
  --term-green: #4BFF7C;
  --term-cyan: #3EE8FF;
  --term-magenta: #FF3EA5;
  --term-yellow: #FFB03A;
  --term-red: #FF4B4B;
  --term-bright-green: #4BFF7C;
  --term-bright-cyan: #3EE8FF;
  --term-bright-magenta: #FF3EA5;
  --term-bright-yellow: #FFB03A;
  --term-bright-red: #FF4B4B;
  --foil-metal: linear-gradient(140deg, rgba(29,29,44,0.9) 0%, rgba(22,22,34,0.7) 46%, rgba(29,29,44,0.95) 100%);
  --foil-metal-soft: linear-gradient(140deg, rgba(29,29,44,0.7) 0%, rgba(22,22,34,0.5) 46%, rgba(29,29,44,0.75) 100%);
  --foil-gold: linear-gradient(140deg, color-mix(in oklab, #C8FF3E 22%, #161622) 0%, rgba(22,22,34,0.8) 50%, color-mix(in oklab, #3EE8FF 18%, #161622) 100%);
  --foil-border: rgba(244,242,234,0.10);
  --foil-raise: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
}

html {
  --background: rgba(7,7,12,0.42);
  --foreground: #F4F2EA;
  --card: rgba(29,29,44,0.66);
  --card-foreground: #F4F2EA;
  --popover: rgba(22,22,34,0.94);
  --popover-foreground: #F4F2EA;
  --primary: #C8FF3E;
  --primary-foreground: #07070C;
  --secondary: rgba(29,29,44,0.8);
  --secondary-foreground: #F4F2EA;
  --muted: rgba(22,22,34,0.7);
  --muted-foreground: #9A97B4;
  --accent: color-mix(in oklab, #8B5CFF 26%, #161622);
  --accent-foreground: #F4F2EA;
  --destructive: #FF4B4B;
  --destructive-foreground: #07070C;
  --success: #4BFF7C;
  --success-foreground: #07070C;
  --warning: #FFB03A;
  --warning-foreground: #07070C;
  --info: #3EE8FF;
  --info-foreground: #07070C;
  --border: rgba(42,42,64,0.9);
  --input: rgba(7,7,12,0.55);
  --ring: #C8FF3E;
  --chart-1: #C8FF3E;
  --chart-2: #3EE8FF;
  --chart-3: #FF3EA5;
  --chart-4: #8B5CFF;
  --chart-5: #FFB03A;
  --sidebar: rgba(16,16,24,0.82);
  --sidebar-foreground: #F4F2EA;
  --sidebar-primary: #C8FF3E;
  --sidebar-primary-foreground: #07070C;
  --sidebar-accent: color-mix(in oklab, #8B5CFF 30%, #161622);
  --sidebar-accent-foreground: #F4F2EA;
  --sidebar-border: rgba(42,42,64,0.8);
  --sidebar-ring: #C8FF3E;
  --overlay: rgba(7,7,12,0.72);
  --font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 10px;
  --shadow-2xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-sm: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-md: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-lg: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-2xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --raised-surface-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --link: #3EE8FF;
  --link-hover: #C8FF3E;
  --open-foreground: #C8FF3E;
  --open-background: color-mix(in oklab, #C8FF3E 14%, transparent);
  --active-foreground: #07070C;
  --active-background: #C8FF3E;
  --attention-foreground: #07070C;
  --attention-background: #FFB03A;
  --phaser-dots-static-color: color-mix(in oklab, #8B5CFF 40%, transparent);
  --phaser-dots-trail-color: #C8FF3E;
  --term-background: rgba(7,7,12,0.72);
  --term-foreground: #F4F2EA;
  --term-cursor: #C8FF3E;
  --term-green: #4BFF7C;
  --term-cyan: #3EE8FF;
  --term-magenta: #FF3EA5;
  --term-yellow: #FFB03A;
  --term-red: #FF4B4B;
  --term-bright-green: #4BFF7C;
  --term-bright-cyan: #3EE8FF;
  --term-bright-magenta: #FF3EA5;
  --term-bright-yellow: #FFB03A;
  --term-bright-red: #FF4B4B;
  --foil-metal: linear-gradient(140deg, rgba(29,29,44,0.9) 0%, rgba(22,22,34,0.7) 46%, rgba(29,29,44,0.95) 100%);
  --foil-metal-soft: linear-gradient(140deg, rgba(29,29,44,0.7) 0%, rgba(22,22,34,0.5) 46%, rgba(29,29,44,0.75) 100%);
  --foil-gold: linear-gradient(140deg, color-mix(in oklab, #C8FF3E 22%, #161622) 0%, rgba(22,22,34,0.8) 50%, color-mix(in oklab, #3EE8FF 18%, #161622) 100%);
  --foil-border: rgba(244,242,234,0.10);
  --foil-raise: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
}

body {
  --background: rgba(7,7,12,0.42);
  --foreground: #F4F2EA;
  --card: rgba(29,29,44,0.66);
  --card-foreground: #F4F2EA;
  --popover: rgba(22,22,34,0.94);
  --popover-foreground: #F4F2EA;
  --primary: #C8FF3E;
  --primary-foreground: #07070C;
  --secondary: rgba(29,29,44,0.8);
  --secondary-foreground: #F4F2EA;
  --muted: rgba(22,22,34,0.7);
  --muted-foreground: #9A97B4;
  --accent: color-mix(in oklab, #8B5CFF 26%, #161622);
  --accent-foreground: #F4F2EA;
  --destructive: #FF4B4B;
  --destructive-foreground: #07070C;
  --success: #4BFF7C;
  --success-foreground: #07070C;
  --warning: #FFB03A;
  --warning-foreground: #07070C;
  --info: #3EE8FF;
  --info-foreground: #07070C;
  --border: rgba(42,42,64,0.9);
  --input: rgba(7,7,12,0.55);
  --ring: #C8FF3E;
  --chart-1: #C8FF3E;
  --chart-2: #3EE8FF;
  --chart-3: #FF3EA5;
  --chart-4: #8B5CFF;
  --chart-5: #FFB03A;
  --sidebar: rgba(16,16,24,0.82);
  --sidebar-foreground: #F4F2EA;
  --sidebar-primary: #C8FF3E;
  --sidebar-primary-foreground: #07070C;
  --sidebar-accent: color-mix(in oklab, #8B5CFF 30%, #161622);
  --sidebar-accent-foreground: #F4F2EA;
  --sidebar-border: rgba(42,42,64,0.8);
  --sidebar-ring: #C8FF3E;
  --overlay: rgba(7,7,12,0.72);
  --font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 10px;
  --shadow-2xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-xs: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --shadow-sm: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-md: 0 1px 0 rgba(255,255,255,0.06) inset, 0 8px 24px -12px rgba(0,0,0,0.85);
  --shadow-lg: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --shadow-2xl: 0 1px 0 rgba(255,255,255,0.08) inset, 0 18px 48px -18px rgba(0,0,0,0.9);
  --raised-surface-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
  --link: #3EE8FF;
  --link-hover: #C8FF3E;
  --open-foreground: #C8FF3E;
  --open-background: color-mix(in oklab, #C8FF3E 14%, transparent);
  --active-foreground: #07070C;
  --active-background: #C8FF3E;
  --attention-foreground: #07070C;
  --attention-background: #FFB03A;
  --phaser-dots-static-color: color-mix(in oklab, #8B5CFF 40%, transparent);
  --phaser-dots-trail-color: #C8FF3E;
  --term-background: rgba(7,7,12,0.72);
  --term-foreground: #F4F2EA;
  --term-cursor: #C8FF3E;
  --term-green: #4BFF7C;
  --term-cyan: #3EE8FF;
  --term-magenta: #FF3EA5;
  --term-yellow: #FFB03A;
  --term-red: #FF4B4B;
  --term-bright-green: #4BFF7C;
  --term-bright-cyan: #3EE8FF;
  --term-bright-magenta: #FF3EA5;
  --term-bright-yellow: #FFB03A;
  --term-bright-red: #FF4B4B;
  --foil-metal: linear-gradient(140deg, rgba(29,29,44,0.9) 0%, rgba(22,22,34,0.7) 46%, rgba(29,29,44,0.95) 100%);
  --foil-metal-soft: linear-gradient(140deg, rgba(29,29,44,0.7) 0%, rgba(22,22,34,0.5) 46%, rgba(29,29,44,0.75) 100%);
  --foil-gold: linear-gradient(140deg, color-mix(in oklab, #C8FF3E 22%, #161622) 0%, rgba(22,22,34,0.8) 50%, color-mix(in oklab, #3EE8FF 18%, #161622) 100%);
  --foil-border: rgba(244,242,234,0.10);
  --foil-raise: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.45);
}

/* ---- engine constants (read by skin/engine.js) --------------------- */
:root {
  --hx-engine-grid: 42;
  --hx-engine-spacing: 1.25;
  --hx-engine-amplitude: 1.15;
  --hx-engine-speed: 0.34;
  --hx-engine-fov: 58;
  --hx-engine-fog: #07070C;
  --hx-engine-dpr-cap: 1.75;
}
