/* Wolf-Rayet interior-dark -> portfolio/ dark mode.
 *
 * Hand-authored, and separate from bridge-dark.css on purpose: portfolio/
 * does not use the site's --bg/--text tokens at all. It themes off Bootstrap
 * in assets/css/style.css, so this bridge maps --bs-* names instead.
 *
 * Specificity: the site-level override in style.css is [data-bs-theme=dark]
 * (0,1,0); this reaches (0,3,1) and wins on specificity, not load order.
 *
 * The ink carries most of the visible change here: --bs-body-color moves
 * +0.137 (#c4c5c7 0.823 -> #f1f2f3 0.961).
 *
 * The ground moves too, but for a reason that only shows up when it is
 * measured against the card surface rather than on its own:
 *
 *   --bs-body-bg was #161618 at 0.201 OKLab L, and Wolf-Rayet's substrate is
 *   #111417 at 0.189 -- a -0.012 step, near-invisible in isolation. But
 *   --bs-mode, which paints cards, dropdowns and section grounds across nine
 *   rules in style.css, is #191b1d at 0.221. Dropping the page ground widens
 *   the card-to-page separation from +0.020 to +0.031, so cards read as
 *   genuinely raised instead of nearly flush. It also puts this page on the
 *   same substrate as the site chrome.
 *
 * What stays put:
 *
 *   --bs-heading-color / --bs-gray-900 are #fff at 1.000. Wolf-Rayet's
 *   brightest ink is 0.961, so mapping them would send headings DOWN 0.039 --
 *   working against the thing the palette is wanted for. Held at #fff.
 */

html:root[data-wr-theme="interior-dark"][data-bs-theme="dark"]{
  /* page ground, and the raised surface it is measured against */
  --bs-body-bg: var(--wr-surface-page);
  --bs-mode:    var(--wr-surface-raised);

  /* style.css:23675 sets --bs-body-bg-rgb to the hex #161618, where Bootstrap
     expects a comma-separated triplet, so rgba(var(--bs-body-bg-rgb), .85) is
     invalid in the three rules that read it: --bs-toast-bg,
     --bs-toast-header-bg and the .bg-body opacity utility. Pre-existing, dark
     only. Since this bridge is authoring the ground anyway, give it the
     triplet form of the new value rather than propagate a broken one. */
  --bs-body-bg-rgb: 17, 20, 23;

  /* primary reading text — the largest single move on this page */
  --bs-body-color: var(--wr-text-primary);

  /* the two supporting steps. style.css indexes components into these:
     --bs-gray-800 feeds --bs-navbar-color, --bs-gray-700 the quieter text.
     Both were translucent white (#ffffffd9, #ffffffb3) and become opaque
     here, which is equivalent over the page ground and slightly brighter
     over raised cards. */
  --bs-gray-800: var(--wr-text-secondary);
  --bs-gray-700: var(--wr-emitter-ambient);
}
