/* Editorial Treasury tokens — ported from ~/quartermint/DESIGN.md (DT1/DT2/DT3).
 * Single source of CSS variables for Quartermint: The Game.
 *
 * Design contract (VISION §7.15, Design review 2026-06-04):
 *   - Dark game canvas (#0f1620 family) for the in-game shell.
 *   - Real Fraunces (display) + Geist (UI) + JetBrains Mono (money/dates).
 *   - The four-mark ● ◉ ▲ ■ entity geometry.
 *   - Report card FLIPS to light Fraunces-cream (the "this is the real product" reveal).
 *   - NO system-ui as display, NO violet/#c77dff accent. Both are killed here.
 */

:root {
  /* ── Type stack (matches demos-hub index.html, DESIGN.md Typography) ──────── */
  --font-display: 'Fraunces', ui-serif, Georgia, serif;
  --font-body: 'Geist', ui-sans-serif, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* ── Editorial Treasury — Parchment (light, used by the report-card flip) ── */
  --et-bg: #FAF7EF;
  --et-surface: #F2EDDF;
  --et-surface-subtle: #EEE8D6;
  --et-primary: #0F3D2E;          /* Ledger Green */
  --et-primary-text: #FAF7EF;
  --et-accent: #B8893A;           /* Aged Gold — rare */
  --et-text: #1C2620;
  --et-text-muted: #5E6862;
  --et-text-faint: #8A938E;
  --et-rule: #D8D2C0;
  --et-rule-strong: #B5AE99;

  /* ── Editorial Treasury — Ink (dark, used by the game canvas) ─────────────── */
  --ink-bg: #0E1410;              /* Ink near-black, green undertone (DESIGN dark mode) */
  --ink-surface: #1A1F1B;
  --ink-surface-subtle: #222825;
  --ink-primary: #2D6B52;         /* Brighter Ledger Green on Ink */
  --ink-primary-text: #0E1410;
  --ink-accent: #D4A85C;          /* Aged Gold brightened for Ink */
  --ink-text: #E8E2D1;            /* Cream on Ink */
  --ink-text-muted: #9AA09C;
  --ink-text-faint: #868F8B;      /* QA 2026-06-04: bumped from #6B7570 for WCAG AA 4.5:1 on every Ink surface (incl. #222825) */
  --ink-rule: #2A302C;
  --ink-rule-strong: #3D453F;

  /* ── Semantic (compliance / status) ──────────────────────────────────────── */
  --color-success: #5BA37D;       /* dark-mode values; Settled / Compliant / Filed */
  --color-warning: #D9A348;       /* Pending / review */
  --color-error: #C45D4C;         /* Non-compliant / FLAG */
  --color-info: #6291B5;          /* Notice */

  /* Light-mode semantic (report card) */
  --color-success-light: #3E7C5A;
  --color-warning-light: #C28B2C;
  --color-error-light: #A14132;
  --color-info-light: #3E6B8C;

  /* ── Posture toggle (VISION §7.15) ───────────────────────────────────────── */
  --posture-support: var(--color-success);
  --posture-oppose: var(--color-error);
  --posture-quiet: var(--ink-text-faint);

  /* ── Game canvas (VISION §7.15: dark slate #0f1620, Super PAC darker red) ── */
  --game-canvas: #0f1620;         /* dark slate game canvas */
  --game-canvas-deep: #0a0f16;
  --superpac-canvas: #120c0e;     /* Super PAC = darkest, red-accented "dark side" */
  --superpac-accent: #C45D4C;

  --space-unit: 8px;
  --radius: 4px;                  /* near-square; DESIGN forbids bubble radius */
  --hairline: 1px;
}

/* ── Game canvas base ─────────────────────────────────────────────────────── */
.qm-game {
  background: var(--game-canvas);
  color: var(--ink-text);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.qm-game.seat-superpac { background: var(--superpac-canvas); }

.qm-mono { font-family: var(--font-mono); }
.tnum { font-variant-numeric: tabular-nums; }

/* Italic-Loss signature (DESIGN.md, mandatory): negative deltas italic Fraunces. */
.delta-pos { font-family: var(--font-display); font-style: normal; color: var(--color-success); font-variant-numeric: tabular-nums; }
.delta-neg { font-family: var(--font-display); font-style: italic;  color: var(--color-error);   font-variant-numeric: tabular-nums; }

/* The report-card tonal flip to Parchment + serif (VISION §7.15). */
.report-flip {
  background: var(--et-bg);
  color: var(--et-text);
  font-family: var(--font-body);
}
.report-flip h1, .report-flip h2, .report-flip .verdict {
  font-family: var(--font-display);
  font-weight: 500;
}
