    :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: center;
  line-height: 1.2;
  font-weight: 800;
}

.title-word {
  font-size: 34px;
}

.sub-word {
  margin-top: 10px;
  display: inline-flex;
  font-size: 18px;
}

.rainbow-word {
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0;
}

.char-wrap {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1.2em;
  line-height: 1;
  vertical-align: top;
  animation: floatChar 1.6s ease-in-out infinite;
}

.wide-wrap {
  width: 1.08em;
}

.char-wrap:nth-child(1) { animation-delay: 0s; }
.char-wrap:nth-child(2) { animation-delay: 0.12s; }
.char-wrap:nth-child(3) { animation-delay: 0.24s; }
.char-wrap:nth-child(4) { animation-delay: 0.36s; }
.char-wrap:nth-child(5) { animation-delay: 0.48s; }
.char-wrap:nth-child(6) { animation-delay: 0.60s; }
.char-wrap:nth-child(7) { animation-delay: 0.72s; }
.char-wrap:nth-child(8) { animation-delay: 0.84s; }
.char-wrap:nth-child(9) { animation-delay: 0.96s; }
.char-wrap:nth-child(10) { animation-delay: 1.08s; }
.char-wrap:nth-child(11) { animation-delay: 1.20s; }
.char-wrap:nth-child(12) { animation-delay: 1.32s; }
.char-wrap:nth-child(13) { animation-delay: 1.44s; }

.char-stroke,
.char-fill {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 1em;
  font-weight: 800;
  line-height: 1;
  font-family: inherit;
  white-space: nowrap;
  transform-origin: center center;
}

.char-stroke {
  z-index: 1;
  color: #000;
  transform: translate(-50%, -50%) scale(1.02);
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0px -1px 0 #000,
     0px  1px 0 #000,
    -1px  0px 0 #000,
     1px  0px 0 #000;
}

.char-fill {
  z-index: 2;
  transform: translate(-50%, -50%);
  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: rainbowMove 4s linear infinite;
}

.c1 { background-position: 0px 50%; }
.c2 { background-position: -18px 50%; }
.c3 { background-position: -36px 50%; }
.c4 { background-position: -54px 50%; }
.c5 { background-position: -72px 50%; }
.c6 { background-position: -90px 50%; }
.c7 { background-position: -108px 50%; }

@keyframes floatChar {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(4px); }
}

@keyframes rainbowMove {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}