/* ============================================================
   colors.css — Vox Ordo color system
   ------------------------------------------------------------
   The sovereign operator's cockpit: a near-black canvas, card
   surfaces a hair above it, hairline borders, and a near-WHITE
   monochrome accent. Color is RESTRAINED — chromatic hues are
   reserved for FUNCTIONAL state signals (active pane, hover,
   online, error), never decoration.

   Source of truth: project-shell.css [data-theme="black"].
   ============================================================ */

:root {
  /* ── Base canvas & surfaces ─────────────────────────────── */
  --vo-black:        #0a0a0c;   /* app canvas — near-black, faint blue cast */
  --vo-surface:      #131318;   /* card / pane surface, one step up */
  --vo-elevate:      #1a1a20;   /* elevated surface: menus, headers, popovers */
  --vo-input:        #0e0e12;   /* recessed surface: inputs, terminals, wells */
  --vo-void:         #060608;   /* deepest — terminal body, behind everything */

  /* ── Monochrome ink ramp (near-white → faint) ──────────── */
  --vo-fg:           #ececf0;   /* primary text + the monochrome accent */
  --vo-fg-muted:     #8a8a93;   /* secondary text, labels */
  --vo-fg-dim:       #5b5b62;   /* tertiary text, placeholders, disabled */
  --vo-fg-faint:     #3a3a40;   /* hairline captions, watermarks */

  /* ── Ink ramp extension (Tier-2 ruling, 2026-07-13 CD return) ── */
  --vo-fg-soft:      #d3d3da;   /* soft body text on hero/dense surfaces —
                                   sits between --vo-fg and --vo-fg-muted.
                                   Long-read body on --vo-void/--vo-surface;
                                   NOT for labels (labels stay --vo-fg-muted). */
  /* ── Gloss (chrome's quiet sibling; never on buttons — --vo-chrome keeps the CTA monopoly) ── */
  --vo-gloss:        linear-gradient(180deg, #f2f2f5 0%, #c9cad0 100%); /* @kind color */

  /* ── Hairline borders ───────────────────────────────────── */
  --vo-border:       #25252b;   /* default 1px hairline */
  --vo-border-soft:  #1c1c22;   /* quietest divider */
  --vo-border-strong:#34343c;   /* emphasized edge, dividers under hover */

  /* ── Accent (near-white monochrome) ─────────────────────── */
  --vo-accent:       #ececf0;   /* the accent IS near-white — restraint */
  --vo-accent-fg:    #0a0a0c;   /* legible ink ON the near-white accent */
  --vo-accent-soft:  rgba(236, 236, 240, 0.08);  /* selected / active wash */

  /* ── Chrome (the one premium metallic gesture) ──────────── */
  /* Brushed-steel gradient. Used for the primary CTA face and
     hero "chrome" text. The system's single moment of shine. */
  --vo-chrome:       linear-gradient(180deg, #f6f7fa 0%, #cfd3dc 38%, #6f7480 62%, #c9cdd7 100%); /* @kind color */
  --vo-chrome-edge:  rgba(220, 225, 240, 0.45);  /* pearl inner highlight */
  --vo-chrome-bg:    rgba(8, 8, 11, 0.6);        /* translucent backdrop under sticky bars/topbar (with backdrop-blur) */

  /* ── Functional state hues (signals, NOT decoration) ────── */
  --vo-active:       #06b6d4;   /* cyan  — the active / focused pane */
  --vo-hover:        #f59e0b;   /* amber — hover edge across the system */
  --vo-online:       #3eff8b;   /* green — runner online, task complete */
  --vo-disk:         #3ecf8e;   /* green — target = your machine (disk) */
  --vo-server:       #f59e0b;   /* amber — target = hosted server */
  --vo-gpu:          #a855f7;   /* violet — target = GPU box */
  --vo-info:         #6b8aff;   /* blue  — running / gated */
  --vo-warn:         #f0b04f;   /* amber — needs input / barrier */
  --vo-error:        #ff5a5a;   /* red   — error / failed */

  /* ── Glow tints (alpha versions for shadows & washes) ───── */
  --vo-active-glow:  rgba(6, 182, 212, 0.16);
  --vo-online-glow:  rgba(62, 255, 139, 0.18);
  --vo-error-glow:   rgba(255, 90, 90, 0.16);

  /* ── Semantic aliases (use these in product code) ───────── */
  --bg:              var(--vo-black);
  --bg-card:         var(--vo-surface);
  --bg-elevate:      var(--vo-elevate);
  --bg-input:        var(--vo-input);
  --surface-card:    var(--vo-surface);
  --text-body:       var(--vo-fg);
  --text-muted:      var(--vo-fg-muted);
  --text-dim:        var(--vo-fg-dim);
  --fg:              var(--vo-fg);
  --fg-muted:        var(--vo-fg-muted);
  --fg-dim:          var(--vo-fg-dim);
  --accent:          var(--vo-accent);
  --accent-fg:       var(--vo-accent-fg);
  --accent-soft:     var(--vo-accent-soft);
  --border:          var(--vo-border);
  --border-soft:     var(--vo-border-soft);
  --border-strong:   var(--vo-border-strong);
  --border-active:   var(--vo-active);
  --border-hover:    var(--vo-hover);
  --fg-faint:        var(--vo-fg-faint);
  --fg-soft:         var(--vo-fg-soft);
}

/* ── CertusOrdo — optional red-accented "doctrine" theme ─────
   Not the default. A sovereign, signed, on-the-record mode.
   Swap by setting [data-theme="certusordo"] on a scope. ───── */
[data-theme="certusordo"] {
  --vo-surface:   #15151a;
  --vo-elevate:   #1c1c22;
  --vo-fg:        #e6e6ea;
  --vo-accent:    #c1121f;
  --vo-accent-fg: #ffffff;
  --vo-accent-soft: rgba(193, 18, 31, 0.18);

  --accent:       var(--vo-accent);
  --accent-fg:    var(--vo-accent-fg);
  --accent-soft:  var(--vo-accent-soft);
  --bg-card:      var(--vo-surface);
  --bg-elevate:   var(--vo-elevate);
  --fg:           var(--vo-fg);
}
