/* GENERATED by scripts/build_web_theme.py from config/product.json — do not edit.
 * Invariant #7: brand is a single config surface. Change the JSON, re-run the script. */

:root {
  /* brand ramps — raw palette; prefer the semantic tokens below */
  --teal-900: #062C2A;
  --teal-800: #0D3D37;
  --teal-700: #125249;
  --teal-600: #0F6B59;
  --teal-500: #13C8B2;
  --teal-400: #34D9C4;
  --teal-300: #6FE6DB;
  --teal-100: #B8F3ED;
  --teal-050: #DCF9F6;
  --purple-700: #4A2868;
  --purple-600: #5F3380;
  --purple-500: #7A3FCC;
  --purple-400: #9264E6;
  --purple-300: #AB8CF5;
  --purple-100: #E8DFF9;
  --purple-050: #F4EFFE;
  --navy-900: #0C2340;
  --navy-800: #0D2B4D;
  --navy-700: #0F3A66;
  --navy-600: #1B4A7A;
  --navy-200: #9FB0C4;
  --navy-050: #E6EAF0;
  --red-700: #B23D2C;
  --red-600: #C64A36;
  --red-500: #DE5B47;
  --red-300: #EFA99B;
  --red-100: #FBECE9;
  --amber-600: #B7791F;
  --amber-100: #FBF0DA;
  --ivory-000: #FFFFFF;
  --ivory-050: #FCFBF6;
  --ivory-100: #F7F4EC;
  --ivory-200: #F0ECE1;
  --line-300: #E7E2D6;
  --line-400: #D8D2C4;
  --ink-900: #1C1B19;
  --ink-700: #423F39;
  --ink-500: #706C63;
  --ink-400: #928D80;
  --ink-300: #B4AF9F;

  /* semantic tokens — what the site actually reads */
  --c-primary: #0F6B59;
  --c-on-primary: #FFFFFF;
  --c-secondary: #706C63;
  --c-accent: #7A3FCC;
  --c-background: #FCFBF6;
  --c-surface: #FFFFFF;
  --c-surface-alt: #F7F4EC;
  --c-surface-inverse: #0C2340;
  --c-on-surface: #1C1B19;
  --c-on-inverse: #FFFFFF;
  --c-body: #423F39;
  --c-muted: #706C63;
  --c-faint: #928D80;
  --c-border: #E7E2D6;
  --c-border-strong: #D8D2C4;
  --c-link: #0F6B59;
  --c-danger: #DE5B47;
  --c-warning: #B7791F;
  --c-success: #13C8B2;
  --c-governance: #7A3FCC;
  --c-severity-high: #DE5B47;
  --c-severity-high-text: #B23D2C;
  --c-severity-high-bg: #FBECE9;
  --c-severity-medium: #B7791F;
  --c-severity-medium-text: #B7791F;
  --c-severity-medium-bg: #FBF0DA;
  --c-severity-low: #13C8B2;
  --c-severity-low-bg: #DCF9F6;

  /* typography */
  --font-serif: 'Spectral', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-sans: 'IBM Plex Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', 'Menlo', monospace;
  --font-size-base: 16px;
  --type-scale: 1.25;

  /* geometry */
  --radius: 8px;
  --space: 4px;
  --ring: 0 0 0 3px rgba(19,200,178,0.28);
}

@media (prefers-color-scheme: dark) {
  :root {
  --c-primary: #34D9C4;
  --c-on-primary: #0C2340;
  --c-accent: #AB8CF5;
  --c-background: #0C2340;
  --c-surface: #0D2B4D;
  --c-surface-alt: #0F3A66;
  --c-on-surface: #E6EAF0;
  --c-body: #E6EAF0;
  --c-muted: #9FB0C4;
  --c-border: #0F3A66;
  --c-border-strong: #1B4A7A;
  --c-link: #34D9C4;
  --c-governance: #AB8CF5;
  }
}
:root[data-theme="dark"] {
  --c-primary: #34D9C4;
  --c-on-primary: #0C2340;
  --c-accent: #AB8CF5;
  --c-background: #0C2340;
  --c-surface: #0D2B4D;
  --c-surface-alt: #0F3A66;
  --c-on-surface: #E6EAF0;
  --c-body: #E6EAF0;
  --c-muted: #9FB0C4;
  --c-border: #0F3A66;
  --c-border-strong: #1B4A7A;
  --c-link: #34D9C4;
  --c-governance: #AB8CF5;
}
:root[data-theme="light"] {
  --c-primary: #0F6B59;
  --c-on-primary: #FFFFFF;
  --c-secondary: #706C63;
  --c-accent: #7A3FCC;
  --c-background: #FCFBF6;
  --c-surface: #FFFFFF;
  --c-surface-alt: #F7F4EC;
  --c-surface-inverse: #0C2340;
  --c-on-surface: #1C1B19;
  --c-on-inverse: #FFFFFF;
  --c-body: #423F39;
  --c-muted: #706C63;
  --c-faint: #928D80;
  --c-border: #E7E2D6;
  --c-border-strong: #D8D2C4;
  --c-link: #0F6B59;
  --c-danger: #DE5B47;
  --c-warning: #B7791F;
  --c-success: #13C8B2;
  --c-governance: #7A3FCC;
  --c-severity-high: #DE5B47;
  --c-severity-high-text: #B23D2C;
  --c-severity-high-bg: #FBECE9;
  --c-severity-medium: #B7791F;
  --c-severity-medium-text: #B7791F;
  --c-severity-medium-bg: #FBF0DA;
  --c-severity-low: #13C8B2;
  --c-severity-low-bg: #DCF9F6;
}
