/* 大文字 */
.big-text {
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 300;
  letter-spacing: 0.15em;
  color: var(--text);
  line-height: 1.3;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s ease forwards;
}

.big-text:nth-child(2) {
  animation-delay: 0.5s;
}

.big-text.accent {
  background: linear-gradient(135deg, var(--accent) 0%, #F59E0B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .big-text {
  color: #FAFAF9;
  text-shadow: 0 0 30px rgba(250, 250, 249, 0.3);
}

[data-theme="dark"] .big-text.accent {
  background: linear-gradient(135deg, var(--accent-blue) 0%, #818CF8 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

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

/* Zone 标题 */
.zone-title {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--text);
  margin-bottom: 0.5rem;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease forwards;
  animation-delay: 0.2s;
  animation-play-state: paused;
}

.zone-title.animate {
  animation-play-state: running;
}

[data-theme="dark"] .zone-title {
  color: #FAFAF9;
  text-shadow: 0 0 20px rgba(250, 250, 249, 0.4);
}

.zone-subtitle {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 300;
  letter-spacing: 0.15em;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fadeUp 0.8s ease forwards;
  animation-delay: 0.4s;
  animation-play-state: paused;
}

.zone-subtitle.animate {
  animation-play-state: running;
}

[data-theme="dark"] .zone-subtitle {
  color: #A8A29E;
}

/* 分隔线 */
.zone-line {
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  margin: 2rem auto;
  opacity: 0;
  transform: scaleX(0);
  animation: lineGrow 0.8s ease forwards;
  animation-delay: 0.6s;
  animation-play-state: paused;
}

.zone-line.animate {
  animation-play-state: running;
}

[data-theme="dark"] .zone-line {
  background: linear-gradient(90deg, transparent, var(--accent-blue), transparent);
  box-shadow: 0 0 10px var(--accent-blue);
}

@keyframes lineGrow {
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

/* 列表项 */
.zone-list {
  margin: 2rem 0;
}

.zone-item {
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  color: var(--text-muted);
  margin-bottom: 1rem;
  letter-spacing: 0.05em;
  opacity: 0;
  transform: translateX(-20px);
  animation: slideRight 0.6s ease forwards;
  cursor: default;
  transition: all 0.3s ease;
  animation-play-state: paused;
}

.zone-item.animate {
  animation-play-state: running;
}

.zone-item:hover {
  color: var(--accent);
  transform: translateX(10px);
}

[data-theme="dark"] .zone-item:hover {
  color: var(--accent-blue);
}

.zone-item:nth-child(1) { animation-delay: 0.8s; }
.zone-item:nth-child(2) { animation-delay: 0.95s; }
.zone-item:nth-child(3) { animation-delay: 1.1s; }
.zone-item:nth-child(4) { animation-delay: 1.25s; }

@keyframes slideRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 标签语 */
.zone-tagline {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--accent);
  letter-spacing: 0.2em;
  margin-top: 2rem;
  opacity: 0;
  animation: fadeUp 0.8s ease forwards;
  animation-delay: 1.4s;
  animation-play-state: paused;
}

.zone-tagline.animate {
  animation-play-state: running;
}

[data-theme="dark"] .zone-tagline {
  color: var(--accent-blue);
  text-shadow: 0 0 15px var(--accent-blue);
}

/* 标签语组 */
.zone-tagline-group {
  margin-top: 2.5rem;
}

.zone-tagline-group p:not(.glow) {
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: var(--text-muted);
  letter-spacing: 0.1em;
  margin-bottom: 0.75rem;
  opacity: 0;
  animation: fadeUp 0.8s ease forwards;
  animation-play-state: paused;
}

.zone-tagline-group p.animate {
  animation-play-state: running;
}

.zone-tagline-group p:nth-child(1) {
  animation-delay: 1.2s;
}

.zone-tagline-group p:nth-child(2) {
  animation-delay: 1.4s;
}

[data-theme="dark"] .zone-tagline-group p:not(.glow) {
  color: #A8A29E;
}

/* 发光文字 */
.glow {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--accent);
  letter-spacing: 0.2em;
  margin-top: 2rem;
  opacity: 0;
  animation: fadeUp 0.8s ease forwards;
  animation-delay: 1.4s;
  animation-play-state: paused;
}

.glow.animate {
  animation-play-state: running;
}

[data-theme="dark"] .glow {
  color: var(--accent);
  text-shadow: 0 0 15px var(--accent);
}

/* 无穷大列表 */
.zone-infinity {
  margin: 2rem 0;
}

.zone-infinity p {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--text-muted);
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  opacity: 0;
  animation: fadeUp 0.6s ease forwards;
  animation-play-state: paused;
}

.zone-infinity p.animate {
  animation-play-state: running;
}

.zone-infinity p:nth-child(1) { animation-delay: 0.8s; }
.zone-infinity p:nth-child(2) { animation-delay: 0.95s; }
.zone-infinity p:nth-child(3) { animation-delay: 1.1s; }

[data-theme="dark"] .zone-infinity p {
  color: #A8A29E;
}

.zone-infinity span {
  min-width: 60px;
  text-align: right;
}

.zone-infinity em {
  font-style: italic;
  font-size: 1.5em;
  color: var(--accent);
  animation: pulse 2s ease-in-out infinite;
}

[data-theme="dark"] .zone-infinity em {
  color: var(--accent-blue);
  text-shadow: 0 0 10px var(--accent-blue);
}

.zone-infinity p:nth-child(2) em { animation-delay: 0.3s; }
.zone-infinity p:nth-child(3) em { animation-delay: 0.6s; }

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.15); }
}

/* 场景列表 */
.zone-list.scene .zone-item:hover {
  transform: translateX(10px);
  text-shadow: 0 0 10px var(--accent);
}

[data-theme="dark"] .zone-list.scene .zone-item:hover {
  text-shadow: 0 0 10px var(--accent-blue);
}

/* 滚动提示隐藏 */
.zone:hover .scroll-hint span {
  opacity: 0.3;
}

/* Zone 特殊效果 */
#zone1 .zone-title {
  color: var(--text);
}

#zone2 .zone-title {
  color: var(--text);
}

#zone3 .zone-title {
  color: var(--text);
}

/* Zone 底部留白 - 完全透明，让canvas星空背景完全显示 */
.zone::after {
  content: '';
  display: none !important;
}

/* 列表项间距调整 */
.zone-list {
  margin: 2rem 0;
}

.zone-item {
  margin-bottom: 1.25rem;
}

.zone-item:last-child {
  margin-bottom: 0;
}