/* 丝路光流：所有基础内容默认可见，动效只增强已存在的内容。 */
:root { --motion-ease:cubic-bezier(.22,1,.36,1); --motion-gold:#e5bc69; }
html { scroll-padding-top:120px; }
.site-header { position:fixed; }
.site-header::before {
  content:""; position:absolute; inset:0 -6vw; z-index:-1; pointer-events:none;
  background:#0c0907f5; border-bottom:1px solid #b98b3c50;
  opacity:0; transform:translateY(-100%); transition:opacity .5s var(--motion-ease),transform .5s var(--motion-ease);
}
.site-header.is-scrolled::before,body.menu-open .site-header::before { opacity:1;transform:translateY(0); }
.main-nav a { position:relative; padding-block:10px; }
.main-nav a::after { content:"";position:absolute;left:0;right:2px;bottom:2px;height:2px;background:var(--motion-gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--motion-ease); }
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a[aria-current=page]::after { transform:scaleX(1); }
.main-nav a:hover { color:#ffe2a7; }
.brand img { transition:filter .5s var(--motion-ease),transform .5s var(--motion-ease); }
.brand:hover img { filter:drop-shadow(0 4px 12px #d8b26a70);transform:scale(1.05); }
.reading-progress { position:fixed;z-index:45;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#8b5722,#ffdb8b,#fff0ca);transform:scaleX(0);transform-origin:left;pointer-events:none; }
.home-hero,.pay-hero,.news-hero,.pledge-section { isolation:isolate; }
.pay-hero,.news-hero { overflow:hidden; }
.fx-atmosphere { position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1; }
.hero-content,.hero-meta,.hero-readable-subtitle,.pledge-signature { z-index:2; }
.hero-aurora { position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen; }
.hero-aurora::before { content:"";position:absolute;left:30%;top:-55%;width:50%;height:180%;background:linear-gradient(90deg,transparent,#e8b95805,#f6d58b17,transparent);transform:rotate(-24deg); }
.hero-aurora.is-active::before { animation:silk-light-drift 14s var(--motion-ease) infinite alternate; }
@keyframes silk-light-drift { from{transform:translate3d(-8%,0,0) rotate(-24deg);opacity:.4} to{transform:translate3d(24%,0,0) rotate(-15deg);opacity:.9} }
.hero-title { transform-origin:left center; }
.countdown strong { display:block; }
.gold-button {
  position:relative;isolation:isolate;overflow:hidden;
  translate:var(--mag-x,0px) var(--mag-y,0px);
  transition:translate .5s var(--motion-ease),transform .5s var(--motion-ease),filter .3s var(--motion-ease),box-shadow .5s var(--motion-ease);
}
.gold-button::before { content:"";position:absolute;z-index:-1;inset:-40% auto -40% -70%;width:45%;background:linear-gradient(90deg,transparent,#fff8d8a8,transparent);transform:skewX(-22deg);pointer-events:none; }
.gold-button:hover,.gold-button:focus-visible { transform:translateY(-4px);filter:brightness(1.1);box-shadow:0 12px 35px #bd853b40; }
.gold-button:hover::before,.gold-button:focus-visible::before { animation:silk-button-sweep .8s var(--motion-ease) both; }
.gold-button:active { transform:translateY(1px) scale(.97); }
@keyframes silk-button-sweep { to{transform:translateX(480%) skewX(-22deg)} }
.click-ripple { position:absolute;width:18px;height:18px;border:1px solid #fff7d8;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.5);animation:silk-ripple .65s var(--motion-ease) forwards; }
@keyframes silk-ripple { to{transform:translate(-50%,-50%) scale(25);opacity:0} }
.text-link { transition:color .3s var(--motion-ease),text-shadow .3s var(--motion-ease);text-underline-offset:6px; }
.text-link:hover { color:#ffe1a1;text-shadow:0 4px 16px #d4a24670;text-decoration:underline; }
.play-icon { transition:transform .5s var(--motion-ease),box-shadow .5s var(--motion-ease); }
.watch-button:hover .play-icon { transform:scale(1.22);box-shadow:0 5px 24px #d7a84555; }
.package { position:relative;isolation:isolate; }
.package::before { content:"";position:absolute;z-index:-1;inset:-24px;pointer-events:none;border:1px solid #ba8c3e00;background:radial-gradient(ellipse at var(--pointer-x,50%) var(--pointer-y,40%),#be88341f,transparent 70%);opacity:0;transition:opacity .5s var(--motion-ease),border-color .5s var(--motion-ease),box-shadow .5s var(--motion-ease); }
.package:hover::before,.package:focus-within::before,.package.is-selected::before { opacity:1;border-color:#c59b4560;box-shadow:0 15px 50px #aa742212; }
.package.is-selected::before { border-color:#d2aa628c; }
.package.is-selected::after { content:"已选套餐";position:absolute;top:-20px;right:0;font-family:var(--sans);font-size:14px;line-height:1.6;letter-spacing:2px;color:#ead09b;background:#151008;padding:4px 12px; }
.package-name,.package-price { transition:color .5s var(--motion-ease); }
.package:hover .package-price { color:#ffe0a0; }
.payment-methods label { padding:8px 12px 12px;transition:color .3s var(--motion-ease),background .3s var(--motion-ease); }
.payment-methods label:has(input:checked) { background:#ba914820;color:#f5dfb3; }
.payment-methods svg { transition:transform .5s var(--motion-ease); }
.payment-methods label:has(input:checked) svg { transform:scale(1.15) rotate(-8deg); }
.announcement-row { position:relative;transition:background .5s var(--motion-ease),color .3s var(--motion-ease); }
.announcement-row::before { content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:#e5bc69;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--motion-ease); }
.announcement-row:hover::before,.announcement-row:focus-visible::before { transform:scaleX(1); }
.announcement-row:hover { background:#b9903910; }
.announcement-title { display:block;transition:transform .5s var(--motion-ease); }
.announcement-row:hover .announcement-title { transform:translateX(10px); }
.gallery-preview { position:relative;transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .6s var(--motion-ease),box-shadow .6s var(--motion-ease); }
.gallery-preview::after { content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(120deg,transparent 20%,#fff5cd25 50%,transparent 80%);transition:opacity .4s var(--motion-ease); }
.gallery-preview:hover::after { opacity:1; }
.gallery-preview img { transition:transform 1s var(--motion-ease),filter .6s var(--motion-ease); }
.gallery-preview:hover img { transform:scale(1.09);filter:brightness(1.12); }
.gallery-preview:hover { box-shadow:0 16px 35px #0008; }
.faq-list details { transition:background .4s var(--motion-ease); }
.faq-list details[open] { background:#b98d3210; }
.faq-toggle::after { display:block!important;transform:rotate(0);transition:transform .45s var(--motion-ease),opacity .3s var(--motion-ease); }
.faq-list details[open] .faq-toggle::after { transform:rotate(90deg);opacity:0; }
.site-dialog { box-shadow:0 28px 100px #000b; }
.site-dialog::backdrop { background:#050402d9; }
.dialog-close { transition:transform .4s var(--motion-ease),color .3s var(--motion-ease); }
.dialog-close:hover { transform:rotate(90deg);color:#fff1c8; }
.gallery-stage { margin:0; }
.gallery-controls { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;font-size:16px; }
.gallery-controls button { border:1px solid #9a753e;background:#21180c;color:#e5c990;min-width:96px;min-height:44px;padding:8px 16px;transition:background .3s var(--motion-ease),transform .4s var(--motion-ease); }
.gallery-controls button:hover { background:#4a3417;transform:translateY(-2px); }
.motion-tools { display:flex;gap:8px;position:fixed;bottom:22px;right:24px;z-index:30;align-items:center;font-family:var(--sans); }
.motion-tools button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #98713c88;background:#110d08ed;color:#e4c88e;padding:10px 14px;font-size:14px;line-height:1.4;transition:background .3s var(--motion-ease),border-color .3s var(--motion-ease); }
.motion-tools button:hover { background:#2b2112;border-color:#d1aa65; }
.motion-tools button:disabled { cursor:default;opacity:.75; }
.motion-tools svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4; }
body.menu-open .motion-tools { visibility:hidden;opacity:0;pointer-events:none; }
.back-top[hidden] { display:none; }
.site-footer { padding-bottom:100px; }
@media (hover:hover) and (pointer:fine) { .world-art { translate:var(--world-x,0px) var(--world-y,0px);transition:translate 1.1s var(--motion-ease); } }
@media(max-width:760px) {
  html { scroll-padding-top:102px; }
  body.menu-open { overflow:hidden; }
  .site-header::before { inset-inline:-18px; }
  .main-nav { display:flex;position:fixed;inset:82px 0 0;z-index:2;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:22px;padding:50px 32px;background:#0b0906fc;transform:translateY(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--motion-ease),transform .5s var(--motion-ease),visibility 0s .45s; }
  .main-nav.is-open { display:flex;transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s; }
  .main-nav a { font-size:32px;letter-spacing:6px;min-width:140px; }
  .main-nav.is-open a { animation:silk-nav-in .65s var(--motion-ease) both;animation-delay:var(--nav-delay,0ms); }
  @keyframes silk-nav-in { from{transform:translateY(30px);opacity:.2} to{transform:translateY(0);opacity:1} }
  .menu-toggle span { transform-origin:center;transition:transform .45s var(--motion-ease),opacity .3s var(--motion-ease); }
  .menu-toggle[aria-expanded=true] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded=true] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .package::before { inset:-18px -12px; }
  .package.is-selected::after { right:0;top:-16px; }
  .package+.package.is-selected::after { top:18px; }
  .motion-tools { bottom:14px;right:14px;gap:6px; }
  .motion-tools button { padding:10px; }
  .gallery-controls { gap:12px;font-size:14px; }
  .gallery-controls button { min-width:80px;font-size:14px;padding-inline:10px; }
}
