/* 开屏上的文字、语言切换和滚动提示 */
.intro-mouse {
  display: block;
  width: 22px;
  height: 34px;
  border: 2px solid currentColor;
  border-radius: 12px;
  position: relative;
}
.intro-mouse b {
  position: absolute;
  left: 50%;
  top: 6px;
  width: 4px;
  height: 7px;
  margin-left: -2px;
  border-radius: 2px;
  background: currentColor;
  animation: mouse-dot 1.6s ease-in-out infinite;
}
@keyframes mouse-dot {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  70% {
    transform: translateY(11px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes intro-fade-out {
  to {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-home .bg-drift i,
  .gallery-home .hero-path,
  .gallery-home .stamp-float,
  .gallery-home .hero::after {
    animation: none;
  }
  .gallery-home .title-line .ch {
    animation: none;
    transform: none;
  }
}
.gallery-home .stamp-card,
.gallery-home .stamp-card img {
  -webkit-user-drag: none;
  user-select: none;
}
@keyframes halo {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 0.7;
  }
}
/* language switch on the cover */
.intro-lang {
  position: absolute;
  z-index: 9;
  top: 24px;
  right: clamp(20px, 3.2vw, 46px);
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 10px 16px;
  border: 1.5px solid #f4e9cf;
  border-radius: 30px;
  background: #1f574d55;
  color: #f4e9cf;
  font:
    700 13px/1 Neue,
    "Microsoft YaHei",
    sans-serif;
  letter-spacing: 0.08em;
  cursor: pointer;
  animation: fade-in 0.8s ease-out 1.2s both;
  backdrop-filter: blur(4px);
}
.intro-lang b {
  opacity: 0.55;
  font-weight: 700;
}
.intro-lang b.active {
  opacity: 1;
}
.intro-lang:hover {
  background: #f4e9cf;
  color: #1f574d;
}
@media (max-width: 650px) {
  .intro-lang {
    top: 18px;
    right: 18px;
    padding: 9px 14px;
    font-size: 12px;
  }
}
