:root{
  --bd-state-bg:#f6f7fa;
  --bd-state-panel:rgba(255,255,255,.94);
  --bd-state-text:#4e4e4e;
  --bd-state-strong:#3f3f3f;
  --bd-state-muted:#747477;
  --bd-state-line:rgba(78,78,78,.18);
  --bd-state-shadow:0 24px 70px rgba(78,78,78,.12);
}

@media (prefers-color-scheme:dark){
  :root{
    --bd-state-bg:#171717;
    --bd-state-panel:rgba(31,31,31,.96);
    --bd-state-text:#c4c5c8;
    --bd-state-strong:#f6f7fa;
    --bd-state-muted:#9b9b9e;
    --bd-state-line:rgba(246,247,250,.16);
    --bd-state-shadow:0 24px 70px rgba(0,0,0,.34);
  }
}

.bd-page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(246,247,250,.94);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 150ms ease,visibility 150ms ease;
}

@media (prefers-color-scheme:dark){
  .bd-page-loader{background:rgba(23,23,23,.94)}
}

.bd-page-loader[data-visible="true"]{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.bd-page-loader__panel{
  width:min(360px,calc(100vw - 40px));
  padding:24px 24px 22px;
  border:1px solid var(--bd-state-line);
  border-radius:18px;
  background:var(--bd-state-panel);
  box-shadow:var(--bd-state-shadow);
  text-align:center;
}

.bd-page-loader__logo{
  display:block;
  width:158px;
  height:auto;
  margin:0 auto 15px;
}

.bd-page-loader__text{
  margin:0;
  color:var(--bd-state-muted);
  font:500 .82rem/1.5 Inter,"Noto Sans",Arial,sans-serif;
}

.bd-page-loader__dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin:17px 0 0;
}

.bd-page-loader__dots i{
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--bd-state-strong);
  opacity:.28;
  animation:bd-loader-pulse 900ms ease-in-out infinite;
}

.bd-page-loader__dots i:nth-child(2){animation-delay:140ms}
.bd-page-loader__dots i:nth-child(3){animation-delay:280ms}

@keyframes bd-loader-pulse{
  0%,100%{transform:translateY(0);opacity:.25}
  50%{transform:translateY(-4px);opacity:.88}
}

@media (prefers-reduced-motion:reduce){
  .bd-page-loader{transition:none}
  .bd-page-loader__dots i{animation:none;opacity:.55}
}
