/* =====================================================================
   theme.css — the "terminal-dark" palette, as tokens.

   These values are not invented for the mockup. They are the terminal-dark
   theme already shipping in the live dashboard (app/styles.css in the serving
   dashboard image, theme block `terminal-dark`), lifted here so the prototype
   and the product stay one palette.

   Everything below the token block is the base layer shared by all three
   artboards. Per-artboard rules live in desk.css / record.css /
   schema-lanes.css and are tokenised against this file, so changing a value
   here changes every page.
   ===================================================================== */

:root {
  /* --- surfaces ---------------------------------------------------- */
  --ground: #0b0e14;            /* page background */
  --panel: #12161f;             /* top-level panel */
  --panel-2: #0f131b;           /* nested panel / card / sub-surface */
  --chip: #1a2030;              /* chip + selected row fill */
  --hover: #151a25;             /* row hover */

  /* --- lines ------------------------------------------------------- */
  --line: #222836;              /* standard border */
  --line-2: #171d29;            /* quiet border, hairline separator */
  --line-hi: #2f3648;           /* border on hover */

  /* --- type -------------------------------------------------------- */
  --ink: #e6e9ef;               /* primary text */
  --ink-2: #c8cedb;             /* secondary text */
  --muted: #8a93a6;             /* labels */
  --faint: #5b6577;             /* faint labels, de-emphasised units */

  /* --- semantics --------------------------------------------------- */
  --accent: #f0b429;            /* the desk's one accent: selection, engine */
  --accent-hi: #ffd166;         /* accent, hover */
  --long: #2ea043;              /* long / profit */
  --short: #e5484d;             /* short / loss / refusal */
  --warn: #d29922;
  --info: #4c8dff;

  /* engine-authored tape rows read differently from model-authored ones */
  --engine-row: #14120c;
  --engine-row-hover: #1b1810;

  /* --- model identity ---------------------------------------------
     One hue per registry_id, stable across every surface. Set by JS today
     (MODEL_DOT in js/desk.js); listed here so an implementation can read
     them from the theme instead. */
  --id-deepseek-v4-pro: #4c8dff;
  --id-claude-opus-5: #d457a8;
  --id-qwen38-max: #f0b429;
  --id-deepseek-v4-flash: #0e8a96;
  --id-gpt-56-sol: #9878e8;
  --id-grok-45: #cf5f16;

  /* --- rota regimes -------------------------------------------------
     Four slots a day. Each carries a background / foreground / border trio.
     Set by JS today (SLOT_STYLE in js/desk.js). */
  --regime-asia-bg: #2a2140;
  --regime-asia-fg: #c9a9ff;
  --regime-asia-bc: #3a2f56;
  --regime-london-bg: #12314a;
  --regime-london-fg: #7cc0ff;
  --regime-london-bc: #1c4467;
  --regime-preus-bg: #0f3326;
  --regime-preus-fg: #57d38c;
  --regime-preus-bc: #174a37;
  --regime-us-bg: #3a2f10;
  --regime-us-fg: #f0b429;
  --regime-us-bc: #544317;

  /* --- failure / refusal fills --------------------------------------
     Used for a FAIL gate, a refused decision and an unavailable source. */
  --fail-bg: #2c1416;
  --fail-bc: #4a2226;
  --fail-fg: #ff9d97;
  --pass-bg: #0f2417;
  --pass-fg: #7ee2a8;

  /* --- geometry ----------------------------------------------------- */
  --radius-panel: 12px;
  --radius-sub: 8px;
  --radius-row: 6px;
  --radius-chip: 20px;

  /* --- type stacks --------------------------------------------------- */
  --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto,
             "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", Menlo,
               monospace;
}

/* =====================================================================
   Base layer — identical in all three artboards.
   ===================================================================== */

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-ui);
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hi); }

.mono { font-family: var(--font-mono); }

/* The two label styles. Uppercase + letterspacing is for LABELS ONLY —
   never for a sentence. Prose uses .mono or the UI stack at normal case. */
.lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--muted);
}
.lbl-f {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--faint);
}

.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
}
.sub {
  background: var(--panel-2);
  border: 1px solid var(--line-2);
  border-radius: var(--radius-sub);
}
