/* ========== 基础重置与变量 ========== */
:root {
  --bg-deep: #0b0b12;
  --bg-dark: #131322;
  --bg-card: rgba(30, 28, 48, 0.65);
  --gold: #e8c26a;
  --gold-light: #f7dd9e;
  --gold-deep: #a97b2f;
  --crimson: #d23b2e;
  --crimson-dark: #9c1f16;
  --text-main: #efe9d8;
  --text-sub: #a8a094;
  --line: rgba(232, 194, 106, 0.25);
  --radius: 16px;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --font-serif: "STKaiti","KaiTi","Noto Serif SC","SimSun",serif;
  --font-sans: "PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --font-calligraphy: 'Ma Shan Zheng', "STKaiti","KaiTi","Noto Serif SC","SimSun",serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--font-sans);
  background:var(--bg-deep);
  color:var(--text-main);
  line-height:1.7;
  overflow-x:hidden;
}
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; }
section { position:relative; }

/* 装饰性水墨背景 */
body::before {
  content:"";
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(210,59,46,.16), transparent 60%),
    radial-gradient(700px 500px at -10% 30%, rgba(232,194,106,.08), transparent 60%),
    radial-gradient(800px 600px at 50% 110%, rgba(120,60,30,.15), transparent 60%),
    var(--bg-deep);
}
body::after {
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .96 0 0 0 0 .85 0 0 0 .04 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  opacity:.05;
}

/* ========== 通用工具类 ========== */
.container { width:min(1180px, 92%); margin-inline:auto; }
.section-tag {
  display:inline-block; font-size:13px; letter-spacing:4px; color:var(--gold);
  border:1px solid var(--line); padding:5px 16px; border-radius:999px; margin-bottom:18px;
  background:linear-gradient(90deg, rgba(232,194,106,.08), transparent);
}
.section-title {
  font-family:var(--font-serif); font-size:clamp(28px, 4.5vw, 44px); font-weight:700;
  letter-spacing:2px; color:var(--gold-light); margin-bottom:14px;
  text-shadow:0 4px 24px rgba(232,194,106,.25);
}
.section-desc { color:var(--text-sub); max-width:720px; margin:0 auto 44px; }
.text-gold { color:var(--gold); }
.center { text-align:center; }

/* 浮现动画 */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal[data-delay="1"] { transition-delay:.12s; }
.reveal[data-delay="2"] { transition-delay:.24s; }
.reveal[data-delay="3"] { transition-delay:.36s; }

/* ========== 顶栏导航 ========== */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .4s, border-color .4s, box-shadow .4s;
}
.nav.scrolled { background:rgba(10,10,18,.92); border-color:var(--line); box-shadow:0 6px 24px rgba(0,0,0,.4); }
.nav.open { background:rgba(10,10,18,.92); border-color:var(--line); box-shadow:0 6px 24px rgba(0,0,0,.4); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:66px; }
.nav-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-calligraphy); font-size:24px; font-weight:400; letter-spacing:2px; color:var(--gold-light); }
.nav-logo img { width:38px; height:38px; border-radius:10px; box-shadow:0 0 0 2px var(--line), 0 4px 14px rgba(0,0,0,.5); }
.nav-links { display:flex; gap:30px; list-style:none; }
.nav-links a { font-size:15px; color:var(--text-sub); letter-spacing:1px; transition:color .3s; position:relative; padding:4px 0; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:linear-gradient(90deg,var(--gold),transparent); transition:width .35s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold-light); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg, #f0c75e, #c8922a);
  color:#241303; font-weight:700; font-size:14px; padding:9px 22px; border-radius:999px;
  box-shadow:0 6px 20px rgba(232,194,106,.35);
  transition:transform .3s, box-shadow .3s;
}
.nav-dl-btn:hover { transform:translateY(-2px) scale(1.03); box-shadow:0 10px 28px rgba(232,194,106,.5); }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav-burger span { width:24px; height:2px; background:var(--gold-light); border-radius:2px; transition:transform .3s, opacity .3s; }
.nav.open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav.open .nav-burger span:nth-child(2){ opacity:0; }
.nav.open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-menu {
  position:fixed; top:66px; left:0; right:0; z-index:99;
  background:rgba(10,10,18,.97); border-bottom:1px solid var(--line);
  max-height:0; overflow:hidden; transition:max-height .45s ease;
}
.mobile-menu.open { max-height:340px; }
.mobile-menu ul { list-style:none; padding:10px 6%; }
.mobile-menu a { display:block; padding:13px 8px; color:var(--text-sub); font-size:16px; letter-spacing:2px; border-bottom:1px dashed rgba(232,194,106,.12); }
.mobile-menu a:active { color:var(--gold-light); }

/* ========== Hero 首屏 ========== */
.hero {
  min-height:100vh; min-height:100svh;
  display:flex; align-items:center;
  position:relative; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 96% 76% at 50% 42%, rgba(7,7,12,1) 0%, rgba(7,7,12,.96) 55%, rgba(7,7,12,.78) 100%),
    linear-gradient(180deg, rgba(7,7,12,.97) 0%, rgba(7,7,12,.97) 45%, var(--bg-deep) 100%);
}
.hero-bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,7,12,.92) 0%, rgba(7,7,12,.6) 26%, rgba(7,7,12,.65) 62%, rgba(7,7,12,.96) 100%);
}
.hero-bg img { width:100%; height:100%; object-fit:cover; }
.hero-grid {
  position:absolute; inset:0; z-index:-1;
  background-image:
    linear-gradient(rgba(232,194,106,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,194,106,.05) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at center, black 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 20%, transparent 75%);
}
.hero-content { padding-top:90px; padding-bottom:60px; text-align:center; }
.hero-icon {
  width:min(120px, 24vw); aspect-ratio:1; margin:0 auto 26px;
  border-radius:22px; overflow:hidden;
  box-shadow:0 0 0 3px rgba(232,194,106,.4), 0 0 60px rgba(232,194,106,.35), 0 24px 60px rgba(0,0,0,.6);
  animation:float 5s ease-in-out infinite;
}
.hero-icon img { width:100%; height:100%; object-fit:cover; }
@keyframes float { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-12px);} }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:18px;
  font-size:13px; letter-spacing:3px; color:var(--gold-light);
  padding:6px 18px; border-radius:999px;
  border:1px solid rgba(232,194,106,.4);
  background:linear-gradient(90deg, rgba(210,59,46,.2), rgba(232,194,106,.15));
  animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{ box-shadow:0 0 0 0 rgba(232,194,106,.35);} 50%{ box-shadow:0 0 0 10px rgba(232,194,106,0);} }
.hero-title {
  font-family:var(--font-calligraphy);
  font-size:clamp(46px, 8.5vw, 92px); font-weight:400; letter-spacing:8px;
  background:linear-gradient(180deg, #fff7e0 10%, #f0c75e 45%, #b07f2c 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 6px 24px rgba(232,194,106,.35));
  margin-bottom:10px;
}
.hero-sub { font-size:clamp(16px, 2.4vw, 22px); color:#e8e0c8; letter-spacing:8px; margin-bottom:20px; font-weight:600; }
.hero-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-bottom:30px; }
.hero-tags span {
  font-size:14px; padding:6px 18px; border-radius:999px; letter-spacing:2px;
  color:var(--text-main); background:rgba(232,194,106,.08);
  border:1px solid var(--line);
}
.hero-cta { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; }
.dl-btn-wrap { position:relative; }
.qr-tip {
  position:absolute; bottom:calc(100% + 14px); left:50%;
  transform:translateX(-50%) translateY(8px);
  background:#fff; padding:12px 12px 10px; border-radius:14px;
  box-shadow:0 16px 44px rgba(0,0,0,.55);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s, transform .3s, visibility .3s;
  width: 140px;
}
.qr-tip::after {
  content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  border:8px solid transparent; border-top-color:#fff;
}
.dl-btn-wrap:hover .qr-tip { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.qr-tip span { display:block; text-align:center; color:#333; font-size:12px; letter-spacing:1px; margin-top:8px; }
.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 44px; border-radius:999px; font-size:18px; font-weight:800; letter-spacing:3px;
  transition:transform .3s, box-shadow .3s, filter .3s; cursor:pointer; border:none;
}
.btn-primary {
  background:linear-gradient(135deg, #f7d078, #d49a2c 55%, #b87d1f);
  color:#261303; box-shadow:0 12px 34px rgba(232,194,106,.4), inset 0 1px 0 rgba(255,255,255,.5);
  animation:ctaPulse 2.4s ease-in-out infinite;
}
@keyframes ctaPulse { 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.035);} }
.btn-primary:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 18px 44px rgba(232,194,106,.55); }
.btn-ghost {
  background:rgba(232,194,106,.06); color:var(--gold-light);
  border:1px solid var(--line); backdrop-filter:blur(6px);
}
.btn-ghost:hover { background:rgba(232,194,106,.14); transform:translateY(-3px); }
.btn .ios-icon { width:1.05em; height:1.05em; vertical-align:-0.15em; color:#4da3ff; }
.hero-scroll {
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  color:var(--text-sub); font-size:12px; letter-spacing:4px; text-align:center; animation:bob 2s ease-in-out infinite;
}
@keyframes bob { 0%,100%{ transform:translate(-50%,0);} 50%{ transform:translate(-50%,8px);} }

/* ========== 简介 ========== */
.intro { padding:100px 0 70px; }
.intro-card {
  display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center;
  background:linear-gradient(160deg, rgba(30,28,48,.85), rgba(16,16,28,.85));
  border:1px solid var(--line); border-radius:24px; padding:clamp(28px, 5vw, 56px);
  box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.intro-card::before {
  content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(210,59,46,.22), transparent 70%);
}
.intro-card::after {
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg, var(--gold), var(--crimson), transparent);
}
.intro-text h3 { font-family:var(--font-serif); font-size:clamp(22px,3vw,32px); color:var(--gold-light); margin-bottom:18px; letter-spacing:2px; }
.intro-text p { color:var(--text-sub); margin-bottom:16px; text-align:justify; }
.intro-facts { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.fact {
  flex:1 1 150px; padding:16px 14px; text-align:center; border-radius:14px;
  background:rgba(232,194,106,.06); border:1px solid var(--line);
}
.fact b { display:block; font-size:22px; color:var(--gold); font-family:var(--font-serif); }
.fact span { font-size:12px; color:var(--text-sub); letter-spacing:2px; }
.intro-media { position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); }
.intro-media img { width:100%; height:100%; object-fit:cover; min-height:260px; }
.intro-media::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 80px rgba(0,0,0,.5); }

/* ========== 玩法特色 ========== */
.features { padding:70px 0; }
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.feat-card {
  border-radius:20px; overflow:hidden; position:relative; cursor:pointer;
  background:var(--bg-card); border:1px solid var(--line);
  transition:transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s;
}
.feat-card:hover { transform:translateY(-10px); box-shadow:var(--shadow); }
.feat-card .fc-img { aspect-ratio:9/16; overflow:hidden; position:relative; }
.feat-card .fc-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.feat-card:hover .fc-img img { transform:scale(1.1); }
.feat-card .fc-img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, rgba(11,11,18,.95) 92%); }
.fc-body { position:relative; margin-top:-64px; padding:0 22px 26px; z-index:1; }
.fc-tag {
  display:inline-block; font-size:12px; letter-spacing:3px; color:#fff; padding:4px 12px; border-radius:999px;
  background:linear-gradient(135deg, var(--crimson), var(--crimson-dark)); margin-bottom:10px;
}
.fc-tag.gold { background:linear-gradient(135deg, #f0c75e, #a97b2f); color:#241303; }
.fc-body h4 { font-family:var(--font-serif); font-size:22px; color:var(--gold-light); letter-spacing:2px; margin-bottom:10px; }
.fc-body p { font-size:14px; color:var(--text-sub); }

/* ========== 福利 ========== */
.welfare { padding:90px 0; }
.welfare::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(600px 320px at 50% 0%, rgba(210,59,46,.14), transparent 70%),
    linear-gradient(180deg, rgba(11,11,18,0), rgba(11,11,18,1));
}
.welfare-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.w-card {
  position:relative; padding:26px 24px; border-radius:18px; overflow:hidden;
  background:linear-gradient(160deg, rgba(34,28,44,.85), rgba(18,16,28,.85));
  border:1px solid var(--line);
  transition:transform .4s, border-color .4s, box-shadow .4s;
}
.w-card:hover { transform:translateY(-8px); border-color:rgba(232,194,106,.6); box-shadow:var(--shadow); }
.w-card .w-icon {
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  font-size:26px; margin-bottom:16px;
  background:linear-gradient(135deg, rgba(232,194,106,.18), rgba(210,59,46,.18));
  border:1px solid var(--line); box-shadow:inset 0 0 18px rgba(232,194,106,.08);
}
.w-card h4 { font-size:18px; color:var(--gold-light); margin-bottom:8px; letter-spacing:1px; }
.w-card p { font-size:13.5px; color:var(--text-sub); }
.w-card .w-corner { position:absolute; top:14px; right:18px; font-family:var(--font-serif); font-size:40px; color:rgba(232,194,106,.08); font-weight:900; line-height:1; }
.w-hot { border-color:rgba(210,59,46,.55); }
.w-hot::before {
  content:"HOT"; position:absolute; top:14px; right:14px; z-index:2;
  font-size:11px; letter-spacing:2px; font-weight:800; color:#fff;
  background:linear-gradient(135deg, var(--crimson), var(--crimson-dark));
  padding:3px 10px; border-radius:999px;
}
.rate-bar {
  margin:40px auto 0; max-width:640px; text-align:center;
  padding:22px 30px; border-radius:16px;
  background:linear-gradient(90deg, rgba(210,59,46,.12), rgba(232,194,106,.12));
  border:1px solid rgba(232,194,106,.35);
}
.rate-bar b { font-size:22px; color:var(--gold-light); font-family:var(--font-serif); letter-spacing:2px; }
.rate-bar span { display:block; font-size:13px; color:var(--text-sub); margin-top:4px; }

/* ========== 游戏截图 ========== */
.gallery { padding:80px 0 100px; }
.gallery-track { display:flex; gap:22px; overflow-x:auto; padding:20px 4px 30px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--gold-deep) transparent; }
.gallery-track::-webkit-scrollbar { height:6px; }
.gallery-track::-webkit-scrollbar-thumb { background:var(--gold-deep); border-radius:99px; }
.gallery-track::-webkit-scrollbar-track { background:rgba(232,194,106,.08); border-radius:99px; }
.g-item {
  flex:0 0 auto; width:min(300px, 78vw); scroll-snap-align:center;
  border-radius:18px; overflow:hidden; cursor:pointer; position:relative;
  border:1px solid var(--line); transition:transform .4s, box-shadow .4s;
}
.g-item:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.g-item img { width:100%; aspect-ratio:9/16; object-fit:cover; }
.g-item::after { content:"🔍"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:34px; background:rgba(0,0,0,.45); opacity:0; transition:opacity .35s; }
.g-item:hover::after { opacity:1; }

/* ========== 游戏视频 ========== */
.video { padding:80px 0 100px; position:relative; }
.video::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(600px 320px at 50% 0%, rgba(232,194,106,.06), transparent 70%),
    linear-gradient(180deg, rgba(11,11,18,0), rgba(11,11,18,.5));
}
.video-box {
  max-width:960px; margin:0 auto; position:relative;
  border:1px solid var(--line); border-radius:24px; overflow:hidden;
  background:#000; box-shadow:var(--shadow);
}
.video-box video {
  display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#000;
}
.video-badge {
  position:absolute; top:18px; left:18px; z-index:2;
  font-size:12px; letter-spacing:2px; color:#fff; pointer-events:none;
  background:linear-gradient(135deg, var(--crimson), var(--crimson-dark));
  padding:6px 16px; border-radius:999px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
@media (max-width:768px) {
  .video-box { border-radius:16px; }
  .video-badge { top:12px; left:12px; font-size:11px; padding:5px 12px; }
}

/* ========== 游戏资讯 ========== */
.news { padding:80px 0 100px; position:relative; }
.news::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(600px 320px at 50% 0%, rgba(232,194,106,.08), transparent 70%),
    linear-gradient(180deg, rgba(11,11,18,0), rgba(11,11,18,.8));
}
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.news-card {
  border-radius:20px; overflow:hidden; cursor:pointer; position:relative;
  background:var(--bg-card); border:1px solid var(--line);
  transition:transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s, border-color .45s;
  display:flex; flex-direction:column;
}
.news-card:hover { transform:translateY(-10px); box-shadow:var(--shadow); border-color:rgba(232,194,106,.55); }
.news-card .nc-img { aspect-ratio:16/10; overflow:hidden; position:relative; }
.news-card .nc-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.news-card:hover .nc-img img { transform:scale(1.08); }
.news-card .nc-img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(11,11,18,.9)); }
.nc-tag {
  position:absolute; top:14px; left:14px; z-index:2;
  font-size:11px; letter-spacing:2px; color:#fff; padding:4px 12px; border-radius:999px;
  background:linear-gradient(135deg, var(--crimson), var(--crimson-dark));
}
.nc-tag.auto { background:linear-gradient(135deg, #f0c75e, #a97b2f); color:#241303; }
.nc-body { padding:20px 22px 24px; flex:1; display:flex; flex-direction:column; }
.nc-body h3 { font-family:var(--font-serif); font-size:20px; color:var(--gold-light); letter-spacing:1px; margin-bottom:10px; line-height:1.45; }
.nc-body p { font-size:13.5px; color:var(--text-sub); flex:1; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nc-more { font-size:13px; color:var(--gold); letter-spacing:1px; }
.news-card:hover .nc-more { text-decoration:underline; }
.news-more { margin-top:44px; }

/* 灯箱 */
.lightbox {
  position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center;
  background:rgba(5,5,10,.92); backdrop-filter:blur(8px);
}
.lightbox.open { display:flex; animation:fadeIn .3s ease; }
@keyframes fadeIn { from{opacity:0;} to{opacity:1;} }
.lightbox img { max-width:88vw; max-height:86vh; border-radius:14px; box-shadow:0 30px 90px rgba(0,0,0,.8); border:2px solid rgba(232,194,106,.3); }
.lb-close {
  position:absolute; top:22px; right:26px; font-size:34px; color:#fff; cursor:pointer; background:none; border:none; line-height:1;
  width:48px; height:48px; border-radius:50%; background:rgba(232,194,106,.12); border:1px solid var(--line); transition:background .3s, transform .3s;
}
.lb-close:hover { background:rgba(210,59,46,.35); transform:rotate(90deg); }
.lb-nav { position:absolute; top:50%; transform:translateY(-50%); font-size:40px; color:var(--gold); cursor:pointer; background:none; border:none; padding:12px; }
.lb-nav.prev { left:16px; }
.lb-nav.next { right:16px; }
.lb-nav:hover { color:#fff; }

/* ========== 下载 CTA ========== */
.download { padding:80px 0 110px; }
.dl-panel {
  position:relative; overflow:hidden; border-radius:28px;
  background:linear-gradient(160deg, rgba(40,32,52,.92), rgba(16,14,26,.95));
  border:1px solid var(--line); box-shadow:var(--shadow);
  padding:clamp(40px, 6vw, 80px) clamp(24px, 5vw, 70px);
  text-align:center;
}
.dl-panel::before, .dl-panel::after {
  content:""; position:absolute; width:340px; height:340px; border-radius:50%; filter:blur(10px);
}
.dl-panel::before { top:-120px; left:-100px; background:radial-gradient(circle, rgba(210,59,46,.25), transparent 70%); }
.dl-panel::after { bottom:-140px; right:-100px; background:radial-gradient(circle, rgba(232,194,106,.2), transparent 70%); }
.dl-panel h2 { font-family:var(--font-serif); font-size:clamp(28px,5vw,46px); color:var(--gold-light); letter-spacing:3px; margin-bottom:12px; position:relative; z-index:1; }
.dl-panel > p { color:var(--text-sub); margin-bottom:34px; position:relative; z-index:1; }
.dl-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; position:relative; z-index:1; }
.dl-info { display:flex; justify-content:center; flex-wrap:wrap; gap:26px; margin-top:38px; position:relative; z-index:1; }
.dl-info span { font-size:14px; color:var(--text-sub); letter-spacing:1px; }
.dl-info b { color:var(--gold); font-weight:700; margin-right:6px; }
.dl-qr { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:34px; position:relative; z-index:1; }
.dl-qr #dlQr { background:#fff; padding:10px; border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.4); }
.dl-qr #dlQr img, .dl-qr #dlQr canvas { display:block; }
.dl-qr span { font-size:13px; color:var(--text-sub); letter-spacing:2px; }

/* ========== 页脚 ========== */
footer { border-top:1px solid var(--line); padding:44px 0 30px; text-align:center; background:rgba(8,8,14,.6); }
footer .f-logo { display:flex; align-items:center; justify-content:center; gap:10px; font-family:var(--font-serif); font-size:20px; color:var(--gold-light); margin-bottom:12px; }
footer .f-logo img { width:30px; height:30px; border-radius:8px; }
footer p { font-size:12.5px; color:var(--text-sub); letter-spacing:1px; }
footer p + p { margin-top:6px; }
footer .f-warn { font-size:11px; color:rgba(168,160,148,.55); margin-top:10px; line-height:1.8; }
.f-links { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.f-links b { display:block; color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:10px; }
.f-links-list a {
  display:inline-block; margin:0 12px 8px 0; font-size:12.5px; color:var(--text-sub);
  letter-spacing:1px; transition:color .3s;
}
.f-links-list a:hover { color:var(--gold-light); }

/* ========== 移动端悬浮下载按钮 ========== */
.float-dl {
  position:fixed; left:50%; transform:translateX(-50%); bottom:18px; z-index:90;
  display:none; align-items:center; gap:8px; width:max-content;
  background:linear-gradient(135deg, #f7d078, #d49a2c 55%, #b87d1f);
  color:#261303; font-weight:800; font-size:16px; letter-spacing:2px;
  padding:14px 40px; border-radius:999px;
  box-shadow:0 12px 34px rgba(232,194,106,.45);
  animation:ctaPulse 2.4s ease-in-out infinite;
}

/* ========== 返回顶部 ========== */
.back-top {
  position:fixed; right:24px; bottom:24px; z-index:95;
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; color:var(--gold-light); cursor:pointer; border:none; line-height:1;
  background:rgba(20,18,34,.7); border:1px solid var(--line);
  backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .35s, transform .35s, background .3s, border-color .3s, visibility .35s;
}
.back-top.show { opacity:1; visibility:visible; transform:none; }
.back-top:hover { background:rgba(232,194,106,.16); border-color:rgba(232,194,106,.6); }

/* ========== 响应式 ========== */
@media (max-width: 1024px) {
  .feat-grid, .welfare-grid, .news-grid { grid-template-columns:repeat(2,1fr); }
  .intro-card { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  .nav-links, .nav-dl-btn { display:none; }
  .nav-burger { display:flex; }
  .hero { min-height:92vh; min-height:92svh; }
  .feat-grid, .welfare-grid, .news-grid { grid-template-columns:1fr; }
  .float-dl { display:flex; }
  footer { padding-bottom:90px; }
  .hero-cta { flex-direction:column; width:100%; }
  .hero-cta .btn, .hero-cta .dl-btn-wrap { width:100%; }
  .hero-cta .btn { justify-content:center; }
  .qr-tip { display:none; }
}
@media (min-width: 769px) {
  .mobile-menu { display:none !important; }
}
