/* ============================================================
   NeroView Boardroom — design tokens (portable export)
   Version 1.1.0 · July 2026
   Source of truth: neroview.com repo → styles.css :root
   Human-readable spec: https://neroview.com/brand
   Voice guide: docs/brand-voice.md (same repo)

   Consumption contract: vendor this file into the consuming
   codebase (e.g. platform.neroview.com) and bump deliberately
   when a new version ships. Tokens are prefixed --nv- to avoid
   collisions with local variables. Do not edit locally — change
   the source repo, re-export, re-vendor.

   v1.1.0 — ratified the functional state tokens (success/warning)
   out of the draft block, added their on-dark legible variants
   (--nv-*-2) and an on-dark alert, plus a cobalt-anchored data-viz
   palette (--nv-chart-*). See "RATIFIED platform extension" below.
   ============================================================ */

:root {
  /* type */
  --nv-font-sans: "Archivo", ui-sans-serif, system-ui, sans-serif;
  --nv-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* display voice: Archivo 900, font-stretch 115%, uppercase — rare, headline-only.
     evidence voice: JetBrains Mono — labels, timestamps, IDs, tags (uppercase, letter-spacing ≥ 0.08em).
     wordmark: "NeroView" CamelCase, Archivo 800, font-stretch 115%. */

  /* surfaces */
  --nv-bg: #F5F4F0;          /* bone — page background */
  --nv-bg-elev: #FFFFFF;     /* cards */
  --nv-bg-elev-2: #ECEBE6;   /* nested / muted surfaces */
  --nv-bg-inverse: #13151A;  /* ink band */

  /* text */
  --nv-fg: #13151A;          /* ink — primary */
  --nv-fg-muted: #5A5E66;    /* secondary */
  --nv-fg-dim: #7A7E86;      /* tertiary, mono labels */
  --nv-fg-inverse: #F5F4F0;  /* text on ink */

  /* strokes */
  --nv-border: #D8D8D3;         /* default 1px */
  --nv-border-strong: #13151A;  /* hover / interactive */

  /* signal — cobalt is the ONLY attention color */
  --nv-accent: #1F3BCC;         /* cobalt */
  --nv-accent-2: #4A63E0;       /* cobalt, on-dark legible variant */
  --nv-accent-ink: #F5F4F0;     /* text on cobalt */
  --nv-accent-ring: rgba(31, 59, 204, 0.16); /* focus / active ring */
  --nv-alert: #B0392C;          /* sealing red — negative/emotion signals ONLY */
  --nv-alert-2: #CE5A4C;        /* sealing red, on-dark legible variant */

  /* artifact treatment — authority objects (verdicts, key cards, popovers) */
  --nv-shadow-verdict: 4px 4px 0 var(--nv-accent); /* with 1px solid var(--nv-fg) border */

  /* radii (marketing site; app may stay tighter) */
  --nv-radius-sm: 6px;
  --nv-radius-md: 10px;
  --nv-radius-lg: 16px;
}

/* Ink context — apply to a dark band/panel; tokens flip in place */
.nv-ink,
[data-nv-context="ink"] {
  --nv-bg: #13151A;
  --nv-bg-elev: #1B1E26;
  --nv-bg-elev-2: #232732;
  --nv-fg: #F5F4F0;
  --nv-fg-muted: #9A9EA6;
  --nv-fg-dim: #8A8E96;
  --nv-border: #2A2E38;
  --nv-border-strong: #F5F4F0;
}

/* ------------------------------------------------------------
   RATIFIED platform extension — v1.1.0.
   Functional states the marketing site doesn't need. Desaturated
   to sit in the bone/ink world; cobalt stays the only *brand*
   signal, sealing red stays negative-only. The -2 variants are the
   on-dark (ink-context) legible forms, mirroring --nv-accent-2.
   ------------------------------------------------------------ */
:root {
  --nv-success: #2F7A4D;        /* confirmations, completed runs */
  --nv-success-2: #4E9E6F;      /* on-dark legible variant */
  --nv-warning: #B0791F;        /* degraded / attention states */
  --nv-warning-2: #D19A3E;      /* on-dark legible variant */
  --nv-success-tint: rgba(47, 122, 77, 0.10);
  --nv-warning-tint: rgba(176, 121, 31, 0.10);
  --nv-alert-tint: rgba(176, 57, 44, 0.10);
}

/* ------------------------------------------------------------
   RATIFIED platform extension — data visualization palette, v1.1.0.
   The marketing kit has no chart palette. Categorical series are
   FUNCTIONAL colors (like success/warning), not brand accents:
   muted, evenly spaced, and anchored on cobalt as series 1 so the
   brand still leads. Use --nv-chart-N for categorical/qualitative
   series and --nv-chart-seq-N for a single-hue sequential/ordinal
   ramp (funnels, heat, magnitude). The ink-context block lightens
   them for legibility on #13151A. Reserve --nv-success / --nv-warning
   / --nv-alert for series that carry those SEMANTICS (pass/degraded/
   fail) — don't spend them as generic categorical slots.
   ------------------------------------------------------------ */
:root {
  /* categorical — light context (on bone / white) */
  --nv-chart-1: #1F3BCC;  /* cobalt (anchor) */
  --nv-chart-2: #2F6E7A;  /* teal */
  --nv-chart-3: #A65E3C;  /* clay */
  --nv-chart-4: #6B5CA5;  /* periwinkle */
  --nv-chart-5: #5A7D3C;  /* olive */
  --nv-chart-6: #B0791F;  /* ochre */
  --nv-chart-7: #8A5A6E;  /* mauve */
  --nv-chart-8: #4A63E0;  /* cobalt-light */

  /* sequential — single-hue cobalt ramp, deep → light */
  --nv-chart-seq-1: #13205C;
  --nv-chart-seq-2: #1F3BCC;
  --nv-chart-seq-3: #4A63E0;
  --nv-chart-seq-4: #8494EC;
  --nv-chart-seq-5: #C2CAF6;
}

/* categorical — ink context (lightened for legibility on ink) */
.nv-ink,
[data-nv-context="ink"] {
  --nv-chart-1: #6D82EA;  /* cobalt-light */
  --nv-chart-2: #4F97A3;
  --nv-chart-3: #CF8763;
  --nv-chart-4: #9A8BD0;
  --nv-chart-5: #86AB63;
  --nv-chart-6: #D19A3E;
  --nv-chart-7: #B98499;
  --nv-chart-8: #8FA1F2;

  --nv-chart-seq-1: #2C3F8F;
  --nv-chart-seq-2: #4A63E0;
  --nv-chart-seq-3: #6D82EA;
  --nv-chart-seq-4: #9AA9F0;
  --nv-chart-seq-5: #C8D0F7;
}
