/* ============================================================================
 * TAX MONKEY NOMAD — the ONE stylesheet (the overall look)
 * ----------------------------------------------------------------------------
 * Single source of the Nomad look, pegged to the opener + "Chief's lean":
 * warm LINEN structure, light near-white CARDS, dark text, a settled faint grey,
 * terracotta as the warm accent — and a COOL modern counter (cornflower + teal)
 * that appears as a WINDOW/PANEL OUTLINE, calm at rest and alive on hover.
 *
 * Every page links this file and then deletes its own :root. Both historic name
 * dialects resolve from here, so nothing has to be rewritten:
 *   --linen/--ink/--terra   (storefront pages)
 *   --bg/--text/--accent     (board + world)
 * Change a value ONCE here and it flows everywhere.
 * Buttons are intentionally left as each page already has them (gradient terracotta).
 * ========================================================================== */

:root{
  /* ---- canonical values (the single source) — "Chief's lean" ------------- */
  --nm-linen:#f6eee2;       /* page structure */
  --nm-linen-2:#efe4d4;     /* second linen / band fill */
  --nm-card:#fffdfa;        /* light near-white card (not pure white, not cream) */
  --nm-card-2:#f7f1e6;      /* a slightly warmer inner card */
  --nm-ink:#1d1916;         /* dark text */
  --nm-muted:#5f574c;       /* secondary text */
  --nm-faint:#7a7063;       /* faint text — settles the old #9c9081 vs #857a6b split (this passes contrast) */
  --nm-line:#e6d8c4;        /* warm hairline */

  /* warm accents (kept) */
  --nm-terra:#c66a45; --nm-terra-d:#a9542f; --nm-terra-soft:#f4e7dc;
  --nm-sage:#7d9b78; --nm-sage-d:#5f7d5b; --nm-sage-soft:#e9f0e6;
  --nm-gold:#dca85b; --nm-gold-d:#9a6212; --nm-gold-soft:#f6ecd6;
  --nm-dusk:#6f93a8; --nm-dusk-d:#3f6678;

  /* ---- the COOL modern counter to the espresso (window outlines) --------- */
  --nm-cool-1:#3a7bd5;  --nm-cool-1-d:#2f63ab;  --nm-cool-1-soft:#e7eef9;  --nm-cool-1-glow:rgba(58,123,213,.22);
  --nm-cool-2:#127480;  --nm-cool-2-d:#0e5b64;  --nm-cool-2-soft:#e0eff0;  --nm-cool-2-glow:rgba(18,116,128,.20);
  /* the default cool accent a card lights up with on hover (a card can override --nm-accent-cool) */
  --nm-accent-cool:var(--nm-cool-1);
  --nm-accent-cool-glow:var(--nm-cool-1-glow);

  /* ---- status (warm-leaning, locked meaning) ---------------------------- */
  --nm-ok-ink:#5f7d5b;   --nm-ok-fill:#e9f0e6;
  --nm-warn-ink:#9a6212; --nm-warn-fill:#f6ecd6;
  --nm-bad-ink:#9b2c2c;  --nm-bad-fill:#f7e3da;

  /* ---- geometry + type -------------------------------------------------- */
  --nm-r:22px; --nm-r-sm:14px; --nm-r-pill:100px;   /* 22px = the opener/index rounding */
  --nm-shadow:0 14px 36px rgba(120,86,45,.10);
  --nm-shadow-sm:0 1px 2px rgba(120,86,45,.06);
  --nm-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --nm-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --nm-mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* ======================================================================
   * BOTH NAME DIALECTS ALIAS THE CANONICAL VALUES ABOVE.
   * Storefront pages speak --linen/--ink/--terra; board + world speak
   * --bg/--text/--accent. Both now point at one source.
   * ==================================================================== */
  --linen:var(--nm-linen); --linen-2:var(--nm-linen-2); --card:var(--nm-card); --card-2:var(--nm-card-2);
  --ink:var(--nm-ink); --muted:var(--nm-muted); --faint:var(--nm-faint); --line:var(--nm-line);
  --terra:var(--nm-terra); --terra-d:var(--nm-terra-d);
  --sage:var(--nm-sage); --sage-d:var(--nm-sage-d);
  --gold:var(--nm-gold); --dusk:var(--nm-dusk); --dusk-d:var(--nm-dusk-d);
  --shadow:var(--nm-shadow); --r:var(--nm-r);

  /* board/world dialect */
  --bg:var(--nm-linen); --bg-deep:var(--nm-linen-2); --panel:var(--nm-card); --panel2:var(--nm-card-2);
  --text:var(--nm-ink); --border:var(--nm-line); --accent:var(--nm-terra); --accent2:var(--nm-terra-d);
  --accent-sel-bg:var(--nm-terra-soft);

  /* fonts + shared geometry, both dialects */
  --serif:var(--nm-serif); --sans:var(--nm-sans); --mono:var(--nm-mono);
  --r-sm:var(--nm-r-sm);
  /* common extras several pages share */
  --line-soft:#ece0cf; --border-soft:#ece0cf;
  --shadow-sm:var(--nm-shadow-sm);
  --accent-glow:rgba(198,106,69,.18);
  --good:var(--nm-sage-d); --good-d:#4f6b4b; --gold-d:var(--nm-gold-d); --dusk-d:var(--nm-dusk-d);
}

/* ---- base ------------------------------------------------------------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--nm-linen);color:var(--nm-ink);font-family:var(--nm-sans);font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--nm-serif);font-weight:700;color:var(--nm-ink);margin:0 0 .4em;letter-spacing:-.01em}
a{color:var(--nm-terra-d);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}
.nm-faint{color:var(--nm-faint)} .nm-muted{color:var(--nm-muted)}
.nm-numeric{font-family:var(--nm-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.nm-eyebrow{font-family:var(--nm-mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-terra-d)}

/* ---- the card / window, with the cool outline alive on hover ---------- */
.nm-card{background:var(--nm-card);border:1px solid var(--nm-line);border-radius:var(--nm-r);
  box-shadow:var(--nm-shadow);padding:22px 24px;transition:border-color .16s ease, box-shadow .16s ease}
.nm-card.is-interactive:hover,
.nm-card.is-interactive:focus-within{border-color:var(--nm-accent-cool);
  box-shadow:var(--nm-shadow), 0 0 0 3px var(--nm-accent-cool-glow)}
/* opt a card into the teal counter instead of cornflower */
.nm-card.cool-teal{--nm-accent-cool:var(--nm-cool-2);--nm-accent-cool-glow:var(--nm-cool-2-glow)}

/* a tile/chip that lights a cool outline on hover (e.g. country tiles) */
.nm-tile{background:var(--nm-card);border:1.5px solid var(--nm-line);border-radius:var(--nm-r-sm);
  padding:10px 13px;cursor:pointer;transition:border-color .15s ease, box-shadow .15s ease}
.nm-tile:hover{border-color:var(--nm-accent-cool);box-shadow:0 0 0 2px var(--nm-accent-cool-glow)}

/* ---- buttons: kept as-is (gradient terracotta primary + a faint helper) - */
.nm-btn{border:0;border-radius:var(--nm-r-pill);padding:11px 20px;font-family:var(--nm-sans);
  font-size:14.5px;font-weight:700;cursor:pointer}
.nm-btn-primary{background:linear-gradient(160deg,#d27a52,var(--nm-terra-d));color:#fff;
  box-shadow:0 8px 22px rgba(169,84,47,.28)}
.nm-btn-faint{background:var(--nm-cool-1-soft);color:var(--nm-cool-1-d)}

/* ---- status pills ----------------------------------------------------- */
.nm-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px}
.nm-pill.ok{background:var(--nm-ok-fill);color:var(--nm-ok-ink)}
.nm-pill.warn{background:var(--nm-warn-fill);color:var(--nm-warn-ink)}
.nm-pill.bad{background:var(--nm-bad-fill);color:var(--nm-bad-ink)}

/* ---- a hairline divider ---------------------------------------------- */
.nm-rule{height:1px;border:0;background:var(--nm-line);margin:22px 0}
