/* --------------------------------------------------------------------
 * ccx-bgfix30 - round 30, background audit
 *
 * One rule, and it exists because of one number.
 *
 * The dot field sizes its bitmap from the box of its host. Every host it
 * had until now was a section: a band of cards, a hero, an archive grid,
 * one or two thousand pixels tall. Round 30 points it at the twenty pages
 * of the site that had no moving ground at all - the articles and the three
 * legal pages - and on those the only host that covers the full width is
 * the template wrapper, which is as tall as the document: 6325 pixels on an
 * article, 21423 on the terms of service. At four bytes a pixel that is 36
 * to 123 MB of bitmap for a grid of grey dots, which is not a background,
 * it is a leak.
 *
 * So the canvas of that one entry leaves the flow and is pinned to the
 * window instead. The bitmap is then one window - 1440 x 900 - however long
 * the page is, which is exactly what inc/ccx-stickybg.php has always done
 * on the long pages. The host keeps the class the script writes on it and
 * everything else about the field is untouched: the pointer still answers,
 * because a fixed box hands getBoundingClientRect the window and the
 * pointer arrives in window coordinates too.
 *
 * z-index stays at -1, inherited from .ccdf-canvas: the wrapper is made a
 * stacking context by .ccdf-host (isolation: isolate), so the canvas paints
 * behind everything in the page and cannot reach past it.
 * -------------------------------------------------------------------- */

.ccdf-host.ccdf-page > .ccdf-canvas {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
}

/* Wide windows only, like every other ground on this site. The entry is
 * gated at 1025 in PHP as well; this is the belt to that brace, so a canvas
 * that was built before a resize cannot stay on the screen. */
@media (max-width: 1024px) {
  .ccdf-host.ccdf-page > .ccdf-canvas { display: none; }
}
