/*
 * DevHuddle — brand tokens
 *
 * The mark is the existing one: a hexagon in #009700 carrying two white
 * chat bubbles (images/mark.svg, lifted from the WordPress site
 * unchanged). This file is the system built *around* that green rather
 * than a re-brand — the hexagon and its green are the fixed points.
 *
 * THE RULES. These follow from measured contrast, not taste. Every ratio
 * below was computed against the tokens in this file; re-measure before
 * changing a value rather than nudging it by eye.
 *
 *  1. #009700 IS A FILL, NOT A TEXT COLOR ON LIGHT.
 *     Brand green on paper measures 3.63 and on white 3.87 — both fail AA
 *     for text. Green text on a light ground uses --green-deep (6.31).
 *
 *  2. A GREEN BUTTON TAKES NEAR-BLACK TEXT, NEVER WHITE.
 *     White on #009700 is 3.87 and fails. --on-green (#06120C) is 4.94.
 *     This is the single most common way to get this palette wrong.
 *
 *  3. GREEN TEXT ON INK USES --green-lift, NOT --green.
 *     Brand green holds 4.84 on --ink-900 but drops to 4.18 on the panel
 *     ground --ink-800, which fails. --green-lift is 10.47 / 9.04 and is
 *     safe on every ink surface, so green type on dark always uses it.
 *
 *  4. The mark is never recolored, outlined, or given a gradient. On a
 *     dark ground it sits as-is; the hexagon supplies its own contrast.
 *
 * MEASURED CONTRAST
 *
 *   On ink (--ink-900 / --ink-800):
 *     --on-ink        15.34 / 13.25  AAA
 *     --on-ink-quiet   7.98 /  6.90  AAA / AA
 *     --green-lift    10.47 /  9.04  AAA
 *     --green          4.84 /  4.18  AA  / FAILS  <- see rule 3
 *
 *   On green fill (#009700):
 *     --on-green       4.94  AA
 *     white            3.87  FAILS   <- see rule 2
 *
 *   On paper (--paper / --paper-sunk):
 *     --on-paper      15.85 / 14.70  AAA
 *     --on-paper-quiet 6.21 /  5.76  AA
 *     --green-deep     6.31 /  5.85  AA
 *     --green          3.63 /  3.37  FAILS  <- see rule 1
 */

:root {
    /* Grounds — green-black, hue-matched to the mark rather than neutral */
    --ink-900: #0B1410;      /* page ground */
    --ink-850: #101C16;      /* alternating band */
    --ink-800: #14241C;      /* raised panel / card */
    --ink-line: rgba(61, 220, 127, .16);

    /* Brand green */
    --green: #009700;        /* the mark's green. Fill only — rules 1 and 3. */
    --green-lift: #3DDC7F;   /* green type and accents on ink */
    --green-deep: #046A38;   /* green type on paper */
    --on-green: #06120C;     /* text sitting on a green fill */

    /* Paper */
    --paper: #F7F8F6;
    --paper-sunk: #EDF0EC;

    /* Foregrounds */
    --on-ink: #E4EAE6;
    --on-ink-quiet: #9AAEA3;
    --on-paper: #10201A;
    --on-paper-quiet: #4E6158;

    /* Type — Plex Sans for everything, Plex Mono for eyebrows and labels.
       The mono face is doing real work here: it is the register the
       audience reads all day, and it keeps the tagline's three beats
       looking like steps rather than marketing. */
    --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    /* Measure */
    --read: 64ch;
    --container: 1120px;
}
