/* A white sheet that gently fades away once the page is ready. */
html { scrollbar-gutter: stable; }
html.is-page-loading { background: #fff; }
html.is-page-loading,
html.is-page-loading body { overflow: hidden; }
.page-loader {
  position: fixed;
  z-index: 1000;
  inset: 0;
  width: 100vw;
  overflow: hidden;
  background: #fff;
  color: #000;
  touch-action: none;
  user-select: none;
  cursor: wait;
  overscroll-behavior: none;
}
.page-loader[hidden] { display: none !important; }
.page-loader.is-fading { will-change: opacity; }
.page-loader-canvas { display: block; width: 100%; height: 100%; }
.page-loader-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font: 400 clamp(36px, 6vw, 72px)/1 Georgia, 'Times New Roman', serif;
}
.page-loader.has-canvas .page-loader-fallback { display: none; }
.page-loader-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media print {
  html.is-page-loading,
  html.is-page-loading body { overflow: visible; }
  .page-loader { display: none !important; }
}
