/* night-ops - uiforagents identity tokens for the etelej.com lab-sites.
   Scoped to [data-theme="night-ops"] (set on <html> by BaseLayout) so
   identities coexist side by side, mirroring graphite-theme.css. Values
   are the night-ops identity spec (uiforagents identities/night-ops/
   foundation.css): cool near-black ground, azure instrument accent, LED
   status grammar, mono for every numeral.

   Dual theme rides the identity's light-dark() pairs verbatim: the file
   pins color-scheme: dark (the identity's lead scheme) and the shared
   [data-scheme="light"] hook - the masthead scheme toggle - flips it to
   light, re-gating every pair. Fonts: the identity ships system stacks
   and no webfonts, so the stacks are declared here and nothing preloads. */

[data-theme="night-ops"] {
  color-scheme: dark;

  /* night-ops native vocabulary (light-dark: slot 1 light, slot 2 dark) */
  --bg:        light-dark(oklch(0.974 0.004 255), oklch(0.17 0.008 255));
  --surface:   light-dark(oklch(0.998 0.001 255), oklch(0.205 0.009 255));
  --surface-2: light-dark(oklch(0.982 0.004 255), oklch(0.235 0.010 255));
  --ink:       light-dark(oklch(0.26 0.014 260), oklch(0.90 0.008 255));
  --muted:     light-dark(oklch(0.44 0.014 260), oklch(0.66 0.010 255));
  --faint:     light-dark(oklch(0.56 0.010 255), oklch(0.48 0.010 255));
  --line:      light-dark(oklch(0.895 0.008 255), oklch(0.29 0.010 255));
  --line-soft: light-dark(oklch(0.930 0.006 255), oklch(0.24 0.009 255));
  --accent:      light-dark(oklch(0.50 0.115 255), oklch(0.72 0.115 255));
  --accent-ink:  light-dark(oklch(0.995 0 0),      oklch(0.15 0.02 255));
  --accent-soft: color-mix(in oklab, var(--accent) 10%, transparent);
  --ok:     light-dark(oklch(0.52 0.11 155),  oklch(0.72 0.13 155));
  --warn:   light-dark(oklch(0.48 0.115 80),  oklch(0.78 0.13 80));
  --danger: light-dark(oklch(0.53 0.17 27),   oklch(0.66 0.17 25));
  --radius: 4px;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;

  /* identity extras */
  --sunken:   light-dark(oklch(0.952 0.005 255), oklch(0.145 0.007 255));
  --r-sm: 3px;
  --r-lg: 6px;
  --pop: light-dark(0 8px 24px oklch(0 0 0 / 0.14), 0 8px 24px oklch(0 0 0 / 0.18));
  --overlay: light-dark(oklch(0.20 0.010 255 / 0.45), oklch(0.09 0.010 255 / 0.60));

  /* Lab-site shared component vocabulary (the same names graphite-theme.css
     defines) mapped onto the identity tokens, so identity-agnostic
     components keep their three-level fallbacks working under this
     identity. Graphite's wash role (--accent/--muted as backgrounds) has
     no night-ops counterpart: state color stays native, washes are
     --secondary/--accent-soft. */
  --background: var(--bg);
  --foreground: var(--ink);
  --card: var(--surface);
  --card-foreground: var(--ink);
  --popover: var(--surface-2);
  --popover-foreground: var(--ink);
  --primary: var(--accent);
  --primary-foreground: var(--accent-ink);
  --secondary: var(--accent-soft);
  --secondary-foreground: var(--ink);
  --muted-foreground: var(--muted);
  --accent-foreground: var(--accent);
  --destructive: var(--danger);
  --destructive-foreground: var(--danger);
  --ok-soft: color-mix(in oklab, var(--ok) 12%, transparent);
  --ok-foreground: var(--ok);
  --warn-soft: color-mix(in oklab, var(--warn) 12%, transparent);
  --warn-foreground: var(--warn);
  --danger-soft: color-mix(in oklab, var(--danger) 13%, transparent);
  --danger-soft-foreground: var(--danger);
  --border: var(--line);
  --input: var(--line);
  --ring: var(--accent);
  --font-display: var(--mono);
  --font-sans: var(--sans);
  --font-mono: var(--mono);
  --shadow-identity: none;
}

/* The masthead scheme toggle flips data-scheme; light-dark() follows. */
[data-theme="night-ops"][data-scheme="light"] {
  color-scheme: light;
}
