/* {turnover} on turnover.lab.aimindset.org, written by tools/release-apps.sh; the game's own styles stay as they are.
   The shared AIM header stays on top, the game takes the screen under it, the shared footer sits below the fold
   above the glyph field, the vignette and the scanlines. */
html:has(aim-site-header) { --aim-host-top: calc(var(--top-height, 58px) + 2px); }
html:has(aim-site-header) body:has(> #app) { height: auto; overflow-x: hidden; overflow-y: auto; }
html:has(aim-site-header) body > #app { position: relative; inset: auto; overflow: hidden; height: calc(100vh - var(--aim-host-top)); height: calc(100dvh - var(--aim-host-top)); }
.aim-host-footer { position: relative; z-index: 60; }
/* full screen (the title's button or F) is the game alone: the shared header and footer step aside and nothing under
   the board scrolls (14.10: the page slid under the header and showed the footer in full screen) */
html:fullscreen { --aim-host-top: 0px; overflow: hidden; }
html:fullscreen aim-site-header, html:fullscreen .aim-host-footer { display: none !important; }
/* the landing's live demo is the game in a frame: the page around it carries the header (15.10, a second header inside the frame) */
html.in-frame { --aim-host-top: 0px; }
html.in-frame aim-site-header, html.in-frame .aim-host-footer { display: none !important; }
html.in-frame body:has(> #app) { height: 100%; overflow: hidden; }
html:fullscreen body:has(> #app) { height: 100%; overflow: hidden; }
