/**
 * 漫画岛 · 交互与动效样式（由 script.js 驱动，勿写入 HTML 内联）
 */

/* 首屏淡入 */
body.page-enter {
  opacity: 0;
  transition: opacity 0.5s ease;
}

body.page-enter.is-ready {
  opacity: 1;
}

/* 滚动进入视口 */
.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 返回顶部 */
.scroll-top-btn {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 999;
  box-shadow: 0 4px 15px rgba(99, 102, 241, 0.4);
}

.scroll-top-btn.is-shown {
  opacity: 1;
  visibility: visible;
}

.scroll-top-btn:hover {
  transform: scale(1.1);
}

/* 漫画卡片 3D 悬停（位移由 script.js 写入 transform） */
.comic-card.comic-card--tilting {
  transition: transform 0.15s ease;
}
