/* ════════════════════════════════════════════════════════════════════════
   public-background.css — THE ONE BACKGROUND EVERY PUBLIC PAGE SHARES
   Owner 2026-10-02: "the backgrounds are not the same across pages, so more
   updates are needed" + (same day, follow-up) "performance page doesn't have
   the same background as the other pages, same for the login page."

   MEASURED (computed styles, Chromium, 1440 + 390, light + dark) before this
   file existed:
     /             html bg-color var(--color-background-body) (242,242,247 /
                   #000) — correct — PLUS the old 4-lobe green/purple aurora
                   still painted on top of the new Iris scroll-orb glow.
     /performance  html bg-color rgb(255,255,255) / rgb(28,28,30) — the
                   LEGACY --bg-main token, not the grouped token. Wrong colour,
                   even though its own CSS already strips the aurora image.
     /login        (trade host) same legacy --bg-main colour; body background
                   is fully transparent in dark, so the page shows the wrong
                   html colour through it.
     /blog,
     /reviews      already correct (grouped token, no aurora) — the pattern
                   this file generalises.
     /faq, /disclaimer, /privacy, /cookies, /acceptable-use, /register
                   (none of these set the `m7_flat` opt-in): legacy --bg-main
                   colour AND the full old aurora image, both leftovers.

   THE FIX. One rule, loaded LAST (after theme.css / auth.css / perf-page-
   apple.css / legal.css / landing.css / blog.css), on every public page:
   kill the legacy aurora image and legacy --bg-main colour, and paint the
   WS1 grouped-page token instead. `:root.light` + plain `html` is the SAME
   pair of selectors theme.css itself uses for the aurora it replaces (see
   that file's comment on `:root.light` vs `html { background-image }`
   needing BOTH forms — dark is the bare element selector, light is
   `:root.light`, (0,2,0), which the plain `html.light` in some pages' own
   overrides does not reach). Matching those two selectors, `!important`,
   loaded last, wins by equal specificity + later source order without
   needing a single `:has()` — so it is immune to whichever flavour of
   opt-out (or lack of one) a given page already carries.

   Landing keeps its OWN additional glow — the Iris scroll-orb layer
   (static/css/landing-scroll-orb.css + static/js/landing-scroll-orb.js,
   #3469). That is a separate `position: fixed` element, not an html/body
   background-image, so this file does not touch it: removing the OLD
   lobed aurora here only clears the leftover this file exists to remove.
   Content pages get no glow at all (owner ruling 2026-09-30: the soft glow
   is for the landing hero + calculator only); this file is what makes that
   literally true everywhere else instead of per-page, inconsistently.
   ════════════════════════════════════════════════════════════════════════ */
html,
:root.light {
    background-image: none !important;
    background-color: var(--color-background-body) !important;
    background-attachment: scroll !important;
}
/* `:not(.is-embedded)`: /register?embed=1 runs inside the signup deck over
   /login — its own body must stay transparent so the login page shows
   through underneath (auth.css §"is-embedded" carries the same exclusion
   for the same reason). */
body:not(.is-embedded) {
    background-color: var(--color-background-body) !important;
}
/* Leftover decorative layers some shells still mount unconditionally
   regardless of page (the dashboard's orb/grid/particle stack, migrated to
   public pages by inheritance, not by design). */
body > .aurora-bg,
body > .dash-bg-effects,
body > .particle-canvas,
body .gradient-orb {
    display: none !important;
}
