/* ==========================================================================
   Theme: editorial — the V2 direction (#aux/design/v2-editorial.html).
   Values only; the contract is documented in assets/css/tokens.css.
   ========================================================================== */

:root,
[data-theme="editorial"] {
    color-scheme: light;

    /* --- surfaces ------------------------------------------------------- */
    --paper: #faf9f6;
    --paper-2: #f1efe9;
    /* The sticky header's material: paper, translucent enough that content
       scrolling under it reads as blurred depth, not as a second layer of text. */
    --paper-glass: rgba(250, 249, 246, 0.8);
    --surface: #ffffff;
    --surface-solid: #ffffff;
    --surface-raised: #ffffff;
    /* Flat paper, no gradient wash: the V2 hero carries its weight with
       type and whitespace, and a fixed gradient behind a long editorial
       page just muddies the chapter rules. */
    --page-backdrop: var(--paper);

    /* --- text ----------------------------------------------------------- */
    --ink: #111417;
    --graphite: #5b6168;
    --quiet: #8a8f96;

    /* --- lines & elevation ---------------------------------------------- */
    --hair: #dad7cf;
    --hair-strong: #c3bfb5;
    --shadow: 0 30px 60px -40px rgba(17, 20, 23, 0.25);
    --focus: #111417;

    /* --- accent ----------------------------------------------------------
       V2 has no brand accent of its own — ink does the work. argus0's
       vermilion is kept, darkened to sit on warm white without glowing. */
    --accent: #b0410a;
    --accent-strong: #7e2f00;
    --accent-soft: #fbf2ec;

    /* --- status: pass --------------------------------------------------- */
    --pass: #1f7a4d;
    --pass-bg: #e6f4ea;
    --pass-hair: #c3e2cf;

    /* --- status: fail --------------------------------------------------- */
    --fail: #b42318;
    --fail-bg: #fbeae7;
    --fail-hair: #f2ccc6;

    /* --- status: warn --------------------------------------------------- */
    --warn: #8a6300;
    --warn-bg: #fdf4dc;
    --warn-hair: #ecd9a6;

    /* --- status: caution ------------------------------------------------
       Orange, between warn and fail. The DMARC shields read as a traffic
       light — reject, quarantine, none — and --warn is a mustard yellow that
       beside --fail is not separable at a glance at shield size. Same values
       in every theme until a theme has a reason to differ. */
    --caution: #9a4f04;
    --caution-bg: #fdf0e3;
    --caution-hair: #f3c99a;

    /* --- status: info ----------------------------------------------------
       The app already used blue for informational states (ingest notes,
       report banners); it is a status family, not decoration. */
    --info: #1d4ed8;
    --info-bg: #eaf0fb;
    --info-hair: #c7d7f5;

    /* --- inverted surface -------------------------------------------------
       For sections that flip to dark: the schematic band and the closing
       CTA. Declared by the theme rather than hard-coded so a future dark
       theme can invert them back. */
    --ink-surface: #111417;
    --ink-surface-text: #faf9f6;
    --ink-surface-quiet: #9aa1a8;
    --ink-surface-hair: rgba(250, 249, 246, 0.18);

    /* --- charts ----------------------------------------------------------
       Large filled areas, so lower saturation than the text colours above. */
    --chart-pass: rgba(31, 122, 77, 0.78);
    --chart-warn: rgba(217, 154, 0, 0.80);
    --chart-fail: rgba(180, 35, 24, 0.72);
    --chart-grid: rgba(17, 20, 23, 0.07);
    --chart-axis: #8a8f96;

    /* --- chart series ----------------------------------------------------
       Categorical, for identity (which domain), never for state. Green and
       red are left out on purpose: here they mean pass and fail. Validated
       with the dataviz palette checker on the white card surface, in this
       order and with the doughnut's wrap pair (6 -> 1): worst adjacent CVD
       dE 9.1, normal-vision dE 16.3. Slots 3-5 sit under 3:1 against white,
       so every use must carry a visible text label. */
    --chart-series-1: #2a78d6;
    --chart-series-2: #eb6834;
    --chart-series-3: #1baf7a;
    --chart-series-4: #eda100;
    --chart-series-5: #e87ba4;
    --chart-series-6: #4a3aa7;
    --chart-series-other: #c3bfb5;

    /* --- typography ------------------------------------------------------
       Display serif for page titles, sans for everything readable, mono for
       anything a mail server would parse — IPs, DNS records, selectors. */
    --font-display: "Fraunces", Georgia, "Times New Roman", serif;
    --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    --step-hero: clamp(2.875rem, 7.2vw, 6rem);
    --step-h1: clamp(2.25rem, 4.6vw, 3.75rem);
    --step-h2: clamp(1.5rem, 2.4vw, 2rem);
    /* Text scale for UI copy; the app uses only these below 20px. */
    --text-2xs: 0.6875rem;
    --text-xs: 0.75rem;
    --text-sm: 0.8125rem;
    --text-md: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.25rem;
    --radius: 16px;
    --radius-sm: 10px;
}
