/* Front-end (complete CSS; critical CSS is inline for instant paint) */
#myd-preloader-pro{
  position:fixed; inset:0; z-index:999999;
  display:flex; align-items:center; justify-content:center;
  opacity:1;
  transition:opacity .35s ease, visibility .35s ease;
}
#myd-preloader-pro.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
#myd-preloader-pro .myd-preloader__box{ text-align:center; padding:18px 22px; border-radius:18px; }
#myd-preloader-pro .myd-preloader__logo{ width:92px; height:92px; object-fit:contain; display:block; margin:0 auto 12px; }

#myd-preloader-pro .myd-preloader__status{
  margin:10px 0 0;
  font-size:13px; line-height:1.2;
  color:rgba(255,255,255,.75);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

#myd-preloader-pro .myd-preloader__progress{
  width:260px; max-width:72vw; height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  margin:14px auto 0;
  overflow:hidden;
}
#myd-preloader-pro .myd-preloader__bar{
  height:100%;
  width:0%;
  background:rgba(255,255,255,.92);
  border-radius:999px;
  transition:width .18s ease;
}
#myd-preloader-pro .myd-preloader__pct{
  margin:8px 0 0;
  font-size:12px;
  color:rgba(255,255,255,.72);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

#myd-preloader-pro .myd-preloader__spinner{
  width:44px;height:44px;border-radius:999px;
  border:3px solid rgba(255,255,255,.25);
  border-top-color:rgba(255,255,255,.95);
  margin:12px auto 0;
  animation: mydSpin .9s linear infinite;
}

/* Logo animations */
.myd-anim-bounce{animation:mydBounce 1s ease-in-out infinite; transform-origin:50% 50%;}
.myd-anim-shake{animation:mydShake .75s ease-in-out infinite; transform-origin:50% 60%;}
.myd-anim-wave{animation:mydWave 1.15s ease-in-out infinite; transform-origin:70% 90%;}

@keyframes mydSpin{to{transform:rotate(360deg);}}
@keyframes mydBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes mydShake{0%,100%{transform:rotate(0);}20%{transform:rotate(6deg);}40%{transform:rotate(-6deg);}60%{transform:rotate(5deg);}80%{transform:rotate(-5deg);}}
@keyframes mydWave{0%{transform:rotate(0deg);}25%{transform:rotate(8deg);}50%{transform:rotate(0deg);}75%{transform:rotate(-6deg);}100%{transform:rotate(0deg);}}


  50%{
    filter: brightness(calc(1 + (var(--myd-neon) * .35)));
    transform: scale(calc(1 + (var(--myd-neon) * .01)));
  }
}


/* Neon pulse (arcade vibe)
   --myd-neon: intensity 0..1
   --myd-neon-color: hex color (ex. #00ffc8)
*/
#myd-preloader-pro{ --myd-neon: .65; --myd-neon-color:#00ffc8; }

#myd-preloader-pro .myd-preloader__progress{
  box-shadow: 0 0 calc(18px * var(--myd-neon)) rgba(255,255,255,.12) inset;
  animation: mydNeonPulse 1.1s ease-in-out infinite;
}

#myd-preloader-pro .myd-preloader__bar{
  background: linear-gradient(90deg, var(--myd-neon-color), rgba(255,255,255,.95));
  border-radius:999px;
  position:relative;
  filter:
    drop-shadow(0 0 calc(10px * var(--myd-neon)) var(--myd-neon-color))
    drop-shadow(0 0 calc(18px * var(--myd-neon)) var(--myd-neon-color));
}

#myd-preloader-pro .myd-preloader__bar:after{
  content:'';
  position:absolute; inset:0;
  background: inherit;
  opacity: calc(.25 + (var(--myd-neon) * .45));
  filter: blur(calc(6px * (0.6 + var(--myd-neon))));
}

@keyframes mydNeonPulse{
  0%, 100%{
    filter: brightness(1);
    transform: scale(1);
  }
  50%{
    filter: brightness(calc(1 + (var(--myd-neon) * .35)));
    transform: scale(calc(1 + (var(--myd-neon) * .01)));
  }
}


/* Dynamic sizes/colors */
#myd-preloader-pro .myd-preloader__logo{height:var(--myd-logo-h,92px); width:auto; max-width:80vw;}
#myd-preloader-pro .myd-preloader__text{font-size:var(--myd-text-main-size,18px); color:var(--myd-text-main,#fff);}
#myd-preloader-pro .myd-preloader__status{font-size:var(--myd-text-status-size,14px); color:var(--myd-text-status,rgba(255,255,255,.75));}
#myd-preloader-pro .myd-preloader__pct{color:var(--myd-text-pct,#fff);}

/* Extra logo animations */
@keyframes mydPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
@keyframes mydFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes mydRotate{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
@keyframes mydSwing{0%{transform:rotate(0deg);}25%{transform:rotate(6deg);}50%{transform:rotate(-6deg);}75%{transform:rotate(4deg);}100%{transform:rotate(0deg);}}
@keyframes mydWobble{0%,100%{transform:translateX(0) rotate(0deg);}15%{transform:translateX(-6px) rotate(-3deg);}30%{transform:translateX(6px) rotate(3deg);}45%{transform:translateX(-4px) rotate(-2deg);}60%{transform:translateX(4px) rotate(2deg);}75%{transform:translateX(-2px) rotate(-1deg);}90%{transform:translateX(2px) rotate(1deg);}}
#myd-preloader-pro .myd-anim-pulse{animation:mydPulse 1.2s ease-in-out infinite;}
#myd-preloader-pro .myd-anim-float{animation:mydFloat 1.4s ease-in-out infinite;}
#myd-preloader-pro .myd-anim-rotate{animation:mydRotate 2.4s linear infinite;}
#myd-preloader-pro .myd-anim-swing{animation:mydSwing 1.4s ease-in-out infinite;}
#myd-preloader-pro .myd-anim-wobble{animation:mydWobble 1.2s ease-in-out infinite;}
