/* uichemy-doc-bg.css - the document background for the blog and docs templates.
 *
 * WHY THIS EXISTS. uichemy-header-fix.css paints the document white with
 *
 *   html:has(.ucx-sec):has(.uc-f2e), ... html:has(.uc-n4f), body:has(.uc-n4f)
 *   { background-color:#FFFFFF !important }
 *
 * which is an ENUMERATED selector list, not the `:where(body:has(<gate>))` form used by the
 * rest of the file. Widening the gate therefore did NOT widen this rule, and on the blog and
 * docs templates the header widget went transparent (good) while the body underneath stayed
 * rgb(2,2,2) - the retired `--pg: #020202` from uichemy-old-globals.css's
 * `html body{background:rgb(2,2,2)!important}`. The grey strip became a black one.
 *
 * The enumerated rule has been widened in uichemy-header-fix.css itself, but that file is
 * already Cloudflare-cached at ?v=20260903gate4, so this small file carries the same
 * declaration now. Delete it when site code is next rewritten and the main file is re-versioned.
 *
 * SPECIFICITY. `body:has(.uc-dsg)` is (0,1,1): `body` contributes (0,0,1) and `:has()` takes the
 * specificity of its most specific argument, (0,1,0). The retired sheet ships `html body` at
 * (0,0,2), also !important. (0,1,1) beats (0,0,2), so this wins - a plain `html, body` rule at
 * (0,0,1) would NOT, even with !important, because specificity is compared before order.
 * Same reasoning as the home-v6 block in CLAUDE.md section 5.
 *
 * #FFFFFF, not the #F9F9FB surface token: React paints white behind its sticky navbar, and
 * #F9F9FB leaves a visible seam against the white article.
 */
html:has(.uc-dsg), body:has(.uc-dsg),
html:has(.uc-dcg), body:has(.uc-dcg),
html:has(.uc-dsr), body:has(.uc-dsr),
html:has(.uc-bsp), body:has(.uc-bsp),
html:has(.uc-bcg), body:has(.uc-bcg),
html:has(.uc-bau), body:has(.uc-bau){background-color:#FFFFFF !important}
