/* espresso-panel - uiforagents identity tokens for the etelej.com lab-sites.
   Scoped to [data-theme="espresso-panel"] (set on <html> by BaseLayout) so
   identities coexist side by side, mirroring graphite-theme.css. Values are
   the espresso-panel identity spec (uiforagents identities/espresso-panel/
   foundation.css): one phosphor amber on warm black, all-mono type,
   intensity as hierarchy, hairlines, 2px radii.

   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 mono
   stacks and no webfonts, so the stack is declared here and nothing
   preloads. */

[data-theme="espresso-panel"] {
  color-scheme: dark;

  /* espresso-panel native vocabulary (light-dark: slot 1 light, slot 2 dark) */
  --bg:        light-dark(oklch(0.965 0.012 88), oklch(0.14 0.006 90));
  --surface:   light-dark(oklch(0.988 0.008 90), oklch(0.17 0.008 90));
  --surface-2: light-dark(oklch(0.945 0.016 86), oklch(0.21 0.010 90));
  --sunken:    light-dark(oklch(0.920 0.020 84), oklch(0.115 0.005 90));
  --line:      light-dark(oklch(0.845 0.028 84), oklch(0.27 0.012 90));
  --line-soft: light-dark(oklch(0.905 0.018 86), oklch(0.22 0.010 90));
  --ink:       light-dark(oklch(0.30 0.045 70), oklch(0.62 0.095 80));
  --muted:     light-dark(oklch(0.42 0.055 72), oklch(0.59 0.050 80));
  --faint:     light-dark(oklch(0.52 0.048 76), oklch(0.44 0.045 80));
  --accent:      light-dark(oklch(0.46 0.105 72), oklch(0.80 0.125 80));
  --accent-ink:  light-dark(oklch(0.965 0.012 88), oklch(0.14 0.006 90));
  --accent-soft: color-mix(in oklab, var(--accent) 8%, transparent);
  --ok:     light-dark(oklch(0.42 0.055 72), oklch(0.59 0.050 80));
  --warn:   light-dark(oklch(0.52 0.115 75), oklch(0.62 0.095 80));
  --danger: light-dark(oklch(0.46 0.105 72), oklch(0.80 0.125 80));
  --radius: 2px;
  --r-sm: 1px;
  --mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;

  /* instrument extras (verbatim; derive from the palette, never new colors) */
  --chart-grid: var(--line-soft);
  --chart-axis: var(--line);
  --chart-label: var(--muted);
  --chart-series: var(--accent);
  --chart-series-dim: var(--muted);
  --chart-fill: color-mix(in oklab, var(--accent) 8%, transparent);
  --chart-annotate: var(--muted);
  --matrix-dim: color-mix(in oklab, var(--accent) 55%, transparent);

  /* 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. The identity is all-mono by design, so --font-sans resolves
     to the mono stack too; severity stays the identity's brightness ladder
     (ok is the quiet rung, warn the mid fill, danger the accent fill). */
  --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(--mono);
  --font-mono: var(--mono);
  --shadow-identity: none;
}

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