/* Only freeze once the real boot cover is active. */
html.is-booting.boot-cover-on { overflow: hidden; }

/* The CSS cover mirrors the JS overlay, but stays inert until JS opts in. */
html.is-booting::before{
  content:"";
  position: fixed; inset: 0; z-index: 9999;
  background:
    radial-gradient(1200px 800px at 50% 120%, rgba(0,0,0,.28), transparent 60%),
    color-mix(in oklab, var(--bg, #0c0f14) 94%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(.85) brightness(.9);
          backdrop-filter: blur(18px) saturate(.85) brightness(.9);
  opacity: 0; pointer-events: none;
  transition: opacity .26s ease;
}
html.is-booting.boot-cover-on::before { opacity: 1; pointer-events: auto; }

/* Real overlay injected by JS */
#awBoot{
  position: fixed; inset: 0; z-index: 10000;
  background:
    radial-gradient(1200px 800px at 50% 120%, rgba(0,0,0,.28), transparent 60%),
    color-mix(in oklab, var(--bg, #0c0f14) 94%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(.85) brightness(.9);
          backdrop-filter: blur(18px) saturate(.85) brightness(.9);
  display: grid; place-items: center;
  opacity: 0; pointer-events: none;
  transition: opacity .26s ease;
}
#awBoot.show { opacity: 1; pointer-events: auto; }

/* Hide inner UI if you don’t want text/spinner */
#awBoot.no-ui .boot-wrap { display: none; }

/* Optional spinner/text styling (kept for flexibility) */
#awBoot .boot-wrap{ display:inline-flex; gap:.75rem; align-items:center;
  padding:.6rem .9rem; border:1px solid var(--border, rgba(255,255,255,.12));
  border-radius:12px; background: rgba(0,0,0,.22); color: var(--text, #e6eef6);
}
#awBoot .boot-spin{ width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(255,255,255,.2); border-top-color: rgba(255,255,255,.85);
  animation: awspin .85s linear infinite;
}
@keyframes awspin { to { transform: rotate(360deg); } }

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  html.is-booting::before,
  #awBoot { background: rgba(6,9,14,.92); }
}
