    :root {
      --brand-color: #a6e3e9;
    }

   

    body.loading {
      overflow: hidden; /* 加载时禁止滚动 */
    }

    /* 加载层 */
.loader {
    position: fixed;
  inset: 0;
  background: #fff;
  display: grid;
  place-items: center;
  z-index: 9999;
  transition: background-color 1s ease;
}

/* 大字 */
.loaderText {
  font-size: calc(100vw / 3); 
  font-weight: 800;
  color: #cca8e9;
  opacity: 0;
  transform: scale(0.95);
  user-select: none;
  pointer-events: none;
  transition: transform 1s ease, opacity 1s ease;
  transform-origin: center; /* 初始中心缩放 */
  white-space: nowrap;
}

@media (max-width: 768px) {
  .loaderText {
    font-size: calc(100vw / 3);  /* 占满手机屏幕宽度 */
  }
}

.landing-target {
  font-weight: 800;
  font-size: 40px;
   margin-left: 0px; /* 和 .PMain-intro 的 padding 对齐 */
  text-align: left;
  color: #cca8e9;
  /* 以中心为基准缩放/移动 */
  
  opacity: 1;             /* 只是透明，不能 display:none */
  
}

  @keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
  }


.content2{
	opacity: 1;
}

.tip-text {
  margin-top: 18px;
  text-align: left;
  color: #555;
  line-height: 1.9;
  font-size: 18px;
}

.rainbow-word {
  display: inline-flex;
  gap: 0;
}

.rainbow-word span {
  display: inline-block;
  font-weight: 800;

  background-image: linear-gradient(
    90deg,
    #ff7eb6 0%,
    #ffb86b 16%,
    #ffe66d 32%,
    #7df9a8 48%,
    #6bcbff 64%,
    #b28dff 82%,
    #ff7eb6 100%
  );
  background-size: 220px 100%;
  background-repeat: no-repeat;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  animation: floatChar 1.6s ease-in-out infinite, rainbowMove 4s linear infinite;
}

/* 每个字取同一条渐变里的不同位置 */
.rainbow-word .c1 { background-position: 0px 50%;   animation-delay: 0s, 0s; }
.rainbow-word .c2 { background-position: -18px 50%; animation-delay: 0.12s, 0s; }
.rainbow-word .c3 { background-position: -36px 50%; animation-delay: 0.24s, 0s; }
.rainbow-word .c4 { background-position: -54px 50%; animation-delay: 0.36s, 0s; }

@keyframes floatChar {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(3px);
  }
}

@keyframes rainbowMove {
  0% {
    filter: hue-rotate(0deg);
  }
  100% {
    filter: hue-rotate(360deg);
  }
}