/* Wolf-Rayet interior-dark -> reading ink for the portfolio interiors.
 *
 * Hand-authored. Loads on the 22 pages that take bridge-ground.css: the case
 * studies, the playbooks, the AI lab, and the four section indexes.
 *
 * WHY THIS EXISTS
 *
 * bridge-ground.css deliberately maps the page ground and nothing else, on the
 * reasoning that these pages drive their reading text from their own prefixed
 * ramps, so mapping Bootstrap's ink would half-convert them: prose outside a
 * prefixed class would jump while prose inside one stayed put.
 *
 * That reasoning holds only while both inks sit at a similar level. They did
 * not. Measured across all 18 interior pages, the ink that actually carries
 * most body copy is Bootstrap's own --bs-body-color, because the prefixed
 * classes cover panels and figures rather than running prose:
 *
 *   light   #606261 on #ffffff   6.15:1   the single most common body ink
 *   dark    #c4c5c7 on #111417  10.70:1   0.823 L, a step under the site
 *
 * 6.15:1 is above AA and still reads washed out at 20px, and .text-muted was
 * worse: rgba(96,98,97,.75) composites to 3.38:1, below AA for body text. So
 * the half-conversion the ground bridge avoided is answered here by moving
 * both halves. This file moves Bootstrap's ink; each page's own *-muted /
 * *-text-dim token is lifted in that page's own <style> block, to the same
 * targets, by the same derivation.
 *
 * DERIVATION
 *
 * Every value below holds the original colour's OKLCH hue and chroma and moves
 * only L, solved against the mode's ground until the WCAG ratio hits target.
 * The palette contributes the level, the page contributes the colour -- the
 * same method the brand-tinted substrates in README.md use.
 *
 *   role                 light target   dark target
 *   body copy               10.0:1        --wr-emitter-ambient (12.66:1)
 *   .text-muted              6.5:1         9.5:1
 *   tertiary                 4.6:1         7.0:1
 *
 * WHY DARK BODY COPY IS emitter-ambient AND NOT text-primary
 *
 * bridge-portfolio.css sends portfolio/index.html to --wr-text-primary
 * (#f1f2f3, 0.960). That is right for a card grid whose headings come from
 * --bs-heading-color. It is wrong here: headings on these pages measure #fff
 * and #f1f2f3, so body copy at text-primary would land on top of them and
 * flatten the page to one level. --wr-emitter-ambient (#d3d6d8, 0.8742) is
 * +0.051 L over the value it replaces -- a real lift -- and still a clear step
 * under the headings. It is also already the value keysign and 1qr map their
 * own --*-text-2 to in dark, so this puts the shared ink where those pages had
 * independently put theirs.
 *
 * SPECIFICITY
 *
 * (0,3,1), matching bridge-ground.css. style.css reaches (0,1,0) for both
 * modes, so these win outright. Load this file after bridge-ground.css.
 */

/* ── light ─────────────────────────────────────────────────────────────
   style.css:79 sets these on bare :root, so light mode gets no
   [data-bs-theme] block of its own upstream. The pre-paint script always
   resolves the attribute to a literal "light" or "dark", never "auto", so
   naming it here is safe. */
html:root[data-wr-theme="interior-dark"][data-bs-theme="light"] {
    /* #606261 6.15:1 -> 10.08:1, L 0.494 -> 0.378 */
    --bs-body-color: #414242;
    --bs-body-color-rgb: 65, 66, 66;

    /* .text-muted reads --bs-secondary-color. Was rgba(96,98,97,.75),
       composting to #8b8c8b / 3.38:1 -- below AA for body text. Opaque now,
       which is equivalent over the page ground and correct over cards. */
    --bs-secondary-color: #5d5e5e;

    /* was rgba(96,98,97,.5) -> #b0b1b0 / 2.15:1 */
    --bs-tertiary-color: #757575;
}

/* ── dark ──────────────────────────────────────────────────────────── */
html:root[data-wr-theme="interior-dark"][data-bs-theme="dark"] {
    /* #c4c5c7 10.70:1 -> #d3d6d8 12.66:1, L 0.823 -> 0.8742 */
    --bs-body-color: var(--wr-emitter-ambient);
    --bs-body-color-rgb: 211, 214, 216;

    /* was rgba(222,226,230,.75) -> #a6a9ac / 7.83:1 */
    --bs-secondary-color: #b7bbbe;

    /* was rgba(222,226,230,.5) -> #767a7d / 4.27:1 */
    --bs-tertiary-color: #9ca0a3;
}
