html { scrollbar-gutter: stable; }
html[data-page-loading], html[data-page-loading] body { overflow: hidden; overscroll-behavior: none; }
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  background: radial-gradient(ellipse at 25% 25%, #152342, #0b1730 75%);
  color: #f3f6ff;
  transition: opacity 180ms ease;
}
.page-loader[hidden] { display: none; }
html[data-page-loading] .page-loader[hidden] { display: grid; }
.page-loader.is-ready { opacity: 0; pointer-events: none; }
.page-loader p { margin: 0; font-size: 14px; letter-spacing: .02em; }
.page-loader progress { appearance: none; border: 0; border-radius: 2px; overflow: hidden; width: 180px; height: 2px; background: #a9b9d333; color: #c9d7ee; }
.page-loader progress::-webkit-progress-bar { background: #a9b9d333; }
.page-loader progress::-webkit-progress-value { background: #c9d7ee; }
.page-loader progress::-moz-progress-bar { background: #c9d7ee; }
@media (prefers-reduced-motion: reduce) { .page-loader { transition: none; } }
