
.site-loader-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:radial-gradient(circle at center, rgba(12,18,31,.34), rgba(5,8,15,.72));
  backdrop-filter:blur(8px) saturate(1.05);
  -webkit-backdrop-filter:blur(8px) saturate(1.05);
  opacity:1;
  visibility:visible;
  transition:opacity .34s ease, visibility .34s ease;
}
.site-loader-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-loader-card{
  position:relative;
  width:min(90vw, 220px);
  min-height:198px;
  padding:18px 16px 16px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(17,23,35,.96), rgba(10,14,24,.96));
  box-shadow:0 20px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(91,130,220,.12);
  text-align:center;
  overflow:hidden;
}
.site-loader-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(104,179,255,.08), transparent 40%, rgba(255,214,102,.07));
  pointer-events:none;
}
.site-loader-gif-wrap{
  position:relative;
  width:118px;
  height:118px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.site-loader-gif{
  position:relative;
  z-index:2;
  width:96px;
  height:96px;
  object-fit:contain;
  image-rendering:auto;
  filter:drop-shadow(0 10px 24px rgba(60,160,255,.18));
}
.site-loader-ring{
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(89,196,255,.10), rgba(89,196,255,0) 62%);
}
.site-loader-ring::before,
.site-loader-ring::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid transparent;
}
.site-loader-ring::before{
  border-top-color:rgba(106,190,255,.82);
  border-right-color:rgba(106,190,255,.22);
  animation:siteLoaderSpin 1.4s linear infinite;
}
.site-loader-ring::after{
  inset:7px;
  border-bottom-color:rgba(255,214,102,.84);
  border-left-color:rgba(255,214,102,.18);
  animation:siteLoaderSpinReverse 1.9s linear infinite;
}
.site-loader-title{
  position:relative;
  z-index:2;
  color:#f1f7ff;
  font-weight:900;
  font-size:1rem;
  letter-spacing:.01em;
  margin-bottom:6px;
}
.site-loader-subtitle{
  position:relative;
  z-index:2;
  color:rgba(226,238,255,.72);
  font-size:.78rem;
  line-height:1.45;
  min-height:34px;
  margin:0 auto 12px;
  max-width:180px;
}
.site-loader-progress{
  position:relative;
  z-index:2;
  width:100%;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
}
.site-loader-progress-bar{
  display:block;
  width:52%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(111,174,255,.92), rgba(126,230,255,.96), rgba(255,215,120,.95));
  box-shadow:0 0 16px rgba(99,178,255,.34);
  animation:siteLoaderSlide 1.2s ease-in-out infinite;
}
@keyframes siteLoaderSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes siteLoaderSpinReverse{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}
@keyframes siteLoaderSlide{0%{transform:translateX(-70%)}50%{transform:translateX(60%)}100%{transform:translateX(170%)}}
@media (max-width:640px){
  .site-loader-card{width:min(88vw, 204px);min-height:186px;padding:16px 14px 14px;border-radius:22px}
  .site-loader-gif-wrap{width:108px;height:108px}
  .site-loader-gif{width:88px;height:88px}
  .site-loader-title{font-size:.96rem}
  .site-loader-subtitle{font-size:.74rem;max-width:170px}
}
