:root {
  --primary: oklch(43.6% 0.1484 142.5);
  --primary-light: oklch(54.2% 0.1398 143.35);
  --secondary: oklch(95.59% 0.0136 145.47);
  --dark: oklch(32.11% 0 0);
  --light: oklch(100% 0 0);
  --brand-primary: oklch(43.6% 0.1484 142.5);
  --brand-primary-contrast: oklch(100% 0 0);
  --border: oklch(92.56% 0.0139 272.68);
  --background: oklch(97.92% 0.0041 271.37);
  --success: oklch(67.38% 0.1885 145.43);
  --info: oklch(74.59% 0.1022 311.59);
  --warning: oklch(70.74% 0.1784 46.44);
  --danger: oklch(58.95% 0.2138 26.85);
  --light-opacity: 70%;
  --success-light: color-mix(in srgb, var(--success), transparent var(--light-opacity));
  --info-light: color-mix(in srgb, var(--info), transparent var(--light-opacity));
  --warning-light: color-mix(in srgb, var(--warning), transparent var(--light-opacity));
  --danger-light: color-mix(in srgb, var(--danger), transparent var(--light-opacity));
  --tblr-border-radius: 0;
  --highlight: brightness(0.9);
  --muted: color-mix(in srgb, var(--dark), transparent 20%);
  --header-height: 85px;
  --menu-height: 85px;
  --nav-transition-speed: 0.3s;
  --nav-blur: 16px;
  --content-blur: 8px;
  --dsr-green-light: oklch(95.71% 0.021 147.64);
  --dsr-green: oklch(52.34% 0.1347 144.17);
  --dsr-green-dark: oklch(48.04% 0.098 140.42);
  --dsr-green-darker: oklch(42.2% 0.0941 141.41);

  /* Semantic surface/foreground tokens used by the form components (x-select).
     Derived from --dark/--border so they track the light/dark theme without
     needing their own dark-mode overrides. */
  --text: var(--dark);
  --text-muted: color-mix(in srgb, var(--dark), transparent 35%);
  --text-subtle: color-mix(in srgb, var(--dark), transparent 58%);
  --background-muted: color-mix(in srgb, var(--dark), transparent 92%);
  --border-subtle: color-mix(in srgb, var(--border), transparent 45%);
  --shadow-card: 0 0.5rem 1rem -0.25rem color-mix(in srgb, var(--dark), transparent 82%);
}

:root[data-bs-theme=dark] {
  --primary: oklch(95.59% 0.0136 145.47);
  --primary-light: oklch(67.89% 0.1418 143.82);
  --secondary: oklch(43.6% 0.1484 142.5);
  --dark: oklch(84.52% 0 0);
  --light: oklch(18.22% 0 0);
  --background: oklch(16.05% 0.0063 285.67);
  --border: oklch(29.66% 0.0117 264.38);
  --success: oklch(71.59% 0.199 145.34);
  --info: oklch(56.57% 0.1289 307.84);
  --warning: oklch(75.98% 0.1432 50.91);
  --danger: oklch(71.16% 0.1812 22.84);
  --light-opacity: 80%;
  --success-light: color-mix(in srgb, var(--success), transparent var(--light-opacity));
  --info-light: color-mix(in srgb, var(--info), transparent var(--light-opacity));
  --warning-light: color-mix(in srgb, var(--warning), transparent var(--light-opacity));
  --danger-light: color-mix(in srgb, var(--danger), transparent var(--light-opacity));
  --highlight: brightness(1.15);
  --muted: color-mix(in srgb, var(--dark), transparent 30%);
}
