:root {
  --winmacau-loader-gold: #f4c23c;
  --winmacau-loader-blue: #406cff;
}

body.winmacau-loading #GameCanvas {
  visibility: hidden !important;
}

#splash.winmacau-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: block;
  overflow: hidden;
  isolation: isolate;
  opacity: 1;
  background: #02000b url("loader-assets/bg.779cf.png") no-repeat center center;
  background-size: cover;
  user-select: none;
  transition: opacity 280ms ease-out;
}

#splash.winmacau-loader::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 7, 42, 0.52) 100%);
}

#splash.winmacau-loader.is-hiding {
  pointer-events: none;
  opacity: 0;
}

.winmacau-loader__logo {
  position: absolute;
  top: 7%;
  left: 50%;
  width: min(39vw, 550px);
  aspect-ratio: 1 / 1;
  transform: translateX(-50%);
  background: url("loader-assets/logo_DOM99.8ea48.png") no-repeat center;
  background-size: contain;
  animation: winmacau-logo-in 700ms ease-out both,
    winmacau-logo-glow 1.8s ease-in-out 700ms infinite alternate;
}

.winmacau-loader__panel {
  position: absolute;
  top: 80%;
  left: 50%;
  width: min(54vw, 700px);
  transform: translateX(-50%);
}

.winmacau-loader__text {
  margin-bottom: 9px;
  color: #fff;
  font: 900 clamp(18px, 2.2vw, 30px)/1.2 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  letter-spacing: .04em;
  text-align: center;
  text-shadow: 0 2px 0 #233269, 0 0 12px rgba(92, 137, 255, .7);
}

.winmacau-loader__track {
  width: 100%;
  height: 20px;
  overflow: hidden;
  border: 2px solid rgba(236, 179, 0, .74);
  border-radius: 999px;
  background: rgba(0, 0, 18, .82);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, .9), 0 0 10px rgba(22, 42, 147, .5);
}

#winmacau-progress-fill {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: url("loader-assets/loading_bar.80e5f.png") repeat-x left center;
  background-size: auto 100%;
  transition: width 180ms ease-out;
}

.winmacau-loader__version {
  position: absolute;
  bottom: max(1.3%, env(safe-area-inset-bottom));
  left: max(1.5%, env(safe-area-inset-left));
  color: #ffe887;
  font: 400 clamp(15px, 1.8vw, 25px)/1 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  letter-spacing: .08em;
  text-shadow: 0 2px 4px #000;
}

.winmacau-loader__compliance {
  position: absolute;
  bottom: max(1.2%, env(safe-area-inset-bottom));
  left: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 78%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, .18);
  font: 700 clamp(10px, 1.35vw, 19px)/1.25 Georgia, serif;
  white-space: nowrap;
}

.winmacau-loader__shield {
  display: grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 10px 10px 17px 17px;
}

@keyframes winmacau-logo-in {
  0% { opacity: .15; transform: translateX(-50%) scale(.2); filter: blur(5px); }
  45% { opacity: 1; transform: translateX(-50%) scale(1.14); filter: blur(0); }
  100% { opacity: 1; transform: translateX(-50%) scale(1); filter: blur(0); }
}

@keyframes winmacau-logo-glow {
  from { filter: drop-shadow(0 0 4px rgba(78, 120, 255, .35)); }
  to { filter: drop-shadow(0 0 22px rgba(255, 185, 42, .55)); }
}

@media (max-aspect-ratio: 4 / 3) {
  .winmacau-loader__logo {
    top: 13%;
    width: min(72vw, 480px);
  }

  .winmacau-loader__panel {
    top: 72%;
    width: min(82vw, 700px);
  }

  .winmacau-loader__compliance {
    max-width: 70%;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .winmacau-loader__logo {
    animation: none;
  }

  #winmacau-progress-fill,
  #splash.winmacau-loader {
    transition-duration: 1ms;
  }
}
