/* GENERATED — do not edit by hand.
 * Source of truth: tokens/tokens.json in citadltech/citadl-design-tokens.
 * Regenerate: npm run build:tokens
 *
 * Mainframe, the CITADL parent tier's design language, as values. Loaded by
 * citadl-admin and by any parent-level surface built later. Not consumed by
 * ATLS or Everyporch, which each have their own system.
 *
 * Each colour variable holds a bare HSL triplet rather than a colour, because
 * Tailwind reads them as hsl(var(--citadl-background)). Wrapping the value here
 * would produce hsl(hsl(...)) and every colour would fail to parse. Every
 * other variable holds a complete value: a font stack, 11px, 0.12em, 120ms.
 */

:root {
  /* Colour: bare HSL triplets, light values. */
  --citadl-background: 0 0% 100%;
  --citadl-foreground: 240 10% 4%;
  --citadl-muted: 240 5% 96%;
  --citadl-muted-foreground: 240 4% 44%;
  --citadl-border: 240 6% 90%;
  --citadl-accent: 26.4 81.3% 51.8%;
  --citadl-destructive: 0 72% 45%;
  --citadl-ok: 142 70% 28%;
  --citadl-warn: 42 100% 28%;

  /* Type, space, radius and motion: complete values, the same in both modes. */
  --citadl-font-sans: 'IBM Plex Sans', system-ui, sans-serif;
  --citadl-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --citadl-font-display: Rajdhani, 'IBM Plex Sans', sans-serif;
  --citadl-font-size-label: 11px;
  --citadl-font-size-body: 13px;
  --citadl-font-size-body-large: 15px;
  --citadl-font-size-title: 20px;
  --citadl-font-size-display: 28px;
  --citadl-letter-spacing-label: 0.12em;
  --citadl-letter-spacing-display: 0.18em;
  --citadl-letter-spacing-body: 0em;
  --citadl-radius-control: 2px;
  --citadl-space-tight: 4px;
  --citadl-space-cell: 8px;
  --citadl-space-stack: 12px;
  --citadl-space-panel: 16px;
  --citadl-space-section: 24px;
  --citadl-space-page: 32px;
  --citadl-duration-fast: 120ms;
  --citadl-duration-slow: 240ms;
  --citadl-hairline: 1px;
}

/* Dark is not an inversion. Only the tokens whose value actually changes are
 * re-declared, so nothing restyles — the accent is identical in both modes and
 * is deliberately absent below.
 *
 * A class, not prefers-color-scheme: citadl-admin sets Tailwind darkMode:
 * 'class', so an explicit choice beats the operating system. A consumer that
 * wants the media query pairs these values itself rather than editing this file.
 */
.dark {
  --citadl-background: 0 0% 10%;
  --citadl-foreground: 0 0% 91%;
  --citadl-muted: 0 0% 13%;
  --citadl-muted-foreground: 0 0% 71%;
  --citadl-border: 0 0% 19%;
  --citadl-destructive: 0 84% 72%;
  --citadl-ok: 142 50% 55%;
  --citadl-warn: 45 90% 58%;
}

/* Motion is small, and none when a person has asked for none. A surface that
 * reads the duration tokens honours prefers-reduced-motion without a second
 * rule of its own. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --citadl-duration-fast: 0ms;
    --citadl-duration-slow: 0ms;
  }
}
