/* FinOrg presentation tokens. Canon: PASTA_HTML_REPORTS_VIZ_PLAN §9
   Structural = mode. Semantic = fixed. Product = #1b4332 / #ed691f (thin).
   Brand green ≠ semantic.good. CTA orange ≠ warn. */

:root {
  --finorg-green: #1b4332;
  --finorg-cta: #ed691f;
  --semantic-good: #157a4b;
  --semantic-bad: #c43c2c;
  --semantic-warn: #a67c14;
  --touch: 44px;
  --hair: 1px;
  --radius: 3px;
  --font-ui: "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
}

/* Paper — day / print. Cool paper, not cream+terracotta. */
[data-mode="light"] {
  --bg: #f3f4f1;
  --bg-elev: #ffffff;
  --bg-mute: #e8ebe6;
  --ink: #1a1f1c;
  --ink-soft: #5c6560;
  --line: rgba(27, 67, 50, 0.14);
  --line-strong: rgba(27, 67, 50, 0.28);
  --head-bg: #ffffff;
  --trust-bg: #eef1ed;
  --shadow: 0 1px 0 var(--line);
  --nav-on: var(--finorg-green);
  --chart-steel: #6b7c8a;
}

/* Slate — evening / projector. Not #000. */
[data-mode="dark"] {
  --bg: #1b211e;
  --bg-elev: #252c28;
  --bg-mute: #151a18;
  --ink: #e6ebe8;
  --ink-soft: #9aa59e;
  --line: rgba(232, 236, 232, 0.1);
  --line-strong: rgba(232, 236, 232, 0.22);
  --head-bg: #1f2622;
  --trust-bg: #161b19;
  --shadow: none;
  --nav-on: #8fbfa8;
  --chart-steel: #8b9aa3;
}

/* Eclipse — navy void + steel. */
[data-mode="cosmos"] {
  --bg: #070b14;
  --bg-elev: #10182a;
  --bg-mute: #0b1220;
  --ink: #d7dee8;
  --ink-soft: #8b9bb0;
  --line: rgba(155, 175, 200, 0.14);
  --line-strong: rgba(155, 175, 200, 0.28);
  --head-bg: #0c1322;
  --trust-bg: #090e18;
  --shadow: none;
  --nav-on: #c5d0de;
  --chart-steel: #8b9bb4;
}

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.45;
  min-height: 100%;
}

body {
  font-variant-numeric: tabular-nums;
}

button, select, a {
  font-family: inherit;
}

.num {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1;
}

.pill-soon {
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 6px;
  border: var(--hair) solid var(--line-strong);
  border-radius: var(--radius);
  color: var(--ink-soft);
}

.pill-pilot {
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 6px;
  background: var(--finorg-green);
  color: #f4f7f5;
  border-radius: var(--radius);
}

.nd {
  color: var(--ink-soft);
  font-style: italic;
}
