/* Override the legacy body fade, including when style.css is cached. */
html.is-page-arriving body { opacity:1; }
html:is(.is-page-arriving, .is-page-leaving) :is(main, .site-footer, .site-credit, .blueprint-layer, .menu-panel) { opacity:0; }
/* The opaque menu is the departing scene. Its fade must reveal paper, never
   a second, independently fading copy of the page underneath. */
html.is-page-leaving:has(#menu[open]) :is(main, .site-footer, .site-credit, .blueprint-layer) { visibility:hidden; }
.page-transition-drawing {
  position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none;
  margin:0; padding:0; border:0; outline:0; overflow:hidden; background:transparent;
  pointer-events:none;
}
.page-transition-drawing::backdrop { background:transparent; pointer-events:none; }
.page-transition-drawing canvas { position:absolute; inset:0; width:100%; height:100%; max-width:none; }
@media(prefers-reduced-motion:reduce) { .page-transition-drawing { display:none; } }
