/* ===========================================================
   轻享天龙 · 山河首区   官网样式
   Design Contract
   - style tier : brand-themed（国风武侠）
   - aesthetic  : 线装书 / 碑帖式排版，克制的信息密度
   - tokens     : 朱砂 #9E2B25 · 暗金 #C8A35A · 陈纸 #ECE2CF · 墨 #2B241A
   - font       : 标题 宋体族（Songti SC / 思源宋体）；正文 苹方 / 微软雅黑
   - radius 2px ; spacing 4px 基数 ; shadow 极轻
   - icon       : Lucide 内联 SVG，16/20px，stroke 1.75
   =========================================================== */

:root{
  --ink:      #14100b;
  --ink-2:    #1e1812;
  --ink-3:    #17120c;

  --paper:    #ece2cf;
  --paper-2:  #efe7d6;
  --paper-3:  #fffdf8;

  --gold:     #c8a35a;
  --gold-2:   #e0c184;
  --gold-3:   #e8c987;

  --red:      #9e2b25;
  --red-2:    #b6352c;

  --text:     #2b241a;
  --text-2:   #4a4030;
  --muted:    #7b6d58;

  --line-red:      rgba(158,43,37,.16);
  --line-red-soft: rgba(158,43,37,.10);
  --line-gold:     rgba(200,163,90,.28);

  --serif: "Songti SC","STSong","Source Han Serif SC","Noto Serif SC","SimSun",serif;
  --sans:  "PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;

  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  scroll-padding-top:80px;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.8;
  color:var(--text);
  background-color:var(--paper);
  background-image:
    var(--noise),
    radial-gradient(140% 100% at 50% 0%, #f4ecdc 0%, #ebe1cd 45%, #e0d4bd 100%);
  background-attachment:fixed, fixed;
}

img{ max-width:100%; }
a{ color:inherit; }
::selection{ background:rgba(158,43,37,.85); color:#f7efe1; }

:focus-visible{ outline:2px solid var(--red); outline-offset:2px; }

.wrap{ width:min(1180px,92vw); margin:0 auto; }

.sprite{ display:none; }

/* ---------- 图标 ---------- */
.ico{
  width:16px; height:16px; flex:none;
  fill:none; stroke:currentColor;
  stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round;
}
.ico-20{ width:20px; height:20px; }

/* ---------- 通用按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:inherit; font-size:14px; line-height:1;
  padding:13px 22px; border-radius:2px; cursor:pointer;
  text-decoration:none; border:1px solid transparent;
  letter-spacing:.5px; white-space:nowrap;
  transition:background .18s, color .18s, border-color .18s;
}
.btn-red{ background:var(--red); color:#f7ecdb; border-color:rgba(224,193,132,.45); }
.btn-red:hover{ background:var(--red-2); }
.btn-line{ background:transparent; color:var(--gold-2); border-color:rgba(200,163,90,.5); padding:10px 15px; font-size:13px; }
.btn-line:hover{ background:rgba(200,163,90,.13); color:#f2debb; }
.btn-ghost{ background:transparent; color:#e6dcc6; border-color:rgba(230,220,198,.4); }
.btn-ghost:hover{ border-color:#e6dcc6; background:rgba(255,255,255,.06); }

/* ---------- 印章 ---------- */
.seal{
  flex:none; width:36px; height:36px; display:grid; place-items:center;
  background:var(--red); color:#f5e9d5; border-radius:3px;
  font-family:var(--serif); font-size:14px; letter-spacing:1px; line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
  transform:rotate(-3deg);
}

/* ===========================================================
   顶部导航
   =========================================================== */
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:60; height:68px;
  background:rgba(18,14,9,.95);
  border-bottom:1px solid rgba(200,163,90,.22);
}
.topbar-in{ position:relative; height:68px; display:flex; align-items:center; gap:26px; }
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; flex:none; }
.brand-text b{ display:block; font-family:var(--serif); font-size:17px; letter-spacing:2px; color:#f0e5d0; line-height:1.25; }
.brand-text i{ display:block; font-style:normal; font-size:11px; letter-spacing:1.5px; color:rgba(224,193,132,.6); }

.nav{ display:flex; align-items:center; margin-left:auto; }
.nav a{
  position:relative; padding:9px 11px; font-size:14px; letter-spacing:.5px;
  color:rgba(240,229,208,.7); text-decoration:none;
  transition:color .18s;
}
.nav a:hover{ color:#f0e5d0; }
.nav a.active{ color:var(--gold-3); }
.nav a.active::after{
  content:''; position:absolute; left:11px; right:11px; bottom:1px;
  height:1px; background:var(--gold);
}

.topbar-act{ display:flex; align-items:center; gap:10px; flex:none; }

.hamburger{
  display:none; flex-direction:column; justify-content:center; gap:4px;
  width:40px; height:38px; background:transparent; cursor:pointer;
  border:1px solid rgba(200,163,90,.4); border-radius:2px;
}
.hamburger span{ display:block; width:17px; height:1.5px; margin:0 auto; background:var(--gold-2); transition:transform .2s, opacity .2s; }
.hamburger.on span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.hamburger.on span:nth-child(2){ opacity:0; }
.hamburger.on span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* ===========================================================
   首屏
   =========================================================== */
.hero{
  position:relative; overflow:hidden;
  min-height:680px; height:90vh; max-height:900px;
  display:flex; align-items:center; padding:68px 0 40px;
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center 30%;
  transform:scale(1.06);
  filter:saturate(.9) contrast(1.05) blur(1.6px);
}
.hero-mask{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(14,11,7,.95) 0%, rgba(14,11,7,.86) 36%, rgba(14,11,7,.34) 70%, rgba(14,11,7,.6) 100%),
    linear-gradient(0deg, rgba(14,11,7,.96) 0%, rgba(14,11,7,.08) 52%);
}
.hero-in{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1fr) 322px;
  gap:56px; align-items:center;
}
.hero-kicker{ margin:0 0 22px; font-size:13px; letter-spacing:4px; color:rgba(224,193,132,.85); }
.hero-kicker::before{
  content:''; display:inline-block; width:28px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:12px;
}
.hero-title{ margin:0; }
.hero-title span{
  display:block; font-family:var(--serif);
  font-size:clamp(44px,6.4vw,84px); letter-spacing:10px;
  color:#f2e8d3; line-height:1.05;
  text-shadow:0 2px 26px rgba(0,0,0,.65);
}
.hero-title small{
  display:block; margin-top:16px; font-family:var(--serif);
  font-size:clamp(15px,1.9vw,21px); letter-spacing:14px; color:#dcc38a;
}
.hero-desc{ max-width:560px; margin:26px 0 0; font-size:15.5px; line-height:2; color:rgba(240,232,215,.78); }
.hero-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 0; padding:0; list-style:none; }
.hero-tags li{
  padding:5px 12px; font-size:13px; letter-spacing:1px;
  color:#e2d3b3; border:1px solid rgba(200,163,90,.36); background:rgba(200,163,90,.07);
}
.hero-act{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

.side-card{ padding:22px 22px 14px; background:rgba(20,15,10,.74); border:1px solid rgba(200,163,90,.3); }
.side-card h3{
  display:flex; align-items:center; gap:8px;
  margin:0 0 6px; padding-bottom:12px;
  font-family:var(--serif); font-size:16px; font-weight:400; letter-spacing:3px; color:var(--gold-3);
  border-bottom:1px solid rgba(200,163,90,.22);
}
.side-card h3 .ico{ color:var(--gold); }
.side-card ul{ margin:0; padding:0; list-style:none; }
.side-card li{
  display:flex; justify-content:space-between; gap:12px;
  padding:10px 0; font-size:13.5px; border-bottom:1px dashed rgba(200,163,90,.14);
}
.side-card li:last-child{ border-bottom:0; }
.side-card li span{ color:rgba(224,205,170,.55); }
.side-card li b{ color:#f0e2c4; font-weight:600; }

.hero-down{
  position:absolute; left:50%; bottom:24px; z-index:2;
  width:22px; height:36px; margin-left:-11px;
  border:1px solid rgba(200,163,90,.5); border-radius:12px;
  display:grid; place-items:center;
}
.hero-down i{ width:2px; height:8px; background:var(--gold); animation:drop 1.8s infinite; }
@keyframes drop{
  0%{ transform:translateY(-4px); opacity:0; }
  40%{ opacity:1; }
  100%{ transform:translateY(6px); opacity:0; }
}

/* ===========================================================
   开服公告条
   =========================================================== */
.notice{ background:var(--paper-2); border-bottom:1px solid rgba(158,43,37,.18); }
.notice-in{ display:flex; align-items:center; gap:16px; padding:12px 0; }
.notice-label{ flex:none; padding:4px 10px; font-size:12px; letter-spacing:2px; color:#f7eee1; background:var(--red); }
.notice p{ margin:0; font-size:13.5px; line-height:1.75; color:#5d5241; }

/* ===========================================================
   区块通用
   =========================================================== */
.sec{ position:relative; padding:88px 0; }
.sec-dark{
  background-color:var(--ink-3);
  background-image:var(--noise), radial-gradient(120% 90% at 50% 0%, #221b12 0%, #17120c 55%, #120e09 100%);
  color:#e6dcc6;
}
.sec-paper{ background-color:var(--paper-2); border-top:1px solid var(--line-red); border-bottom:1px solid var(--line-red); }

.sec-head{ position:relative; display:flex; align-items:flex-start; gap:18px; margin-bottom:44px; padding-bottom:22px; }
.sec-head::after{
  content:''; position:absolute; left:0; right:0; bottom:0;
  border-top:1px solid rgba(200,163,90,.55);
  border-bottom:1px solid rgba(200,163,90,.16);
  height:4px;
}
.sec-num{
  flex:none; width:44px; height:44px; display:grid; place-items:center;
  background:var(--red); color:#f5e9d5; border-radius:2px;
  font-family:var(--serif); font-size:19px; letter-spacing:1px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.sec-title h2{ margin:0; font-family:var(--serif); font-size:32px; letter-spacing:4px; line-height:1.28; color:var(--text); }
.sec-title p{ margin:7px 0 0; font-size:14px; letter-spacing:1px; color:var(--muted); }
.sec-head-light .sec-title h2{ color:#f2e8d3; }
.sec-head-light .sec-title p{ color:rgba(224,205,170,.6); }

.sub-h{
  margin:48px 0 18px; padding-left:14px;
  font-family:var(--serif); font-size:20px; letter-spacing:2px; line-height:1.25;
  color:var(--text); border-left:3px solid var(--red);
}
.sub-h:first-of-type{ margin-top:0; }
.sub-h-light{ color:#f0e2c4; border-left-color:var(--gold); }

.lead{ margin:-6px 0 20px; font-size:14.5px; line-height:1.9; color:var(--muted); }
.sec-dark .lead{ color:rgba(224,205,170,.7); }

/* ---------- 菱形点列表 ---------- */
.dot-list{ margin:0; padding:0; list-style:none; }
.dot-list li{ position:relative; margin-bottom:11px; padding-left:17px; font-size:14.5px; line-height:1.8; color:var(--text-2); }
.dot-list li::before{
  content:''; position:absolute; left:0; top:11px;
  width:5px; height:5px; background:var(--gold); transform:rotate(45deg);
}
.dot-list b{ color:var(--red); font-weight:600; }
.sec-dark .dot-list li{ color:rgba(230,220,198,.78); }
.sec-dark .dot-list b{ color:var(--gold-2); }

/* ---------- 截图相框 ---------- */
.shot-frame{
  margin:0; padding:6px; background:var(--paper-3);
  border:1px solid var(--line-red); box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.shot-frame img{ display:block; width:100%; height:auto; }
.shot-frame figcaption{ padding:9px 4px 3px; font-size:12.5px; letter-spacing:1px; text-align:center; color:var(--muted); }
.sec-dark .shot-frame{ background:rgba(200,163,90,.05); border-color:rgba(200,163,90,.3); }
.sec-dark .shot-frame figcaption{ color:rgba(224,205,170,.58); }

/* ===========================================================
   壹 · 上线福利
   =========================================================== */
.welfare-grid{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-red); background:rgba(255,252,245,.55); }
.wf{ padding:30px 30px 26px; border-right:1px solid var(--line-red-soft); }
.wf:last-child{ border-right:0; }
.wf h3{
  display:flex; align-items:center; gap:8px;
  margin:0 0 16px; padding-left:12px; line-height:1.2;
  font-family:var(--serif); font-size:19px; letter-spacing:2px; color:var(--text);
  border-left:3px solid var(--red);
}
.wf h3 .ico{ color:var(--red); }

.strip{ display:grid; grid-template-columns:repeat(5,1fr); margin-top:34px; border-top:1px solid var(--line-red); border-bottom:1px solid var(--line-red); }
.strip-item{ padding:24px 10px; text-align:center; border-right:1px solid var(--line-red-soft); }
.strip-item:last-child{ border-right:0; }
.strip-item b{ display:block; font-family:var(--serif); font-size:34px; line-height:1.1; color:var(--red); }
.strip-item span{ font-size:13px; letter-spacing:1px; color:var(--muted); }

/* ===========================================================
   贰 · 特色玩法
   =========================================================== */
.chicken{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:46px; }
.steps{ margin:0; padding:0; list-style:none; counter-reset:s; }
.steps li{
  counter-increment:s; position:relative;
  margin-left:20px; padding:0 0 26px 60px;
  border-left:1px solid rgba(200,163,90,.26);
}
.steps li:last-child{ padding-bottom:0; border-left-color:transparent; }
.steps li::before{
  content:counter(s,cjk-ideographic);
  position:absolute; left:-20px; top:0;
  width:40px; height:40px; display:grid; place-items:center;
  background:var(--ink-3); border:1px solid rgba(200,163,90,.5);
  color:var(--gold-2); font-family:var(--serif); font-size:15px; border-radius:50%;
}
.steps li b{ display:block; margin-bottom:6px; font-family:var(--serif); font-size:18px; letter-spacing:2px; color:#f0e2c4; }
.steps li span{ font-size:14.5px; line-height:1.85; color:rgba(230,220,198,.72); }

.chicken-side{ display:grid; gap:20px; align-content:start; }
.feature-card{ padding:20px 22px; background:rgba(200,163,90,.06); border:1px solid rgba(200,163,90,.3); }
.feature-card h3{
  display:flex; align-items:center; gap:8px;
  margin:0 0 8px; font-family:var(--serif); font-size:17px; font-weight:400; letter-spacing:2px; color:var(--gold-3);
}
.feature-card p{ margin:0; font-size:14px; line-height:1.85; color:rgba(230,220,198,.75); }
.feature-card b{ color:var(--gold-3); }

/* ===========================================================
   叁 · 活动时间
   =========================================================== */
.sched{ display:grid; grid-template-columns:1fr 1fr; gap:0 44px; }
.sched-row{ display:flex; align-items:baseline; gap:16px; padding:13px 4px; border-bottom:1px dashed rgba(158,43,37,.16); }
.sched-row b{ flex:none; width:64px; font-family:var(--serif); font-size:17px; letter-spacing:1px; color:var(--red); }
.sched-row span{ font-size:14.5px; color:var(--text-2); }
.sched-row--note{ border-bottom:0; }
.sched-row--note b{ font-size:15px; color:var(--gold); }

.reward-box{ margin-top:38px; padding:26px 30px; background:rgba(255,252,245,.6); border:1px solid var(--line-red); }
.reward-box h3{
  display:flex; align-items:center; gap:8px;
  margin:0 0 16px; padding-left:12px; line-height:1.2;
  font-family:var(--serif); font-size:19px; font-weight:400; letter-spacing:2px; color:var(--text);
  border-left:3px solid var(--red);
}
.reward-box h3 .ico{ color:var(--red); }
.reward-list{ margin:0; }
.reward-list > div{ display:grid; grid-template-columns:112px 1fr; gap:18px; padding:11px 0; border-top:1px dashed rgba(158,43,37,.14); }
.reward-list > div:first-child{ border-top:0; }
.reward-list dt{ font-family:var(--serif); font-size:15.5px; letter-spacing:1px; color:var(--red); }
.reward-list dd{ margin:0; font-size:14.5px; color:var(--text-2); }
.reward-list b{ color:var(--red); }

/* ===========================================================
   肆 · 掉落一览（Tab）
   =========================================================== */
.tabs{
  display:flex; flex-wrap:wrap; gap:0;
  border-bottom:1px solid var(--line-red);
}
.tab{
  position:relative; padding:13px 20px 12px;
  font-family:inherit; font-size:14.5px; letter-spacing:1px;
  color:var(--muted); background:transparent;
  border:0; border-bottom:2px solid transparent; cursor:pointer;
  transition:color .18s, border-color .18s;
}
.tab:hover{ color:var(--text); }
.tab.on{ color:var(--red); border-bottom-color:var(--red); }
.tab small{ display:block; margin-top:2px; font-size:11.5px; letter-spacing:0; color:var(--muted); font-weight:400; }
.tab.on small{ color:rgba(158,43,37,.7); }

.tab-panel{ display:none; padding-top:26px; }
.tab-panel.on{ display:block; }

/* 表格式 */
.table-box{ overflow-x:auto; background:rgba(255,253,248,.72); border:1px solid var(--line-red); }
.table-box table{ width:100%; min-width:660px; border-collapse:collapse; font-size:14px; }
.table-box th{
  padding:14px 16px; text-align:left; white-space:nowrap;
  font-size:13.5px; font-weight:600; letter-spacing:1px; color:#5d5241;
  background:#f4ecdc; border-bottom:1px solid rgba(158,43,37,.18);
}
.table-box td{ padding:14px 16px; vertical-align:top; line-height:1.8; color:var(--text-2); border-bottom:1px solid var(--line-red-soft); }
.table-box td:first-child{ white-space:nowrap; font-weight:600; color:var(--text); }
.table-box td em{ font-style:normal; color:var(--red); }
.table-box tbody tr:nth-child(even){ background:rgba(158,43,37,.03); }
.table-box tbody tr:hover{ background:rgba(200,163,90,.09); }

.table-note{
  margin:0; padding:14px 16px; font-size:13.5px; line-height:1.8; color:var(--muted);
  background:rgba(200,163,90,.07); border-top:1px solid var(--line-red-soft);
}
.table-note b{ color:var(--red); }

/* 标签 + 面板 */
.panel-row{ display:grid; grid-template-columns:1fr 1.4fr; gap:22px; }
.panel{ padding:22px 24px; background:rgba(255,253,248,.72); border:1px solid var(--line-red); }
.panel h4{ margin:0 0 12px; font-family:var(--serif); font-size:16px; font-weight:400; letter-spacing:2px; color:var(--text); }
.panel-wide{ margin-top:4px; }

.tagline{ display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.tag{ padding:4px 10px; font-size:13px; color:#5d5241; background:var(--paper-3); border:1px solid rgba(158,43,37,.22); }
.tag-hi{ color:#8a2b24; background:rgba(158,43,37,.06); border-color:rgba(158,43,37,.42); }

/* 卡片式 */
.scene-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
.scene{ padding:20px 22px; background:rgba(255,253,248,.72); border:1px solid var(--line-red); }
.scene h4{ margin:0 0 8px; font-family:var(--serif); font-size:16px; font-weight:400; letter-spacing:1.5px; color:var(--red); }
.scene p{ margin:0; font-size:13.5px; line-height:1.85; color:var(--text-2); }

/* ===========================================================
   伍 · 蜃景地图
   =========================================================== */
.mijing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mj{ padding:24px 24px 22px; background:rgba(200,163,90,.05); border:1px solid rgba(200,163,90,.3); }
.mj header{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid rgba(200,163,90,.24);
}
.mj h3{ margin:0; font-family:var(--serif); font-size:20px; font-weight:400; letter-spacing:2px; color:#f0e2c4; }
.mj header span{ padding:3px 8px; font-size:12px; color:#f7eee1; background:var(--red); }
.mj-mob{ margin:0 0 10px; font-size:13.5px; color:rgba(224,205,170,.6); }
.mj-drop{ margin:0; font-size:14px; line-height:1.9; color:rgba(230,220,198,.78); }
.mj-drop b{ color:var(--gold-3); }

/* ===========================================================
   陆 · 养成体系
   =========================================================== */
.growth{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:46px; align-items:start; }
.gd{ padding:22px 0; border-bottom:1px dashed rgba(158,43,37,.16); }
.gd:first-child{ padding-top:0; }
.gd:last-child{ border-bottom:0; }
.gd h3{
  margin:0 0 10px; padding-left:13px; line-height:1.2;
  font-family:var(--serif); font-size:19px; font-weight:400; letter-spacing:2px; color:var(--text);
  border-left:3px solid var(--red);
}
.gd p{ margin:0; font-size:14.5px; line-height:1.9; color:var(--text-2); }
.gd b{ color:var(--red); }

.growth-shots{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* ===========================================================
   柒 · 版本调整 & 服务器规则
   =========================================================== */
.balance{
  display:grid; grid-template-columns:repeat(3,1fr);
  margin:0; padding:0; list-style:none;
  background:rgba(255,253,248,.72); border:1px solid var(--line-red);
}
.balance li{ padding:20px 24px; border-right:1px solid var(--line-red-soft); border-bottom:1px solid var(--line-red-soft); }
.balance li:nth-child(3n){ border-right:0; }
.balance li:nth-last-child(-n+3){ border-bottom:0; }
.balance b{ display:block; margin-bottom:4px; font-family:var(--serif); font-size:16px; letter-spacing:1.5px; color:var(--text); }
.balance span{ font-size:13.5px; color:var(--muted); }

.rules{ display:grid; gap:16px; margin-top:38px; }
.rule{
  display:flex; align-items:flex-start; gap:20px;
  padding:24px 26px; background:rgba(255,253,248,.72);
  border:1px solid var(--line-red); border-left-width:4px;
}
.rule-no{ border-left-color:var(--red); }
.rule-yes{ border-left-color:#5f7a4a; }
.rule-mark{ flex:none; width:44px; height:44px; display:grid; place-items:center; background:var(--red); color:#f5e9d5; border-radius:2px; }
.rule-yes .rule-mark{ background:#5f7a4a; }
.rule h3{ margin:2px 0 6px; font-family:var(--serif); font-size:18px; font-weight:400; letter-spacing:2px; color:var(--text); }
.rule p{ margin:0; font-size:14px; line-height:1.85; color:#5d5241; }

/* ===========================================================
   捌 · 截图
   =========================================================== */
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gal{
  margin:0; padding:6px; cursor:zoom-in;
  background:rgba(200,163,90,.05); border:1px solid rgba(200,163,90,.3);
  transition:border-color .2s;
}
.gal img{ display:block; width:100%; aspect-ratio:1020/700; object-fit:cover; transition:opacity .2s; }
.gal figcaption{ padding:9px 4px 3px; font-size:12.5px; letter-spacing:1px; text-align:center; color:rgba(224,205,170,.64); }
.gal:hover{ border-color:rgba(224,193,132,.7); }
.gal:hover img{ opacity:.9; }

/* ===========================================================
   玖 · 赞助商城
   =========================================================== */
.shop-grid{ display:grid; grid-template-columns:repeat(4,1fr); background:rgba(255,253,248,.72); border:1px solid var(--line-red); }
.shop-item{
  position:relative; display:flex; flex-direction:column; gap:8px;
  padding:20px 22px; border-right:1px solid var(--line-red-soft); border-bottom:1px solid var(--line-red-soft);
}
.shop-item:nth-child(4n){ border-right:0; }
.shop-item:nth-last-child(-n+4){ border-bottom:0; }
.si-name{ font-size:14.5px; color:var(--text-2); }
.si-price{ font-family:var(--serif); font-size:22px; font-weight:700; letter-spacing:.5px; color:var(--red); }
.si-stock{
  position:absolute; right:18px; top:20px; padding:2px 7px;
  font-style:normal; font-size:11.5px; color:#6f7f5c;
  background:rgba(95,122,74,.1); border:1px solid rgba(95,122,74,.3);
}

.contact{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  margin-top:34px; padding:28px 32px; background:var(--paper-3); border:1px solid var(--line-red);
}
.contact h3{ display:flex; align-items:center; gap:8px; margin:0; font-family:var(--serif); font-size:15px; font-weight:400; letter-spacing:3px; color:var(--muted); }
.contact h3 .ico{ color:var(--red); }
.qq-num{ margin:6px 0 0; font-family:var(--serif); font-size:36px; line-height:1.1; letter-spacing:6px; color:var(--red); }
.hint{ margin:8px 0 0; font-size:13.5px; color:var(--muted); }
.contact-act{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

/* ===========================================================
   页脚
   =========================================================== */
.footer{ padding:56px 0 40px; background:var(--ink); color:rgba(230,220,198,.6); border-top:1px solid rgba(200,163,90,.2); }
.footer-in{ display:grid; grid-template-columns:290px 1fr 320px; gap:40px; align-items:start; }
.footer-brand{ display:flex; align-items:center; gap:12px; }
.footer-brand b{ display:block; font-family:var(--serif); font-size:17px; letter-spacing:2px; color:#f0e5d0; }
.footer-brand i{ font-style:normal; font-size:11.5px; letter-spacing:1px; color:rgba(224,193,132,.6); }
.footer-nav{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.footer-nav a{ font-size:13px; color:rgba(230,220,198,.6); text-decoration:none; }
.footer-nav a:hover{ color:var(--gold-2); }
.footer-meta p{ margin:0 0 10px; font-size:13px; }
.footer-meta b{ color:var(--gold-2); }
.footer-meta a{ text-decoration:none; }
.footer-meta a:hover b{ color:#f2debb; }
.disclaimer{ font-size:12px; line-height:1.8; color:rgba(230,220,198,.36); }

/* ===========================================================
   浮动控件
   =========================================================== */
.to-top{
  position:fixed; right:26px; bottom:30px; z-index:50;
  width:44px; height:44px; display:grid; place-items:center; cursor:pointer;
  background:var(--ink-2); color:var(--gold-2);
  border:1px solid rgba(200,163,90,.4); border-radius:2px;
  opacity:0; visibility:hidden;
  transition:opacity .25s, visibility .25s, background .2s, color .2s;
}
.to-top.on{ opacity:1; visibility:visible; }
.to-top:hover{ background:var(--red); color:#f7ecdb; }

.lightbox{
  position:fixed; inset:0; z-index:100;
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  padding:5vh 5vw; background:rgba(10,8,5,.94);
}
.lightbox.on{ display:flex; }
.lb-img{ max-width:100%; max-height:78vh; border:1px solid rgba(200,163,90,.35); }
.lb-cap{ margin:0; font-size:14px; letter-spacing:1px; color:rgba(230,220,198,.8); }
.lb-close{
  position:absolute; right:26px; top:20px; width:42px; height:42px; display:grid; place-items:center; cursor:pointer;
  background:transparent; color:var(--gold-2); border:1px solid rgba(200,163,90,.4);
}
.lb-close:hover{ background:rgba(200,163,90,.14); }

.toast{
  position:fixed; left:50%; bottom:44px; z-index:120;
  padding:11px 22px; font-size:14px; letter-spacing:1px;
  background:var(--ink-2); color:var(--gold-3); border:1px solid rgba(200,163,90,.45);
  transform:translate(-50%,12px); opacity:0; visibility:hidden;
  transition:opacity .25s, visibility .25s, transform .25s;
}
.toast.on{ opacity:1; visibility:visible; transform:translate(-50%,0); }

/* ===========================================================
   滚动淡入
   =========================================================== */
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
[data-reveal].in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  [data-reveal]{ opacity:1; transform:none; transition:none; }
  .hero-down i{ animation:none; }
}

/* ===========================================================
   响应式
   =========================================================== */
@media (max-width:1120px){
  .nav{
    display:none; position:absolute; top:68px; left:0; right:0;
    flex-direction:column; align-items:stretch; margin:0;
    padding:8px 4vw 16px; background:rgba(18,14,9,.98);
    border-bottom:1px solid rgba(200,163,90,.25);
  }
  .nav.open{ display:flex; }
  .nav a{ padding:13px 4px; font-size:15px; border-bottom:1px solid rgba(200,163,90,.1); }
  .nav a.active::after{ display:none; }
  .hamburger{ display:flex; }

  .hero{ height:auto; min-height:0; padding:116px 0 96px; }
  .hero-bg{ background-position:center 22%; }
  .hero-in{ grid-template-columns:1fr; gap:34px; }
  .hero-side{ max-width:440px; }
  .hero-desc{ max-width:none; }

  .welfare-grid{ grid-template-columns:1fr; }
  .wf{ border-right:0; border-bottom:1px solid var(--line-red-soft); }
  .wf:last-child{ border-bottom:0; }

  .strip{ grid-template-columns:repeat(2,1fr); }
  .strip-item:nth-child(2n){ border-right:0; }
  .strip-item:nth-child(n+5){ border-bottom:0; }

  .chicken,.growth{ grid-template-columns:1fr; gap:34px; }
  .panel-row{ grid-template-columns:1fr; }
  .sched{ grid-template-columns:1fr; }

  .mijing-grid,.gallery,.growth-shots{ grid-template-columns:1fr 1fr; }

  .shop-grid{ grid-template-columns:repeat(2,1fr); }
  .shop-item:nth-child(4n){ border-right:1px solid var(--line-red-soft); }
  .shop-item:nth-child(2n){ border-right:0; }
  .shop-item:nth-last-child(-n+4){ border-bottom:1px solid var(--line-red-soft); }
  .shop-item:nth-last-child(-n+2){ border-bottom:0; }

  .balance{ grid-template-columns:1fr 1fr; }
  .balance li:nth-child(3n){ border-right:1px solid var(--line-red-soft); }
  .balance li:nth-child(2n){ border-right:0; }
  .balance li:nth-last-child(-n+3){ border-bottom:1px solid var(--line-red-soft); }
  .balance li:nth-last-child(-n+2){ border-bottom:0; }

  .footer-in{ grid-template-columns:1fr; gap:28px; }
}

@media (max-width:600px){
  body{ font-size:15px; }
  .sec{ padding:64px 0; }
  .sec-head{ gap:14px; margin-bottom:34px; }
  .sec-num{ width:38px; height:38px; font-size:17px; }
  .sec-title h2{ font-size:25px; letter-spacing:2px; }
  .sub-h{ font-size:18px; margin-top:38px; }

  .hero{ padding:104px 0 80px; }
  .hero-title span{ letter-spacing:6px; }
  .hero-title small{ letter-spacing:8px; }
  .hero-act .btn{ width:100%; }
  .hero-tags li{ font-size:12.5px; }

  .mijing-grid,.gallery,.growth-shots,.balance,.shop-grid{ grid-template-columns:1fr; }
  .balance li{ border-right:0 !important; border-bottom:1px solid var(--line-red-soft) !important; }
  .balance li:last-child{ border-bottom:0 !important; }
  .shop-item{ border-right:0 !important; border-bottom:1px solid var(--line-red-soft) !important; }
  .shop-item:last-child{ border-bottom:0 !important; }

  .strip{ grid-template-columns:1fr 1fr; }
  .strip-item:nth-child(n+5){ border-bottom:1px solid var(--line-red-soft); }
  .strip-item:nth-last-child(-n+2){ border-bottom:0; }

  .reward-list > div{ grid-template-columns:1fr; gap:4px; }
  .notice-in{ flex-direction:column; align-items:flex-start; gap:8px; }

  .tabs{ overflow-x:auto; flex-wrap:nowrap; }
  .tab{ padding:12px 14px; white-space:nowrap; }

  .contact{ padding:22px; }
  .qq-num{ font-size:30px; letter-spacing:4px; }
  .to-top{ right:14px; bottom:16px; }
}
