/* Only the incoming content is frosted; navigation stays crisp and usable. */
html.page-boot main { visibility: hidden; }
.page-frost {
  position: fixed; z-index: 12; pointer-events: none; overflow: hidden;
  background: rgba(247, 246, 242, .22); opacity: 1;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  transition: opacity 360ms ease, backdrop-filter 360ms ease, -webkit-backdrop-filter 360ms ease;
}
.page-frost.initial {
  background: rgba(247, 246, 242, .3);
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  transition-duration: 520ms;
}
.page-frost.clearing { opacity: 0; -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); }
.frost-preview {
  position: absolute !important; top: 0; left: 0;
  width: var(--preview-width, 100%) !important; height: 100% !important;
  object-fit: cover; pointer-events: none; filter: blur(8px);
}
img.frost-awaiting { opacity: 0 !important; }
@supports not ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .page-frost { background: rgba(247, 246, 242, .65); }
}
@media (prefers-reduced-motion: reduce) {
  .page-frost { transition: opacity 180ms ease !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .page-frost { background: #f7f6f2; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
