/* ===========================================================================
   ScanHood — shared warm palette ("hood theme").
   Introduced 2026-08-15 with the /launch redesign, to bring the rest of the site
   onto the same footing one page at a time. Include it AFTER a page's own styles:

       <link rel="stylesheet" href="/assets/hood-theme.css">
       <script src="/assets/theme.js"></script>

   HOW IT WORKS, and why it is safe to drop onto an existing page:
   every ScanHood page already drives its colour off the same canonical token
   names (--bg --bg2 --surface --surface2 --border --border-hi --ink --ink2
   --ink3 --green --green-soft --green-dim --red --amber). This file only
   re-values those tokens. It changes no markup, no selectors, no behaviour.

   SPECIFICITY, deliberately: pages declare theirs in a plain `:root` (0-1-0) and
   theme.js injects `:root[data-theme="light"]` (0-2-0) into <head> at runtime,
   which would otherwise beat anything written here on source order. So the dark
   base is `:root:root` (0-2-0) and the light block `:root:root[data-theme=...]`
   (0-3-0). The light block must therefore re-state every token theme.js sets,
   or its cooler greys leak through for whichever ones are missed.

   THE PALETTE: taken from robinhood.com's live stylesheet, not invented. Robin
   Neon #CCFF00 on a WARM near-black #110E08 with warm greys. The warmth is the
   whole point — neon on a cool blue-black is the crypto default and reads as
   generic; on Robinhood's brown-black it reads as chosen.

   ONE RULE TO REMEMBER: #CCFF00 measures ~1.1:1 on a light ground, so it can
   never be text there. --green therefore resolves to the neon in dark and to a
   deep olive in light (the same thing theme.js already did, kept deliberately),
   while --neon stays the literal fill colour for anything that must stay acid
   in both themes, with --on-neon as its foreground.
   =========================================================================== */

:root:root{
  --bg:#110E08;
  --bg2:#191509;
  --surface:#191509;
  --surface2:#221D12;
  --border:#35322D;
  --border-hi:rgba(204,255,0,.40);
  --ink:#F6F4EC;
  --ink2:#A8A296;
  --ink3:#7A7568;
  --green:#CCFF00;
  --green-soft:rgba(204,255,0,.10);
  --green-dim:rgba(204,255,0,.35);
  --red:#E4574D;
  --red-soft:rgba(228,87,77,.10);
  --amber:#E8B84B;
  --yellow:#E8B84B;
  --yellow-soft:rgba(232,184,75,.10);
  /* additions used by the redesigned surfaces */
  --neon:#CCFF00;
  --on-neon:#161200;
  --accent:#CCFF00;
  --header-bg:rgba(17,14,8,.86);
  --scrim:rgba(9,7,4,.92);
  /* /fundamentals and /screener are a separate build off the same two token
     names as everything else, but under different spellings: --surface-2
     (dashed) instead of --surface2, --muted instead of --ink2, and --rh-ink
     for text painted directly on the green fill (their equivalent of --on-neon).
     Declaring the aliases here is harmless everywhere else — a custom property
     nothing references costs nothing — and it means those two pages don't need
     a bespoke stylesheet of their own. */
  --surface-2:#221D12;
  --muted:#A8A296;
  --rh-ink:#161200;
}

:root:root[data-theme="light"]{
  /* warm paper, not the cool #f6f8fa the older pages defaulted to */
  --bg:#FAF8F2;
  --bg2:#FFFDF8;
  --surface:#FFFDF8;
  --surface2:#F2EDE1;
  --border:#E3DCCC;
  --border-hi:rgba(120,150,0,.45);
  --ink:#16130C;
  --ink2:#5A5449;
  --ink3:#8A8377;
  --green:#5E7A00;                      /* olive: legible as text on paper */
  --green-soft:rgba(204,255,0,.20);
  --green-dim:rgba(120,150,0,.45);
  --red:#C0392B;
  --red-soft:rgba(192,57,43,.10);
  --amber:#8A5F10;
  --yellow:#8A5F10;
  --yellow-soft:rgba(138,95,16,.10);
  --neon:#CCFF00;
  --on-neon:#161200;
  --accent:#5E7A00;
  --header-bg:rgba(250,248,242,.88);
  --scrim:rgba(40,34,22,.55);
  --surface-2:#F2EDE1;
  --muted:#5A5449;
  --rh-ink:#161200;
}

/* The editorial half of the Robinhood identity: their own display serif, used
   only on the page headline so the launch flow reads as one family. Everything
   else stays on the existing sans/mono, which is doing its job. Scoped to h1 so
   it cannot leak into form labels or data. */
.hood-serif h1{
  font-family:'Instrument Serif',Georgia,serif;
  font-weight:400;
  letter-spacing:-.02em;
  line-height:1.04;
  text-wrap:balance;
}
/* Pages set their own h1 weight/size; the serif needs a touch more size to hold
   the same optical weight as a 800-weight grotesque at the same nominal size. */
.hood-serif h1{font-size:clamp(34px,5.2vw,58px)}

/* The sticky headers on these pages hardcode a dark translucent fill, which
   would otherwise float as a dark bar over a light page. */
.hood-serif header{background:var(--header-bg)}

/* Primary action: acid in BOTH themes.
   Every launcher shares `.btn.green`, whose rule is
   `background:var(--green);color:#012b01`. In light, --green resolves to the
   olive, leaving very dark green text on a mid olive fill — the weakest contrast
   on the page, on its most important control. Painting it with the literal neon
   instead lifts that to ~15:1 against the same #012b01, and makes the primary
   button read identically here and on the /launch hub. Light only; dark already
   had the neon. */
:root:root[data-theme="light"] .btn.green{
  background:var(--neon);
  border-color:var(--neon);
  color:var(--on-neon);
}
