/* Optional local-video layer. Closed dialogs never hide the actual website. */
.page-loader:not([open]) { display: none; }
.page-loader {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  border: 0;
  background: #edfcff;
  color: #0b1929;
  font-family: var(--sans, "Avenir Next", Avenir, sans-serif);
  overflow: auto;
  opacity: 1;
  transition: opacity 180ms ease-out;
}
.page-loader::backdrop { background: #edfcff; }
.page-loader[data-leaving] { opacity: 0; }
.page-loader[open] { display: grid; }
.loader-scene { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100%; gap: 12px; overflow: hidden; }
.loader-art { display: block; flex: none; width: min(800px, 100%); height: auto; max-height: 65dvh; object-fit: contain; }
.page-loader #loader-label { margin: 0; color: #365367; font: 500 15px/1.5 var(--sans, "Avenir Next", Avenir, sans-serif); text-align: center; }
html[data-loader-active] { overflow: hidden; }
@media (max-width: 600px) {
  .loader-art { width: calc(100% + 100px); max-width: none; }
}
@media (max-height: 430px) {
  .loader-scene { gap: 5px; }
  .loader-art { max-height: 56dvh; }
}
@media (prefers-reduced-motion: reduce) {
  .page-loader { transition: none; }
}
