/* recon-engine palette — the single source of colour for every page.
   Monochrome by intent: chrome is greyscale, colour is spent only where it
   carries meaning (finding severity, run status). Light is the base; the OS
   dark preference overrides. Each .html links this and defines its own layout;
   none should redeclare :root. */

:root{
  /* surfaces */
  --ground:#f6f6f7; --surface:#ffffff; --surface-2:#eeeeef; --border:#e3e3e6;
  /* text */
  --ink:#18191b; --ink-2:#54565b; --ink-3:#86888d;
  /* accent is monochrome: near-black fill, white text on it */
  --accent:#18191b; --accent-line:#18191b; --accent-soft:#eeeeef; --on-accent:#ffffff;
  /* semantic — the only real colour, reserved for severity/status */
  --good:#2f7d5b; --good-soft:#e6f0ea; --risk:#b23b2e; --risk-soft:#f6e3e0; --warn:#8a6d1a;
  --shadow:0 1px 2px rgba(18,20,24,.05),0 8px 24px rgba(18,20,24,.06);
}
@media (prefers-color-scheme:dark){
  :root{
    --ground:#0e0f11; --surface:#161719; --surface-2:#1f2023; --border:#2b2c30;
    --ink:#eceef1; --ink-2:#a6a8ae; --ink-3:#73757b;
    /* inverted: near-white fill, near-black text on it */
    --accent:#eceef1; --accent-line:#eceef1; --accent-soft:#1f2023; --on-accent:#141517;
    --good:#57b98a; --good-soft:#15241d; --risk:#e0715c; --risk-soft:#2a1613; --warn:#c7a44e;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.4);
  }
}
