.mingyue-boot-splash {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff5dd;
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 225, 164, 0.16), transparent 18rem),
    radial-gradient(circle at 22% 18%, rgba(130, 153, 255, 0.16), transparent 16rem),
    radial-gradient(circle at 70% 82%, rgba(255, 173, 205, 0.12), transparent 18rem),
    linear-gradient(180deg, #070d27 0%, #121f4a 56%, #352652 100%);
  opacity: 1;
  visibility: visible;
  transition:
    opacity 560ms ease,
    visibility 560ms ease;
  pointer-events: auto;
}

.mingyue-boot-splash.is-hiding {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.mingyue-boot-splash__stars,
.mingyue-boot-splash__stars::before,
.mingyue-boot-splash__stars::after {
  position: absolute;
  inset: 0;
  content: "";
  background-repeat: repeat;
  opacity: 0.72;
  animation: mingyueStarsTwinkle 2.8s ease-in-out infinite alternate;
}

.mingyue-boot-splash__stars {
  background-image:
    radial-gradient(circle, rgba(255, 246, 218, 0.95) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(197, 213, 255, 0.65) 0 1px, transparent 1.5px);
  background-size: 86px 86px, 134px 134px;
  background-position: 12px 22px, 44px 18px;
}

.mingyue-boot-splash__stars::before {
  background-image:
    radial-gradient(circle, rgba(255, 225, 177, 0.88) 0 1.2px, transparent 1.8px),
    radial-gradient(circle, rgba(255, 255, 255, 0.72) 0 1px, transparent 1.6px);
  background-size: 168px 168px, 112px 112px;
  background-position: 18px 68px, 74px 36px;
  animation-duration: 3.6s;
}

.mingyue-boot-splash__stars::after {
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.62) 0 1px, transparent 1.5px);
  background-size: 208px 208px;
  background-position: 118px 26px;
  animation-duration: 4.4s;
}

.mingyue-boot-splash__aurora {
  position: absolute;
  width: 92vmax;
  height: 42vmax;
  left: 50%;
  top: 55%;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 38% 42%, rgba(255, 224, 172, 0.2), transparent 52%),
    radial-gradient(ellipse at 62% 48%, rgba(151, 177, 255, 0.16), transparent 58%);
  filter: blur(24px);
  transform: translate(-50%, -50%) rotate(-7deg);
  animation: mingyueAuroraFloat 4.8s ease-in-out infinite alternate;
}

.mingyue-boot-splash__content {
  position: relative;
  z-index: 2;
  width: min(78vw, 24rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.mingyue-boot-splash__moon-wrap {
  position: relative;
  width: clamp(7.6rem, 34vw, 12rem);
  height: clamp(7.6rem, 34vw, 12rem);
  display: grid;
  place-items: center;
  margin-bottom: clamp(1.9rem, 6vh, 3.2rem);
}

.mingyue-boot-splash__moon-glow {
  position: absolute;
  inset: -28%;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 229, 174, 0.34) 0 24%, rgba(255, 229, 174, 0.16) 38%, transparent 70%);
  filter: blur(8px);
  animation: mingyueGlowPulse 2.2s ease-in-out infinite;
}

.mingyue-boot-splash__moon {
  position: relative;
  width: 58%;
  height: 58%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 34%, #fff8dc 0 16%, #ffeeb9 46%, #efd082 100%);
  box-shadow:
    0 0 2rem rgba(255, 231, 174, 0.68),
    0 0 5rem rgba(255, 221, 153, 0.34);
  animation: mingyueMoonFloat 2.8s ease-in-out infinite;
}

.mingyue-boot-splash__moon::before {
  position: absolute;
  content: "";
  inset: 10% -8% 6% 28%;
  border-radius: 50%;
  background: rgba(255, 247, 218, 0.2);
}

.mingyue-boot-splash__orbit {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  border: 1px solid rgba(255, 235, 190, 0.24);
  border-left-color: rgba(255, 235, 190, 0.78);
  border-bottom-color: rgba(255, 235, 190, 0.48);
  animation: mingyueOrbitRotate 2.6s linear infinite;
}

.mingyue-boot-splash__title {
  margin: 0;
  font-size: clamp(2.4rem, 12vw, 4.1rem);
  line-height: 1;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  font-family: "STKaiti", "KaiTi", "Microsoft YaHei", sans-serif;
  font-weight: 700;
  color: #fff3d7;
  text-shadow:
    0 0 1rem rgba(255, 224, 160, 0.42),
    0 0 2.6rem rgba(255, 224, 160, 0.22);
  animation: mingyueTitleIn 860ms ease both;
}

.mingyue-boot-splash__subtitle {
  margin: 0.95rem 0 0;
  font-size: clamp(0.9rem, 3.5vw, 1.08rem);
  letter-spacing: 0.18em;
  color: rgba(235, 226, 246, 0.82);
  animation: mingyueFadeUp 920ms 140ms ease both;
}

.mingyue-boot-splash__progress {
  position: relative;
  width: min(17rem, 68vw);
  height: 0.52rem;
  margin-top: clamp(2rem, 7vh, 3.2rem);
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  box-shadow:
    inset 0 0 0 1px rgba(255, 238, 198, 0.18),
    0 0 1.4rem rgba(255, 216, 146, 0.13);
  animation: mingyueFadeUp 920ms 260ms ease both;
}

.mingyue-boot-splash__progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: 46%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255, 215, 143, 0.15), #ffe2a0 52%, #fff8dc);
  box-shadow:
    0 0 0.9rem rgba(255, 230, 172, 0.8),
    0 0 2rem rgba(255, 230, 172, 0.24);
  animation: mingyueProgressFlow 1.55s ease-in-out infinite;
}

.mingyue-boot-splash__loading {
  margin: 1rem 0 0;
  color: rgba(245, 237, 255, 0.74);
  font-size: 0.86rem;
  letter-spacing: 0.12em;
  animation: mingyueLoadingPulse 1.4s ease-in-out infinite;
}

.mingyue-boot-splash__brand {
  position: absolute;
  left: 50%;
  bottom: max(1.8rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  color: rgba(255, 236, 204, 0.42);
  font-size: 0.68rem;
  letter-spacing: 0.28em;
  white-space: nowrap;
}

@keyframes mingyueStarsTwinkle {
  from {
    opacity: 0.4;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0.9;
    transform: translate3d(0.4rem, -0.25rem, 0);
  }
}

@keyframes mingyueAuroraFloat {
  from {
    transform: translate(-50%, -50%) rotate(-8deg) scale(1);
    opacity: 0.82;
  }

  to {
    transform: translate(-50%, -53%) rotate(-3deg) scale(1.06);
    opacity: 1;
  }
}

@keyframes mingyueGlowPulse {
  0%,
  100% {
    transform: scale(0.96);
    opacity: 0.68;
  }

  50% {
    transform: scale(1.08);
    opacity: 1;
  }
}

@keyframes mingyueMoonFloat {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-0.42rem) scale(1.025);
  }
}

@keyframes mingyueOrbitRotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes mingyueTitleIn {
  from {
    opacity: 0;
    transform: translateY(0.8rem) scale(0.96);
    filter: blur(0.4rem);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes mingyueFadeUp {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mingyueProgressFlow {
  0% {
    left: -48%;
    width: 34%;
  }

  52% {
    width: 58%;
  }

  100% {
    left: 108%;
    width: 34%;
  }
}

@keyframes mingyueLoadingPulse {
  0%,
  100% {
    opacity: 0.5;
  }

  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mingyue-boot-splash *,
  .mingyue-boot-splash *::before,
  .mingyue-boot-splash *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
