/* Space reserved for the fixed header.
 * ---------------------------------------------------------------------------
 * main.css pins `.header` to `height: 70px`, which was its height back when it
 * held only the nav row. The fraud banner was added later as the header's first
 * child, so the bar paints ~131px while its own box still claims 70 - the
 * children simply overflow it.
 *
 * The page reserved 118px for it: a 48px spacer after the header, plus a 70px
 * top margin hung on every `.container`. Less than the bar actually occupies,
 * so the first block of every page ran underneath it - the page title on
 * /gaming, the feedback panel on the landing page.
 *
 * Reserve the header's real height on the body instead, and let the 48px
 * spacer go back to being what it looks like: breathing room under the bar,
 * rather than part of the arithmetic.
 *
 * --header-height is kept in step with the real bar by a ResizeObserver in the
 * layout; the fallback here is its desktop height, so the first paint is right
 * before that runs and stays right if scripts never do.
 * ------------------------------------------------------------------------- */

.header {
    /* Match the box to what it paints, so the border-bottom lands under the bar
       and the bar's own hover and click area covers all of it. */
    height: auto;
}

body {
    padding-top: var(--header-height, 131px);
}

/* Superseded by the line above. It was standing in for the reservation and
   also, because .container is a shared Bootstrap class, adding 70px to every
   other container on the page. */
.container {
    margin-top: 0;
}
