/* ============================================================================
   Agentimus — dark palettes per wp-admin COLOR SCHEME
   (Users → Profile → Admin Color Scheme)

   The base dark palette (app.css) is keyed to wp-admin's classic charcoal, so
   it sits naturally beside Fresh, Midnight and friends. Schemes with a
   different key get their own dark here — and ONLY dark: light mode keeps the
   designed cream palette everywhere (its scheme flavour is the separate
   PHP-side SchemeInk feature — see inc/SchemeInk.php).

   HOW IT WORKS — no PHP, no JS: wp-admin stamps `admin-color-<slug>` on
   <body>, the theme toggle stamps `data-ar-theme` on <html>, and a block here
   simply redefines the design tokens where both match. Everything the app
   paints — teleported modals, toasts and tooltips included — lives inside
   <body>, so nothing escapes a re-key, and every wash, tint and chip below
   the tokens re-derives on its own.

   ADDING A SCHEME (a third-party one too) is one block in this shape — from
   this file or from any admin stylesheet loaded after the app's:

     :root[data-ar-theme="dark"] body.admin-color-<slug> {
       --ar-paper:   ...;  ( the page canvas — darkest )
       --ar-surface: ...;  ( cards )
       --ar-surface-2: ...;( raised: chips, dark buttons, menus )
       --ar-ink: ...; --ar-ink-soft: ...; --ar-ink-faint: ...;
       --ar-line: ...; --ar-line-strong: ...;
       ( optional: --ar-chrome / --ar-chrome-bright / --ar-chrome-line
         re-key the rail identity — see Coffee's gold below )
       ( re-keying --ar-accent here? re-key --ar-good and --ar-chrome with it:
         both are declared FROM the accent at :root, not at body )
     }

   Keep ink ≥ 4.5:1 on surface, and keep the ink family in the SAME
   temperature as the ground (a warm ink on a cool ground is a quiet clash).
   A scheme with no block here falls back to the charcoal base — nothing
   breaks. Values below are Heera's hand-tuned picks (paper/surface anchors)
   with the rest of each family derived to match.
   ========================================================================= */

/* ---- Default (slug: modern) — WP 7.1's neutral near-black ---------------- */
:root[data-ar-theme="dark"] body.admin-color-modern {
  --ar-paper: #151515;
  --ar-surface: #242424;
  --ar-surface-2: #2e2e2e;
  --ar-field: #2d2d2d; /* surface, lightness +3.5 — his hand-picked input tone. */
  --ar-ink: #dedede;
  --ar-ink-soft: #a3a3a3;
  /* Raised with the base dark faint (2026-08-11): #6f was unreadable small. */
  --ar-ink-faint: #8b8b8b;
  --ar-line: #383838;
  --ar-line-strong: #464646;
  /* The Worth-knowing card's gold on the neutral near-black (his pick
     2026-08-12): a paler parchment gold, brighter than the cool schemes'
     sand so it carries on a ground with no warmth of its own. */
  --ar-note-gold: #d2bd8e;
  --ar-note-glow: #d2bd8e;
}
/* The two hue-carrying literals in the dark overrides go neutral with it. */
:root[data-ar-theme="dark"] body.admin-color-modern .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #383838; }
/* The parchment gold at the base 55% made a bright frame on the near-black —
   the card's border sits a step darker here (his call, 2026-08-12). */
:root[data-ar-theme="dark"] body.admin-color-modern .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}
/* The row hairlines inside the six big dashboard panels, his exact pick
   (2026-08-12): a clean step off the near-black without going bright.
   Other dialects keep the token-derived line from app.css. */
:root[data-ar-theme="dark"] body.admin-color-modern .ar-sys__rows li,
:root[data-ar-theme="dark"] body.admin-color-modern .ar-aud__rows li {
  border-color: #433f3f;
}
:root[data-ar-theme="dark"] body.admin-color-modern .ar-about-snippet { background: #111111; }

/* ---- Coffee — the same idea in that scheme's warm brown key -------------- */
:root[data-ar-theme="dark"] body.admin-color-coffee {
  --ar-paper: #202020;
  --ar-surface: #35322f;
  --ar-surface-2: #403c38;
  --ar-field: #3e3b37; /* surface, lightness +3.5 — same warm key, a breath brighter. */
  --ar-ink: #e2dfdb;
  --ar-ink-soft: #a8a49e;
  /* Raised with the base dark faint (2026-08-11), keeping the warm cast. */
  --ar-ink-faint: #918c83;
  --ar-line: #46423d;
  --ar-line-strong: #55504a;
  /* Coffee's accent is the base sage pulled 14 degrees toward yellow (his
     round, 2026-08-13): the teal read cold against the brown, but GOLD could
     not take the job — coffee already speaks gold three times (the chrome
     below, the Worth-knowing note, and --ar-warn at hue 41), and the one-
     accent law makes --ar-good the accent, so a gold accent collapses
     good / needs-attention / identity into one colour. A warm sage belongs in
     the room and still stands 59 degrees clear of amber. Restated in full
     because --ar-good and --ar-hover resolve FROM the accent where they are
     declared — at :root they would still be reading the base green. */
  --ar-accent: #98ba87;
  --ar-good: var(--ar-accent);
  --ar-good-strong: #adc79c;
  --ar-good-deep: #c1d4b4;
  --ar-hover: color-mix(in srgb, #98ba87 16%, transparent);
  /* The rail joins the accent (his call, 2026-08-13, second round): with the
     accent warmed to sage the gold rail was the last surface still speaking
     gold — and it spoke it right beside --ar-warn's amber ("11 to fix" sits
     on the same rows), which is the collision the accent change was meant to
     end. Coffee keeps its warmth in the ground and in the Worth-knowing
     note's bronze below; the identity follows the app. */
  --ar-chrome: var(--ar-accent);
  --ar-chrome-bright: #adc79c;
  --ar-chrome-line: color-mix(in srgb, #98ba87 24%, var(--ar-line));
  /* The Worth-knowing card's gold on coffee's brown (his pick 2026-08-12):
     a quieter bronze, so the card separates from a surface that is already
     warm instead of doubling its brass. */
  --ar-note-gold: #af9a6d;
  --ar-note-glow: #af9a6d;
}
:root[data-ar-theme="dark"] body.admin-color-coffee .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #4a453f; }
:root[data-ar-theme="dark"] body.admin-color-coffee .ar-about-snippet { background: #181715; }
/* Coffee's card, his hue pair (2026-08-12): the ground casts from a brighter
   brass (#cda54e) than the bronze the text wears, and the frame is a flat
   muted olive-tan — quieter than the text's bronze. Same day, later round:
   the ground base moved from paper to the panels' surface-2 at the note's
   new slight strength, when the whole note left its warm room to sit on the
   cards' own paper. */
:root[data-ar-theme="dark"] body.admin-color-coffee .ar-aud__note {
  --ar-note: color-mix(in srgb, #cda54e 8%, var(--ar-surface-2));
  border-color: #776e58;
}

/* ---- Midnight, the OLDER one — his surface pick #3c4146 -------------------
   Keyed to the COLOUR, not the slug. WordPress retuned Midnight in 7.1: it was
   #363b3f for years (still is on heera.it) and is #333c42 now, and the two are
   not the same night — the old one is a flat grey at 7.7% saturation, the new
   one is a blue-grey at 12.8%, which is the base palette's own family. So the
   base dark already sits right on 7.1's Midnight (his verdict) and this block
   must not touch it.

   PHP stamps the active scheme's own surface colour on <body> as
   `agentimus-scheme-<hex>` (see Admin::scheme_body_class), so this applies on
   the install actually wearing #363b3f and nowhere else. A future retune stops
   matching and quietly falls back to the base dark.

   Against that older grey the base dark put cards (#262d31) a full step BELOW
   the menu beside them, so the app read as a hole in the admin. His #3c4146
   lifts the cards just above the menu and drops the canvas just below it —
   the same relationship the base palette has with Fresh.

   Everything else is that anchor's own hue and saturation (210°, 7.7%) at the
   base palette's own lightness STEPS, so this is the same night in a different
   key rather than a different design: canvas −6.5, raised +4.9, field +3.5,
   line +8.6, line-strong +14.5.

   The ink family is the one place the steps could not simply travel. A ground
   this much lighter eats contrast: the base's soft grey lands at 4.29:1 here,
   under the 4.5 floor this file sets, and the faint tier falls to 3.2. Both
   are lifted until they measure what they measure on the base ground — soft
   4.98:1, faint 4.4:1, body ink 8.0:1 — rather than being copied and left
   quietly failing. */
:root[data-ar-theme="dark"] body.admin-color-midnight.agentimus-scheme-363b3f {
  --ar-paper: #2d3134;
  --ar-surface: #3c4146; /* his pick — every value here is derived from it. */
  --ar-surface-2: #474e53;
  --ar-field: #444a50; /* surface, lightness +3.5 — the file's formula. */
  --ar-ink: #e1e3e5;
  --ar-ink-soft: #afb5bb;
  --ar-ink-faint: #a4abb2;
  --ar-line: #51575e;
  --ar-line-strong: #5e666e;
}
/* The two hue-carrying literals in app.css's dark overrides, re-keyed: a
   button's hover has to sit ABOVE its own surface-2, and on this lighter
   ground the base #3a454d would have darkened it instead. */
:root[data-ar-theme="dark"] body.admin-color-midnight.agentimus-scheme-363b3f .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #535a61; }
:root[data-ar-theme="dark"] body.admin-color-midnight.agentimus-scheme-363b3f .ar-about-snippet { background: #232629; }

/* ---- Blue — WP's mid blue. His anchors; the ink family is the same hue at a
   fraction of its saturation, so the text reads as the room's own. */
:root[data-ar-theme="dark"] body.admin-color-blue {
  --ar-paper: #14293c;
  --ar-surface: #1e4362;
  --ar-surface-2: #214c6e;
  --ar-field: #224c70; /* surface, lightness +3.5 — the same step every block here uses. */
  --ar-ink: #d2d7da;
  --ar-ink-soft: #a7afb7;
  --ar-ink-faint: #85919b;
  --ar-line: #2e5679;
  --ar-line-strong: #3d698d;
  /* The grey-warmed sand Fresh and Midnight take — these grounds are
     cool, and the base brass ran hot on them. */
  --ar-note-gold: #b2a484;
  --ar-note-glow: #b2a484;
}
:root[data-ar-theme="dark"] body.admin-color-blue .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #275a82; }
:root[data-ar-theme="dark"] body.admin-color-blue .ar-about-snippet { background: #0f1f2d; }
:root[data-ar-theme="dark"] body.admin-color-blue .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}

/* ---- Ectoplasm — the violet key. Its ground is the most saturated of the four, so
   the inks carry the least colour of any block here — a violet text on a violet
   ground reads as a haze. */
:root[data-ar-theme="dark"] body.admin-color-ectoplasm {
  --ar-paper: #2a1b3e;
  --ar-surface: #3a2853;
  --ar-surface-2: #3f2d57;
  --ar-field: #422e5f; /* surface, lightness +3.5 — the same step every block here uses. */
  --ar-ink: #cbc8d0;
  --ar-ink-soft: #9d97a5;
  --ar-ink-faint: #827b8c;
  --ar-line: #4d3969;
  --ar-line-strong: #5e497c;
  /* The grey-warmed sand Fresh and Midnight take — these grounds are
     cool, and the base brass ran hot on them. */
  --ar-note-gold: #b2a484;
  --ar-note-glow: #b2a484;
}
:root[data-ar-theme="dark"] body.admin-color-ectoplasm .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #4b3668; }
:root[data-ar-theme="dark"] body.admin-color-ectoplasm .ar-about-snippet { background: #201530; }
:root[data-ar-theme="dark"] body.admin-color-ectoplasm .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}

/* ---- Ocean — the muted teal. The quietest ground of the set, so its ink family
   sits closest to neutral. */
:root[data-ar-theme="dark"] body.admin-color-ocean {
  --ar-paper: #263438;
  --ar-surface: #2f444a;
  --ar-surface-2: #39535a;
  --ar-field: #364e55; /* surface, lightness +3.5 — the same step every block here uses. */
  --ar-ink: #d3d6d7;
  --ar-ink-soft: #aaafb1;
  --ar-ink-faint: #8a9294;
  --ar-line: #41585f;
  --ar-line-strong: #516b72;
  /* The grey-warmed sand Fresh and Midnight take — these grounds are
     cool, and the base brass ran hot on them. */
  --ar-note-gold: #b2a484;
  --ar-note-glow: #b2a484;
}
:root[data-ar-theme="dark"] body.admin-color-ocean .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #43616a; }
:root[data-ar-theme="dark"] body.admin-color-ocean .ar-about-snippet { background: #1e292c; }
:root[data-ar-theme="dark"] body.admin-color-ocean .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}

/* ---- Sunrise — the warm red. ⚠️ The brightest surface of the four (his pick), which
   is why its inks run lighter than the others' — the same ratios cost more
   lightness on a ground this near the middle. */
:root[data-ar-theme="dark"] body.admin-color-sunrise {
  --ar-paper: #433030;
  --ar-surface: #693634;
  --ar-surface-2: #643e3c;
  --ar-field: #753c3a; /* surface, lightness +3.5 — the same step every block here uses. */
  --ar-ink: #e0dcdb;
  --ar-ink-soft: #bbb2b1;
  --ar-ink-faint: #a09392;
  --ar-line: #7e4846;
  --ar-line-strong: #915856;
  /* Coffee's quieter bronze, not the cool schemes' sand: this ground is
     already warm, and the sand doubled it. */
  --ar-note-gold: #af9a6d;
  --ar-note-glow: #af9a6d;
}
:root[data-ar-theme="dark"] body.admin-color-sunrise .ar-btn:hover:not(:disabled):not(.ar-btn--danger) { background: #744846; }
:root[data-ar-theme="dark"] body.admin-color-sunrise .ar-about-snippet { background: #372727; }
:root[data-ar-theme="dark"] body.admin-color-sunrise .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}

/* ---- Light — THE ONE SCHEME THAT LOOKS THE SAME IN BOTH MODES -------------
   His call, 2026-08-19: on wp-admin's Light scheme the plugin keeps one
   palette whichever way the toggle stands. Every other block here is
   dark-only, because light mode wears the designed cream everywhere; this
   scheme is the exception, and it is why the first selector carries no theme.

   ⚠️⚠️ FIRST CUT WAS WRONG, and it is worth naming so nobody rebuilds it: the
   greys were assigned paper #e8e8e8 / surface #d9d9d9, which put the CARD
   BELOW THE PAGE — 85.1% lightness under 91.0%. Every other palette in this
   plugin lifts the card OFF the page (cream: page 92.9 → card 98.4; dark:
   page 10.6 → card 17.1), and a recessed card reads as dirty rather than
   designed. He said he did not like it; the measurement said why.

   ⭐ So the card is the lightest thing here too. The page is wp-admin's own
   Light body (#e5e5e5) so the plugin's canvas is continuous with the chrome
   around it, and the card sits 18 luminance points above it — a stronger lift
   than the cream palette's 11, which is this SCHEME's idiom: WordPress's own
   Light boxes are white on that same grey. A dialect should speak its room's
   dialect, not the base's.

   ⚠️ It must beat the CREAM at :root (a body class outranks :root) AND the
   dark palette at :root[data-ar-theme="dark"] — which is why the second block
   restates the grounds rather than inheriting them.
   ⭐ The toggle still does something honest: the ink steps down a shade.
   ⛔ What it must NOT do is flip the ink light. The ground stays near-white,
   and light text on it is unreadable at any weight.
   -------------------------------------------------------------------------- */
body.admin-color-light {
  /* ⚠️ HIS THIRD ROUND, and the values are sampled from the screen he pointed
     at rather than chosen: page #f5f5f5, card #fbfbfb, panel #f1f1f1, borders
     #e4e4e4. My second round dropped the desk to #d9d9d9 for 27 luminance
     points of lift; he wanted the opposite — 5 points, where a card is a sheet
     laid on paper of nearly the same shade and the border does the separating.
     ⛔ Do not "restore contrast" here: the near-flat ground IS the choice. */
  --ar-paper: #f5f5f5;
  --ar-surface: #fbfbfb;
  --ar-surface-2: #f1f1f1;
  --ar-field: #ffffff;  /* wp-admin paints fields white by day and outranks .ar-input; the night rule outranks wp-admin. Same white either way. */
  /* ⚠️ Measured against the PANEL, the darkest of the three grounds, because
     text sits on all of them. */
  --ar-ink: #1e1e1e;      /* 14.8:1 on a panel · 16.1:1 on a card */
  --ar-ink-soft: #5a5a5a; /*  6.1:1 · 6.7:1 */
  --ar-ink-faint: #6f6f6f;/*  4.5:1 · 4.9:1 — the floor, held on the worst ground */
  --ar-line: #e4e4e4;
  --ar-line-strong: #d2d2d2;
}
/* Dark mode on the Light scheme: THE SAME ROOM, UNCHANGED — his call,
   2026-08-19, and it replaced an earlier one. The ink used to step down a
   shade here so the toggle did something; he asked for the palette to be
   identical and the score card to be the only thing that moves. So every
   value below is the day's, restated — ⛔ not inherited, because the base dark
   palette at :root outranks a plain body class and would otherwise take the
   grounds back. */
:root[data-ar-theme="dark"] body.admin-color-light {
  --ar-paper: #f5f5f5;
  --ar-surface: #fbfbfb;
  --ar-surface-2: #f1f1f1;
  --ar-field: #ffffff;  /* wp-admin paints fields white by day and outranks .ar-input; the night rule outranks wp-admin. Same white either way. */
  --ar-ink: #1e1e1e;
  --ar-ink-soft: #5a5a5a;
  --ar-ink-faint: #6f6f6f;
  --ar-line: #e4e4e4;
  --ar-line-strong: #d2d2d2;
  /* ⛔ The dark palette's gold is picked for a dark ground; on a near-white
     card it washes out. The light palette's own gold takes over with it. */
  --ar-note-gold: var(--ar-warn-deep);
  --ar-note-glow: #ebc98a;
  /* ⛔ AND THE RAIL'S IDENTITY, which is declared at :root for the night and so
     arrives from a palette this scheme never adopted — a green (#8ab685) drawn
     for a charcoal card, landing at 2.2:1 on a white one.
     ⚠️⚠️ NAMED AS A LITERAL, not as var(--ar-accent): the accent token is
     itself redeclared by the dark palette at :root, so pointing at it here
     fetched the night green straight back — the bug this line exists to fix,
     wearing the fix's own clothes. */
  --ar-chrome: #146b64;
  --ar-chrome-bright: #146b64;
  --ar-chrome-line: var(--ar-line);

  /* ⛔⛔ AND EVERY STATE COLOUR WITH THEM — the leak he found, and the one that
     shows how far this goes. The night palette redeclares 43 tokens; this
     scheme adopts none of its grounds, so 29 of them stayed night values in a
     room that is still the day's. His case: the "last time's numbers" strip
     paints from --ar-warn-wash, which at night is a wash mixed FOR a dark
     ground, so a cream notice came out charcoal on a white card. The same was
     true of every good/warn/bad/info wash, tint and deep on the screen.
     ⭐ These are the day's own values, lifted from :root — restated rather than
     inherited, because a plain body class cannot outrank :root[data-ar-theme].
     ⚠️ Keep them generated from that block if it ever moves; a hand-copied
     palette is a palette that drifts.
     ⛔ Not in this list, deliberately: the grounds, inks, lines and the note
     gold above, which this scheme sets for itself. */
  --ar-accent: #146b64;
  --ar-good: #2f7a4c;
  --ar-warn: #ad7b18;
  --ar-bad: #b93c2b;
  --ar-info: #2f5f9e;
  --ar-hover: color-mix(in srgb, #8bc34a 22%, transparent);
  --ar-good-wash: #eef5f0;
  --ar-good-tint: #bcdcc6;
  --ar-good-strong: #2f9e5e;
  --ar-good-deep: #1d7a45;
  --ar-warn-wash: #f7f1df;
  --ar-warn-tint: #e6d5a8;
  --ar-warn-deep: #96690f;
  --ar-bad-wash: #f8ebe8;
  --ar-bad-tint: #e6c1b9;
  --ar-bad-strong: #c0392b;
  --ar-bad-deep: #8c2f22;
  --ar-info-wash: #e9eff7;
  --ar-info-tint: #c3d2e6;
  --ar-info-strong: #3a6ea5;
  --ar-info-deep: #2c5680;
  --ar-accent-wash: #f0f6f4;
  --ar-accent-soft: #e3efec;
  --ar-teal-on-ink: #57b6a6;
  --ar-teal-on-ink-hover: #6fc7b8;
  --ar-on-signal: #fff;
  --ar-ink-hard: #000;
  --ar-shade: #1b1913;
  --ar-skel-sheen: rgba(255, 255, 255, 0.45);
}
/* ⭐ "Keep everything the same" reaches the rail itself. Two night rules paint
   every rail card from the chrome — the section labels and the card borders —
   and on this scheme the day's answer is a quiet grey label and a plain line.
   ⛔ The readiness card is not included: its own rule below is one class more
   specific, which is what leaves the rug the only thing that moves. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-rail-card { border-color: var(--ar-line); }
:root[data-ar-theme="dark"] body.admin-color-light .ar-rail-card__label { color: var(--ar-ink-faint); }
/* ⭐ THE ONE THING THAT CHANGES AT NIGHT ON THIS SCHEME: the rug. Everything
   else above is the day's, restated. The card inverts to his charcoal, the way
   it does on every other scheme by day — and that hands its colours back their
   proper ground: --ar-good-on-ink (5.7:1 here) and --ar-warn-on-ink (6.6:1)
   were drawn for a dark card, with none of the compromise the daytime rug
   forces on a mid-grey ground, where nothing coloured can reach 4.5 in
   either direction. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-rail-card.ar-rail-card--readiness {
  background: #333333;   /* his value — the charcoal, not a true black */
  border-color: #333333;
  --rail-face: #f2f2f2;  /* 11.7:1 on the charcoal — the veils below all clear the floor */
  --rail-read: 76%;      /* the light theme's own reading for an inverted card */
  --rail-good: #5cc08a;
  /* ⛔ AND THE CHROME WITH THEM. The band word ("Excellent") and the settled
     rungs do not read --rail-good — app.css gives them --ar-chrome at night,
     which this scheme re-keyed to its day teal for the rail labels standing on
     WHITE cards. On the charcoal that same teal lands at 2.0:1 and the word
     all but disappears. --ar-teal-on-ink is the palette's own teal for exactly
     this ground: 5.3:1, and re-keyed inside the card so the white cards keep
     theirs. */
  --ar-chrome: var(--ar-teal-on-ink);
}
/* ⛔ The night rule for rail labels names --ar-chrome and outranks the card's
   own --rail-good, so the kicker is said again here — otherwise the one green
   on a black card would come from the base dark palette, which this scheme
   never adopted. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-rail-card--readiness .ar-rail-card__label { color: #5cc08a; }
:root[data-ar-theme="dark"] body.admin-color-light .ar-rail-card--readiness .ar-rung__todo { color: #e0b24c; }

/* ⛔ THE HARD COLOURS DARK MODE PAINTS. Everything else the app draws comes
   from the tokens above and re-derives on its own, but these are literals in
   app.css — a near-black snippet and a dark form-control key — and a light
   ground is the one case where they land as a black box on a white card. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-about-snippet {
  background: #f2f2f2; color: var(--ar-ink-soft);
}
/* ⛔⛔ AND THE ROOM ITSELF IS STILL A LIGHT ROOM. app.css tells the browser
   color-scheme:dark at night, which is right everywhere else and wrong here:
   it flips every browser-DRAWN default under a ground that never darkened.
   The visible cost was on Discovery — a <button> that sets no colour of its own
   let the UA pick, so its big number came out WHITE on a near-white tile. Also
   select arrows, scrollbars, focus rings. */
:root[data-ar-theme="dark"] body.admin-color-light #agentimus-app,
:root[data-ar-theme="dark"] body.admin-color-light .ar-modal,
:root[data-ar-theme="dark"] body.admin-color-light .ar-drawer { color-scheme: light; }

/* ⛔ The last three night recipes that assume a dark room, handed back the
   day's own — found by diffing every painted element against itself in the
   other mode, screen by screen, not by looking:
   · the Worth-knowing note (night casts it from --ar-note-gold at 8%/55%, day
     from --ar-note-glow at 8%/85% — same tokens here, different recipe),
   · the danger button (night gives it the on-ink salmon, for a dark ground),
   · the hairlines between rows in the six big cards (night warms them). */
:root[data-ar-theme="dark"] body.admin-color-light .ar-aud__note {
  --ar-note: color-mix(in srgb, var(--ar-note-glow) 8%, var(--ar-surface-2));
  border-color: color-mix(in srgb, var(--ar-note-glow) 85%, var(--ar-line));
}
:root[data-ar-theme="dark"] body.admin-color-light .ar-btn--danger {
  background: transparent; color: var(--ar-bad); border-color: var(--ar-bad);
}
:root[data-ar-theme="dark"] body.admin-color-light .ar-sys__rows li,
:root[data-ar-theme="dark"] body.admin-color-light .ar-aud__rows li {
  border-color: var(--ar-line);
}
/* And the Findings score, which at night drops its green for plain ink — a
   choice that belongs to a dark card, not to this one. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-today__score-n { color: var(--ar-good); }

/* ⚠️ THREE MORE THE FAST SWEEP COULD NOT SEE. .ar-btn transitions its
   background over 0.15s, and reading a computed style straight after flipping
   the mode reads the value MID-FLIGHT — both reads landed on the same stale
   colour and the pair looked equal. Re-measured with the transition allowed to
   land, these came out:
   · the nav tabs read one step fainter at night (--ar-ink-soft, not
     --ar-ink-faint) — and that rule also outranks .is-active, so the tab you
     are actually on lost its ink,
   · the rail's links sit at 74% of the ink at night against 88% by day,
   · and the fields take wp-admin's own border by day (it outranks .ar-input)
     but ours at night. One border, ours, in both. */
:root[data-ar-theme="dark"] body.admin-color-light .ar__tab { color: var(--ar-ink-faint); }
:root[data-ar-theme="dark"] body.admin-color-light .ar__tab:hover { color: var(--ar-ink-soft); }
:root[data-ar-theme="dark"] body.admin-color-light .ar__tab.is-active { color: var(--ar-ink); }
:root[data-ar-theme="dark"] body.admin-color-light .ar__rail { --rail-read: 88%; }
:root body.admin-color-light :is(#agentimus-app, .ar-modal, .ar-drawer)
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select) {
  border-color: var(--ar-line-strong);
}

/* ⛔⛔ AND THE INK SURFACES WITH THEM — the buttons and the chips.
   These do not take their colour from the room, they take it from the SCHEME:
   inc/Admin.php paints --ar-ink onto .ar-btn / .ar-tags__chip / the rug from
   the curated map (#333333 here) — and guards that to light mode only, because
   on every other scheme the night palette owns the whole token set and a
   scheme ink would have put dark ink on dark buttons.
   ⚠️ This scheme is the exception the guard did not foresee: it keeps the day's
   palette at night, so the guard drops the charcoal and app.css's night rule
   repaints the button from --ar-surface-2 — a raised charcoal in the night
   palette, but #f1f1f1 here — with a label from --ar-ink, light there and
   #1e1e1e here. The result was a pale button carrying a pale-ground label.
   ⭐ His pick, 2026-08-20, as a dev-tools edit of the readiness actions: the
   same charcoal button in both modes, 11.6:1 — which is the law the whole
   scheme already follows.
   ⛔ --ghost and --danger are left out: they paint themselves at night and are
   not ink surfaces. */
/* ⭐⭐ THE INK SURFACES FOLLOW THE RUG. His rule, stated twice: the buttons wear
   the same ground the score card wears, so when the rug turns to his charcoal
   at night they turn with it — they are one family, and the mode moves the
   family, not the card alone. The label inverts with the ground (11.6:1), and
   hover takes the teal drawn FOR an ink ground: the day accent lands at 2.0:1
   on #333333, which is no hover at all.
   ⛔ The rail cards' 22px glyph tile is NOT in this list — his call, 2026-08-20,
   shown as a black square he did not want. It is a mark on a card that stays
   light in both modes, not a surface you press, so it keeps the day grey
   throughout. Only the things you act on follow the rug. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-btn:not(.ar-btn--ghost):not(.ar-btn--danger),
:root[data-ar-theme="dark"] body.admin-color-light .ar-tags__chip {
  --ar-ink: #333333;
  background: #333333;
  border-color: #333333;
  color: #f5f5f5;
}
:root[data-ar-theme="dark"] body.admin-color-light .ar-btn:not(.ar-btn--ghost):not(.ar-btn--danger):hover:not(:disabled) {
  background: #333333; color: var(--ar-teal-on-ink);
}

/* ⭐ AND THE INK SURFACES THEMSELVES, IN BOTH MODES. app.css writes every one
   of them in --ar-paper, which assumes the ink is DARK — true of all eight
   schemes but this one, whose ink is now the scheme's own grey. So the label
   is re-keyed here: #1e1e1e on #e5e5e5 is 13.2:1, and his hover takes the
   accent (5.0:1) with the ground held still, rather than app.css's dive to
   --ar-ink-hard, which on a light button means black.
   ⛔ :root … body earns enough specificity to outrank the night repaint at
   :root[data-ar-theme="dark"] .ar-btn without being written twice. */
:root body.admin-color-light .ar-btn:not(.ar-btn--ghost):not(.ar-btn--danger),
:root body.admin-color-light .ar-tags__chip {
  background: var(--ar-ink); color: #1e1e1e; border-color: var(--ar-ink);
}
:root body.admin-color-light .ar-btn:not(.ar-btn--ghost):not(.ar-btn--danger):hover:not(:disabled) {
  background: var(--ar-ink); color: var(--ar-accent); box-shadow: none;
}
/* ⚠️ AND THE BRAND TILE, WHICH IS THE SAME KIND OF SURFACE. app.css paints it
   from --ar-ink with the A cut out in --ar-paper, and at night flips both — so
   on this scheme the header mark went from a near-black tile by day to a pale
   one at night, the one piece of chrome that changed when the mode did.
   ⭐ The day's own two lines, restated: this scheme's mode changes the rug and
   nothing else. */
:root[data-ar-theme="dark"] body.admin-color-light .ar__mark,
:root[data-ar-theme="dark"] body.admin-color-light .ar-wiz__welcome-mark--brand {
  background: var(--ar-ink); color: var(--ar-paper);
}
:root[data-ar-theme="dark"] body.admin-color-light .ar__logo-line { stroke: var(--ar-paper); }
/* The last two the mode still moved, found by diffing every painted element on
   the screen against itself in the other mode rather than by looking:
   the source picker's ON pill (an ink pill by day, the accent at night) and the
   ghost button's label, which by day reads the SCHEME ink #333333 that Admin.php
   scopes to .ar-btn and at night fell back to the body's own ink. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-srcpick__btn.is-on {
  background: var(--ar-ink); color: var(--ar-paper);
}
/* ⛔ The ghost button is the one .ar-btn that reads --ar-ink as TEXT, not as a
   ground — so the scheme ink reaches it too, and now that the ink is a light
   grey its label would be #e5e5e5 on white. It keeps the dark it always had,
   in both modes. */
:root body.admin-color-light .ar-btn--ghost { --ar-ink: #333333; }
/* ⚠️ And it is FILLED at night by the generic .ar-btn repaint, which outranks
   .ar-btn--ghost — #f1f1f1 here against a transparent button by day, on a card
   that never darkened. Hover likewise dives to a dark slate. Both restated. */
:root[data-ar-theme="dark"] body.admin-color-light .ar-btn--ghost {
  background: transparent; border-color: var(--ar-line-strong);
}
:root[data-ar-theme="dark"] body.admin-color-light .ar-btn--ghost:hover:not(:disabled) {
  background: var(--ar-paper); border-color: var(--ar-line-strong); box-shadow: none;
}

/* His pick, 2026-08-20: the little glyph tile on the rail cards takes the same
   treatment as the buttons and chips — the scheme's own grey with a dark mark,
   instead of the accent wash and its accent-tinted hairline. 13.2:1 for a
   glyph that only needs 3.
   ⚠️ The grey is spelled out here rather than read from --ar-ink: the tile is
   not in Admin::SCHEME_SCOPE, so the ink it inherits is the body's #1e1e1e.
   If SchemeInk's 'light' entry ever moves, move this with it. */
:root body.admin-color-light .ar-rail-card__mark {
  color: #1e1e1e;
  background: #e5e5e5;
  border-color: #e5e5e5;
}

/* ---- Light — the readiness rug -------------------------------------------
   His pick, 2026-08-20, given as the two rugs side by side: by day a light
   slab, by night his charcoal. That settles a compromise this block used to
   spend forty lines apologising for. The rug was #6e6e6e — a MID grey, and mid
   grey is the one ground where colour cannot be seen at all: 4.5:1 downward
   wants near-black, upward wants near-white, so the green and the amber both
   went out as near-white tints (#cfe9d4, #f0e0bb) and stopped being green and
   amber. The card was never broken; it had simply moved and its palette had
   not followed.

   ⭐ On #e8e8e8 they are just themselves again: the ring, the band word and
   the kicker take the scheme's own teal at 5.2:1, the one actionable count
   takes a real gold at 4.5:1, and every veil the card already draws — the
   score number at 70%, the strap line, the ring's track — lands where it was
   designed to land. Nothing here overrides a child rule any more.

   ⛔ The *-on-ink colours are re-keyed here and ONLY here. Their names state
   the assumption they were drawn under, and on this one scheme by day that
   assumption is false: this is the single card in the app whose ground flips
   with the mode, so it is the single place they can be wrong. */
:root:not([data-ar-theme="dark"]) body.admin-color-light .ar-rail-card.ar-rail-card--readiness {
  /* ⛔ No background here: the rug's ground IS --ar-ink, and inc/SchemeInk.php
     now paints this scheme's ink #e5e5e5 — one value for the card, the buttons
     and the chips, which is what makes them agree. */
  --rail-face: #1e1e1e;       /* 13.2:1 — the scheme's ink is now the rug's too */
  --rail-read: 82%;           /* 7.6:1 for the rung names and their counts */
  --rail-good: #6e6e6e;       /* his pick — ring, dots, band word, kicker */
  --ar-warn-on-ink: #856010;  /* 4.5:1 — "119 to fix" is small type, so it earns the floor */
  --ar-bad-on-ink: #b23928;   /* 4.6:1 */
  --ar-teal-on-ink: #146b64;  /* the card's links, on a light ground now */
  --ar-teal-on-ink-hover: #0f544f;
}

/* ---- Fresh & Midnight — the Worth-knowing card's gold (his picks
   2026-08-12): a grey-warmed sand against their cool charcoal and slate,
   where the base #c2a157 ran too brassy. Fresh keeps the base dark for
   everything else; Midnight has its own key above and takes this gold on top
   of it (the sand was picked on the darker ground — worth his eye on the new
   one, but it is his value and stays until he moves it). */
:root[data-ar-theme="dark"] body.admin-color-fresh,
:root[data-ar-theme="dark"] body.admin-color-midnight {
  --ar-note-gold: #b2a484;
  --ar-note-glow: #b2a484;
}
/* Same step-darker frame as Modern's (his call, 2026-08-12): the sand at the
   base 55% still framed too bright on the cool grounds. */
:root[data-ar-theme="dark"] body.admin-color-fresh .ar-aud__note,
:root[data-ar-theme="dark"] body.admin-color-midnight .ar-aud__note {
  border-color: color-mix(in srgb, var(--ar-note-gold) 32%, var(--ar-line));
}
