/* Invictus Flugtechnik — Radii, borders, shadows, motion. */
:root {
  /* Corner radii */
  --radius-none: 0;
  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* Border widths */
  --border-hairline: 1px;
  --border-thin: 1.5px;
  --border-thick: 2px;
  --rule-weight: 2px;            /* amber divider rule */

  /* Shadows — cool, soft, navy-tinted */
  --shadow-xs: 0 1px 2px rgba(10, 22, 40, 0.06);
  --shadow-sm: 0 1px 3px rgba(10, 22, 40, 0.08), 0 1px 2px rgba(10, 22, 40, 0.04);
  --shadow-md: 0 4px 12px rgba(10, 22, 40, 0.10), 0 1px 3px rgba(10, 22, 40, 0.06);
  --shadow-lg: 0 12px 32px rgba(10, 22, 40, 0.14), 0 2px 8px rgba(10, 22, 40, 0.06);
  --shadow-xl: 0 24px 60px rgba(10, 22, 40, 0.20);

  /* Focus ring — blue, generous */
  --focus-ring: 0 0 0 3px rgba(11, 114, 255, 0.32);
  --focus-ring-amber: 0 0 0 3px rgba(255, 155, 0, 0.36);

  /* Glow for nodes / active data points on navy */
  --glow-blue: 0 0 0 4px rgba(59, 142, 255, 0.18);
  --glow-amber: 0 0 0 4px rgba(255, 155, 0, 0.20);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 360ms;
  --transition-base: all var(--duration-base) var(--ease-out);

  /* Blueprint grid background (navy) */
  --blueprint-line: rgba(143, 160, 181, 0.07);
}

[data-theme="dark"],
.ift-dark {
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.40);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.55);
  --shadow-xl: 0 28px 70px rgba(0, 0, 0, 0.65);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
