/* ---- base ramps ------------------------------------------------------------
   LONGSHOT is a dark-first system. The void ramp is the default ground; the
   paper ramp exists only for the opt-in light theme. There is no warm hue
   anywhere in the system — greys, one cool slate accent, and long/short.      */
:root{
  /* void ramp — the default ground */
  --void-0:#0b0d11;
  --void-1:#101318;
  --void-2:#14171e;
  --void-3:#1a1e26;
  --void-4:#21252d;
  --void-5:#2c313b;

  /* paper ramp — opt-in light theme only */
  --paper-0:#ffffff;
  --paper-1:#f5f6f8;
  --paper-2:#f2f3f6;
  --paper-3:#eceef1;
  --paper-4:#e2e4e9;

  /* ice ramp — type on void */
  --ice-0:#ffffff;
  --ice-100:#ecedf0;
  --ice-300:#aab0bb;
  --ice-500:#71798a;
  --ice-700:#4a515e;

  /* ink ramp — type on paper */
  --ink-900:#14171c;
  --ink-600:#4b515c;
  --ink-400:#838a99;

  /* accent — cool slate, the only interactive hue */
  --slate-300:#6a9cc4;
  --slate-400:#4d7ea8;
  --slate-500:#3f6f95;
  --steel-400:#7a93a6;
  --steel-500:#6a8296;

  /* directional semantics — the only saturated colors in the system */
  --long-400:#4f9d74;
  --long-500:#3f7a58;
  --short-400:#c96479;
  --short-500:#a84960;
}

/* ---- semantic aliases — DARK IS THE DEFAULT ---- */
:root{
  --bg:var(--void-0);
  --bg-2:var(--void-1);
  --surface:var(--void-2);
  --surface-2:var(--void-3);
  --surface-3:var(--void-4);
  --line:var(--void-4);
  --line-strong:var(--void-5);
  --ink:var(--ice-100);
  --ink-dim:var(--ice-300);
  --muted:var(--ice-500);
  --faint:var(--ice-700);
  --accent:var(--slate-400);
  --accent-hi:var(--slate-300);
  --accent-ink:#f5f8fb;
  --amber:var(--steel-400);   /* legacy alias — resolves to steel, never a warm hue */
  --long:var(--long-400);
  --short:var(--short-400);
  --warn:var(--steel-400);

  /* readable aliases over the same values */
  --text-body:var(--ink);
  --text-dim:var(--ink-dim);
  --text-muted:var(--muted);
  --surface-page:var(--bg);
  --surface-card:var(--surface);
  --surface-sunken:var(--surface-2);
  --border-default:var(--line);
  --border-strong:var(--accent);
}

:root[data-theme="dark"]{
  --bg:var(--void-0);--bg-2:var(--void-1);--surface:var(--void-2);--surface-2:var(--void-3);
  --surface-3:var(--void-4);--line:var(--void-4);--line-strong:var(--void-5);
  --ink:var(--ice-100);--ink-dim:var(--ice-300);--muted:var(--ice-500);--faint:var(--ice-700);
  --accent:var(--slate-400);--accent-hi:var(--slate-300);--accent-ink:#f5f8fb;--amber:var(--steel-400);
  --long:var(--long-400);--short:var(--short-400);--warn:var(--steel-400);
}

/* Light is a supported alternate, not the default. */
:root[data-theme="light"]{
  --bg:var(--paper-1);--bg-2:var(--paper-3);--surface:var(--paper-0);--surface-2:var(--paper-2);
  --surface-3:var(--paper-3);--line:var(--paper-4);--line-strong:var(--ink-400);
  --ink:var(--ink-900);--ink-dim:var(--ink-600);--muted:var(--ink-400);--faint:var(--paper-4);
  --accent:var(--slate-500);--accent-hi:var(--slate-400);--accent-ink:#ffffff;--amber:var(--steel-500);
  --long:var(--long-500);--short:var(--short-500);--warn:var(--steel-500);
}
