/* Betpro Zone Exchange — premium cyan/chrome splash */
.loader-bp{
  position:fixed;inset:0;z-index:999;
  display:flex;align-items:center;justify-content:center;
  margin:0;padding:24px;
  background:
    radial-gradient(520px 280px at 50% 28%, rgba(0,210,255,.22), transparent 58%),
    radial-gradient(640px 360px at 50% 78%, rgba(0,114,255,.18), transparent 62%),
    linear-gradient(165deg, #02060b 0%, #07121c 42%, #050A10 100%);
  transition:opacity .55s ease, visibility .55s ease;
  font-family:Outfit,system-ui,sans-serif;
  overflow:hidden;
}
.loader-bp::before{
  content:"";position:absolute;inset:-20%;
  background:
    radial-gradient(circle at 20% 30%, rgba(0,210,255,.1), transparent 28%),
    radial-gradient(circle at 80% 20%, rgba(0,114,255,.08), transparent 26%);
  animation:premDrift 7s ease-in-out infinite alternate;
  pointer-events:none;
}
.loader-bp::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,210,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,210,255,.03) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(circle at 50% 42%, #000 0%, transparent 70%);
  opacity:.55;pointer-events:none;
}
.loader-bp.is-done,
.loader-bp[hidden]{opacity:0;visibility:hidden;pointer-events:none}
.loader-bp-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;width:min(320px,100%);
  animation:premRise .55s ease both;
}
.loader-bp-ring{
  position:relative;width:140px;height:140px;
  display:grid;place-items:center;margin:0 auto 18px;
}
.loader-bp-ring::before,
.loader-bp-ring::after{
  content:"";position:absolute;border-radius:50%;border:2px solid transparent;
}
.loader-bp-ring::before{
  inset:-6px;
  border-top-color:#00D2FF;
  border-right-color:rgba(0,210,255,.25);
  box-shadow:0 0 18px rgba(0,210,255,.35);
  animation:bpSpin 1.15s linear infinite;
}
.loader-bp-ring::after{
  inset:10px;
  border-bottom-color:#0072FF;
  border-left-color:rgba(0,114,255,.3);
  animation:bpSpin 1.7s linear infinite reverse;
}
.loader-bp-orbit{
  position:absolute;inset:-16px;border-radius:50%;
  border:1px dashed rgba(0,210,255,.3);
  animation:bpSpin 8s linear infinite;pointer-events:none;
}
.loader-bp-orbit i{
  position:absolute;top:-3px;left:50%;width:7px;height:7px;margin-left:-3.5px;
  border-radius:50%;background:#00D2FF;box-shadow:0 0 10px #00D2FF;
}
.loader-bp-ring img{
  width:100px;height:100px;border-radius:50%;object-fit:cover;
  position:relative;z-index:1;
  box-shadow:0 0 0 2px rgba(0,210,255,.4), 0 0 24px rgba(0,210,255,.3);
}
.loader-bp-brand{margin:0;font-weight:800;font-size:1.25rem;color:#fff;letter-spacing:.06em}
.loader-bp-brand span{color:#00D2FF}
.loader-bp-sub{margin:6px 0 14px;color:rgba(200,220,240,.7);font-size:.9rem}
.loader-bp-bar{
  width:150px;height:4px;margin:0 auto;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.12);
}
.loader-bp-bar i{
  display:block;height:100%;width:42%;border-radius:inherit;
  background:linear-gradient(90deg,#00D2FF,#0072FF);
  box-shadow:0 0 12px #00D2FF;
  animation:loadBar 1.8s ease-in-out infinite;
}
@keyframes loadBar{0%{transform:translateX(-120%)}100%{transform:translateX(280%)}}
@keyframes bpSpin{to{transform:rotate(360deg)}}
@keyframes premDrift{from{transform:translateY(0)}to{transform:translateY(-12px)}}
@keyframes premRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.loader-bp-shine{display:none}
