/* ============================================================
   LUXREALM · 小岛日记 官网设计系统
   奶油底 + 森林绿 + 暖橙 · 手绘绘本风 · 响应式（桌面/移动）
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --bg:#F7F7EF;
  --bg-alt:#F0F3E8;
  --green:#486A54;
  --green-hi:#3D5E48;
  --green-deep:#345641;
  --green-card:#3E6450;
  --footer:#2F4436;
  --ink:#304C3F;
  --text:#4A5C4E;
  --body:#56685A;   /* 正文：奶油底对比度 ~5.5:1（原 #6E7D6B 仅 3.9:1，未达 AA） */
  --muted:#5C6E5E;  /* 次级标签：~5.1:1（原 #7C8A76 ~3.3:1） */
  --faint:#5C6E5E;  /* 微标签/元信息：~5.1:1（原 #647362 在奶油底 #F0F3E8 上仅 4.48:1，未达 AA） */
  --line:#E5E8DC;
  --accent:#D8925B;
  --accent-hi:#C9814C;
  --accent-deep:#9A5A20;  /* 暖橙文字在奶油底上的 AA 安全版（#D8925B 仅 ~2.7:1） */
  --gold:#C98A4B;
  --gold-lt:#F2CD94;   /* 浅金：用于深底（暗色 hero / dark-band）上的 eyebrow 文字与装饰线，确保 AA */
  --gold-deep:#8F5A20;   /* 金/传说类强调用的深色版：奶油底上对比度 5.1:1，浅底的 #C98A4B 只有 2.6:1 */
  --card:#FFFFFF;
  --shadow-sm:0 4px 16px rgba(48,76,63,.08);
  --shadow-md:0 12px 28px rgba(48,76,63,.10);
  --shadow-lg:0 24px 48px rgba(48,76,63,.16);
  --r-sm:14px; --r-md:20px; --r-lg:24px; --r-pill:999px;
  /* 字族：全部走系统字体，零外部 CDN。
     原来这里引 Google Fonts（Outfit + Noto Sans SC），但国内访问 Google 域名
     会被阻断 —— 表现是页面先按 fallback 排版、字体到位后整体重排，
     用户看到的就是「没加载完全 / 一直在跳」。
     现在按 系统 -> macOS/iOS -> Windows -> Linux 的顺序回退，
     各平台都能拿到设计意图接近的本地字体，且首屏零字体请求。*/
  --f-outfit:system-ui,-apple-system,'Segoe UI Variable Display','Segoe UI','PingFang SC','Microsoft YaHei UI','Microsoft YaHei','Noto Sans SC','Source Han Sans SC','WenQuanYi Micro Hei',sans-serif;
  --f-sc:-apple-system,BlinkMacSystemFont,'PingFang SC','HarmonyOS Sans SC','Microsoft YaHei UI','Microsoft YaHei','Noto Sans SC','Source Han Sans SC','WenQuanYi Micro Hei',system-ui,sans-serif;
  --container:1200px;
}

/* ---------- 2. 基础 ---------- */
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth;overflow-x:clip}  /* 裁剪离屏固定抽屉（nav.site-nav translateX(105%)）带来的横向滚动；clip 不创建滚动容器，sticky 头部不受影响 */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{background:var(--bg);font-family:var(--f-sc);color:var(--ink);line-height:1.6;overflow-x:clip}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit;transition:color .2s}
ul,ol{list-style:none}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section.tight{padding:56px 0}
.container > .section-inner{margin:0 -24px;padding:0}

/* 排版 */
.eyebrow{font-family:var(--f-outfit);font-size:13px;font-weight:600;color:var(--gold-deep);letter-spacing:.06em}
.sec-head{max-width:760px;display:flex;flex-direction:column;gap:14px;margin-bottom:44px}
.sec-head h2{font-size:clamp(26px,4vw,38px);font-weight:700;color:var(--ink);line-height:1.3}
.sec-head p{font-size:15px;color:var(--body);line-height:28px}
.eyebrow-line{display:flex;align-items:center;gap:12px}
.eyebrow-line::before{content:'';width:26px;height:2px;border-radius:1px;background:var(--gold-lt)}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-pill);
  font-size:15px;font-weight:500;transition:all .22s;white-space:nowrap}
.btn-primary{background:var(--green);color:#fff;padding:14px 34px}
.btn-primary:hover{background:var(--green-hi);transform:translateY(-2px);box-shadow:0 10px 24px rgba(72,106,84,.25);color:#fff}
.btn-orange{background:var(--accent-deep);color:#fff;padding:14px 34px}  /* 暖橙填充按钮：白字需 AA，#D8925B 仅 ~2.6:1 不达标，改用 burnt-orange #9A5A20 ≈5.45:1 */
.btn-orange:hover{background:#874E1B;transform:translateY(-2px);box-shadow:0 10px 24px rgba(135,78,27,.32);color:#fff}
.btn-ghost{background:#fff;border:1px solid #D8DFCC;color:var(--green);padding:13px 30px}
.btn-ghost:hover{border-color:var(--green);transform:translateY(-2px);color:var(--green)}
.btn-sm{padding:9px 20px;font-size:13px}

/* 徽章/胶囊 */
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:500}
.chip-green{background:#EEF2E4;color:#3E6450}
.chip-gold{background:#F3ECE0;color:#8F5A20}
/* chip-plain：中性描边款。用于「概念款 / 敬请期待」这类
   「不是承诺、只是展示」的标签 —— 刻意不给绿色或金色，
   免得看起来像在推荐某个付费项。 */
.chip-plain{background:#F4F2EC;color:#7A776D;border:1px solid #E4E0D6}
.dot{width:8px;height:8px;border-radius:50%;background:#77936B;flex-shrink:0}

/* ---------- 3. 顶部导航 ---------- */
.site-header{position:sticky;top:0;z-index:200;background:rgba(247,247,239,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{max-width:1440px;margin:0 auto;height:68px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:10px;display:flex;align-items:center;justify-content:center}
.logo-txt{display:flex;flex-direction:column;line-height:1.15}
.logo-word{font-family:var(--f-outfit);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.02em}
.logo-sub{font-size:10.5px;font-weight:500;color:var(--green)}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav a{font-size:13px;font-weight:500;color:var(--text);padding:6px 2px;position:relative;white-space:nowrap}
.site-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;border-radius:1px;background:var(--green);transition:right .25s}
.site-nav a:hover{color:var(--green)}
.site-nav a:hover::after,.site-nav a.active::after{right:0}
.site-nav a.active{color:var(--green);font-weight:700}
.nav-cta{flex-shrink:0}
/* 导航内的 CTA 按钮：.site-nav a 会盖掉 .btn-primary 的白色字，这里拉回白字。
   桌面端导航是横排，这个「抽屉专用」CTA 会和 header 右侧那个重复 → 桌面隐藏，只在移动抽屉里显示 */
.site-nav a.nav-cta{color:#fff}
.site-nav .nav-cta{display:none}
.nav-toggle{display:none;font-size:22px;color:var(--green);padding:6px}
.nav-mask{display:none}

/* ---------- 4. 开场动画（仅主页） ---------- */
.intro{position:fixed;inset:0;z-index:999;background:linear-gradient(180deg,#F0F3E8 0%,#F7F7EF 60%,#E9EFDC 100%);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  animation:introExit .8s ease 2.9s forwards;pointer-events:all}
.intro.hide{animation:introExit .5s ease forwards}
@keyframes introExit{to{opacity:0;visibility:hidden;transform:translateY(-4%)}}
.intro-logo{width:88px;height:88px;background:var(--green);border-radius:24px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 20px 40px rgba(52,86,65,.25);animation:logoPop .9s cubic-bezier(.34,1.56,.64,1) .15s backwards}
@keyframes logoPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.intro-word{font-family:var(--f-outfit);font-size:34px;font-weight:700;color:var(--ink);letter-spacing:.14em;margin-top:28px;
  animation:fadeUp .8s ease .6s backwards}
.intro-cn{font-size:15px;color:var(--text);letter-spacing:.5em;margin-top:10px;animation:fadeUp .8s ease .85s backwards}
.intro-tag{margin-top:36px;padding:10px 22px;border-radius:var(--r-pill);background:#fff;box-shadow:var(--shadow-sm);
  font-size:14px;color:var(--text);animation:fadeUp .8s ease 1.15s backwards}
.intro-skip{position:absolute;right:32px;bottom:32px;font-size:12px;color:var(--faint);padding:8px 16px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:rgba(255,255,255,.7);animation:fadeUp .8s ease 1.6s backwards}
.intro-skip:hover{color:var(--green)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .intro{animation:none;opacity:0;visibility:hidden;pointer-events:none}
  .intro-logo,.intro-word,.intro-cn,.intro-tag,.intro-skip{animation:none}
  .reveal{opacity:1!important;transform:none!important}
}
body.intro-lock{overflow:hidden}

/* ---------- 5. 二级页头横幅 ---------- */
.page-hero{background:var(--bg-alt);padding:64px 0 56px}
.page-hero .container{display:flex;flex-direction:column;gap:14px}
.page-hero h1{font-size:clamp(30px,4.5vw,42px);font-weight:700;color:var(--ink)}
.page-hero p{max-width:680px;font-size:15px;color:var(--body);line-height:28px}
.page-hero.dark{background:var(--green-deep)}
.page-hero.dark h1{color:#F7F7EF}
.page-hero.dark p{color:#D3E2D6}
.page-hero.dark .eyebrow{color:var(--gold-lt)}

/* ---------- 7. 首页 Hero ---------- */
.home-hero{position:relative;overflow:hidden;background:
  radial-gradient(720px 360px at 88% -10%,rgba(232,178,122,.16),transparent 70%),
  radial-gradient(640px 400px at -8% 18%,rgba(168,194,154,.20),transparent 70%),var(--bg)}
.home-hero .container{display:grid;grid-template-columns:1fr 480px;gap:56px;align-items:center;padding-top:96px;padding-bottom:96px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--r-pill);background:#E7EDDF;width:fit-content}
.hero-badge span{font-size:13px;font-weight:500;color:#4E6B50}
.home-hero h1{font-size:clamp(34px,5.2vw,56px);font-weight:700;color:var(--ink);line-height:1.25;margin:22px 0 18px}
.home-hero .hook{font-size:16px;color:var(--body);line-height:30px;max-width:560px}
.home-hero .hook b{color:var(--accent-deep);font-weight:700}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-stats{display:flex;gap:38px;margin-top:42px;flex-wrap:wrap}
.stat b{font-family:var(--f-outfit);font-size:30px;font-weight:700;color:var(--green);line-height:1.1}
.stat i{font-style:normal;font-size:12px;color:var(--faint)}
.stat{display:flex;flex-direction:column;gap:4px}
.hero-visual{position:relative;width:480px;height:420px;background:#EDF1E2;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-md)}
.hero-visual>img{width:100%;height:100%;object-fit:cover}
.bubble{position:absolute;left:18px;top:18px;background:#fff;border-radius:18px;padding:11px 18px;font-size:13px;font-weight:500;color:var(--ink);box-shadow:var(--shadow-sm)}
.weather-chip{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;background:#fff;border-radius:var(--r-pill);padding:9px 15px;font-size:12px;font-weight:500;color:var(--text);box-shadow:var(--shadow-sm)}
.cloud{position:absolute;background:#fff;border-radius:50%;filter:blur(1px);opacity:.85;animation:cloudFloat linear infinite}
.cloud::before,.cloud::after{content:'';position:absolute;background:#fff;border-radius:50%}
@keyframes cloudFloat{from{transform:translateX(-140px)}to{transform:translateX(110%)}}

/* ---------- 8. 快捷导航（10 板块） ---------- */
.quick-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.qn-tile{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;
  display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.qn-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.qn-tile::after{content:'→';position:absolute;right:20px;top:22px;color:var(--muted);font-size:18px;transition:all .25s}
.qn-tile:hover::after{color:var(--green);transform:translateX(4px)}
.qn-ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#EEF2E4}
.qn-tile h3{font-size:16.5px;font-weight:700;color:var(--ink)}
.qn-tile p{font-size:12.5px;color:var(--muted);line-height:20px}

/* ---------- 9. 卡片通用 ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.grid{display:grid;gap:22px}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-2{grid-template-columns:repeat(2,1fr)}

/* 特色卡 */
.feature-card{padding:30px;display:flex;flex-direction:column;gap:14px}
.feature-ico{width:46px;height:46px;border-radius:12px;background:#EEF2E4;display:flex;align-items:center;justify-content:center}
.feature-card h3{font-size:18px;font-weight:700;color:var(--ink)}
.feature-card p{font-size:13px;color:var(--muted);line-height:24px}

/* 精灵卡（首页预告 & 图鉴共用） */
.sp-card{overflow:hidden;cursor:pointer}
.sp-ava{position:relative;height:170px;display:flex;align-items:center;justify-content:center;font-size:52px}
.sp-ava img{width:100%;height:100%;object-fit:cover}
.sp-rar{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:8px;font-family:var(--f-outfit);font-size:11px;font-weight:700}
.sp-info{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px}
.sp-info h3{font-size:16px;font-weight:700;color:var(--ink)}
.sp-tags{display:flex;gap:8px;flex-wrap:wrap}
.sp-peek{font-size:12px;color:var(--faint)}

/* 稀有度配色 */
.rar-SP{background:linear-gradient(90deg,#D6E8E5,#E8D9ED 50%,#F5E3B8);color:#9080A9}
.rar-UR{background:#F1E5CA;color:#8F5A20}
.rar-SSR{background:#E8E0ED;color:#655890}
.rar-SR{background:#DEE9EE;color:#3F6585}
.rar-R{background:#DFEADD;color:#3E6450}
.rar-N{background:#EDEFE6;color:#98A08E}

/* 元素配色 */
.el-grass{background:#EEF2E4;color:#3E6450}
.el-water{background:#E3EDEA;color:#3F6585}
.el-fire{background:#F5EBDD;color:#8F5A20}
.el-star{background:#EFE9F0;color:#655890}
.el-earth{background:#EFE8DC;color:#8F5A20}
.el-wind{background:#E4EEE6;color:#3E6450}
.ava-grass{background:linear-gradient(160deg,#EDF1E2,#DCE7D2)}
.ava-water{background:linear-gradient(160deg,#E3EDEA,#D3E5E4)}
.ava-fire{background:linear-gradient(160deg,#F5EBDD,#F0DCC2)}
.ava-star{background:linear-gradient(160deg,#EFE9F0,#E4DCE9)}
.ava-earth{background:linear-gradient(160deg,#EFE8DC,#E6DAC4)}
.ava-wind{background:linear-gradient(160deg,#E4EEE6,#D6E8DA)}

/* ---------- 10. 精灵图鉴页 ---------- */
.dex-tools{display:flex;flex-direction:column;gap:16px;margin-bottom:36px}
.dex-chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dex-chips .lbl{font-size:13px;font-weight:700;color:var(--text);margin-right:4px}
.chip-btn{padding:8px 18px;border-radius:var(--r-pill);background:#fff;border:1px solid #E0E4D4;font-size:13px;font-weight:500;color:#3E6450;transition:all .2s}
.chip-btn:hover{border-color:var(--green);color:var(--green)}
.chip-btn.on{background:#DCE7D2;border-color:#DCE7D2;color:#476841;font-weight:700}
.dex-search{align-self:flex-start;position:relative}
.dex-search input{width:260px;padding:11px 16px 11px 40px;border-radius:var(--r-pill);border:1px solid #E0E4D4;background:#fff;font-size:13.5px;color:var(--ink);outline:none;font-family:inherit}
.dex-search input:focus{border-color:var(--green)}
.dex-search::before{content:'🔍';position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}
.dex-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.dex-count{font-size:12.5px;color:var(--faint);margin-bottom:16px}
.dex-empty{padding:60px 0;text-align:center;color:var(--faint);font-size:14px;grid-column:1/-1}

/* 克制关系图 */
.cycle-band{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px}
.cycle-node{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--r-pill);font-size:13.5px;font-weight:700}
.cycle-arrow{color:var(--gold-deep);font-size:15px;display:flex;flex-direction:column;align-items:center;line-height:1}
.cycle-arrow i{font-style:normal;font-size:10px;color:var(--faint)}

/* ---------- 11. 精灵详情弹窗 ---------- */
.modal-backdrop{position:fixed;inset:0;z-index:500;background:rgba(47,68,54,.45);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.open{display:flex;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{width:min(820px,100%);max-height:88vh;overflow-y:auto;background:var(--bg);border-radius:28px;position:relative;
  animation:modalIn .35s cubic-bezier(.34,1.3,.64,1)}
@keyframes modalIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
.modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);
  font-size:16px;color:var(--text);z-index:5;transition:transform .2s}
.modal-close:hover{transform:rotate(90deg);color:var(--accent-deep)}
.md-top{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:30px 30px 22px;background:#fff;border-radius:28px 28px 0 0;border-bottom:1px solid var(--line)}
.md-ava{height:230px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:84px;overflow:hidden;position:relative}
.md-ava img{width:100%;height:100%;object-fit:cover}
.md-head{display:flex;flex-direction:column;gap:12px;justify-content:center}
.md-head h2{font-size:28px;font-weight:700;color:var(--ink)}
.md-id{font-family:var(--f-outfit);font-size:12px;color:var(--faint);letter-spacing:.08em}
.md-quote{font-size:13.5px;color:var(--body);line-height:26px;background:var(--bg);border-left:3px solid var(--gold-lt);border-radius:0 12px 12px 0;padding:12px 16px}
.md-body{padding:24px 30px 30px;display:flex;flex-direction:column;gap:26px}
.md-sec h4{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:14px}
.md-sec h4::before{content:'';width:8px;height:8px;border-radius:3px;background:var(--green)}
.stat-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.sbar{display:flex;flex-direction:column;gap:6px}
.sbar .row{display:flex;justify-content:space-between;font-size:13px}
.sbar .row b{color:var(--ink)}
.sbar .row i{font-style:normal;font-family:var(--f-outfit);font-weight:700;color:var(--green)}
.sbar .track{height:8px;border-radius:4px;background:#E9EDE0;overflow:hidden}
.sbar .fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#A8C29A,#486A54)}
.md-kv{display:flex;flex-wrap:wrap;gap:10px}
.md-kv .k{font-size:12px;color:var(--faint);width:100%}
#mdSkill{flex-direction:column;align-items:stretch}
.evo-path{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.evo-node{flex:1;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;text-align:center}
.evo-node b{font-size:14px;color:var(--ink)}
.evo-node i{font-style:normal;font-size:11.5px;color:var(--gold-deep)}
.evo-pic{border-radius:12px;overflow:hidden;background:#F3F0E4;aspect-ratio:1/1}
.evo-pic img{width:100%;height:100%;object-fit:cover;display:block}
.skill-list{display:flex;flex-direction:column;gap:10px}
.skill-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px}
.skill-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.skill-head b{font-size:14px;color:var(--ink)}
.skill-head i{font-style:normal;font-size:11.5px;color:var(--gold-deep);margin-left:auto}
.skill-item p{margin:6px 0 0;font-size:12.8px;line-height:1.65;color:var(--muted)}
.skill-type{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px;flex-shrink:0}
.skill-type.t-主动技{background:#DFEADD;color:#486A54}
.skill-type.t-被动技{background:#E3ECF3;color:#4A7391}
.skill-type.t-觉醒技{background:#F6E7D2;color:#B0722F}
.evo-arrow{align-self:center;color:var(--green);font-size:18px;flex-shrink:0}
.counter-row{display:flex;gap:14px;flex-wrap:wrap}
.counter-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-size:13px}
.counter-box .sign{font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px}
.sign.win{background:#DFEADD;color:var(--green-deep)}
.sign.lose{background:#F5E3D2;color:#C07040}

/* ---------- 12. 任务系统 ---------- */
.tabs{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:5px;gap:4px}
.tab-btn{padding:10px 26px;border-radius:var(--r-pill);font-size:14px;font-weight:500;color:var(--muted);transition:all .2s}
.tab-btn.on{background:var(--green);color:#fff;font-weight:700}
.tab-panel{display:none}
.tab-panel.on{display:block;animation:fadeUp .4s ease}
.task-group{margin-bottom:34px}
.task-group h3{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--ink);margin-bottom:16px}
.task-group h3 .gtag{font-size:11px;font-weight:500;color:#fff;background:var(--green);border-radius:8px;padding:3px 10px}
.task-row{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;margin-bottom:12px}
.task-ico{width:42px;height:42px;border-radius:12px;background:#EEF2E4;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.task-main{flex:1;display:flex;flex-direction:column;gap:4px}
.task-main b{font-size:14.5px;font-weight:700;color:var(--ink)}
.task-main p{font-size:12.5px;color:var(--faint)}
.task-pts{padding:6px 12px;border-radius:var(--r-pill);background:#F3ECE0;font-size:12px;font-weight:700;color:#8F5A20;white-space:nowrap}
.task-limit{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:#FBEFE3;font-size:11.5px;font-weight:700;color:#C07040;white-space:nowrap}
.task-done{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-pill);background:#DFEADD;color:var(--green-deep);font-size:12px;font-weight:700;white-space:nowrap}
.task-bar{display:flex;align-items:center;gap:10px;min-width:170px}
.task-bar .track{flex:1;height:8px;border-radius:4px;background:#E9EDE0;overflow:hidden}
.task-bar .fill{height:100%;background:#77936B;border-radius:4px}
.task-bar span{font-size:11.5px;color:var(--faint);white-space:nowrap}
.points-layout{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.chest-card{background:#E9EFDC;border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:16px;position:sticky;top:92px}
.chest-card h3{font-size:18px;font-weight:700;color:var(--ink)}
.chest-num{font-size:13px;font-weight:500;color:var(--green)}
.chest-track{height:8px;border-radius:4px;background:#DDE5D0;overflow:hidden}
.chest-fill{height:100%;border-radius:4px;background:#77936B;width:62%;transition:width 1.2s cubic-bezier(.22,1,.36,1)}
.chest-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--r-md);padding:13px 16px}
.chest-row.locked{background:#F6F8E7;border:1px solid #BDCE9F}
.chest-row .t{flex:1;display:flex;flex-direction:column;gap:2px}
.chest-row b{font-size:13px;color:var(--ink)}
.chest-row i{font-style:normal;font-size:11px;color:var(--faint)}
.chest-note{font-size:12px;color:var(--muted);line-height:22px}

/* ---------- 13. 武器/副本/周边/社区 ---------- */
.item-card{overflow:hidden;display:flex;flex-direction:column}
.item-ava{height:150px;display:flex;align-items:center;justify-content:center;font-size:56px;position:relative}
.item-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.item-body h3{font-size:16px;font-weight:700;color:var(--ink)}
.item-desc{font-size:12.5px;color:var(--muted);line-height:22px;flex:1}
.item-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.price{display:flex;align-items:baseline;gap:5px}
.price i{font-style:normal;font-family:var(--f-outfit);font-size:13px;font-weight:500;color:var(--gold-deep)}
.price b{font-family:var(--f-outfit);font-size:22px;font-weight:700;color:var(--gold-deep)}
.dungeon-card{padding:26px;display:flex;flex-direction:column;gap:12px}
.dungeon-card .dtag{width:fit-content}
.diff{color:var(--gold-deep);letter-spacing:2px;font-size:13px}
.dungeon-card h3{font-size:17px;font-weight:700;color:var(--ink)}
.dungeon-card p{font-size:12.5px;color:var(--muted);line-height:22px}
.dungeon-meta{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}
.post-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.post-head{display:flex;align-items:center;gap:12px}
.post-ava{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:#EEF2E4;flex-shrink:0}
.post-head .who b{display:block;font-size:14px;color:var(--ink)}
.post-head .who i{font-style:normal;font-size:11.5px;color:var(--faint)}
.post-card h3{font-size:15.5px;font-weight:700;color:var(--ink)}
.post-card p{font-size:13px;color:var(--muted);line-height:23px}
.post-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--faint)}
.post-foot .likes b{color:var(--accent-deep)}
.hot-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* 新闻/列表行 */
.news-list{display:flex;flex-direction:column}
.news-item{display:flex;align-items:center;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);transition:background .2s}
.news-item:first-child{border-top:1px solid var(--line)}
.news-item:hover{background:#FBFCF6}
.news-date{font-family:var(--f-outfit);flex-shrink:0;color:var(--gold-deep);font-weight:700;font-size:13px;width:86px}
.news-item b{flex:1;font-size:15px;font-weight:600;color:var(--ink)}
.news-item .tag{flex-shrink:0}
.news-item .arr{color:var(--muted);transition:transform .2s}
.news-item:hover .arr{transform:translateX(4px);color:var(--green)}

/* ---------- 14. 文章/详情页 ---------- */
.article-wrap{max-width:820px;margin:0 auto}
.article-head{display:flex;flex-direction:column;gap:14px;padding:56px 0 8px;text-align:left}
.article-head h1{font-size:clamp(24px,3.6vw,34px);font-weight:700;color:var(--ink);line-height:1.4}
.article-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--faint)}
.article-cover{border-radius:var(--r-lg);overflow:hidden;margin:26px 0;box-shadow:var(--shadow-sm)}
.article-body{padding:20px 0 30px;font-size:15px;color:var(--body);line-height:30px}
.article-body h2{font-size:20px;font-weight:700;color:var(--ink);margin:34px 0 14px;padding-left:14px;border-left:4px solid var(--green)}
.article-body h3{font-size:16.5px;font-weight:700;color:var(--ink);margin:24px 0 10px}
.article-body p{margin-bottom:14px}
.article-body ul{margin:0 0 16px 6px}
.article-body li{position:relative;padding-left:20px;margin-bottom:10px}
.article-body li::before{content:'🌱';position:absolute;left:0;top:1px;font-size:12px}
.article-body blockquote{background:var(--bg-alt);border-left:4px solid var(--gold-lt);border-radius:0 14px 14px 0;padding:16px 20px;margin:18px 0;color:var(--text)}
.article-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px;background:#fff;border-radius:14px;overflow:hidden}
.article-body th{background:#E9EFDC;color:var(--ink);font-weight:700;padding:12px 14px;text-align:left}
.article-body td{padding:11px 14px;border-top:1px solid var(--line);color:var(--body)}
.article-foot{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding:26px 0}
.article-foot .rel{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;font-size:14px}
.article-foot .rel:hover{border-color:var(--green)}
.back-line{display:flex;justify-content:center;padding:12px 0 40px}

/* ---------- 15. 法律条款 ---------- */
.legal-list .news-item b{font-weight:600}
.acc{display:flex;flex-direction:column;gap:12px}
.acc-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.acc-t{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-size:15px;font-weight:700;color:var(--ink)}
.acc-t i{font-style:normal;color:var(--green);transition:transform .25s}
.acc-item.open .acc-t i{transform:rotate(45deg)}
.acc-c{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc-item.open .acc-c{max-height:800px}
.acc-c-inner{padding:0 22px 20px;font-size:13.5px;color:var(--body);line-height:26px}

/* ---------- 16. 时间线 ---------- */
.timeline{display:flex;flex-direction:column;gap:0}
.tl-item{display:flex;gap:24px;padding-bottom:34px;position:relative}
.tl-item::before{content:'';position:absolute;left:78px;top:34px;bottom:0;width:2px;background:#DCE3CC}
.tl-item:last-child::before{display:none}
.tl-date{width:64px;flex-shrink:0;font-family:var(--f-outfit);font-weight:700;color:var(--gold-deep);font-size:15px;text-align:right;padding-top:4px}
.tl-node{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--green);flex-shrink:0;margin-top:5px;z-index:1}
.tl-main{padding-top:0}
.tl-main b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px}
.tl-main p{font-size:13px;color:var(--muted);line-height:24px;max-width:640px}

/* ---------- 17. 关于我们 ---------- */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px}
.value-card b{font-family:var(--f-outfit);font-size:28px;font-weight:700;color:var(--green)}
.value-card span{font-size:12.5px;color:var(--faint)}

/* ---------- 18. 深绿强调横幅 ---------- */
.dark-band{background:var(--green-deep);color:#F7F7EF}
.dark-band .sec-head h2{color:#F7F7EF}
.dark-band .sec-head p{color:#D3E2D6}
.dark-band .eyebrow{color:var(--gold-lt)}
.gift-row{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.gift-visual{width:400px;height:380px;background:var(--green-card);border-radius:28px;overflow:hidden;position:relative;flex-shrink:0}
.gift-visual img{width:100%;height:100%;object-fit:cover}
.prize-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-width:280px}
.prize{background:var(--green-card);border-radius:var(--r-md);padding:22px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,background .25s}
.prize:hover{transform:translateY(-4px);background:#45705A}
.prize b{font-size:15.5px;color:#F7F7EF}
.prize p{font-size:12px;color:#D3E2D6;line-height:21px}
.prize .rate{width:fit-content;background:#4A6B54;color:#F7F7EF;padding:4px 12px;border-radius:var(--r-pill);font-size:11px;font-weight:500}

/* ---------- 19. 尾部 CTA & 页脚 ---------- */
.final-cta{background:var(--bg-alt);text-align:center;padding:96px 24px;display:flex;flex-direction:column;gap:22px;align-items:center}
.final-cta h2{font-size:clamp(26px,4vw,40px);font-weight:700;color:var(--ink)}
.final-cta p{font-size:15px;color:var(--body)}
.final-note{font-size:12px;color:var(--muted)}
.site-footer{background:var(--footer);color:#A9BBA6;padding:64px 0 0}
.footer-top{display:flex;gap:60px;flex-wrap:wrap}
.footer-brand{flex:1;min-width:240px;display:flex;flex-direction:column;gap:14px}
.footer-logo{display:flex;align-items:center;gap:10px}
.footer-logo-mark{width:34px;height:34px;background:var(--green);border-radius:9px;display:flex;align-items:center;justify-content:center}
.footer-logo b{font-family:var(--f-outfit);font-size:15px;font-weight:700;color:#F7F7EF;letter-spacing:.02em}
.footer-tagline{font-size:13px;line-height:24px}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap}
.footer-col{display:flex;flex-direction:column;gap:11px}
.footer-col b{font-size:13px;color:#F7F7EF;margin-bottom:2px}
.footer-col a{font-size:13px}
.footer-col a:hover{color:#DCE6C5}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #3F5A47;margin-top:44px;padding:22px 0;font-size:12px;color:#A9BBA6}

/* ---------- 20. 动效 ---------- */
.reveal{opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
.bob{animation:bob 3.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.float-cloud{position:absolute;border-radius:999px;background:rgba(255,255,255,.9)}

/* ---------- 21. 响应式 ---------- */
@media (max-width:1180px){
  .dex-grid{grid-template-columns:repeat(4,1fr)}
  .quick-nav{grid-template-columns:repeat(3,1fr)}
  .home-hero .container{grid-template-columns:1fr 420px;gap:36px}
}
@media (max-width:1100px){
  .nav-toggle{display:block}
  .site-nav{position:fixed;top:68px;right:0;bottom:0;width:min(320px,86vw);background:#fff;flex-direction:column;align-items:flex-start;
    gap:4px;padding:24px 20px;box-shadow:-12px 0 40px rgba(48,76,63,.12);transform:translateX(105%);transition:transform .3s ease;z-index:400;overflow-y:auto}
  .site-nav.open{transform:none}
  .site-nav a{font-size:15px;width:100%;padding:13px 14px;border-radius:12px}
  .site-nav a:hover{background:#F0F3E8}
  .site-nav a::after{display:none}
  /* 移动端：隐藏 header 右侧的 CTA，只在抽屉里显示导航内那个（.site-nav .nav-cta 优先级更高，覆盖下面那条 display:none） */
  .nav-cta{display:none}
  .site-nav .nav-cta{display:flex;margin-top:16px;width:100%}
  .nav-mask{display:block;position:fixed;inset:68px 0 0;background:rgba(47,68,54,.3);opacity:0;visibility:hidden;transition:opacity .3s;z-index:390}
  .nav-mask.show{opacity:1;visibility:visible}
}
@media (max-width:960px){
  .section{padding:64px 0}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .g-3{grid-template-columns:repeat(2,1fr)}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .points-layout{grid-template-columns:1fr}
  .chest-card{position:static}
  .gift-row{flex-direction:column}
  .home-hero .container{grid-template-columns:1fr;padding-top:64px;padding-bottom:64px}
  .hero-visual{width:100%;height:340px}
  .md-top{grid-template-columns:1fr}
  .md-ava{height:200px}
  .dex-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  .quick-nav{grid-template-columns:repeat(2,1fr)}
  .dex-grid{grid-template-columns:repeat(2,1fr)}
  .g-4,.g-3,.g-2{grid-template-columns:1fr}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .stat-bars{grid-template-columns:1fr}
  .hero-stats{gap:24px}
  .task-row{flex-wrap:wrap}
  .task-bar{width:100%;min-width:0}
  .news-item{flex-wrap:wrap;gap:8px}
  .tl-item{flex-direction:column;gap:8px;padding-left:20px}
  .tl-item::before{left:7px;top:22px;bottom:0}
  .tl-date{text-align:left;width:auto}
  .tl-node{position:absolute;left:0}
  .tl-main{padding-top:0}
  .header-inner{padding:0 18px}
  .footer-cols{gap:36px}
  .evo-node{min-width:120px}
  .modal{border-radius:22px}
  .md-body{padding:20px}
  .md-top{padding:22px}
}
@media (max-width:420px){
  .dex-grid{grid-template-columns:1fr}
  .quick-nav{grid-template-columns:1fr}
}

/* ============================================================
   22. 器械库（武器 / 装备 / 道具）
   品质色阶：神器 > 传说 > 史诗 > 稀有 > 普通（数量由高到低递增）
   ============================================================ */
/* 色阶令牌：组件统一读 var(--tone)，JS 按品质挂 .tone-* 即可换色 */
.tone-gold  {--tone:#8C6428;--tone-bg:#FBF4E4;--tone-soft:#F1E2C4;--tone-deep:#7A5522}  /* 加深以满足 AA：白字徽章 ≥4.5:1；--tone-deep 作浅底标签文字 */
.tone-orange{--tone:#9C5528;--tone-bg:#FBEFE4;--tone-soft:#F6DFCC;--tone-deep:#87491F}
.tone-violet{--tone:#655890;--tone-bg:#F1EDF7;--tone-soft:#E4DEF0;--tone-deep:#564A7A}
.tone-blue  {--tone:#3F6585;--tone-bg:#EAF1F6;--tone-soft:#D9E7F0;--tone-deep:#345A78}
.tone-grey  {--tone:#5C6B53;--tone-bg:#F1F3EC;--tone-soft:#E4E8DA;--tone-deep:#4F5C47}
.tone-teal  {--tone:#5F8E7B;--tone-bg:#E9F2EE;--tone-soft:#D7E7DF;--tone-deep:#3F6B58}

/* ---- 概览统计条 ---- */
.ars-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.ars-stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--shadow-sm)}
.ars-stat b{display:block;font-family:var(--f-outfit);font-size:30px;font-weight:700;color:var(--green-deep);line-height:1}
.ars-stat span{display:block;margin-top:7px;font-size:12.5px;color:var(--muted)}

/* ---- 品质图例（含数量） ---- */
.ars-quality{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.q-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-pill);
  background:var(--tone-bg);border:1px solid var(--tone-soft)}
.q-pill b{font-size:13px;color:var(--tone-deep);font-weight:700}
.q-pill i{font-style:normal;font-family:var(--f-outfit);font-size:12.5px;font-weight:700;color:#fff;
  background:var(--tone);border-radius:var(--r-pill);padding:1px 9px;min-width:24px;text-align:center}
.q-pill small{font-size:11.5px;color:var(--muted)}

/* ---- 三大页签 ---- */
.ars-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 20px}
.ars-tab{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);padding:16px 20px;cursor:pointer;font-family:inherit;transition:all .25s ease}
.ars-tab:hover{border-color:#CBD9BD;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.ars-tab.on{background:linear-gradient(160deg,#F3F7EC,#E8EFDD);border-color:#C6D6B4;box-shadow:var(--shadow-sm)}
.ars-tab-ico{font-size:26px;line-height:1}
.ars-tab b{display:block;font-size:15px;color:var(--ink)}
.ars-tab i{display:block;font-style:normal;margin-top:3px;font-size:12px;color:var(--muted)}
.ars-tab.on i{color:var(--green)}

/* ---- 筛选 ---- */
.ars-filters{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.ars-filters .dex-chips{margin:0}

/* ---- 卡片栅格 ---- */
.ars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:16px}
.ars-card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-left:3px solid var(--tone);
  border-radius:var(--r-md);padding:18px 18px 16px;box-shadow:var(--shadow-sm);transition:all .28s ease;overflow:hidden}
.ars-card::after{content:'';position:absolute;inset:0 auto 0 0;width:120px;
  background:linear-gradient(100deg,var(--tone-bg),transparent);opacity:.75;pointer-events:none}
.ars-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#D7DFC9}
.ars-card-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ars-ico{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  font-size:22px;background:var(--tone-soft)}
.q-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;
  color:var(--tone-deep);background:var(--tone-bg);border:1px solid var(--tone-soft);
  border-radius:var(--r-pill);padding:3px 10px;white-space:nowrap}
.ars-card h3{position:relative;margin:13px 0 6px;font-size:15.5px;color:var(--ink);font-weight:700}
.ars-meta{position:relative;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--faint)}
.ars-meta i{font-style:normal;margin-left:auto;font-family:var(--f-outfit)}
.ars-main{position:relative;display:flex;align-items:baseline;gap:7px;margin:13px 0 10px;
  padding:10px 12px;border-radius:12px;background:var(--tone-bg)}
.ars-main b{font-family:var(--f-outfit);font-size:23px;font-weight:700;color:var(--tone-deep);line-height:1}
.ars-main span{font-size:11.5px;color:var(--muted)}
.ars-main i{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:var(--tone);
  background:#fff;border-radius:8px;padding:3px 8px}
.ars-subs{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ars-subs li{display:flex;align-items:center;font-size:12px;color:var(--muted)}
.ars-subs li::before{content:'·';margin-right:7px;color:var(--tone);font-weight:700}
.ars-subs li i{margin-left:auto;font-style:normal;font-weight:700;color:var(--ink)}
.ars-card .ars-foot{position:relative;display:flex;align-items:center;gap:8px;margin-top:14px;
  padding-top:13px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--muted)}
.ars-go{margin-left:auto;font-weight:700;color:var(--green)}

/* 武器 / 装备 语义区分：武器暖色攻击向，装备青绿防御向 */
.ars-card.is-weapon .ars-ico{box-shadow:inset 0 0 0 1px rgba(201,116,58,.22)}
.ars-card.is-armor{border-left-color:var(--tone)}
.ars-card.is-armor .ars-main b{color:var(--green-deep)}

/* ---- 道具卡（无属性面板） ---- */
.ars-card.is-item .ars-effect{position:relative;margin:12px 0 0;font-size:12.5px;line-height:1.72;color:var(--muted)}
.ars-card.is-item .ars-foot .chip{margin:0}
.ars-meta .ars-cat{flex:none;padding:2px 8px;border-radius:7px;font-size:10.5px;font-weight:700;
  color:var(--green-deep);background:rgba(52,86,65,.08)}

/* ---- 器械详情头部 ---- */
.ars-head{display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--tone-bg),#fff 70%);border:1px solid var(--tone-soft);
  margin:26px 0}
.ars-head-ico{width:76px;height:76px;border-radius:22px;background:#fff;display:flex;align-items:center;
  justify-content:center;font-size:38px;box-shadow:var(--shadow-sm);flex-shrink:0}
.ars-head h1{margin:6px 0 8px;font-size:clamp(22px,3vw,30px);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ars-head .article-meta{margin:0}

/* ---- 详情两栏 ---- */
.ars-columns{display:grid;grid-template-columns:1fr 430px;gap:26px;align-items:start}
.ars-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;
  box-shadow:var(--shadow-sm);margin-bottom:18px}
.ars-panel h4{margin:0 0 16px;font-size:14.5px;color:var(--ink)}
.ars-big{display:flex;align-items:baseline;gap:10px;padding:16px 18px;border-radius:16px;background:var(--tone-bg)}
.ars-big b{font-family:var(--f-outfit);font-size:36px;font-weight:700;color:var(--tone-deep);line-height:1}
.ars-big span{font-size:12.5px;color:var(--muted)}
.ars-big i{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;color:var(--green);
  background:#fff;border-radius:9px;padding:5px 11px}
.ars-stat-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.ars-stat-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);
  padding-bottom:9px;border-bottom:1px dashed var(--line)}
.ars-stat-list li:last-child{border-bottom:0;padding-bottom:0}
.ars-stat-list li i{margin-left:auto;font-style:normal;font-weight:700;color:var(--ink)}
.passive-card{background:#FAFBF6;border:1px solid #EDF0E4;border-left:3px solid var(--tone);border-radius:14px;padding:15px 17px}
.passive-card b{display:block;font-size:13.5px;color:var(--ink)}
.passive-card p{margin:7px 0 0;font-size:12.6px;line-height:1.75;color:var(--muted)}

/* ============================================================
   23. 强化台 / 进阶（副本材料消耗）
   ============================================================ */
.forge{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;
  box-shadow:var(--shadow-md);margin-bottom:18px}
.forge-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.forge-head b{font-size:16px;color:var(--ink)}
.forge-head span{font-size:12px;color:var(--faint)}
.forge-head em{font-style:normal;margin-left:auto;font-size:11px;font-weight:700;color:var(--gold-deep);
  background:#FBF3E6;border-radius:var(--r-pill);padding:4px 11px}
.forge-lv-top{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.forge-lv-top b{font-family:var(--f-outfit);font-size:22px;font-weight:700;color:var(--green-deep)}
.forge-lv-top i{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--muted)}
.forge-track{height:10px;border-radius:99px;background:#EFF2E7;overflow:hidden;position:relative}
.forge-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--green),#7FA66B);
  transition:width .45s cubic-bezier(.34,1.3,.64,1)}
.forge-ticks{position:relative;height:16px;margin-top:3px}
.forge-ticks i{position:absolute;top:0;width:1px;height:6px;background:#D8DECB}
.forge-delta{display:flex;align-items:center;gap:12px;margin:16px 0;padding:14px 16px;border-radius:16px;
  background:#FAFBF6;border:1px solid #EDF0E4}
.forge-delta>div{display:flex;flex-direction:column;gap:3px}
.forge-delta span{font-size:11px;color:var(--faint)}
.forge-delta b{font-family:var(--f-outfit);font-size:19px;font-weight:700;color:var(--ink)}
.forge-delta b.up{color:var(--green)}
.forge-arrow{color:var(--faint);font-size:16px}
.forge-gain{margin-left:auto;font-family:var(--f-outfit);font-size:13px;font-weight:700;color:#fff;
  background:var(--green);border-radius:99px;padding:5px 12px}
.forge-cost{display:grid;gap:10px;margin-bottom:16px}
.cost-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;
  background:#FAFBF6;border:1px solid #EDF0E4}
.cost-item.insufficient{background:#FDF3F1;border-color:#F3DAD3}
.cost-item .ci-ico{font-size:21px;line-height:1}
.cost-item b{display:block;font-size:13px;color:var(--ink)}
.cost-item i{display:block;font-style:normal;margin-top:2px;font-size:11.5px;color:var(--muted)}
.cost-item em{font-style:normal;font-weight:700;color:var(--green)}
.cost-item em:empty{display:none}
.cost-item b em{margin-left:8px;font-size:11.5px;font-weight:600}
.cost-item.insufficient em{color:#C0603F}
.forge-rate{display:grid;gap:7px;margin-bottom:16px}
.rate-row{display:flex;align-items:center;font-size:12.5px;color:var(--muted)}
.rate-row b{margin-left:auto;font-family:var(--f-outfit);font-size:15px;color:var(--ink)}
.luck-row{display:flex;align-items:center;font-size:11.5px;color:var(--faint)}
.luck-row b{margin-left:auto;font-family:var(--f-outfit);color:var(--gold-deep)}
.luck-track{height:6px;border-radius:99px;background:#F1EDE3;overflow:hidden}
.luck-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--gold-lt),var(--gold));transition:width .4s ease}
.forge-btns{display:flex;gap:10px;flex-wrap:wrap}
.forge-log{margin-top:16px;max-height:132px;overflow-y:auto;display:grid;gap:6px}
.forge-log:empty{display:none}
.log-line{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);
  background:#FAFBF6;border:1px solid #EDF0E4;border-radius:11px;padding:8px 12px}
.log-line b{font-family:var(--f-outfit);color:var(--ink)}
.log-line.ok{background:#F1F7F0;border-color:#DCEBD8}
.log-line.ok b{color:var(--green)}
.log-line.no{background:#FDF4F1;border-color:#F3DDD5}
.log-line.no b{color:#C0603F}
.forge-hint{margin:12px 0 0;font-size:11.8px;line-height:1.7;color:var(--faint)}
.forge-hint.on{color:var(--green);font-weight:600}
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.stage-grid .sg{background:#FAFBF6;border:1px solid #EDF0E4;border-radius:14px;padding:12px 14px}
.stage-grid span{display:block;font-size:11px;color:var(--faint)}
.stage-grid b{display:block;margin-top:5px;font-family:var(--f-outfit);font-size:16px;color:var(--ink)}
.stage-grid b.up{color:var(--green)}
.stage-caps{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.stage-cap{font-size:11px;font-weight:700;color:var(--muted);background:#F1F3EC;border-radius:8px;padding:4px 10px}
.stage-cap.on{background:var(--green);color:#fff}
.stage-cap.done{background:#E4EBD9;color:var(--green)}

/* ---- 材料双栏 + 流程 ---- */
.mat-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.mat-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}
.mat-panel .mp-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mat-panel .mp-ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:23px;background:var(--tone-soft)}
.mat-panel h3{margin:0;font-size:16px;color:var(--ink)}
.mat-panel .mp-sub{font-size:11.5px;color:var(--faint);margin-top:3px}
.mat-panel p{margin:0 0 14px;font-size:12.8px;line-height:1.8;color:var(--muted)}
.mat-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mat-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;background:#FAFBF6;
  border:1px solid #EDF0E4;font-size:12.5px}
.mat-list li .mi{font-size:18px}
.mat-list li b{color:var(--ink);font-weight:700}
.mat-list li em{font-style:normal;margin-left:auto;font-size:11px;color:var(--faint);text-align:right;max-width:52%}
.enh-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.enh-step{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:20px;box-shadow:var(--shadow-sm);position:relative}
.enh-step .es-n{font-family:var(--f-outfit);font-size:12px;font-weight:700;color:var(--gold-deep);
  background:#FBF3E6;border-radius:8px;padding:3px 9px;display:inline-block}
.enh-step h4{margin:12px 0 7px;font-size:14.5px;color:var(--ink)}
.enh-step p{margin:0;font-size:12.4px;line-height:1.72;color:var(--muted)}
.mat-table{width:100%;border-collapse:collapse;font-size:12.8px}
.mat-table th,.mat-table td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line)}
.mat-table th{font-size:12px;color:var(--muted);font-weight:600;background:#FAFBF6}
.mat-table td b{color:var(--ink)}
.mat-table tr:last-child td{border-bottom:0}
.mat-table .mt-kind{font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px;background:var(--tone-bg);color:var(--tone-deep)}

/* 器械弹窗复用 .modal，补两列属性布局 */
.ars-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ars-modal-grid .amg{background:#FAFBF6;border:1px solid #EDF0E4;border-radius:13px;padding:12px 14px}
.ars-modal-grid span{display:block;font-size:11px;color:var(--faint)}
.ars-modal-grid b{display:block;margin-top:4px;font-family:var(--f-outfit);font-size:17px;color:var(--ink)}

/* ============================================================
   24. 器械响应式
   ============================================================ */
@media (max-width:1180px){
  .ars-columns{grid-template-columns:1fr 380px}
  .ars-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
}
@media (max-width:1024px){
  .ars-columns{grid-template-columns:1fr}
  .ars-overview{grid-template-columns:repeat(2,1fr)}
  .enh-flow{grid-template-columns:repeat(2,1fr)}
  .mat-duo{grid-template-columns:1fr}
}
@media (max-width:768px){
  .ars-tabs{grid-template-columns:1fr}
  .ars-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .ars-head{flex-direction:column;align-items:flex-start;padding:22px}
  .ars-modal-grid{grid-template-columns:1fr}
  .stage-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ars-grid{grid-template-columns:1fr}
  .ars-overview{grid-template-columns:1fr}
  .enh-flow{grid-template-columns:1fr}
  .ars-filters{flex-direction:column;align-items:stretch}
  .forge,.ars-panel,.mat-panel{padding:18px 16px}
}

/* ============================================================ 25. 副本 · 探险地图 */
.dg-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.dg-kind{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;position:relative;overflow:hidden}
.dg-kind.live{border-color:#C6D6B4;box-shadow:var(--shadow-md)}
.dg-kind.soon{opacity:.72}
.dg-kind .dk-no{font-family:var(--f-outfit);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--faint)}
.dg-kind h3{font-size:20px;color:var(--green-deep);margin:8px 0 8px}
.dg-kind p{font-size:13.4px;line-height:24px;color:var(--body)}
.dg-kind .dk-meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px}
.dg-kind .dk-badge{position:absolute;top:18px;right:18px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}
.dg-kind.live .dk-badge{background:#EAF1E0;color:#4F6B52}
.dg-kind.soon .dk-badge{background:#F0EFE7;color:#8D8B80}

.dg-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.dg-rule{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 18px}
.dg-rule b{display:block;font-family:var(--f-outfit);font-size:24px;color:var(--green-deep);letter-spacing:-.01em}
.dg-rule span{display:block;margin-top:6px;font-size:12.5px;color:var(--muted);line-height:20px}
.dg-rule i{display:block;margin-top:10px;font-style:normal;font-size:12px;color:var(--faint);line-height:19px}

/* 难度曲线表 */
.dg-curve{width:100%;border-collapse:collapse;margin-top:22px;font-size:13.2px}
.dg-curve th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.dg-curve td{padding:11px 12px;border-bottom:1px solid #F1F2E9;vertical-align:middle}
.dg-curve tr:last-child td{border-bottom:0}
.dg-curve .c-no{font-family:var(--f-outfit);font-weight:700;color:var(--green-deep)}
.dg-curve .c-no em{font-style:normal;font-size:11px;font-weight:600;color:var(--faint);margin-left:6px}
.dg-bar{position:relative;height:9px;border-radius:999px;background:#EDEFE4;min-width:96px;overflow:hidden}
.dg-bar b{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#9CBE86,#6E9E6C)}
.dg-bar.warm b{background:linear-gradient(90deg,#E4C48A,#D8925B)}
.dg-bar.cool b{background:linear-gradient(90deg,#A9C6D4,#6E93AE)}
.dg-val{font-family:var(--f-outfit);font-weight:700;color:var(--text)}
.dg-curve .c-dim{color:var(--faint)}

/* 跟随式难度说明 */
.dg-follow{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;margin-top:26px;align-items:start}
.dg-follow-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px}
.dg-follow-card h4{font-size:15px;color:var(--green-deep);margin-bottom:10px}
.dg-follow-card p{font-size:13.4px;line-height:25px;color:var(--body)}
.dg-formula{margin-top:16px;background:#F4F6EC;border:1px dashed #D6DEC6;border-radius:var(--r-md);padding:16px 18px;font-family:var(--f-outfit);font-size:12.6px;line-height:24px;color:#54654E;white-space:pre-wrap}
.dg-anchor{width:100%;border-collapse:collapse;font-size:13px}
.dg-anchor th{text-align:left;font-size:11.6px;font-weight:600;color:var(--muted);padding:0 10px 9px;border-bottom:1px solid var(--line)}
.dg-anchor td{padding:10px;border-bottom:1px solid #F1F2E9;font-family:var(--f-outfit)}
.dg-anchor td.nm{font-family:var(--f-cn);font-weight:600;color:var(--green-deep)}
.dg-anchor tr:last-child td{border-bottom:0}

/* 区间页签 + 副本卡 */
.dg-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.dg-tab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;color:var(--body);cursor:pointer;transition:.18s;font-family:var(--f-cn)}
.dg-tab:hover{border-color:#C6D6B4;color:var(--green-deep)}
.dg-tab.on{background:var(--green);border-color:var(--green);color:#fff}
.dg-tab em{font-style:normal;font-family:var(--f-outfit);font-size:11.5px;opacity:.7;margin-left:6px}
.dg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.dg-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 20px;transition:.2s;position:relative}
.dg-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#C6D6B4}
.dg-card .dc-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dg-card h3{font-size:17px;color:var(--green-deep);margin:10px 0 8px}
.dg-card p{font-size:13.2px;line-height:23px;color:var(--body);min-height:46px}
.dg-card .dc-foot{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid #F1F2E9}
.dg-card .dc-num{font-family:var(--f-outfit);font-size:12px;color:var(--faint)}
.dg-card .dc-go{position:absolute;right:20px;bottom:18px;font-size:12.5px;font-weight:700;color:var(--accent-deep)}
/* 元素标签：底色/文字色由 .el-* 提供，这里只补圆点与内边距 */
.dg-el{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px}
.dg-el::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}

/* 关卡阶梯 */
.dg-stages{display:grid;gap:12px;margin-top:22px}
.dg-stage{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;display:grid;grid-template-columns:66px 1fr 150px 96px 118px;gap:16px;align-items:center;transition:.18s}
.dg-stage:hover{border-color:#C6D6B4;background:#FCFDF8}
.dg-stage .ds-no{font-family:var(--f-outfit);font-weight:700;font-size:13px;color:var(--green-deep);text-align:center;background:#F1F4E9;border-radius:10px;padding:8px 0}
.dg-stage .ds-no em{display:block;font-style:normal;font-size:10.5px;color:var(--faint);font-weight:600;margin-top:2px}
.dg-stage .ds-main b{display:block;font-size:14px;color:var(--ink)}
.dg-stage .ds-main span{display:block;margin-top:4px;font-size:11.8px;color:var(--muted)}
.dg-stage .ds-enemy{font-family:var(--f-outfit);font-size:14px;font-weight:700;color:var(--text);text-align:right}
.dg-stage .ds-enemy em{display:block;font-style:normal;font-size:11px;color:var(--faint);font-weight:600;margin-top:3px}
.dg-stage .ds-pass{text-align:right}
.dg-stage .ds-pass b{font-family:var(--f-outfit);font-size:15px;color:#5F8A62}
.dg-stage .ds-pass em{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:3px}
.dg-stage.boss{border-color:#E0CFA8;background:linear-gradient(180deg,#FDF9EF,#FFF)}
.dg-stage.boss .ds-no{background:#F6ECD6;color:#8A6B2F}

/* 演算台 */
.dg-sim{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin-top:24px}
.dg-sim-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dg-sim-head h3{font-size:18px;color:var(--green-deep)}
.dg-sim-head p{font-size:13px;color:var(--muted);margin-top:6px;line-height:22px}
.dg-cp{text-align:right}
.dg-cp b{display:block;font-family:var(--f-outfit);font-size:34px;font-weight:800;color:var(--green-deep);letter-spacing:-.02em;line-height:1.1}
.dg-cp span{font-size:11.6px;color:var(--faint)}
.dg-ctrl{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid #F1F2E9}
.dg-ctrl label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:9px}
.dg-ctrl select,.dg-ctrl input[type=range]{width:100%}
.dg-ctrl select{font-family:var(--f-cn);font-size:13px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}
.dg-ctrl input[type=range]{accent-color:#6E9E6C;margin-top:6px}
.dg-ctrl .val{font-family:var(--f-outfit);font-weight:700;color:var(--green-deep);font-size:13px}
.dg-sim-res{margin-top:22px;overflow-x:auto}
.dg-sim-res table{width:100%;border-collapse:collapse;font-size:12.8px;min-width:640px}
.dg-sim-res th{text-align:left;font-size:11.4px;color:var(--muted);font-weight:600;padding:0 10px 9px;border-bottom:1px solid var(--line)}
.dg-sim-res td{padding:9px 10px;border-bottom:1px solid #F3F4EC;font-family:var(--f-outfit)}
.dg-sim-res td.nm{font-family:var(--f-cn);color:var(--green-deep);font-weight:600}
.dg-sim-res tr.hot td{background:#FDF7EC}
.dg-hint{margin-top:14px;font-size:12.2px;color:var(--faint);line-height:21px}

.dg-note{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.dg-note div{background:#F6F8F0;border-radius:var(--r-md);padding:18px 20px;font-size:12.8px;line-height:23px;color:var(--body)}
.dg-note b{color:var(--green-deep)}

@media(max-width:1180px){
  .dg-rules{grid-template-columns:repeat(2,1fr)}
  .dg-ctrl{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
  .dg-trio{grid-template-columns:1fr}
  .dg-follow{grid-template-columns:1fr}
  .dg-stage{grid-template-columns:60px 1fr 120px;row-gap:10px}
  .dg-stage .ds-pass{text-align:left}
}
@media(max-width:768px){
  .dg-grid{grid-template-columns:1fr}
  .dg-note{grid-template-columns:1fr}
  .dg-stage{grid-template-columns:56px 1fr}
  .dg-stage .ds-enemy{text-align:left}
  .dg-curve{font-size:12.4px}
  .dg-curve th,.dg-curve td{padding:9px 7px}
}
@media(max-width:560px){
  .dg-rules{grid-template-columns:1fr}
  .dg-ctrl{grid-template-columns:1fr}
  .dg-sim{padding:20px 18px}
}

/* 副本详情页头部 */
.dg-detail-head{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;margin-top:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px}
.dg-detail-head h1{font-size:30px;color:var(--green-deep);margin:10px 0 12px;letter-spacing:-.01em}
.dg-detail-head p{font-size:14px;line-height:26px;color:var(--body);max-width:52ch}
.ddh-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ddh-side{display:grid;gap:12px}
.ddh-stat{background:#F6F8F0;border-radius:var(--r-md);padding:16px 18px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ddh-stat b{font-family:var(--f-outfit);font-size:22px;font-weight:800;color:var(--green-deep);letter-spacing:-.01em}
.ddh-stat i{font-style:normal;font-size:11.8px;color:var(--muted);white-space:nowrap}
@media(max-width:1024px){
  .dg-detail-head{grid-template-columns:1fr}
  .ddh-side{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .dg-detail-head{padding:22px 20px}
  .ddh-side{grid-template-columns:1fr}
}

/* ============================================================ 26. 副本 · 神秘空间（无尽穿越） */
/* 三类副本卡片现在是链接，补齐块级行为与箭头 */
a.dg-kind{display:block}
.dg-kind{transition:.2s}
a.dg-kind:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#C6D6B4}
.dg-kind .dk-go{position:absolute;right:22px;bottom:20px;font-size:12.5px;font-weight:700;color:var(--accent-deep)}

/* 首屏统计条 */
.my-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.my-strip div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px}
.my-strip b{display:block;font-family:var(--f-outfit);font-size:24px;font-weight:800;color:var(--green-deep);letter-spacing:-.01em}
.my-strip i{font-style:normal;font-size:11.8px;color:var(--faint)}

/* 模型说明 */
.my-model{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px;align-items:start}
.my-model-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px}
.my-model-card h4{font-size:15px;color:var(--green-deep);margin-bottom:10px}
.my-model-card p{font-size:13.4px;line-height:25px;color:var(--body)}
.my-model-card p + p{margin-top:12px}

/* 世界页签 */
.my-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.my-tab{display:grid;grid-template-columns:14px 1fr;grid-template-rows:auto auto auto;align-items:center;
  column-gap:10px;row-gap:2px;text-align:left;padding:16px 18px;border:1px solid var(--line);background:var(--card);
  border-radius:var(--r-md);cursor:pointer;transition:.18s}
.my-tab:hover{border-color:#C6D6B4}
.my-tab.on{background:var(--green);border-color:var(--green)}
.my-tab b{font-size:14.5px;color:var(--ink);font-weight:700}
.my-tab em{font-style:normal;grid-column:2;font-size:11.5px;color:var(--muted)}
.my-tab i{grid-column:2;font-style:normal;font-family:var(--f-outfit);font-size:11.5px;color:var(--faint)}
.my-tab.on b{color:#fff}
.my-tab.on em,.my-tab.on i{color:rgba(255,255,255,.78)}
.mt-dot{grid-row:1 / span 3;width:12px;height:12px;border-radius:50%;align-self:center}

/* 世界面板 */
.my-panels{margin-top:26px}
.my-panel.hide{display:none}
.my-head{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px}
.my-head h3{font-size:26px;color:var(--green-deep);margin:10px 0 6px;letter-spacing:-.01em}
.my-sub{font-size:13.5px;color:var(--accent-deep);font-weight:600}
.my-intro{font-size:14px;line-height:27px;color:var(--body);margin-top:12px;max-width:56ch}
.my-theme{margin-top:16px;font-size:12.2px;color:var(--muted);letter-spacing:.02em;
  border-top:1px dashed #E2E7D6;padding-top:14px}
.my-head-r{display:grid;gap:10px}
.my-kv{background:#F6F8F0;border-radius:var(--r-md);padding:12px 16px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.my-kv b{font-family:var(--f-outfit);font-size:18px;font-weight:800;color:var(--green-deep);letter-spacing:-.01em}
.my-kv i{font-style:normal;font-size:11.4px;color:var(--muted);white-space:nowrap}

/* 波动曲线 */
.my-curve{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px 16px}
.my-svg{width:100%;height:auto;display:block}
.my-ax{font-family:var(--f-outfit);font-size:11px;fill:#869084}
.my-ax.hard{fill:#C9814C;font-weight:700;font-size:10.6px}
.my-ax.dim{fill:#A9B1A4}
.my-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #F1F2E9;
  font-size:11.8px;color:var(--muted)}
.my-legend span{display:inline-flex;align-items:center;gap:7px}
.my-legend i{display:inline-block;flex:none}
.lg-line{width:18px;height:2.4px;border-radius:2px}
.lg-dot{width:7px;height:7px;border-radius:50%;background:#C4CDBA}
.lg-ring{width:9px;height:9px;border-radius:50%;border:1.8px solid #8AA07C;background:#fff}
.lg-sq{width:9px;height:9px;border-radius:2px;background:#8AA07C}
.lg-dash{width:20px;height:0;border-top:1.4px dashed #C9814C}

/* 规则 / 图鉴 / 剧情 */
.my-h4{font-size:15px;color:var(--green-deep);margin:34px 0 0}
.my-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.my-rule{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 18px}
.my-rule b{display:block;font-size:14px;color:var(--green-deep)}
.my-rule span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.my-rule i{display:block;margin-top:8px;font-style:normal;font-family:var(--f-outfit);font-size:17px;
  font-weight:800;color:var(--accent-deep);letter-spacing:-.01em}
.my-rule p{margin-top:9px;font-size:11.8px;line-height:20px;color:var(--faint)}

.my-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.my-mob{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;position:relative;overflow:hidden}
.my-mob::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px}
.my-mob.t-1::before{background:#B7C9A6}
.my-mob.t-2::before{background:#E0C489}
.my-mob.t-3::before{background:#D8925B}
.my-mob .mm-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.my-mob b{font-size:13.6px;color:var(--ink)}
.my-mob em{font-style:normal;font-size:10.6px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.my-mob.t-1 em{background:#EEF3E6;color:#3E6450}
.my-mob.t-2 em{background:#F8F0DC;color:#8F5A20}
.my-mob.t-3 em{background:#FBEDE1;color:#8F5A20}
.my-mob p{margin-top:8px;font-size:12.2px;line-height:21px;color:var(--body)}

.my-plot{display:grid;gap:12px;margin-top:16px}
.my-node{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px}
.my-node .mn-w{font-family:var(--f-outfit);font-weight:800;font-size:19px;color:var(--accent-deep);text-align:center;
  background:#FBF5EC;border-radius:12px;padding:10px 0;line-height:1.1}
.my-node .mn-w em{display:block;font-style:normal;font-size:10.6px;font-weight:600;color:#5C6E5E;margin-top:2px}
.my-node .mn-body b{font-size:14px;color:var(--green-deep)}
.my-node .mn-body p{margin-top:6px;font-size:13px;line-height:24px;color:var(--body)}

/* 时之砂 / 深度 */
.my-sand{margin-top:22px;min-width:640px}
.my-matrix{margin-top:22px;min-width:760px}
.my-matrix th{white-space:nowrap;vertical-align:bottom}
.my-note{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.my-note div{background:#F6F8F0;border-radius:var(--r-md);padding:18px 20px;font-size:12.8px;line-height:23px;color:var(--body)}
.my-note b{color:var(--green-deep)}

.my-miles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:16px}
.my-mile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 16px;text-align:center}
.my-mile b{display:block;font-family:var(--f-outfit);font-size:24px;font-weight:800;color:var(--accent-deep);letter-spacing:-.02em}
.my-mile span{display:block;margin-top:4px;font-size:12.6px;font-weight:700;color:var(--green-deep)}
.my-mile i{display:block;margin-top:8px;font-style:normal;font-size:11.4px;line-height:19px;color:var(--faint)}

/* 穿越模拟器 */
.my-sim .dg-ctrl{grid-template-columns:repeat(5,1fr)}
.my-sim-body{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-top:22px;padding-top:20px;border-top:1px solid #F1F2E9}
.my-sim-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-content:start}
.my-kv2{background:#F6F8F0;border-radius:var(--r-md);padding:14px 16px}
.my-kv2 b{display:block;font-family:var(--f-outfit);font-size:19px;font-weight:800;color:var(--green-deep);letter-spacing:-.01em}
.my-kv2 span{display:block;margin-top:3px;font-size:11.6px;color:var(--muted)}
.my-kv2 i{display:block;margin-top:5px;font-style:normal;font-size:10.8px;color:var(--faint)}
.my-hist{background:#FBFCF6;border:1px solid #EFF2E6;border-radius:var(--r-md);padding:16px 18px}
.mh-title{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:12px}
.mh-row{display:grid;grid-template-columns:62px 1fr 52px;gap:10px;align-items:center;margin-bottom:7px}
.mh-row span{font-family:var(--f-outfit);font-size:11.4px;color:var(--faint)}
.mh-bar{position:relative;height:9px;border-radius:999px;background:#EDEFE4;overflow:hidden}
.mh-bar b{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#9CBE86,#6E9E6C)}
.mh-row em{font-style:normal;font-family:var(--f-outfit);font-size:11.4px;color:var(--muted);text-align:right}
.my-win{color:#5F8A62;font-weight:700}
.my-lose{color:#C0703C;font-weight:700}

@media(max-width:1180px){
  .my-model,.my-sim-body{grid-template-columns:1fr}
  .my-roster{grid-template-columns:repeat(2,1fr)}
  .my-miles{grid-template-columns:repeat(3,1fr)}
  .my-sim .dg-ctrl{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .my-tabs{grid-template-columns:repeat(2,1fr)}
  .my-head{grid-template-columns:1fr}
  .my-head-r{grid-template-columns:repeat(4,1fr)}
  .my-rules{grid-template-columns:repeat(2,1fr)}
  .my-strip{grid-template-columns:repeat(2,1fr)}
  .my-sim-kv{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .my-roster{grid-template-columns:1fr}
  .my-note{grid-template-columns:1fr}
  .my-node{grid-template-columns:70px 1fr;gap:14px}
  .my-miles{grid-template-columns:repeat(2,1fr)}
  .my-sim .dg-ctrl{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .my-tabs{grid-template-columns:1fr}
  .my-head{padding:22px 20px}
  .my-head-r{grid-template-columns:repeat(2,1fr)}
  .my-rules,.my-strip{grid-template-columns:1fr}
  .my-sim-kv,.my-sim .dg-ctrl{grid-template-columns:1fr}
  .my-node{grid-template-columns:1fr}
  .my-node .mn-w{display:inline-block;padding:6px 14px;text-align:left}
}

/* ============================================================ 27. 副本 · 终极大陆（无尽挑战路线） */
/* 深色首屏上的统计条 */
.ct-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.ct-strip div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-md);padding:16px 18px}
.ct-strip b{display:block;font-family:var(--f-outfit);font-size:19px;font-weight:800;color:#F3E4C9;letter-spacing:-.01em}
.ct-strip i{display:block;margin-top:3px;font-style:normal;font-size:11.6px;color:rgba(255,255,255,.62)}

.ct-h4{font-size:15px;color:var(--green-deep);margin:36px 0 0}

/* 四种关位 */
.ct-kinds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.ct-kind{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 20px 18px;overflow:hidden}
.ct-kind::before{content:'';position:absolute;left:0;top:0;right:0;height:3px}
.ct-kind.k-n::before{background:#9DBB8C}
.ct-kind.k-s::before{background:#7FA8B8}
.ct-kind.k-m::before{background:#C08A5E}
.ct-kind.k-b::before{background:#A8562F}
.ct-kind .ck-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ct-kind .ck-top b{font-size:15px;color:var(--green-deep);font-weight:700}
.ct-kind .ck-top em{font-style:normal;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}
.ct-kind.k-n .ck-top em{background:#EEF3E6;color:#3E6450}
.ct-kind.k-s .ck-top em{background:#E8F1F4;color:#3F6585}
.ct-kind.k-m .ck-top em{background:#F8F0DC;color:#8F5A20}
.ct-kind.k-b .ck-top em{background:#FBEDE1;color:#8F5A20}
.ct-kind .ck-num{margin-top:12px;font-family:var(--f-outfit);font-size:26px;font-weight:800;
  color:var(--accent-deep);letter-spacing:-.02em;line-height:1}
.ct-kind .ck-num i{margin-left:6px;font-style:normal;font-family:var(--f-sans,inherit);font-size:11.4px;
  font-weight:500;color:var(--faint);letter-spacing:0}
.ct-kind p{margin-top:10px;font-size:12.2px;line-height:21px;color:var(--body)}

/* 节奏缎带 */
.ct-ribbon{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:16px}
.rb-cell{position:relative;border-radius:9px;border:1px solid var(--line);background:var(--card);
  padding:9px 6px 8px;text-align:center;transition:.16s}
.rb-cell b{display:block;font-family:var(--f-outfit);font-size:12.4px;font-weight:700;color:var(--ink)}
.rb-cell span{display:block;margin-top:2px;font-family:var(--f-outfit);font-size:10.6px;color:var(--faint)}
.rb-cell.k-n{background:#F7F9F2}
.rb-cell.k-s{background:#EEF4F6;border-color:#D3E2E7}
.rb-cell.k-s b{color:#4E7284}
.rb-cell.k-m{background:#FBF3E3;border-color:#EBD9B6}
.rb-cell.k-m b{color:#8F5A20}
.rb-cell.k-b{background:#A8562F;border-color:#8E4526}
.rb-cell.k-b b,.rb-cell.k-b span{color:#FBEFE4}
.rb-cell.k-b span{color:rgba(255,255,255,.75)}
.rb-cell.hot{box-shadow:0 0 0 2px rgba(192,138,94,.22)}
.rb-tag{position:absolute;left:50%;top:-9px;transform:translateX(-50%);font-style:normal;
  font-size:9.4px;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:999px;
  white-space:nowrap;background:var(--green-deep);color:#F3E4C9}
.rb-cell.k-b .rb-tag{background:#FBEFE4;color:#8E4526}

/* 锯齿轮曲线 */
.ct-curve{margin-top:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px 16px}
.ct-svg{width:100%;height:auto;display:block}
.ct-ax{font-family:var(--f-outfit);font-size:11px;fill:#869084}
.ct-ax.hard{font-weight:700;font-size:10.4px}
.ct-ax.dim{fill:#A9B1A4}
.ct-ax.hot{fill:#8F5A20;font-weight:700;font-size:10.4px}
.ct-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:12px;
  border-top:1px solid #F1F2E9;font-size:11.8px;color:var(--muted)}
.ct-legend span{display:inline-flex;align-items:center;gap:7px}
.ct-legend i{display:inline-block;flex:none}
.ct-legend .lg-line{width:18px;height:2.4px;border-radius:2px;background:linear-gradient(90deg,#6E9E68,#3F6B46)}
.ct-legend .lg-ring{width:9px;height:9px;border-radius:50%;border:1.8px solid #7FA36B;background:#fff}
.ct-legend .lg-sq{width:9px;height:9px;border-radius:2px;background:#B96A46}
.ct-legend .lg-dot{width:9px;height:9px;border-radius:50%;background:#C9814C}
.ct-legend .lg-dash{width:20px;height:0;border-top:1.4px dashed #9DBB8C}

/* 模型说明 */
.ct-model{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:start}
.ct-model-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px}
.ct-model-card h4{font-size:15px;color:var(--green-deep);margin-bottom:10px}
.ct-model-card p{font-size:13.4px;line-height:25px;color:var(--body)}
.ct-model-card p + p{margin-top:12px}

/* 关位表 / 结算表 */
.ct-cycle,.ct-stages,.ct-oil,.ct-settle,.ct-matrix{margin-top:22px;min-width:680px}
.ct-matrix{min-width:900px}
.ct-matrix th{white-space:nowrap;vertical-align:bottom}
.ct-oil,.ct-settle{min-width:740px}
.ct-pill{display:inline-block;font-size:11.4px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.ct-pill.k-n{background:#EEF3E6;color:#3E6450}
.ct-pill.k-s{background:#E8F1F4;color:#3F6585}
.ct-pill.k-m{background:#F8F0DC;color:#8F5A20}
.ct-pill.k-b{background:#FBEDE1;color:#8F5A20}
tr.k-m > td{background:#FEFAF2}
tr.k-b > td{background:#FDF3EC}
tr.k-m > td:first-child,tr.k-b > td:first-child{box-shadow:inset 3px 0 0 #C08A5E}
tr.k-b > td:first-child{box-shadow:inset 3px 0 0 #A8562F}

/* 灯油提示 */
.ct-note{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.ct-note div{background:#F6F8F0;border-radius:var(--r-md);padding:18px 20px;
  font-size:12.8px;line-height:23px;color:var(--body)}
.ct-note b{color:var(--green-deep)}

/* 结算里程碑 */
.ct-miles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.ct-mile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px 22px}
.ct-mile.hot{background:#FBF6EF;border-color:#E6D5BE}
.ct-mile .cm-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ct-mile .cm-top b{font-size:19px;color:var(--green-deep);font-weight:700;letter-spacing:-.01em}
.ct-mile .cm-top em{font-style:normal;font-size:11.6px;font-weight:700;padding:3px 10px;
  border-radius:999px;background:#EEF3E6;color:#3E6450;white-space:nowrap}
.ct-mile.hot .cm-top em{background:#F6E7D3;color:#8F5A20}
.ct-mile .cm-reward{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.ct-mile .cm-reward span{background:#F6F8F0;border-radius:var(--r-md);padding:12px 14px}
.ct-mile.hot .cm-reward span{background:#FDF8F1}
.ct-mile .cm-reward b{display:block;font-family:var(--f-outfit);font-size:19px;font-weight:800;
  color:var(--accent-deep);letter-spacing:-.01em}
.ct-mile .cm-reward i{display:block;margin-top:3px;font-style:normal;font-size:11.2px;color:var(--faint)}
.ct-mile p{margin-top:16px;font-size:13px;line-height:24px;color:var(--body)}
.ct-mile .cm-note{margin-top:14px;padding-top:12px;border-top:1px dashed #E2E7D6;
  font-size:11.8px;line-height:20px;color:var(--faint)}

/* 远征模拟器 */
.ct-sim .dg-ctrl{grid-template-columns:repeat(5,1fr)}
.ct-sim-body{display:grid;grid-template-columns:1.32fr .68fr;gap:24px;margin-top:22px;
  padding-top:20px;border-top:1px solid #F1F2E9}
.ct-sim-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-content:start}
.ct-kv2{background:#F6F8F0;border-radius:var(--r-md);padding:14px 16px}
.ct-kv2 b{display:block;font-family:var(--f-outfit);font-size:19px;font-weight:800;
  color:var(--green-deep);letter-spacing:-.01em}
.ct-kv2 span{display:block;margin-top:3px;font-size:11.6px;color:var(--muted)}
.ct-kv2 i{display:block;margin-top:5px;font-style:normal;font-size:10.8px;color:var(--faint)}
.ct-hist{background:#FBFCF6;border:1px solid #EFF2E6;border-radius:var(--r-md);padding:16px 18px}
.ch-title{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:12px}
.ch-row{display:grid;grid-template-columns:72px 1fr 52px;gap:10px;align-items:center;margin-bottom:8px}
.ch-row span{font-family:var(--f-outfit);font-size:11.2px;color:var(--faint)}
.ch-bar{position:relative;height:10px;border-radius:999px;background:#EDEFE4;overflow:hidden}
.ch-bar b{position:absolute;left:0;top:0;bottom:0;border-radius:999px;
  background:linear-gradient(90deg,#9CBE86,#6E9E6C)}
.ch-row.hot .ch-bar b{background:linear-gradient(90deg,#E2B37F,#C08048)}
.ch-row em{font-style:normal;font-family:var(--f-outfit);font-size:11.2px;color:var(--muted);text-align:right}
.ct-win{color:#5F8A62;font-weight:700}
.ct-lose{color:#C0703C;font-weight:700}
.ct-sim .dg-sim-res td.dim{color:var(--faint);font-family:var(--f-outfit)}

@media(max-width:1180px){
  .ct-kinds{grid-template-columns:repeat(2,1fr)}
  .ct-model,.ct-sim-body,.ct-miles{grid-template-columns:1fr}
  .ct-sim .dg-ctrl{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .ct-strip{grid-template-columns:repeat(2,1fr)}
  .ct-ribbon{grid-template-columns:repeat(6,1fr)}
  .ct-sim-kv{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .ct-note{grid-template-columns:1fr}
  .ct-ribbon{grid-template-columns:repeat(5,1fr)}
  .ct-sim .dg-ctrl{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .ct-kinds,.ct-strip,.ct-sim-kv,.ct-sim .dg-ctrl{grid-template-columns:1fr}
  .ct-ribbon{grid-template-columns:repeat(4,1fr)}
  .ct-mile .cm-reward{grid-template-columns:1fr}
}

/* ---------- 22. 周年庆典活动 ---------- */
.ev-hero{position:relative;overflow:hidden}
.ev-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,138,75,.13),transparent 70%);pointer-events:none}
.ev-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
/* 这两页用的是**浅色** page-hero（--bg-alt 奶油底），所以标签必须按浅底配色：
   白底 + 可见描边 + 深绿字。原来写的 rgba(255,255,255,.09) 底 + #F3E4C9 字
   是深色底才成立的配色，落在奶油底上等于隐形。深色底变体在下面单列一条兜底。 */
.ev-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  font-size:12.5px;font-weight:600;color:var(--green-deep)}
.page-hero.dark .ev-chip{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);
  box-shadow:none;color:#F3E4C9}
.ev-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 4px}
.ev-stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;
  box-shadow:var(--sh-1)}
.ev-stat b{display:block;font-family:var(--f-outfit);font-size:26px;font-weight:800;color:var(--green-deep);line-height:1.1}
.ev-stat span{display:block;margin-top:6px;font-size:12.5px;color:var(--ink);font-weight:600}
.ev-stat i{display:block;margin-top:2px;font-size:11.5px;color:var(--faint);font-style:normal}

/* ---- 规则 ---- */
.ev-rules{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 26px;box-shadow:var(--sh-1)}
.ev-rules h3{margin:0 0 12px;font-size:16px;color:var(--ink)}
.ev-rules ul{margin:0;padding-left:20px;display:grid;gap:8px}
.ev-rules li{font-size:13px;line-height:1.8;color:var(--muted)}
.ev-rules-note{margin:14px 0 0;font-size:12px;color:var(--faint)}

/* ---- 快捷入口 ---- */
.ev-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.ev-quick-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--r-md);
  background:#fff;border:1px solid var(--line);text-decoration:none;transition:.25s;box-shadow:var(--sh-1)}
.ev-quick-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:var(--sh-2)}
.ev-quick-ico{font-size:22px}
.ev-quick-card b{font-size:13.5px;color:var(--ink)}
.ev-quick-card i{font-size:11.5px;color:var(--faint);font-style:normal}

/* ---- 任务 ---- */
.ev-group{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 26px;
  margin-bottom:16px;box-shadow:var(--sh-1)}
.ev-group-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ev-group-head h3{margin:0;font-size:17px;color:var(--ink)}
.ev-group-note{font-size:12px;color:var(--faint)}
.ev-group-count{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--green-deep)}
.ev-task-list{display:grid;gap:8px}
.ev-task{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:var(--cream-2, #FBF8F1);transition:.2s}
.ev-task.done{background:#F1F5EC;border-color:#CBD9BE}
.ev-check{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid var(--line-strong,#C9C2B2);
  background:#fff;cursor:pointer;font-size:14px;color:#fff;line-height:1;transition:.2s}
.ev-task.done .ev-check{background:var(--green);border-color:var(--green)}
.ev-task-main{flex:1;min-width:0}
.ev-task-main b{display:block;font-size:13.5px;color:var(--ink)}
.ev-task.done .ev-task-main b{color:var(--faint);text-decoration:line-through}
.ev-task-main i{display:block;margin-top:2px;font-size:11.5px;color:var(--faint);font-style:normal}
.ev-task-energy{flex:none;font-family:var(--f-outfit);font-weight:800;font-size:13px;color:#C9743A}
.ev-task-go{flex:none;font-size:12px;font-weight:700;color:var(--green);text-decoration:none}
.ev-task-go:hover{text-decoration:underline}

/* ---- 能量进度条 ---- */
.ev-bar-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 28px;
  margin-bottom:22px;box-shadow:var(--sh-1)}
.ev-bar-top{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:12px}
.ev-bar-top b{font-family:var(--f-outfit);font-size:16px;color:var(--green-deep)}
.ev-bar{position:relative;height:14px;border-radius:99px;background:#EFEAE0;overflow:visible}
.ev-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--green),#5A8A64);transition:width .4s}
.ev-mark{position:absolute;top:-8px;transform:translateX(-50%);text-align:center}
.ev-mark i{display:block;width:2px;height:30px;background:#C9C2B2;margin:0 auto}
.ev-mark b{display:block;font-size:10.5px;color:var(--faint);white-space:nowrap;margin-top:2px}
.ev-mark.ok i{background:var(--green)}
.ev-mark.ok b{color:var(--green-deep);font-weight:700}
.ev-bar-foot{margin-top:14px;font-size:11.5px;color:var(--faint)}

/* ---- 里程碑礼包 ---- */
.ev-tier{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 26px;
  margin-bottom:16px;box-shadow:var(--sh-1);opacity:.75}
.ev-tier.unlocked{opacity:1;border-color:#CBD9BE}
.ev-tier.claimed{background:#F7F9F3}
.ev-tier-head{position:relative;margin-bottom:16px}
.ev-tier-need{display:inline-block;padding:3px 10px;border-radius:99px;background:rgba(52,86,65,.09);
  color:var(--green-deep);font-size:11.5px;font-weight:700}
.ev-tier-head h3{margin:8px 0 4px;font-size:18px;color:var(--ink)}
.ev-tier-head p{margin:0;font-size:12.5px;color:var(--muted)}
.ev-tier-flag{position:absolute;right:0;top:0;font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px}
.ev-tier-flag.lock{background:#F0EDE6;color:var(--faint)}
.ev-tier-flag.go{background:var(--green);color:#fff}
.ev-tier-claimed .ev-tier-flag{background:var(--green-deep);color:#fff}
.ev-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ev-option{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-md);
  border:1px solid var(--line);background:#fff}
.ev-option.picked{border-color:var(--green);background:#F1F5EC}
.ev-option-ico{font-size:24px}
.ev-option-main{flex:1;min-width:0}
.ev-option-main b{display:block;font-size:13px;color:var(--ink)}
.ev-option-main i{display:block;font-size:11px;color:var(--faint);font-style:normal;margin-top:2px}
.ev-tag{flex:none;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px}
.ev-tag-神器{background:#F6E7C8;color:#8A5A12}
.ev-tag-传说{background:#F3E3D3;color:#8F5A20}
.ev-tag-史诗{background:#E6DEF2;color:#6B4FA3}
.ev-tag-珍贵{background:#DCE9F5;color:#2F5D8A}
.ev-tag-材料{background:#E8EDE3;color:#4C6B4F}
.ev-option-btn{flex:none;padding:6px 14px;border:none;border-radius:99px;background:var(--green);color:#fff;
  font-size:12px;font-weight:700;cursor:pointer;transition:.2s}
.ev-option-btn:hover:not(:disabled){background:var(--green-deep)}
.ev-option-btn:disabled{background:#D8D3C8;cursor:not-allowed}
.ev-option-state{flex:none;font-size:12px;font-weight:700;color:var(--green-deep)}

/* ---- 集市 ---- */
.ev-shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ev-shop-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--sh-1)}
.ev-shop-card.disabled{opacity:.65}
.ev-shop-ico{font-size:28px}
.ev-shop-main{flex:1;min-width:0}
.ev-shop-main b{display:block;font-size:14px;color:var(--ink)}
.ev-shop-main i{display:block;font-size:11.5px;color:var(--faint);font-style:normal;margin-top:2px}
.ev-shop-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.ev-cost{font-family:var(--f-outfit);font-weight:800;font-size:13px;color:#C9743A}
.ev-stock{font-size:11.5px;color:var(--muted)}
.ev-shop-flag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}
.ev-shop-flag.out{background:#F3E3E0;color:#A8503C}
.ev-shop-flag.lock{background:#F0EDE6;color:var(--faint)}
.ev-shop-act{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.ev-shop-link{font-size:12px;font-weight:700;color:var(--green);text-decoration:none}
.ev-shop-btn{padding:8px 18px;border:none;border-radius:99px;background:var(--green);color:#fff;
  font-size:12.5px;font-weight:700;cursor:pointer;transition:.2s}
.ev-shop-btn:hover:not(:disabled){background:var(--green-deep)}
.ev-shop-btn:disabled{background:#D8D3C8;cursor:not-allowed}

/* ---- 背包 ---- */
.ev-bag{margin-top:22px;background:#fff;border:1px dashed var(--line-strong,#C9C2B2);border-radius:var(--r-lg);
  padding:22px 26px}
.ev-bag.empty{color:var(--faint);font-size:13px;text-align:center}
.ev-bag h3{margin:0 0 14px;font-size:15px;color:var(--ink)}
.ev-bag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ev-bag-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-sm);
  background:var(--cream-2,#FBF8F1);border:1px solid var(--line)}
.ev-bag-item span{font-size:20px}
.ev-bag-item b{font-size:12.5px;color:var(--ink)}
.ev-bag-item i{font-size:10.5px;color:var(--faint);font-style:normal;margin-left:auto}

@media(max-width:900px){
  .ev-stats,.ev-quick{grid-template-columns:repeat(2,1fr)}
  .ev-options{grid-template-columns:1fr}
  .ev-shop-grid{grid-template-columns:1fr}
  .ev-bag-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .ev-stats,.ev-quick{grid-template-columns:1fr}
  .ev-group-count{margin-left:0;width:100%}
  .ev-task{flex-wrap:wrap}
}

/* ---------- 23. 副本掉落总览 ---------- */
.dg-drops-note{margin:0 0 14px;font-size:12px;line-height:1.9;color:var(--faint)}
.dg-drop-table{min-width:920px}
.dg-drop-table td{vertical-align:top}
.dg-drop-table .c-no b{display:block;font-size:13px;color:var(--ink)}
.dg-drop-table .c-no i{display:block;font-style:normal;font-size:11px;color:var(--faint);margin-top:2px}
.dg-drop-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--ink);
  padding:3px 0}
.dg-drop-row i{font-style:normal;font-size:11px;color:var(--faint)}
.dg-tier{display:inline-block;padding:1px 8px;border-radius:99px;font-size:10.5px;font-weight:700}
.dg-tier.t-common{background:#E8EDE3;color:#4C6B4F}
.dg-tier.t-rare{background:#DCE9F5;color:#2F5D8A}
.dg-tier.t-epic{background:#E6DEF2;color:#6B4FA3}
.dg-tier.t-legend{background:#F3E3D3;color:#8F5A20}
.dg-tier.t-mythic{background:#F6E7C8;color:#8A5A12}
.dg-drops-legend{margin:14px 0 0;font-size:12px;line-height:1.9;color:var(--muted)}
.dg-drop-sum{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.dg-drop-sum-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 22px;
  box-shadow:var(--sh-1)}
.dg-drop-sum-col h4{margin:0 0 10px;font-size:14px;color:var(--ink)}
.dg-drop-sum-col ul{margin:0;padding-left:18px;display:grid;gap:6px}
.dg-drop-sum-col li{font-size:12px;line-height:1.7;color:var(--muted)}
.dg-drop-sum-1{grid-template-columns:1fr}
@media(max-width:900px){.dg-drop-sum{grid-template-columns:1fr}}

/* ---------- 24. 来源快捷跳转 ---------- */
a.src-link{color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px dashed rgba(52,86,65,.45);
  transition:.2s;cursor:pointer}
a.src-link:hover{color:var(--green-deep);border-bottom-style:solid}
.ars-src{margin:10px 0 0;font-size:11.5px;line-height:1.8;color:var(--faint)}
.ars-foot .ars-src{display:inline}
.chip.ars-src{border-bottom:none}

/* ---------- 31. 卡片结构修正（div 包裹 + 内链） ---------- */
a.ars-go{text-decoration:none}
a.ars-go:hover{text-decoration:underline}
.ars-card{cursor:default}

/* ---------- 32. 终极大陆 · 身份凭证 ---------- */
.ct-id-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0 4px}
.ct-id-strip div{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:16px 18px;box-shadow:var(--sh-1)}
.ct-id-strip b{display:block;font-family:var(--f-outfit);font-size:21px;font-weight:800;
  color:var(--green-deep);line-height:1.1}
.ct-id-strip span{display:block;margin-top:5px;font-size:11.5px;color:var(--muted)}
@media(max-width:900px){.ct-id-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ct-id-strip{grid-template-columns:1fr}}

/* ---------- 33. 成就殿堂 ---------- */
.ac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.ac-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;
  box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:8px;transition:.25s}
.ac-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.ac-card.done{border-color:#CBD9BE;background:#F7F9F3}
.ac-card.claimed{border-color:var(--green)}
.ac-card.hidden{background:repeating-linear-gradient(45deg,#FBFAF6,#FBFAF6 12px,#F4F2EA 12px,#F4F2EA 24px)}
.ac-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ac-tier{font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:99px}
.ac-bronze{background:#EFE3D2;color:#8A6234}
.ac-silver{background:#E6E9EE;color:#5B6472}
.ac-gold{background:#F6E7C8;color:#8A5A12}
.ac-cat{font-size:11.5px;color:var(--faint)}
.ac-lock{margin-left:auto;font-size:11px;color:var(--faint)}
.ac-card h3{margin:2px 0 0;font-size:15px;color:var(--ink)}
.ac-goal{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}
.ac-foot{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ac-reward{font-size:11.5px;color:var(--green-deep);font-weight:700}
.ac-state{font-size:11.5px;font-weight:700}
.ac-state.claimed{color:var(--green-deep)}
.ac-btn{margin-left:auto;padding:6px 14px;border:none;border-radius:99px;background:var(--green);
  color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:.2s}
.ac-btn:hover{background:var(--green-deep)}
.ac-btn.demo{background:#fff;color:var(--green-deep);border:1px solid var(--green)}
.ac-btn.demo:hover{background:#F1F5EC}
@media(max-width:900px){.ac-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ac-grid{grid-template-columns:1fr}}

/* ---------- 34. 节日日历 / 重复任务标记 ---------- */
.ev-cal{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 26px;
  box-shadow:var(--sh-1)}
.ev-cal h3{margin:0 0 14px;font-size:16px;color:var(--ink)}
.ev-cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.ev-cal-item{border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;
  display:flex;flex-direction:column;gap:6px;background:var(--cream-2,#FBF8F1)}
.ev-cal-item.now{border-color:var(--green);background:#F1F5EC;box-shadow:0 0 0 3px rgba(52,86,65,.08)}
.ev-cal-item.past{opacity:.55}
.ev-cal-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.ev-cal-top b{font-size:13px;color:var(--ink)}
.ev-cal-state{flex:none;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;
  background:#EFEAE0;color:var(--muted)}
.ev-cal-item.now .ev-cal-state{background:var(--green);color:#fff}
.ev-cal-item.next .ev-cal-state{background:#F6E7C8;color:#8A5A12}
.ev-cal-item i{font-style:normal;font-size:11px;color:var(--faint);font-family:var(--f-outfit)}
.ev-cal-item p{margin:0;font-size:11.5px;line-height:1.6;color:var(--muted)}
.ev-cal-item em{font-style:normal;font-size:10.5px;color:var(--green-deep)}
.ev-task-energy i.ev-repeat{font-style:normal;font-size:10px;font-weight:700;margin-left:3px;
  padding:1px 5px;border-radius:99px;background:#F3E3D0;color:#8F5A20}
.ev-task-again{flex:none;font-size:10.5px;color:var(--faint)}
.ev-bar-cap{margin-top:10px;padding:9px 14px;border-radius:var(--r-sm);background:#FDF3E7;
  border:1px solid #F0DCC0;font-size:12px;color:#8A5A12}
.ev-bar-bank{margin-top:10px;padding:9px 14px;border-radius:var(--r-sm);background:var(--bg-alt);
  border:1px solid var(--line);font-size:12px;color:var(--body)}
.ev-bar-sub{font-style:normal;font-size:11px;color:var(--faint);margin-left:8px}
.ev-check[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:1024px){.ev-cal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ev-cal-grid{grid-template-columns:1fr}}

/* ===== 货币体系一览（points.html / 各玩法页系统临时币标注）===== */
.cur-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 22px}
.cur-ico{font-size:30px;line-height:1}
.cur-card h3{font-size:17px;font-weight:700;color:var(--ink)}
.cur-card p{font-size:13.5px;color:var(--body);line-height:24px}
.cur-card .btn{margin-top:4px;align-self:flex-start}
.cur-temp{margin-top:26px;padding:22px 24px;border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--bg-alt)}
.cur-temp>b{display:block;font-size:14px;color:var(--ink);margin-bottom:14px}
.cur-temp-row{display:flex;flex-wrap:wrap;gap:10px}
.cur-temp-note{margin:14px 0 0;font-size:12.5px;color:var(--faint);line-height:22px}
.chip-soft{background:#EEF2E6;color:#5E7152}
.temp-note{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12.5px;color:var(--faint)}
.temp-note::before{content:'⏳';font-size:13px}

/* ===== 周边商店 · 购物车与付款说明 ===== */
.item-card h3 a{color:var(--ink);text-decoration:none}
.item-card h3 a:hover{color:var(--green)}
.item-ava{display:block}
.item-add{margin-top:2px;align-self:flex-start}

/* ── 概念款 ──
 * 用「降饱和 + 半透明」把它和在售商品区分开：
 * 看得出是同一套视觉，但一眼能看出还没上架。
 * 不做成灰掉的样子——那看着像坏了；只是让它安静一点。 */
.item-card.is-concept .item-ava img{
  filter:saturate(.82) brightness(1.02);
}
.item-card.is-concept{background:var(--bg-alt)}
.item-card.is-concept h3 a{color:var(--muted)}
.price-ref i{color:var(--muted);font-size:12px}
.price-ref b{color:var(--muted)}
.item-soon{
  margin-top:2px; align-self:flex-start;
  display:inline-flex; align-items:center;
  padding:7px 14px; border-radius:999px;
  border:1px dashed var(--line);
  font-size:12.5px; color:var(--muted);
  letter-spacing:.02em;
}

.mc-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.mc-side{position:sticky;top:88px}
.btn-block{width:100%;margin-top:10px}
.btn-block:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

.mc-empty{text-align:center;padding:56px 24px;border:1px dashed var(--line);border-radius:var(--r-lg);
  background:var(--bg-alt)}
.mc-empty-ico{font-size:44px;margin-bottom:12px}
.mc-empty b{display:block;font-size:16px;color:var(--ink);margin-bottom:8px}
.mc-empty p{font-size:13px;color:var(--body);margin-bottom:16px}

.mc-row{display:grid;grid-template-columns:72px 1fr 76px 108px 84px 28px;gap:14px;align-items:center;
  padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;margin-bottom:12px}
.mc-row.over{border-color:#E7C9A0;background:#FFFBF4}
.mc-thumb{width:72px;height:72px;border-radius:var(--r-sm);overflow:hidden;display:flex;align-items:center;
  justify-content:center;background:var(--bg-alt);font-size:34px;flex:none}
.mc-thumb img{width:100%;height:100%;object-fit:cover}
.mc-main b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:4px}
.mc-main i{font-style:normal;font-size:12px;color:var(--faint);line-height:20px;display:block}
.mc-warn{display:block;margin-top:4px;font-style:normal;font-size:11.5px;color:#A8641A}
.mc-price{font-family:var(--f-outfit);font-size:14px;color:var(--gold-deep);text-align:right}
.mc-qty{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:var(--r-pill);
  overflow:hidden;justify-self:center}
.mc-qty button{width:30px;height:30px;border:0;background:var(--bg-alt);color:var(--green);font-size:15px;
  cursor:pointer;line-height:1}
.mc-qty button:hover:not([disabled]){background:var(--green);color:#fff}
.mc-qty button[disabled]{opacity:.4;cursor:not-allowed}
.mc-qty span{min-width:34px;text-align:center;font-size:13.5px;color:var(--ink);font-weight:600}
.mc-sub{font-family:var(--f-outfit);font-size:15px;font-weight:700;color:var(--ink);text-align:right}
.mc-del{width:26px;height:26px;border:0;background:transparent;color:var(--faint);border-radius:50%;
  cursor:pointer;font-size:13px;line-height:1}
.mc-del:hover{background:var(--bg-alt);color:#B4553F}

.mc-sum{padding:24px 24px 22px}
.mc-sum h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:16px}
.mc-sum-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;
  font-size:13.5px;color:var(--body)}
.mc-sum-row b{font-family:var(--f-outfit);color:var(--ink);font-weight:600}
.mc-toggle{display:flex;align-items:center;gap:9px;margin:12px 0 4px;padding:10px 12px;border-radius:var(--r-sm);
  background:var(--bg-alt);font-size:12.5px;color:var(--body);cursor:pointer}
.mc-toggle input{width:16px;height:16px;accent-color:var(--green);cursor:pointer}
.mc-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}
.mc-sum-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;
  padding-top:14px;border-top:1px solid var(--line)}
.mc-sum-total span{font-size:14px;color:var(--ink);font-weight:600}
.mc-sum-total b{font-family:var(--f-outfit);font-size:26px;font-weight:700;color:var(--gold-deep)}
.mc-sum-note{margin-top:12px;font-size:11.5px;color:var(--faint);line-height:20px}

.mc-order{margin-top:18px;padding:18px;border-radius:var(--r-md);background:var(--bg-alt);
  border:1px solid var(--line)}
.mc-order-ico{font-size:28px;margin-bottom:8px}
.mc-order>b{font-size:14px;color:var(--ink);display:block;margin-bottom:6px}
.mc-order p{font-size:12.5px;color:var(--body);margin-bottom:6px}
.mc-order-line{font-size:12.5px;color:var(--body);line-height:21px}
.mc-order-line b{font-family:var(--f-outfit);font-size:16px;color:var(--gold-deep)}
.mc-order-note{font-size:11.5px;color:var(--faint);margin-top:8px}

.mc-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(12px);z-index:90;
  padding:11px 22px;border-radius:var(--r-pill);background:var(--green);color:#fff;font-size:13px;
  box-shadow:0 10px 28px rgba(52,86,65,.28);opacity:0;pointer-events:none;transition:.24s;max-width:88vw}
.mc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.mc-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  padding:0 5px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:11px;
  font-weight:700;margin-left:6px;vertical-align:middle}

.mc-pay-card{padding:24px}
.mc-pay-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.mc-method{display:grid;grid-template-columns:auto 34px 1fr;gap:12px;align-items:center;padding:14px 16px;
  border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;background:#fff;transition:.18s}
.mc-method:hover{border-color:var(--green)}
.mc-method.on{border-color:var(--green);background:#F4F8F1}
.mc-method input{width:16px;height:16px;accent-color:var(--green);cursor:pointer}
.mc-method-ico{font-size:24px;text-align:center}
.mc-method-main b{display:block;font-size:14px;color:var(--ink)}
.mc-method-main i{font-style:normal;font-size:12px;color:var(--faint);line-height:20px}
.mc-method-note{grid-column:3;font-size:11.5px;color:var(--gold-deep)}
.mc-pay-block{padding:16px 0;border-top:1px solid var(--line)}
.mc-pay-block>b{font-size:13.5px;color:var(--ink);display:block;margin-bottom:8px}
.mc-pay-block p{font-size:12.5px;color:var(--body);line-height:22px}
.mc-pay-block ul{margin:0;padding-left:18px}
.mc-pay-block li{font-size:12.5px;color:var(--body);line-height:22px;margin-bottom:4px}

@media(max-width:900px){
  .mc-layout{grid-template-columns:1fr}
  .mc-side{position:static}
  .mc-row{grid-template-columns:56px 1fr auto;grid-template-areas:"t m d" ". q q" ". s s";gap:10px}
  .mc-thumb{grid-area:t;width:56px;height:56px}
  .mc-main{grid-area:m}.mc-price{display:none}.mc-qty{grid-area:q;justify-self:start}
  .mc-sub{grid-area:s;text-align:left}.mc-del{grid-area:d}
}

/* ===== 游戏内容 · 六大板块入口卡（content.html）===== */
/* 图片为主：卡片上半是地物裁图（与首页地图同源、风格统一），文字压缩在下方一小段 */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hub-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;text-decoration:none;box-shadow:var(--shadow-sm);
  transition:transform .25s,box-shadow .25s}
.hub-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.hub-img{position:relative;overflow:hidden;aspect-ratio:3/2;background:#F1F4EA}
.hub-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.hub-card:hover .hub-img img{transform:scale(1.06)}
.hub-ico{position:absolute;left:14px;top:14px;width:44px;height:44px;border-radius:14px;display:flex;
  align-items:center;justify-content:center;font-size:22px;background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-sm)}
.hub-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.hub-body h3{font-size:18px;font-weight:700;color:var(--ink)}
.hub-body p{font-size:13px;color:var(--body);line-height:22px;flex:1}
.hub-go{font-size:13px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:6px;transition:transform .2s}
.hub-card:hover .hub-go{transform:translateX(4px)}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hub-grid{grid-template-columns:1fr}}

/* ===== 探索小岛 · 地图分区悬停放大（首页 #explore）===== */
/* container-type 让标签能用 cqw 跟着地图宽度缩放：地图变窄时标签同比缩小，
   否则 1150px 宽的图文里恰好合身的标签，到 560px 宽时会被 overflow:hidden 切掉。 */
.isl-map{position:relative;border-radius:var(--r-lg);overflow:hidden;container-type:inline-size;
  box-shadow:var(--shadow-md);border:1px solid var(--line);background:var(--bg-alt);line-height:0}
.isl-map-img{display:block;width:100%;height:auto}

/* 每个板块 = 铺满地图的 <a>，内含与地图同尺寸的 SVG。
   要点：<a> 本身 pointer-events:none，**只有内部 <path>（地物剪影）接收指针事件**，
   所以悬停判定严格跟随那块地物的形状，而不是整张图都是热区。
   （子元素被 hover 时祖先同样匹配 :hover，交互不受影响。） */
.isl-zone{position:absolute;inset:0;z-index:1;text-decoration:none;pointer-events:none;
  transform-origin:var(--cx) var(--cy);
  transition:transform .36s cubic-bezier(.34,1.46,.5,1)}
.isl-zone-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.isl-zone-poly{fill:rgba(216,146,91,.34);stroke:rgba(255,255,255,.96);stroke-width:2;
  vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:all;
  opacity:0;transition:opacity .28s,fill .28s,stroke-width .28s}

/* 悬停：以该地物重心为锚点放大弹出，地图其余部分完全不动 */
.isl-zone:hover,.isl-zone:focus-visible{z-index:6;transform:scale(1.09)}
.isl-zone:hover .isl-zone-poly,.isl-zone:focus-visible .isl-zone-poly{
  opacity:1;fill:rgba(216,146,91,.46);stroke-width:3.5}
.isl-zone:focus-visible{outline:none}

/* 名称标签：默认隐藏，hover 时从板块里弹出来。
   尺寸用 cqw 跟地图联动（旧浏览器不认识 cqw 就退回上一行的固定值）。 */
.isl-zone-tag{position:absolute;left:var(--lx);top:var(--ly);transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 15px;
  padding:clamp(5px,.7cqw,8px) clamp(9px,1.3cqw,15px);
  border-radius:var(--r-pill);background:rgba(255,253,246,.97);border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(52,86,65,.24);white-space:nowrap;pointer-events:none;
  opacity:0;scale:.72;transition:opacity .26s,scale .34s cubic-bezier(.34,1.5,.5,1)}
.isl-zone:hover .isl-zone-tag,.isl-zone:focus-visible .isl-zone-tag{opacity:1;scale:1}
.isl-zone-tag i{font-style:normal;font-size:17px;font-size:clamp(10px,1.48cqw,17px);line-height:1}
.isl-zone-tag b{font-family:var(--f-cn);font-size:14px;font-size:clamp(9px,1.22cqw,14px);
  font-weight:700;color:var(--ink);line-height:1.2}
.isl-zone-tag em{font-family:var(--f-cn);font-style:normal;font-size:11px;
  font-size:clamp(8px,.96cqw,11px);color:var(--faint);line-height:1.3}
.isl-zone:focus-visible{outline:none}

/* 键盘可达的板块清单（触屏与读屏兜底） */
/* 桌面端隐藏这排胶囊：地图上的 6 个热区 + 顶部导航已经覆盖同样 6 个入口，
   胶囊行属于重复导航、只会把下方内容往下推。只在「无 hover 的触屏」或「窄屏」时兜底显示。 */
.isl-keys{display:none;flex-wrap:wrap;gap:10px;margin-top:18px}
.isl-keys a{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--r-pill);
  background:var(--card);border:1px solid var(--line);font-family:var(--f-cn);
  font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:.18s}
.isl-keys a:hover{background:#F1F5EC;border-color:var(--green);transform:translateY(-2px)}
.isl-keys i{font-style:normal;font-size:14px}



/* 触屏没有 hover：点一下直接跳转，不需要常显标签（小地图上 6 个标签会糊成一片），
   导航交给下方的 .isl-keys 清单；同时关掉放大，避免点击后残留悬停态 */
@media(hover:none){
  .isl-zone{transform:none!important}
  .isl-zone-poly{pointer-events:none}
  .isl-keys{display:flex}
}
@media(max-width:860px){
  .isl-map{border-radius:var(--r-md)}
  .isl-zone:hover{transform:scale(1.04)}
  .isl-keys{display:flex}
  .isl-keys a{font-size:12px;padding:7px 12px}
}

/* ===== 法律条款 · 草案状态提示 =====
 * 为什么必须显眼：这批条款里有相当内容描述的是「上线后」才有的服务。
 * 而 legal.html 是最容易被截图、被转发、被当成正式版引用的页面。
 * 所以提示用暖橙左边框 + 浅底，和正文拉开层级但不打眼。 */
.legal-notice,.legal-banner{
  background:#FDF6EC;
  border:1px solid #EBDCC4;
  border-left:4px solid var(--accent-deep);
  border-radius:0 var(--r-md) var(--r-md) 0;
  padding:20px 24px;
  margin:0 0 26px;
}
.legal-notice>b,.legal-banner>b{
  display:block;
  font-size:15px; color:var(--accent-deep);
  margin-bottom:8px; letter-spacing:.02em;
}
.legal-notice p,.legal-banner p{
  font-size:14px; line-height:1.75; color:var(--text);
  margin-bottom:8px;
}
.legal-notice p:last-child,.legal-banner p:last-child{margin-bottom:0}
.legal-notice b,.legal-banner b{color:var(--ink);font-weight:700}
.legal-banner{margin-bottom:0}

/* 条款正文里的加粗强调 —— 让「哪些是重点」在长段落里能被扫到 */
.acc-c-inner b{color:var(--ink);font-weight:700}

.release-note{max-width:1200px;margin:20px auto;padding:14px 22px;background:#eef2e4;border:1px solid #d5dfca;border-radius:12px;color:#345641;font-size:14px;line-height:1.8}.release-note a{font-weight:700;text-decoration:underline}@media(max-width:800px){.release-note{margin:14px 16px}}
