/* 爬趣启动页 — 纯黑底 + 纯白 Logo + 放大动画 */
html.splash-active,
html.splash-active body {
  overflow: hidden;
  height: 100%;
}

.app-splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #000000;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.42s ease, visibility 0.42s ease;
}

.app-splash--exit {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.app-splash--gone {
  display: none !important;
}

.app-splash,
.app-splash *,
.app-splash *::before,
.app-splash *::after {
  animation-duration: revert !important;
  animation-iteration-count: revert !important;
  transition-duration: revert !important;
}

.app-splash__icon-wrap {
  width: clamp(5.5rem, 22vw, 7.5rem);
  height: clamp(5.5rem, 22vw, 7.5rem);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transform: scale(0.52);
  opacity: 0.4;
  transform-origin: center center;
  animation: app-splash-zoom 1.25s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  animation-duration: 1.25s !important;
  animation-iteration-count: 1 !important;
  will-change: transform, opacity;
}

.app-splash__icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  -webkit-user-drag: none;
  user-select: none;
}

.app-splash__title {
  margin: 1.25rem 0 0;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #ffffff;
  opacity: 0;
  animation: app-splash-fade 0.55s ease 0.5s forwards !important;
  animation-duration: 0.55s !important;
}

@keyframes app-splash-zoom {
  0% {
    transform: scale(0.52);
    opacity: 0.4;
  }
  60% {
    transform: scale(1.18);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes app-splash-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.app-splash--exit .app-splash__icon-wrap {
  animation: app-splash-exit 0.45s cubic-bezier(0.4, 0, 1, 1) forwards !important;
  animation-duration: 0.45s !important;
}

.app-splash--exit .app-splash__title {
  animation: none !important;
  opacity: 0;
  transition: opacity 0.3s ease;
}

@keyframes app-splash-exit {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(1.32);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-splash__icon-wrap {
    animation: app-splash-zoom 1.25s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    animation-duration: 1.25s !important;
  }
}
