/* ============================================================
   走过 · 内页共享体验层（行迹详情页 / 打卡墙）
   叠加在 style.css 之上：
   —— 虹彩极光氛围背景（纯 CSS，不上 WebGL，保证工具页流畅）
   —— 自定义光标 / 平滑滚动配套 / reveal 升级为 blur-in
   —— 与首页同一套字体与虹彩渐变语言
   ============================================================ */

:root {
  --iris-a: #a78bfa;
  --iris-b: #f49ac1;
  --iris-c: #ffb88a;
  --font-kai:
    'LXGW WenKai', 'Kaiti SC', 'STKaiti', 'KaiTi', 'BiauKai',
    'PingFang SC', 'Microsoft YaHei', serif;
}

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

/* ---- 虹彩极光氛围（fixed 底层，缓慢漂移） ---- */
.xp-aurora {
  position: fixed;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(38% 30% at 18% 22%, rgba(167, 139, 250, 0.16), transparent 70%),
    radial-gradient(30% 26% at 82% 16%, rgba(244, 154, 193, 0.10), transparent 70%),
    radial-gradient(36% 30% at 70% 80%, rgba(124, 108, 224, 0.12), transparent 70%),
    radial-gradient(26% 22% at 28% 78%, rgba(255, 184, 138, 0.07), transparent 70%);
  animation: aurora-drift 26s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes aurora-drift {
  from { transform: translate3d(-2%, -1.5%, 0) rotate(-1.2deg) scale(1); }
  to   { transform: translate3d(2%, 1.5%, 0) rotate(1.2deg) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .xp-aurora { animation: none; }
}

/* 内容置于氛围层之上 */
body > nav, body > main, body > header, body > section, body > footer, body > aside {
  position: relative;
  z-index: 1;
}

/* ---- 导航玻璃化 ---- */
.navbar {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* ---- reveal 升级：blur-in（覆盖 style.css 原 transition） ---- */
@media (prefers-reduced-motion: no-preference) {
  .reveal,
  .reveal-stagger > * {
    filter: blur(10px);
    transition-property: opacity, transform, filter;
    transition-duration: 0.9s;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  .reveal.in-view,
  .reveal-stagger.in-view > * {
    filter: blur(0px);
  }
}

/* ---- 章节标题：注入虹彩 + 楷书衬线语言 ---- */
.section-title .serif,
.hero-title .serif,
.trip-hero-title .serif,
.checkin-head-title .serif {
  background: linear-gradient(110deg, var(--iris-a), var(--iris-b) 55%, var(--iris-c));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---- GPU 流体鼠标拖尾画布 ---- */
#xp-fluid {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 250;
  pointer-events: none;
}

/* ---- 自定义光标 ---- */
#xp-cursor { position: fixed; inset: 0; z-index: 300; pointer-events: none; }
#xp-cursor .cursor-dot,
#xp-cursor .cursor-ring {
  position: absolute;
  top: 0; left: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  will-change: transform;
}
#xp-cursor .cursor-dot { width: 6px; height: 6px; background: #cdbcf7; }
#xp-cursor .cursor-ring {
  width: 34px; height: 34px;
  border: 1px solid rgba(205, 188, 247, 0.75);
  opacity: 0.5;
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}
body.cursor-hover #xp-cursor .cursor-ring { width: 54px; height: 54px; opacity: 0.95; }
@media (pointer: coarse) { #xp-cursor { display: none; } }

/* ---- 行迹页 hero 电影化 ---- */
.trip-hero-title {
  font-family: var(--font-kai);
  font-weight: 400;
  letter-spacing: 0.02em;
}
.trip-hero-bg img {
  filter: saturate(0.92) contrast(1.02);
}
.trip-hero-fade {
  background: linear-gradient(180deg,
    rgba(7, 9, 24, 0.15) 0%,
    rgba(7, 9, 24, 0) 30%,
    rgba(7, 9, 24, 0.55) 78%,
    var(--background) 100%) !important;
}

/* ---- 打卡墙标题同语言 ---- */
.checkin-head-title { font-family: var(--font-kai); font-weight: 400; }

/* ---- 页脚虹彩细线 ---- */
.footer { position: relative; }
.footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(167, 139, 250, 0.5), rgba(244, 154, 193, 0.5), transparent);
}
