/* nikolina-tokens.css — D-059 §5 / D-059-A1 §B / D-059-A2 A2-10.
   Single source of truth for colour and motion across all three surfaces:
   06_website/index.html, ops/dashboard.html, and admin_console.py's UI.
   The seven BRAND tokens are deployed values extracted from index.html:18-19 (D-043).
   They may be imported and used; they may NOT be redefined by any importing surface.
   Built by Chat 02, 2026-08-29, per D-059-A1 §B-2 (exact values, not to be adjusted). */

:root{
  /* ---- BRAND — canonical, do not redefine (index.html:18-19, pre-edit) ---- */
  --bg:#0b0a0e;          /* page ground                                   */
  --bg-2:#131118;        /* raised panel — the age-gate panel, index:76   */
  --ink:#d9d4e3;         /* body text            13.61:1 on --bg          */
  --ink-dim:#8d8699;     /* secondary text        5.64:1 on --bg          */
  --accent:#8e2b4b;      /* fills and borders — NOT small text            */
  --accent-soft:#b4506f; /* large text, borders, hover — NOT small text   */
  --line:#2a2533;        /* hairline separators                           */

  /* ---- SURFACES — derived, admin-facing ---- */
  --surface:#131118;     /* == --bg-2. A card on the admin is the same    */
                         /* plane as the gate panel on the site.          */
  --surface-2:#1b1822;   /* one step above --surface; modals, hovered rows*/

  /* ---- STATUS — four roles, three tokens each ---- */
  /* Foregrounds are the values ops/dashboard.html already ships; the      */
  /* tints and hovers are the ones it already pairs them with. Contrast    */
  /* measured D-059-A1 §B-3 — every fg/tint pair clears WCAG AA (4.5:1).   */
  --ok:#4ade80;      --ok-bg:#1a472a;    --ok-bg-hover:#2d5f3d;
  --warn:#facc15;    --warn-bg:#3d2817;  --warn-bg-hover:#4d3420;
  --fail:#f87171;    --fail-bg:#3d1a1a;  --fail-bg-hover:#5a2a2a;
  --info:#4fa3d1;    --info-bg:#1a2e3d;  --info-bg-hover:#253f54;

  /* ---- CHROME — internal ops/QA instrument-panel neutral scale, distinct */
  /* from the tinted BRAND greys above (R=G=B in every value here). Not     */
  /* brand-tintable; do not redefine. Named per Defect 31's ruling,         */
  /* DEFECT_31_33_34_RULINGS_SPEC.md §A — background/surface/surface-hover, */
  /* two border weights, a four-step text-emphasis ladder. Used today only */
  /* by ops/dashboard.html (mirrored below the same way STATUS is).        */
  --chrome-bg:              #0f0f0f;  /* darkest ground: page bg, input focus bg  */
  --chrome-surface:         #1a1a1a;  /* raised panel: cards, modals, hover bg    */
  --chrome-surface-hover:   #2a2a2a;  /* one step above --chrome-surface, hover   */
  --chrome-border:          #333;     /* default border/divider                   */
  --chrome-border-soft:     #222;     /* hairline divider, subtler than default   */
  --chrome-border-hover:    #555;     /* focus/hover border accent                */
  --chrome-scrollbar-hover: #444;     /* scrollbar-thumb hover — single, narrow   */
  --chrome-text:            #e0e0e0;  /* body text / bright value text            */
  --chrome-text-dim:        #999;     /* dim labels (titles, form labels)         */
  --chrome-text-muted:      #666;     /* muted secondary text (timestamps)        */
  --chrome-text-bright:     #fff;     /* brightest emphasis (stat values)         */

  /* ---- ACCESSIBILITY DERIVATIVES — see D-059-A1 §B-4/§B-5.4 ---- */
  --accent-link:#c25c7d; /* accent as SMALL text. 4.81:1 on --bg.         */
                         /* --accent-soft is 4.06:1 and fails AA there.   */
  --ink-bright:#efeaf6;  /* near-white heading/accent text (Defect-free). */
                         /* Collapses index.html's #efeaf6 and #f6edf2 —  */
                         /* 0.00016 apart in relative luminance, same     */
                         /* semantic role (D-059-A1 §B-5.2 precedent).    */

  /* ---- MOTION — see D-059-A1 §C ---- */
  --dur-1:120ms;   /* micro: press, hover transform            */
  --dur-2:240ms;   /* state change: colour, border, row status */
  --dur-3:420ms;   /* reveal: gate exit, entrance stagger      */
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.22,.61,.36,1);
}
