/* Qadas design tokens.
 *
 * Direction: dark-dominant, in the register of Linear and Stripe. Near-black ground throughout,
 * radial auras for atmosphere, glass surfaces with hairline borders, one accent used as a gradient.
 *
 * Why dark rather than the white page this replaced: the product's hero asset is satellite imagery,
 * and imagery reads as luminous on black and washed out on white. The subject decides the ground.
 *
 * One definition per decision. No generation prefixes.
 */

:root {
  /* ---- ground ---- */
  --bg: #08090a;
  --bg-raised: #0d0e10;
  --bg-panel: #111214;

  /* ---- surfaces: translucent, so the aura shows through ---- */
  --surface: rgb(255 255 255 / 3.5%);
  --surface-hover: rgb(255 255 255 / 6%);
  --surface-solid: #141517;

  /* ---- borders: hairline, never solid grey ---- */
  --border: rgb(255 255 255 / 8%);
  --border-strong: rgb(255 255 255 / 14%);
  --border-bright: rgb(255 255 255 / 22%);

  /* ---- ink ---- */
  --fg: #f7f8f8;
  --fg-muted: #8a8f98;
  --fg-faint: #62666d;

  /* ---- the accent, one hue, usually as a gradient ---- */
  --accent: #3fcf8e;
  --accent-dim: #2aa273;
  --accent-glow: rgb(63 207 142 / 16%);
  --gradient: linear-gradient(135deg, #3fcf8e 0%, #4dd4ac 50%, #7ee8c0 100%);
  --gradient-soft: linear-gradient(135deg, rgb(63 207 142 / 14%), rgb(126 232 192 / 4%));

  /* ---- severity: the only other colour, and only inside a finding ---- */
  --high: #ff6b6b;
  --high-bg: rgb(255 107 107 / 12%);
  --moderate: #f5a623;
  --moderate-bg: rgb(245 166 35 / 12%);
  /* Low severity is deliberately not green. Green reads as "good" and a low-severity finding is
   * still a finding — it means small, not absent. */
  --low: #9aa4ae;
  --low-bg: rgb(154 164 174 / 12%);

  /* ---- type ----
   * System stack: a subsetted webfont routinely breaks İ and ı, and a product whose argument is
   * precision cannot render "ıslaklık" wrong. Mono carries every measurement. */
  --font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial,
    sans-serif;
  --font-data: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-md: 1rem;
  --text-lg: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  --text-xl: clamp(1.625rem, 1.25rem + 1.6vw, 2.5rem);
  --text-2xl: clamp(2.5rem, 1.6rem + 3.8vw, 4.5rem);

  /* Weight 500 for display. Size and tracking carry the hierarchy, not weight. */
  --weight-display: 510;
  --weight-medium: 510;
  --weight-normal: 400;

  --tracking-display: -0.032em;
  --tracking-tight: -0.015em;
  --tracking-label: 0.08em;

  /* ---- space ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 7rem;

  --section-y: clamp(4rem, 2rem + 7vw, 7.5rem);

  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-pill: 999px;

  /* Elevation on dark is a light inner edge plus a deep shadow, not a grey blur. */
  --shadow: 0 1px 0 0 rgb(255 255 255 / 6%) inset, 0 8px 32px rgb(0 0 0 / 40%);
  --shadow-lift: 0 1px 0 0 rgb(255 255 255 / 9%) inset, 0 20px 60px rgb(0 0 0 / 55%);

  --container: 1100px;
  --container-wide: 1280px;
  --container-narrow: 640px;
  --gutter: clamp(1.25rem, 0.75rem + 2.5vw, 2rem);
  --header-h: 64px;

  --transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition: 0ms;
  }
}
