/*
 * v14 (owner, 2026-10-12): "/" is a static page for a signed-out visitor — the landing SPA
 *     (#eko-player-auth, /app/js/portal-*.js) only exists on /ekoloko/login-react.html, so the
 *     three blocks stay in <body> forever. Two defects of that body state, measured in a real
 *     browser on production (x=160 of 1280 for the landing column, and a body overflow that
 *     blocks the viewport):
 *     1. Off-centre. The v10 layout-system rules (#eko-landing{margin:0!important},
 *        #eko-landing-foot{margin:64px var(--gutter) 0!important}) were written for the MOUNTED
 *        state, where the column is centred by #eko-auth-stage itself. In the body state they
 *        outrank the base `body > #eko-landing{margin-inline:auto}` (no !important), so the
 *        1120px column pins itself to the RTL start edge with a green band on the left — the
 *        same defect class the v12 comment records for the hero. Both selectors here are
 *        `body > …` scoped: mounted, the blocks live in #eko-auth-stage and never match, so the
 *        mounted layout keeps its own margins.
 *     2. Cannot scroll. The app sheet (/assets/QZfQGDb6.css) carries a bare
 *        `body{…overflow:hidden…}` for the fixed app shell, which scrolls inside
 *        #eko-player-auth{overflow-y:auto}. Nothing removes it on the static page, and because
 *        html computes to `visible` the body value propagates to the VIEWPORT — the visitor
 *        cannot scroll at all. The fix restores the pattern the other static pages already use
 *        (measured on /terms/, /about, /privacy/: overflow-x: clip, overflow-y: visible).
 *        `clip` cannot open a scroll container, so the viewport keeps scrolling normally; and
 *        the :not(:has(#eko-player-auth)) guard makes the rule self-disarming the moment the
 *        app shell mounts.
 * v13 (owner, 2026-10-11): "/" is now this page, so the four installers live here too. […]
 * Versioned in the file name: /auth is served with a one-year cache.
 */

/* the static page scrolls again — there is no app shell to scroll instead of it */
body:not(:has(#eko-player-auth)) { overflow-x: clip; overflow-y: visible !important; }

/* the body-state column centres exactly like the mounted stage does */
body > #eko-landing, body > #eko-landing-foot { margin-inline: auto !important; }
