/* ============================================================
   暗金配色 · 五套版式公用底座（颜色由上游统一指定，不得改动）
   主色 #e3b34d｜按钮渐变 #e8bc5c→#c1913a｜按钮字 #1a1407
   页面底 #0d0f12｜卡片底 #16191f｜正文 #c9c3b6｜淡底 #1b1810 / #221e13
   实测对比度：正文/页面底 10.94、正文/卡片底 10.03、
              正文/淡底1b1810 10.10、正文/淡底221e13 9.47（均 ≥7）
              按钮字/渐变暗端 #c1913a 6.43（≥4.5）
   ============================================================ */
:root{
  --gold:#e3b34d;
  --btn-a:#e8bc5c; --btn-b:#c1913a; --btn-fg:#1a1407;
  --bg:#0d0f12; --card:#16191f; --ink:#c9c3b6;
  --tint-a:#1b1810; --tint-b:#221e13;
  --line:rgba(227,179,77,.22);
  --line-2:rgba(227,179,77,.42);
  --r:10px; --r-lg:14px;
  --shadow:0 10px 30px rgba(0,0,0,.55);
  --mw:1160px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.75; overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:var(--gold); text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{margin:0; font-weight:700; line-height:1.35;}
p{margin:0 0 .7em;}
ul,ol{margin:0; padding-left:1.2em;}
button,input,select,textarea{font:inherit; color:inherit;}
.wrap{width:100%; max-width:var(--mw); margin:0 auto; padding:0 14px;}
.hide{display:none !important;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ---------- 图标 ---------- */
.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em;flex:none;}
.ic--fill{fill:currentColor;stroke:none;}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45em;
  padding:.62em 1.35em;border:0;border-radius:999px;cursor:pointer;
  font-weight:700;letter-spacing:.02em;
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b));
  color:var(--btn-fg); box-shadow:0 4px 14px rgba(193,145,58,.30);
  transition:filter .15s ease, transform .15s ease;
}
.btn:hover{filter:brightness(1.07); text-decoration:none; color:var(--btn-fg);}
.btn:active{transform:translateY(1px);}
.btn[disabled]{opacity:.55;cursor:not-allowed;}
.btn--block{width:100%;}
.btn--sm{padding:.42em 1em;font-size:.88em;}
.btn--lg{padding:.8em 2em;font-size:1.06em;}
.btn--sq{border-radius:var(--r);}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:.45em;
  padding:.6em 1.3em;border:1px solid var(--line-2);border-radius:999px;
  background:var(--tint-a);color:var(--gold);font-weight:700;cursor:pointer;
  transition:background .15s ease;
}
.btn-ghost:hover{background:var(--tint-b);text-decoration:none;}
.btn-ghost--sq{border-radius:var(--r);}

/* ---------- 卡片 / 分区标题 ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);}
.sec{margin:22px 0;}
.sec-t{
  display:flex;align-items:center;gap:10px;
  font-size:1.08rem;color:var(--gold);margin-bottom:12px;
}
.sec-t::before{content:"";width:4px;height:1.05em;border-radius:2px;
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b));flex:none;}
.sec-t__more{margin-left:auto;font-size:.82rem;font-weight:400;color:var(--ink);}
.sec-body{padding:14px;}
.muted{font-size:.86rem;}
.hr{height:1px;background:var(--line);border:0;margin:16px 0;}

/* ---------- 标签 ---------- */
.chip{
  display:inline-flex;align-items:center;gap:.3em;
  padding:.18em .68em;border-radius:999px;font-size:.78rem;
  background:var(--tint-b);color:var(--gold);border:1px solid var(--line);
}
.chip--plain{color:var(--ink);}

/* ---------- 星级 ---------- */
.stars{display:inline-flex;align-items:center;gap:2px;color:var(--gold);}
.stars .ic{width:15px;height:15px;}
.score{margin-left:6px;font-weight:700;color:var(--gold);}

/* ---------- 数据表格 ---------- */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);}
.tbl{width:100%;border-collapse:collapse;min-width:520px;font-size:.9rem;}
.tbl th,.tbl td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;}
.tbl thead th{background:var(--tint-b);color:var(--gold);font-weight:700;white-space:nowrap;}
.tbl tbody tr:nth-child(2n){background:rgba(227,179,77,.035);}
.tbl tbody tr:last-child td{border-bottom:0;}
.tbl td b{color:var(--gold);}
.tbl__tip{font-size:.82rem;margin-top:8px;}
/* 档位表太长：先折起来，点「展开全部」铺开（行一行不少，只是先不显示） */
.tbl tbody tr.is-fold{display:none;}
.tbl__more{margin-top:8px;}


/* ---------- 折叠面板 ---------- */
.acc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);}
.acc + .acc{margin-top:10px;}
.acc__hd{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:12px 14px;background:var(--tint-a);border:0;cursor:pointer;
  color:var(--gold);font-weight:700;text-align:left;
}
.acc__hd .ic--chev{margin-left:auto;transition:transform .2s ease;}
.acc__hd[aria-expanded="true"] .ic--chev{transform:rotate(90deg);}
.acc__bd{padding:0 14px;max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease;}
.acc__hd[aria-expanded="true"] + .acc__bd{padding:12px 14px;max-height:2600px;}

/* ---------- 可折叠正文（展开/收起） ---------- */
.fold{position:relative;overflow:hidden;}
.fold.is-collapsed{max-height:170px;}
.fold.is-collapsed::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:58px;
  background:linear-gradient(180deg,rgba(22,25,31,0),var(--card));
}
.fold-btn{display:block;margin:10px auto 0;}

/* ---------- 页签 ---------- */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.tab{
  padding:.4em 1em;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--ink);cursor:pointer;font-size:.88rem;
}
.tab[aria-selected="true"]{
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b));
  color:var(--btn-fg);border-color:transparent;font-weight:700;
}
.tabpane[hidden]{display:none;}

/* ---------- 表单 ---------- */
.field{margin-bottom:12px;}
.field > label{display:flex;align-items:center;gap:.4em;margin-bottom:5px;font-size:.9rem;color:var(--gold);}
.inp,select.inp{
  width:100%;padding:.6em .75em;border-radius:var(--r);
  background:#101317;border:1px solid var(--line);color:var(--ink);outline:none;
}
.inp:focus{border-color:var(--line-2);box-shadow:0 0 0 3px rgba(227,179,77,.12);}
.inp::placeholder{color:#9a9488;}
.hint{font-size:.8rem;margin-top:4px;}
.row2{display:flex;gap:8px;align-items:center;}
.row2 > .inp{flex:1;min-width:0;}
.cap-img{
  width:120px;height:42px;flex:none;border-radius:8px;cursor:pointer;
  border:1px solid var(--line);background:#101317;
}
.msg{margin:8px 0 0;padding:.5em .7em;border-radius:8px;font-size:.87rem;}
.msg--ok{background:var(--tint-b);color:var(--gold);border:1px solid var(--line-2);}
.msg--err{background:#2a1412;color:#f0b3a6;border:1px solid #5d2a22;}
.msg[hidden]{display:none;}

/* ---------- 键值结果 ---------- */
.kv{margin:0;}
.kv__row{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);}
.kv__row:last-child{border-bottom:0;}
.kv__k{width:96px;flex:none;color:var(--gold);font-size:.88rem;}
.kv__v{flex:1;min-width:0;word-break:break-all;font-size:.9rem;}

/* ---------- 兑换码条 ---------- */
.cdk-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 14px;border-radius:var(--r);
  background:var(--tint-b);border:1px dashed var(--line-2);
}
.cdk-code{
  font-family:ui-monospace,Consolas,"Courier New",monospace;
  font-size:1.18rem;font-weight:700;color:var(--gold);letter-spacing:.08em;
}
.cdk-bar .muted{flex:1 1 190px;min-width:0;}

/* ---------- 弹窗 ---------- */
.modal{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:14px;}
.modal[hidden]{display:none !important;}
.modal__mask{position:absolute;inset:0;background:rgba(0,0,0,.72);}
.modal__card{
  position:relative;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;
  background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow);
}
.modal__card--wide{max-width:660px;}
.modal__hd{
  position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;
  padding:13px 16px;background:var(--tint-a);border-bottom:1px solid var(--line);
}
.modal__t{font-size:1rem;font-weight:700;color:var(--gold);}
.modal__x{margin-left:auto;background:transparent;border:0;cursor:pointer;color:var(--ink);
  font-size:1.2rem;line-height:1;padding:4px 6px;border-radius:6px;}
.modal__x:hover{background:var(--tint-b);color:var(--gold);}
.modal__bd{padding:16px;}
.modal__ft{padding:0 16px 16px;}

/* 双平台下载卡 */
.dl{display:grid;gap:12px;}
@media(min-width:560px){.dl{grid-template-columns:1fr 1fr;}}
.dl-card{padding:16px;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:var(--tint-a);}
.dl-card .ic{width:34px;height:34px;color:var(--gold);margin:0 auto 6px;}
.dl-card__n{font-weight:700;color:var(--gold);margin-bottom:6px;}
.dl-meta{font-size:.82rem;margin-bottom:10px;}
.dl-meta span{display:block;}
.steps{margin:10px 0 0;padding-left:1.25em;font-size:.9rem;}
.steps li{margin-bottom:6px;}
.steps b{color:var(--gold);}

/* ---------- 轻提示 ---------- */
.toast-box{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:1200;
  display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:calc(100% - 28px);max-width:420px;}
.toast{
  padding:.6em 1.1em;border-radius:999px;font-size:.9rem;text-align:center;
  background:var(--tint-b);color:var(--gold);border:1px solid var(--line-2);box-shadow:var(--shadow);
  animation:toastin .22s ease;
}
.toast--err{background:#2a1412;color:#f0b3a6;border-color:#5d2a22;}
@keyframes toastin{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---------- 轮播 ---------- */
/* 宽度必须写死 100%：只写 aspect-ratio + max-height 时，
   浏览器会反过来拿高度去算宽度，图右边会露一条黑边。 */
.shots{position:relative;overflow:hidden;background:#000;width:100%;}
.shots__track{display:flex;height:100%;transition:transform .45s ease;will-change:transform;}
.shots__item{flex:0 0 100%;height:100%;}
.shots__item img{width:100%;height:100%;object-fit:cover;}
.shots__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:7px;}
.shots__dot{width:22px;height:4px;border-radius:2px;border:0;padding:0;cursor:pointer;background:rgba(201,195,182,.45);}
.shots__dot[aria-current="true"]{background:var(--gold);width:30px;}
.shots__nav{
  position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;
  background:rgba(13,15,18,.7);border:1px solid var(--line);color:var(--gold);cursor:pointer;
  display:none;align-items:center;justify-content:center;
}
@media(min-width:820px){.shots__nav{display:flex;}}
.shots__nav--p{left:10px;} .shots__nav--n{right:10px;}

/* ---------- 功能图标底 ---------- */
.fn-ico{
  display:flex;align-items:center;justify-content:center;flex:none;
  border-radius:var(--r);background:linear-gradient(160deg,var(--btn-a),var(--btn-b));color:var(--btn-fg);
}
.fn-ico .ic{width:56%;height:56%;stroke-width:1.9;}

/* ---------- 底部吸底条 ---------- */
.dock{
  position:fixed;left:0;right:0;bottom:0;z-index:700;
  background:rgba(13,15,18,.97);border-top:1px solid var(--line);
  padding:9px 14px calc(9px + env(safe-area-inset-bottom));
}
.dock__in{max-width:var(--mw);margin:0 auto;display:flex;gap:10px;align-items:center;}
.dock__in .btn,.dock__in .btn-ghost{flex:1;}
body{padding-bottom:80px;}

/* ---------- 页脚 ---------- */
.foot{border-top:1px solid var(--line);background:#0b0d10;margin-top:26px;padding:22px 0 18px;}
.foot__grid{display:grid;gap:18px;grid-template-columns:1fr;}
@media(min-width:720px){.foot__grid{grid-template-columns:repeat(3,1fr);}}
.foot h4{color:var(--gold);font-size:.95rem;margin-bottom:8px;}
.foot ul{list-style:none;padding:0;margin:0;font-size:.88rem;}
.foot li{margin-bottom:5px;}
.foot__bar{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;}

/* ---------- 客服卡 ---------- */
.cs-grid{display:grid;gap:10px;grid-template-columns:1fr;}
@media(min-width:560px){.cs-grid{grid-template-columns:repeat(3,1fr);}}
.cs-card{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--tint-a);}
.cs-card .fn-ico{width:38px;height:38px;}
.cs-card__t{font-size:.82rem;color:var(--gold);}
.cs-card__v{font-size:.92rem;font-weight:700;}

/* ---------- 回到顶部 ---------- */
.totop{
  position:fixed;right:14px;bottom:96px;z-index:690;width:40px;height:40px;border-radius:50%;
  display:none;align-items:center;justify-content:center;cursor:pointer;
  background:var(--tint-b);border:1px solid var(--line-2);color:var(--gold);
}
.totop.is-on{display:flex;}

/* ---------- 平台币档位卡 ---------- */
.coin-grid{display:grid;gap:9px;grid-template-columns:repeat(2,1fr);margin-top:12px;}
@media(min-width:520px){.coin-grid{grid-template-columns:repeat(3,1fr);}}
.coin-card{
  display:flex;flex-direction:column;gap:2px;align-items:center;cursor:pointer;
  padding:10px 6px;border-radius:var(--r);background:var(--tint-a);
  border:1px solid var(--line);color:var(--ink);
}
.coin-card.is-on{border-color:var(--gold);background:var(--tint-b);box-shadow:0 0 0 2px rgba(227,179,77,.25) inset;}
.coin-card__y{font-size:1.05rem;font-weight:700;color:var(--gold);}
.coin-card__c{font-size:.8rem;}
.coin-card__t{font-size:.74rem;}

/* ---------- 通用：功能入口行（部分版式用） ---------- */
.note{padding:11px 13px;border-radius:var(--r);background:var(--tint-a);border-left:3px solid var(--gold);font-size:.88rem;}
.note b{color:var(--gold);}


/* ===== L02 吸顶导航版 =====================================
   结构特征：导航吸顶 + 滚动高亮当前分区 + 左图右信息的 Hero
             + 功能区做成图标横排胶囊 + 正文整片用折叠面板收起来
   ========================================================= */
:root{ --mw:1080px; --navh:54px; }
section[id]{scroll-margin-top:calc(var(--navh) + 46px);}

/* 吸顶导航 */
.topbar{position:sticky;top:0;z-index:600;background:rgba(11,13,16,.97);border-bottom:1px solid var(--line);}
.topbar__in{display:flex;align-items:center;gap:10px;height:var(--navh);padding:0 14px;max-width:var(--mw);margin:0 auto;}
.topbar__in{overflow:hidden;}
.topbar__logo{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;}
.topbar__logo img{width:30px;height:30px;border-radius:7px;border:1px solid var(--line-2);flex:none;}
/* 320 宽的老手机放不下整行，站名允许截断，按钮优先保留 */
.topbar__name{font-weight:700;color:var(--gold);font-size:.95rem;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;min-width:0;}
.topbar__act{margin-left:auto;display:flex;gap:7px;flex:none;}

/* 锚点条（吸顶第二行，手机横滑） */
.anchors{position:sticky;top:var(--navh);z-index:590;background:rgba(13,15,18,.97);border-bottom:1px solid var(--line);}
.anchors__in{display:flex;gap:4px;overflow-x:auto;padding:7px 14px;max-width:var(--mw);margin:0 auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;}
.anchors__in::-webkit-scrollbar{display:none;}
.anchors a{white-space:nowrap;padding:.28em .85em;border-radius:999px;font-size:.87rem;color:var(--ink);border:1px solid transparent;}
.anchors a:hover{color:var(--gold);text-decoration:none;}
.anchors a.is-cur{background:var(--tint-b);border-color:var(--line-2);color:var(--gold);font-weight:700;}

/* Hero：左图右信息 */
.hero2{display:grid;gap:14px;margin-top:16px;}
@media(min-width:900px){ .hero2{grid-template-columns:1.25fr 1fr;align-items:stretch;} }
.hero2__pic{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);}
.hero2__pic .shots{aspect-ratio:16/9;height:100%;}
.hero2__info{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;}
.hero2__row{display:flex;gap:12px;align-items:center;}
.hero2__icon{width:64px;height:64px;border-radius:14px;border:1px solid var(--line-2);}
.hero2__t{font-size:1.18rem;color:var(--gold);}
.hero2__meta{font-size:.85rem;margin:2px 0 3px;}
.hero2__chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0;}
.hero2__btns{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap;}
.hero2__btns .btn,.hero2__btns .btn-ghost{flex:1 1 140px;}
.hero2__ver{margin-top:12px;font-size:.82rem;padding-top:10px;border-top:1px dashed var(--line);}

/* 功能区：图标横排胶囊 */
.pills{display:flex;gap:9px;overflow-x:auto;padding:12px;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-lg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.pills::-webkit-scrollbar{height:5px;}
.pills::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px;}
.pill{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;width:74px;
  color:var(--ink);padding:6px 2px;border-radius:var(--r);}
.pill:hover{background:var(--tint-a);text-decoration:none;}
.pill .fn-ico{width:44px;height:44px;border-radius:50%;}
.pill__n{font-size:.8rem;white-space:nowrap;}
@media(min-width:880px){
  .pills{overflow:visible;justify-content:space-between;}
  .pill{flex:1 1 0;width:auto;}
  .pill .fn-ico{width:52px;height:52px;}
  .pill__n{font-size:.88rem;}
}

/* 折叠面板里的小标题 */
.subt{color:var(--gold);font-size:.98rem;font-weight:700;margin:14px 0 8px;}
.subt:first-child{margin-top:0;}
.feat{list-style:none;padding:0;margin:0;}
.feat li{padding:10px 12px;border-radius:var(--r);background:var(--tint-a);margin-bottom:9px;font-size:.92rem;}
.feat li:last-child{margin-bottom:0;}
.feat b{color:var(--gold);}
.reco{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.reco__slot{aspect-ratio:1/1;border:1px dashed var(--line-2);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;font-size:.78rem;background:var(--tint-a);text-align:center;padding:4px;}
.acc-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;
  background:var(--tint-b);border:1px solid var(--line-2);font-size:.78rem;flex:none;}


/* ============================================================
   ☠ 防「文字改长了把版面撑破」—— 2026-09-11 加
   后台是"每个字都能改"，运营随手粘一段长文进来是迟早的事。
   服务端那边已经按 lib/sitecontent.js 的 MAXLEN 拦了一道（超长直接不让存），
   这里是第二道：万一漏过去了，也只是"变丑"，不会横向撑破、不会盖住别的东西。
   ============================================================ */

/* 1) 长串英文 / 数字 / 网址不会顶破容器（中文本来就能断行） */
body,.wrap,.card,.acc,.acc__bd,.modal__card,.hero2__info,.cs-card,.foot,
.feat li,.note,.tbl td,.tbl th,.kv__v,.coin-card,.dl-card,.toast{
  overflow-wrap:anywhere; word-break:break-word;
}

/* 2) flex / grid 的子项默认 min-width:auto —— 内容一长就把兄弟挤出屏幕。
      凡是"一行几个并排"的地方全部改成允许被压缩。 */
.topbar__in>*,.topbar__logo,.hero2__row>*,.hero2__row>div,.cs-card>div,
.dock__in>*,.cdk-bar>*,.kv__row>*,.row2>*,.coin-card>*,.dl-card>*,
.acc__hd>*,.sec-t>*,.foot li{ min-width:0; }

/* 3) 就该一行显示的地方（导航胶囊、功能胶囊名）：超长就打省略号，不撑宽 */
.pill__n{ max-width:100%; overflow:hidden; text-overflow:ellipsis; }
/* 锚点条本来就是横滑的，别让它们被挤扁成「首..」；顶多限个宽度 */
.anchors a{ flex:0 0 auto; max-width:14em; overflow:hidden; text-overflow:ellipsis; }

/* 4) 按钮：文字长了就换行变高，绝不横向顶出去 */
.btn,.btn-ghost{ white-space:normal; max-width:100%; text-align:center; }

/* 5) 折叠面板的标题允许换行（原来是一行，长标题会把箭头挤掉） */
.acc__hd{ align-items:flex-start; }
.acc__hd .ic--chev{ margin-top:.25em; }

/* 6) 表格：整体能横向滚（.tbl-wrap 已有 overflow-x:auto），
      单格再长也只是把那一列撑宽，滚动条兜住，页面本身不会横滚 */
.tbl td,.tbl th{ max-width:24em; }

/* 7) 最后的保险：整页永远不出现横向滚动条 */
html,body{ max-width:100%; overflow-x:hidden; }

/* ============================================================
   后台可视化编辑页专用（玩家侧永远不会加 ag-editing 这个 class）
   —— 编辑时把折叠面板全部摊开，否则收起来的那些字点不到。
   ============================================================ */
body.ag-editing .acc__bd{ max-height:none !important; padding:12px 14px !important; }
body.ag-editing .topbar,
body.ag-editing .anchors{ position:static; }

/* ---------- 底部那条里的「客服」 ----------
   用户 2026-09-11 决定落地页不放改密码，玩家忘了密码只能找客服，
   所以把客服摆进一直贴在底下的那条里，一眼就看得到，还不会盖住别的东西。 */
.dock__cs{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  flex:0 0 auto;width:54px;padding:5px 0;border-radius:var(--r);cursor:pointer;
  background:var(--tint-b);border:1px solid var(--line-2);color:var(--gold);
  font-size:.68rem;font-weight:700;line-height:1;
}
.dock__cs:hover{background:var(--tint-a);}
.dock__cs span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* 回到顶部别压着底部那条 */
.totop{ bottom:100px; }

/* 320 那种老手机：底下三个按钮挤一行会把字挤断，这里把间距和字号收一收 */
@media (max-width:380px){
  .dock{ padding-left:9px; padding-right:9px; }
  .dock__in{ gap:6px; }
  .dock__cs{ width:44px; font-size:.62rem; }
  .dock__in .btn, .dock__in .btn-ghost{ padding:.58em .4em; font-size:.93rem; gap:.25em; }
  .dock__in .btn .ic, .dock__in .btn-ghost .ic{ width:.95em; height:.95em; }
}

/* ---------- 防撑破 · 第二批（2026-09-11 用三宽度 + 顶到上限的长文实测量出来的） ----------
   跑 scratchpad 那套尺子，抓到这几处会被内容顶开：
     ① 顶上那两个按钮：文字一长就把整条顶出屏幕（外面虽然裁掉了，按钮也点不着了）
     ② 「游戏推荐」四格 / 客服卡 / 充值档位：1fr 的最小值是内容宽，
        一长串没空格的英文能把整行顶开
     ③ 宽屏下功能胶囊是 flex:1 1 0，同样被内容顶开（min-width 默认是 auto）
     ④ 小标签、客服卡里的值，长了会把所在那一列顶宽
   一律按"宁可裁掉 / 换行，也不许顶出屏幕"处理。 */

/* ① 顶上那条：按钮永远一行，超了打省略号 */
.topbar__act{ max-width:64%; }
.topbar__act .btn,
.topbar__act .btn-ghost{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  display:inline-block; max-width:100%;
}

/* ② ③ 所有网格 / 弹性子项的最小宽度归零，别让内容顶开轨道 */
.reco{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.cs-grid{ grid-template-columns:minmax(0,1fr); }
@media(min-width:560px){ .cs-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.coin-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(min-width:520px){ .coin-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.dl{ grid-template-columns:minmax(0,1fr); }
@media(min-width:560px){ .dl{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.foot__grid{ grid-template-columns:minmax(0,1fr); }
@media(min-width:720px){ .foot__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.hero2{ grid-template-columns:minmax(0,1fr); }
@media(min-width:900px){ .hero2{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); } }
.pill{ min-width:0; max-width:100%; }
.reco__slot{ min-width:0; overflow:hidden; }

/* ④ 一格里放不下就换行，绝不顶宽 */
.chip{ max-width:100%; overflow-wrap:anywhere; }
.cs-card__v,.cs-card__t{ overflow-wrap:anywhere; min-width:0; }
.hero2__chips{ min-width:0; }
.coin-card__y,.coin-card__c,.coin-card__t{ max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.cdk-code{ overflow-wrap:anywhere; min-width:0; }


/* ==========================================================================
   邀请好友（2026-09-11 加）
   --------------------------------------------------------------------------
   两处入口，同一个弹窗：
     P1 = 首屏「下载 / 注册」两个按钮【下面】那张卡（.inv-strip）
     P2 = 功能中心八宫格里排第一的那一格（.pill--inv）
   颜色全部用现成那套暗金变量，没有新造任何颜色。
   ☠ 默认按【没登录】渲染：.inv-in 默认就是藏着的，只有 site.js 真的问到
     登录态、给 body 打上 data-inv="in" 才翻过来。JS 挂了 / 接口超时的话，
     玩家看到的是「去登录」，而不是一条不知道是谁的空链接。
   ========================================================================== */
.inv-t{ color:var(--gold); font-weight:700; }
.inv-num{ color:var(--gold); font-weight:700; }

.inv-in{ display:none; }
body[data-inv="in"] .inv-in{ display:block; }
body[data-inv="in"] .inv-out{ display:none !important; }

/* ---- 专属链接框（首屏卡片和弹窗共用） ---- */
.inv-link{ display:flex; align-items:center; gap:8px; min-width:0;
  background:var(--bg); border:1px solid var(--line-2); border-radius:var(--r); padding:7px 8px 7px 11px; }
.inv-link__v{ flex:1 1 auto; min-width:0; color:var(--gold); font-weight:700; font-size:.92rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.inv-link .btn{ flex:0 0 auto; white-space:nowrap; }

/* ---- 三个数字 ---- */
.inv-stats{ display:flex; gap:8px; margin-top:10px; }
.inv-stat{ flex:1 1 0; min-width:0; background:var(--tint-a); border:1px solid var(--line);
  border-radius:var(--r); padding:8px 6px; text-align:center; }
.inv-stat__n{ display:block; color:var(--gold); font-weight:700; font-size:1.16rem; line-height:1.25; }
.inv-stat__t{ display:block; font-size:.76rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---- 三步 ---- */
.inv-steps{ list-style:none; margin:0; padding:0; }
.inv-steps li{ display:flex; gap:10px; align-items:flex-start; padding:7px 0; }
.inv-steps li+li{ border-top:1px dashed var(--line); }
.inv-steps__n{ flex:0 0 auto; width:22px; height:22px; border-radius:50%; margin-top:2px;
  display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700;
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b)); color:var(--btn-fg); }
.inv-steps__b{ min-width:0; }
.inv-steps__t{ display:block; color:var(--gold); font-weight:700; }
.inv-steps__d{ font-size:.88rem; }

/* ---- 几条规矩 ---- */
.inv-rules{ margin:0; padding-left:18px; }
.inv-rules li{ padding:3px 0; font-size:.9rem; }

/* ---- P1：首屏那一条 ---- */
.inv-strip{ margin-top:12px; padding:11px 12px; border-radius:var(--r);
  background:linear-gradient(135deg,#1f1a10,#16191f); border:1px solid var(--line-2); }
.inv-strip__hd{ display:flex; align-items:center; gap:9px; margin-bottom:8px; }
.inv-strip__ico{ width:34px; height:34px; border-radius:50%; flex:0 0 auto; }
.inv-strip__tx{ min-width:0; }
.inv-strip__t{ display:block; color:var(--gold); font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.inv-strip__d{ display:block; font-size:.83rem; line-height:1.45; overflow-wrap:anywhere; }
.inv-strip .btn,.inv-strip .btn-ghost{ flex:1 1 auto; text-align:center; }
.inv-strip__row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
body[data-inv="in"] .inv-strip__row{ display:none !important; }
.inv-mini{ margin-top:8px; font-size:.83rem; overflow-wrap:anywhere; }

/* ---- P2：八宫格里那一格 ---- */
.pill--inv .fn-ico{ background:linear-gradient(180deg,var(--btn-a),var(--btn-b));
  color:var(--btn-fg); border-color:transparent; }
.pill--inv .pill__n{ color:var(--gold); font-weight:700; }
.pill__tag{ display:block; font-size:.68rem; line-height:1.2; color:var(--btn-fg); font-weight:700;
  background:linear-gradient(180deg,var(--btn-a),var(--btn-b)); border-radius:999px; padding:1px 6px;
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---- 明细那张小表 ----
   .tbl 统一带着 min-width:520px（充值档位表那种宽表需要），
   但这张只有四列，带着那个最小宽就得在手机上往右拉才看得到
   「他充了 / 你拿到」。这里把它放开，320px 上四列也能一眼看全。
   （页面本来就不横滚；这一改是连表子里那次横滑也省了。） */
#invTbl{ min-width:0; font-size:.86rem; }
#invTbl th,#invTbl td{ padding:8px 9px; }
#invTbl td:nth-child(2){ white-space:nowrap; }

/* ---------- 领取弹窗 · 充值福利专属（2026-09-13）：一键查询面板 / 每日·永久两块 ----------
   ☠ 淡字一律用实色 #b3ada1（在卡片底 #16191f 上对比度 7.86、淡底 #221e13 上 7.45，都 ≥7），
     不许用 opacity 压淡 —— 0.75 的 --ink 压在卡片底上只有 6.09，过不了「正文 ≥7」那把尺。 */
.lbl-sub{font-size:.76rem;font-weight:400;color:#b3ada1;margin-left:auto;}
.cstat{border:1px solid var(--line);border-radius:var(--r);background:var(--tint-a);padding:10px;margin-bottom:12px;}
.cstat[hidden]{display:none;}
.cstat__nums{display:flex;gap:8px;}
.cstat__n{flex:1 1 0;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 6px;text-align:center;}
.cstat__k{display:block;font-size:.72rem;color:#b3ada1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cstat__v{display:block;font-size:1.02rem;color:var(--gold);font-weight:800;word-break:break-all;}
.cstat__who{margin:8px 0 6px;color:#b3ada1;}
.cstat__cols{display:flex;gap:8px;}
.cstat__col{flex:1 1 0;min-width:0;}
.cstat__h{font-size:.86rem;font-weight:700;color:var(--gold);}
.cstat__list{list-style:none;margin:6px 0 0;padding:0;max-height:210px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--card);}
.cstat__row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px;font-size:.8rem;border-bottom:1px dashed var(--line);}
.cstat__row:last-child{border-bottom:0;}
.cstat__row--claimable{background:var(--tint-b);}
.cstat__row--claimed{color:#b3ada1;}
.cstat__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cstat__badge{flex:0 0 auto;font-size:.7rem;border-radius:999px;padding:1px 7px;white-space:nowrap;border:1px solid var(--line);}
.cstat__badge--ok{background:var(--btn-a);color:var(--btn-fg);font-weight:700;border-color:transparent;}  /* 纯色不渐变：深字压在 #e8bc5c 上 10.2，渐变暗端只有 6.43 */
.cstat__badge--done{color:#b3ada1;}
.cstat__badge--lock{color:var(--ink);}
.msg--multi{white-space:pre-wrap;}
@media (max-width:480px){
  .cstat__nums{flex-wrap:wrap;}
  .cstat__n{flex:1 1 45%;}
  .cstat__cols{flex-direction:column;}
}

/* ---------- 国庆七日狂欢（2026-09-27 加）：首页横条 #gq + 领取弹窗第三种形态 data-page="guoqing" ----------
   颜色全部用现成那套暗金变量，没造新色；淡字一律实色 #b3ada1（卡片底 7.89 / 淡底 #1b1810 7.94 / #221e13 7.45，都 ≥7），
   不许用 opacity 压淡。选中的那一天用纯色 --btn-a 底 + --btn-fg 字（10.27），不用渐变（暗端只有 6.43）。
   ☠ 390px 宽不横滚：7 天按钮用 7 等分网格（minmax(0,1fr)），档位行用网格 + 文字可断行，没有任何固定宽度会顶出去。 */
.gq-bar{padding:12px 14px;border-radius:var(--r);background:linear-gradient(135deg,#221b0e,#16191f);border:1px solid var(--line-2);}
.gq-bar__hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.gq-bar__t{color:var(--gold);font-size:1.05rem;min-width:0;overflow-wrap:anywhere;}
.gq-bar__time{margin-top:6px;font-weight:700;color:var(--ink);font-size:.9rem;overflow-wrap:anywhere;}
.gq-bar__d{margin-top:4px;font-size:.86rem;overflow-wrap:anywhere;}
.gq-bar__code{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border-radius:var(--r);background:var(--tint-b);border:1px dashed var(--line-2);}
.gq-bar__code>*{min-width:0;}
.gq-bar__k{color:var(--gold);font-weight:700;font-size:.86rem;}
.gq-bar__cd{flex:1 1 190px;}
.gq-bar__go{margin-top:10px;}

.gq-lead{margin-bottom:10px;}
.gq-rules{margin:0;padding-left:18px;font-size:.86rem;}
.gq-rules li{padding:2px 0;}
.gq-code{margin:6px 0 0;padding:6px 9px;border-radius:8px;background:var(--tint-b);border:1px dashed var(--line-2);color:var(--gold);font-size:.84rem;overflow-wrap:anywhere;}
.gq-wait{margin:0 0 10px;}
.gq-q{margin-top:10px;}

.gqs{border:1px solid var(--line);border-radius:var(--r);background:var(--tint-a);padding:10px;margin-bottom:4px;}
.gqs[hidden]{display:none;}
.gqs__zone{color:var(--gold);font-weight:700;font-size:.9rem;overflow-wrap:anywhere;}
.gqs__state{margin-top:2px;}
.gqs__state--off{color:#f0b3a6;}
.gq-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0 8px;}
.gq-days[hidden]{display:none;}
.gq-tab{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:5px 1px;border-radius:8px;
  border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:.72rem;line-height:1.25;}
.gq-tab>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gq-tab__k{font-weight:700;}
.gq-tab__d{color:#b3ada1;}
.gq-tab__c{font-size:.62rem;color:#b3ada1;}
.gq-tab__c--ok{color:var(--gold);font-weight:700;}
.gq-tab.is-today{border-color:var(--gold);}
.gq-tab.is-on{background:var(--btn-a);border-color:transparent;color:var(--btn-fg);}
.gq-tab.is-on .gq-tab__d,.gq-tab.is-on .gq-tab__c{color:var(--btn-fg);}
.gq-day[hidden]{display:none;}
.gq-day__h{font-weight:700;color:var(--gold);font-size:.88rem;margin-bottom:6px;}
.gq-nums{margin-bottom:6px;}
.gq-day__note{margin:0 0 6px;}
.gq-day__note{white-space:pre-line;}
.gq-day__note[hidden]{display:none;}
.gq-tiers{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);}
.gq-tier{display:grid;grid-template-columns:22px auto minmax(0,1fr);grid-template-areas:"pick need badge" "pick gift gift";
  align-items:center;gap:2px 8px;padding:6px 8px;border-bottom:1px dashed var(--line);font-size:.8rem;}
.gq-tier:last-child{border-bottom:0;}
.gq-tier--claimable{background:var(--tint-b);}
.gq-tier__pick{grid-area:pick;display:flex;align-items:center;justify-content:center;align-self:start;padding-top:2px;}
.gq-tier__pick input{width:17px;height:17px;margin:0;accent-color:var(--gold);cursor:pointer;}
.gq-tier__need{grid-area:need;font-weight:700;color:var(--gold);white-space:nowrap;}
.gq-tier .cstat__badge{grid-area:badge;justify-self:end;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.gq-tier__gift{grid-area:gift;min-width:0;overflow-wrap:anywhere;line-height:1.5;}
.gq-tier--claimed .gq-tier__gift,.gq-tier--ended .gq-tier__gift,.gq-tier--not_started .gq-tier__gift,.gq-tier--maintenance .gq-tier__gift{color:#b3ada1;}
/* 维护后开放：金字细框（金字压卡片底 9.07），跟「可领」的实底金色区分开 */
.cstat__badge.gq-badge--maint{color:var(--gold);border-color:var(--line-2);background:transparent;}
@media (max-width:480px){
  .gq-nums{flex-wrap:nowrap;}
  .gq-nums .cstat__n{flex:1 1 0;}
}
