
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0d14;--bg2:#0e1220;--panel:#141926;--panel2:#1a2133;--line:#2b3550;
  --txt:#e9edf8;--txt2:#a9b4cc;--txt3:#7c88a3;
  --gold:#f3c552;--cyan:#5cadff;--purple:#b98aff;--red:#ff7d7d;--green:#56dc8e;
  --r1:#a3adc0;--r2:#5cadff;--r3:#ffd35e;--r4:#c78bff;--r5:#ff9a4d;--r6:#ff5fa8;
  --thbg:#1c2440;--codebg:#19223a;--fmbg:#0d1322;--fmtxt:#d6e1f5;--fmcode:#c9d6ee;
  --thumb:#333f5e;--thumbh:#485678;--rowline:rgba(148,170,220,.06);
  --hdbg1:rgba(10,13,20,.92);--hdbg2:rgba(10,13,20,.82);
  --noteI:#c9ecf6;--noteW:#f6e4ae;--noteD:#f9cbcb;--strong:#fff;--bad:var(--red);
  --hdshadow:0 1px 0 var(--line),0 10px 28px rgba(0,0,0,.35);
}
html.light{
  --bg:#f5f6f8;--bg2:#eceef2;--panel:#ffffff;--panel2:#f5f7fa;--line:#e7eaf0;
  --txt:#22262e;--txt2:#5b6572;--txt3:#9aa2ae;
  --gold:#c08a00;--cyan:#3d9bf5;--purple:#7c4dc4;--red:#d64545;--green:#1f9d55;
  --r1:#7a8494;--r2:#2f7fd4;--r3:#c29208;--r4:#9a55d8;--r5:#d96a1f;--r6:#d43a86;
  --thbg:#f2f5f9;--codebg:#f3f5f9;--fmbg:#f7f9fc;--fmtxt:#33415c;--fmcode:#33415c;
  --thumb:#c3ccd9;--thumbh:#a8b4c4;--rowline:rgba(28,35,48,.06);
  --hdbg1:rgba(255,255,255,.98);--hdbg2:rgba(255,255,255,.94);
  --noteI:#0c5a66;--noteW:#7a5c08;--noteD:#96262b;--strong:#000;
  --hdshadow:0 1px 4px rgba(20,30,50,.06),0 0 1px rgba(20,30,50,.08);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font:14px/1.7 -apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#2b6cb0;color:#fff}
a{color:var(--cyan);text-decoration:none}

/* 滚动条 */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--thumb);border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:var(--thumbh)}

/* 顶栏（文档站点式白色导航） */
header{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,var(--hdbg1),var(--hdbg2));backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:var(--hdshadow)}
.hrow{max-width:1460px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.logo{font-size:20px;font-weight:800;letter-spacing:.3px;color:var(--cyan);white-space:nowrap;line-height:1.25}
.logo .lgsuf{font-weight:700;color:var(--txt)}
.logo small{display:block;font-size:9.5px;font-weight:500;letter-spacing:1.8px;color:var(--txt3);background:none;-webkit-text-fill-color:var(--txt3)}
/* 主题切换按钮 */
#themebtn{margin-left:auto;flex-shrink:0;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:7px 13px;color:var(--txt2);font-size:12.5px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.15s}
#themebtn:hover{border-color:var(--cyan);color:var(--cyan)}
#gsearch{position:relative;min-width:250px;flex:1;max-width:420px}
#gsearch input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 11px 8px 32px;color:var(--txt);font-size:13px;outline:none;font-family:inherit}
#gsearch input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(74,163,247,.12)}
#gsearch svg{position:absolute;left:10px;top:9px;opacity:.5}
#gres{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:420px;overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.25);display:none}
#gres .gi{padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--rowline);font-size:13px;display:flex;gap:8px;align-items:baseline}
#gres .gi:hover{background:var(--panel)}
#gres .gi .gt{font-size:10px;color:var(--txt3);border:1px solid var(--line);border-radius:4px;padding:0 5px;flex-shrink:0}
#gres .gi .gn{color:var(--txt);font-weight:600}
#gres .gi .gd{color:var(--txt3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gres .empty{padding:12px;color:var(--txt3);font-size:12px;text-align:center}

/* 布局（文档站点式：顶部分组标签 + 左侧栏组内章节 + 内容区） */
.wrap{max-width:1460px;margin:0 auto;padding:0 22px 80px;display:grid;grid-template-columns:242px 1fr;gap:30px}
#gtabs{position:sticky;top:var(--hdh,64px);z-index:55;display:flex;gap:2px;padding:0 22px;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
#gtabs::-webkit-scrollbar{display:none}
#gtabs button{flex:0 0 auto;background:none;border:none;border-bottom:2px solid transparent;padding:10px 15px 9px;font-size:13.5px;color:var(--txt2);cursor:pointer;font-family:inherit;white-space:nowrap;transition:.14s}
#gtabs button:hover{color:var(--txt)}
#gtabs button.on{color:var(--cyan);border-bottom-color:var(--cyan);font-weight:650}
/* 分组标签整体居中（内容超宽时自动退化为可滚动左对齐） */
#gtabs button:first-child{margin-left:auto}
#gtabs button:last-child{margin-right:auto}
nav{position:sticky;top:calc(var(--hdh,64px) + var(--gtabh,44px) + 10px);align-self:start;max-height:calc(100vh - 110px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 10px 14px;margin-top:20px;box-shadow:0 1px 3px rgba(20,30,50,.05)}
nav h4{font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--txt2);margin:0;padding:13px 12px 5px;border-top:1px solid var(--line)}
nav h4:first-child{border-top:none;padding-top:10px}
nav a{display:flex;align-items:center;gap:8px;position:relative;padding:8px 12px;border-radius:9px;color:var(--txt2);font-size:13.5px;transition:.14s;line-height:1.45}
nav a:hover{background:var(--panel2);color:var(--txt)}
nav a.on{background:rgba(74,163,247,.11);color:var(--cyan);font-weight:650}
nav a.on::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:2px;background:var(--cyan)}
main{min-width:0;padding-top:22px}

section{margin-bottom:46px;scroll-margin-top:var(--anch,76px)}
h1.sec{font-size:24px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:10px}
h1.sec .ic{font-size:20px}
h1.sec small{font-size:12px;color:var(--txt3);font-weight:400}
h2.sub{font-size:16px;font-weight:650;margin:26px 0 10px;color:var(--gold);display:flex;align-items:center;gap:8px}
h2.sub::before{content:"";width:3px;height:15px;background:var(--gold);border-radius:2px}
h3.ssub{font-size:14px;font-weight:650;margin:18px 0 8px;color:var(--cyan)}
p.lead{color:var(--txt2);margin-bottom:14px;font-size:13.5px}
.hint{font-size:12px;color:var(--txt3);margin:6px 0 12px;padding-left:2px}
/* ===== 更新日志（公告全文档案）===== */
.lgbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:12px 0 6px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;position:sticky;top:calc(var(--hdh,64px) + var(--gtabh,44px) + 8px);z-index:20;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.lgb{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 11px;color:var(--txt2);font-size:12.5px;cursor:pointer;font-family:inherit;transition:.15s}
.lgb:hover{border-color:var(--cyan);color:var(--cyan)}
.lgm{font-size:11.5px;color:var(--txt3);margin-left:4px}
.lgchip{font-size:11.5px;padding:3px 9px;border:1px solid var(--line);border-radius:20px;color:var(--txt2);text-decoration:none;background:var(--bg2);white-space:nowrap;transition:.15s}
.lgchip:hover{border-color:var(--cyan);color:var(--cyan)}
.lgchip b{color:var(--cyan);font-weight:600;margin-left:4px;font-size:10.5px}
.lg{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:9px 0;overflow:hidden;transition:border-color .15s}
.lg.open{border-color:rgba(74,163,247,.42)}
.lgh{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;user-select:none;flex-wrap:wrap}
.lgh:hover{background:var(--panel2)}
.lgd{font-size:11.5px;font-family:ui-monospace,Consolas,monospace;color:var(--cyan);background:var(--codebg);border-radius:6px;padding:2px 8px;white-space:nowrap;flex-shrink:0}
.lgt{font-weight:700;font-size:15px;color:var(--txt)}
.lgtag{font-size:10.5px;color:var(--txt3);border:1px solid var(--line);border-radius:20px;padding:1px 8px;flex-shrink:0}
.lgsrc{margin-left:auto;font-size:12px;flex-shrink:0}
.lgsrc a{color:var(--cyan);text-decoration:none}
.lgsrc a:hover{text-decoration:underline}
.lgx{color:var(--txt3);font-size:12px;transition:transform .2s;flex-shrink:0}
.lg.open .lgx{transform:rotate(180deg)}
.lgc{display:none;padding:6px 18px 14px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.lg.open .lgc{display:block}
.lgc h2{font-size:16.5px;font-weight:700;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line);color:var(--txt)}
.lgc h3{font-size:14px;font-weight:700;margin:15px 0 6px;color:var(--txt)}
.lgc p{margin:7px 0;font-size:13.5px;line-height:1.9;color:var(--txt2)}
.lgc p.gap{height:5px;margin:0}
.lgc ul{margin:5px 0;padding-left:4px;list-style:none}
.lgc li{font-size:13.5px;line-height:1.9;color:var(--txt2);margin:2px 0;position:relative;padding-left:13px}
.lgc li::before{content:"";position:absolute;left:2px;top:11px;width:4px;height:4px;border-radius:50%;background:var(--txt3)}
.lgc li.l2{margin-left:14px;font-size:13px;color:var(--txt3)}
.lgc li.l2::before{background:transparent;border:1px solid var(--txt3);width:3px;height:3px}
.lgc blockquote{margin:10px 0;padding:8px 13px;background:var(--codebg);border-left:3px solid var(--line);border-radius:0 8px 8px 0;color:var(--txt2);font-size:13px;line-height:1.85}
.lgc figure{margin:12px auto;text-align:center;max-width:100%}
.lgc figure img{max-width:min(100%,var(--w,520px));border-radius:10px;height:auto}
.lgc img{max-width:100%;height:auto}
.lgc strong{color:var(--txt);font-weight:700}
.lgc a{color:var(--cyan);text-decoration:none}
.lgc table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
.lgc th,.lgc td{border:1px solid var(--line);padding:5px 8px;color:var(--txt2)}
.lgfoot{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}
.lgcop{background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:4px 10px;color:var(--txt3);font-size:11.5px;cursor:pointer;font-family:inherit}
.lgcop:hover{border-color:var(--cyan);color:var(--cyan)}
.evx{margin:3px 0 0;padding-left:4px;list-style:none}
.evx li{font-size:12.5px;line-height:1.8;color:var(--txt2);position:relative;padding-left:12px}
.evx li::before{content:"";position:absolute;left:1px;top:10px;width:4px;height:4px;border-radius:50%;background:var(--txt3)}
.evwk{font-family:ui-monospace,Consolas,monospace;color:var(--cyan);font-size:12px;white-space:nowrap}
.evtp{display:inline-block;font-size:11px;padding:1px 8px;border-radius:20px;white-space:nowrap}
.evtp.gem{background:rgba(74,163,247,.16);color:var(--cyan)}
.evtp.pet{background:rgba(232,128,26,.16);color:#e8801a}
.evtp.none{background:var(--codebg);color:var(--txt3)}

/* 卡片 */
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.card.tight{padding:12px 14px}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}

/* 统计 */
.stat{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.stat .v{font-size:23px;font-weight:800;color:var(--cyan);line-height:1.15;font-variant-numeric:tabular-nums}
.stat .k{font-size:11.5px;color:var(--txt2);margin-top:2px}
.stat .c{font-size:10px;color:var(--txt3);font-family:ui-monospace,Consolas,monospace}

/* 表格 */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{position:sticky;top:0;background:var(--thbg);color:var(--txt2);font-weight:600;text-align:center;padding:9px 11px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:11.5px}
th .cd{display:block;font-size:9.5px;color:var(--txt3);font-family:ui-monospace,Consolas,monospace;font-weight:400;letter-spacing:.2px}
td{padding:8px 11px;border-bottom:1px solid var(--rowline);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr.wrow td{background:rgba(245,158,11,.07)}
tr.wrow td.nm{color:#a16207}
tbody tr:hover{background:rgba(74,163,247,.045)}
td.num{text-align:center;font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace;font-size:12px}
td.mono{font-size:12.5px;color:var(--txt2);text-align:center}
td.nm{color:var(--txt);font-weight:600;white-space:nowrap;text-align:left}

/* 徽标 */
.q{display:inline-block;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;line-height:17px;white-space:nowrap}
.q1{background:rgba(154,163,178,.14);color:var(--r1)}
.q2{background:rgba(79,163,247,.14);color:var(--r2)}
.q3{background:rgba(255,210,74,.14);color:var(--r3)}
.q4{background:rgba(192,124,245,.15);color:var(--r4)}
.q5{background:rgba(255,138,61,.15);color:var(--r5)}
.q6{background:rgba(255,79,163,.15);color:var(--r6)}
.tag{display:inline-block;padding:1px 7px;border-radius:20px;font-size:11px;background:var(--panel2);border:1px solid var(--line);color:var(--txt2);margin:1px 3px 1px 0}
.tag.cy{border-color:rgba(74,163,247,.35);color:var(--cyan)}
.tag.gd{border-color:rgba(233,185,73,.35);color:var(--gold)}
.tag.pp{border-color:rgba(162,116,240,.35);color:var(--purple)}
.tag.rd{border-color:rgba(255,107,107,.35);color:var(--red)}
.tag.gr{border-color:rgba(74,222,128,.35);color:var(--green)}
code{font-family:ui-monospace,Consolas,monospace;font-size:12px;background:var(--codebg);border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--gold)}
.cd{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--txt3)}

/* 公式块 */
.formula{position:relative;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:10px;padding:12px 16px 12px 18px;font-size:13.5px;line-height:1.95;color:var(--txt);overflow-x:auto;white-space:normal;word-break:break-word}
.formula::before{content:"公式";display:inline-block;font-size:10.5px;font-weight:650;letter-spacing:.12em;color:var(--cyan);background:rgba(74,163,247,.1);border:1px solid rgba(74,163,247,.28);border-radius:5px;padding:1px 7px;margin-bottom:6px}
.formula b{color:var(--gold);font-weight:600}
.formula .cm{color:var(--txt3)}
.cm{color:var(--txt3);font-size:.86em}
.formula .hl{color:var(--cyan)}
.formula .rd{color:var(--red)}

/* 流程 */
.flow{display:flex;flex-direction:column;gap:0}
.fstep{display:grid;grid-template-columns:34px 1fr;gap:12px;position:relative;padding-bottom:14px}
.fstep:not(:last-child)::before{content:"";position:absolute;left:16px;top:30px;bottom:0;width:1px;background:var(--line)}
.fnum{width:32px;height:32px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--cyan);flex-shrink:0;z-index:1}
.fbody{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:0}
.fbody .ft{font-weight:650;font-size:13.5px;margin-bottom:4px;color:var(--txt)}
.fbody .fd{font-size:12.5px;color:var(--txt2);margin-bottom:6px}
.fbody code{display:block;background:var(--fmbg);border-left:2px solid var(--purple);border-radius:0;padding:7px 10px;margin-top:6px;font-size:11.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:var(--fmcode);border-top:none;border-right:none;border-bottom:none}

/* 键值列表 */
.kv{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:12.5px}
.kv dt{color:var(--txt2);white-space:nowrap}
.kv dd{color:var(--txt)}
.kv dd .cd{color:var(--txt3);margin-left:4px}

/* 筛选栏 */
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filters input,.filters select{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 11px;color:var(--txt);font-size:12.5px;outline:none;font-family:inherit}
.filters input:focus,.filters select:focus{border-color:var(--cyan)}
.filters input{min-width:190px;flex:1;max-width:330px}
.filters .cnt{font-size:12px;color:var(--txt3);margin-left:auto;white-space:nowrap}

/* 装备/道具卡 */
.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}
.ec{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 13px;position:relative;overflow:hidden;transition:.15s}
.ec:hover{border-color:var(--txt3);transform:translateY(-1px)}
.ec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.ec.r1::before{background:var(--r1)}.ec.r2::before{background:var(--r2)}.ec.r3::before{background:var(--r3)}
.ec.r4::before{background:var(--r4)}.ec.r5::before{background:var(--r5)}.ec.r6::before{background:var(--r6)}
/* 宠物图鉴卡：按品阶着色（游戏内宠物图鉴格子配色，采自游戏截图：rare5=金黄 rare4=品红 rare3=蓝 rare2=绿 rare1=灰） */
/* 宠物品阶配色（按游戏「宠物图鉴」）：传奇5=橙、史诗4=黄、稀有3=紫、魔法2=蓝、普通1=灰 */
.ec.pr1{--pc:#5a6472;--pcb:rgba(122,132,148,.09)}
.ec.pr2{--pc:#2f7fd0;--pcb:rgba(40,120,210,.12)}
.ec.pr3{--pc:#a44fd0;--pcb:rgba(164,79,208,.12)}
.ec.pr4{--pc:#d8b81a;--pcb:rgba(216,184,26,.13)}
.ec.pr5{--pc:#e8801a;--pcb:rgba(232,128,26,.14)}
.ec.pr1,.ec.pr2,.ec.pr3,.ec.pr4,.ec.pr5{border:1.5px solid var(--pc);background:linear-gradient(180deg,var(--pcb),rgba(0,0,0,0) 72%),var(--panel)}
.ec .en{font-weight:700;font-size:13.5px;margin-bottom:3px}
.ec .em{font-size:11px;color:var(--txt3);margin-bottom:7px;display:flex;gap:6px;flex-wrap:wrap}
.ec .est{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--txt2);font-family:ui-monospace,Consolas,monospace}
.ec .est b{color:var(--txt);font-weight:600}
.ec .eset{margin-top:6px;font-size:11px;color:var(--purple)}

/* 折叠 */
details{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:9px;overflow:hidden}
details[open]{border-color:var(--line)}
summary{cursor:pointer;padding:10px 14px;font-weight:600;font-size:13.5px;list-style:none;display:flex;align-items:center;gap:9px}
summary::-webkit-details-marker{display:none}
summary::before{content:"▸";color:var(--cyan);transition:.18s;font-size:12px}
details[open] summary::before{transform:rotate(90deg)}
summary:hover{background:var(--panel2)}
.dbody{padding:4px 14px 14px;border-top:1px solid var(--line)}

/* 提示框 */
.note{border-radius:10px;padding:11px 14px;font-size:12.5px;margin:12px 0;border:1px solid;line-height:1.75}
.note.i{background:rgba(74,163,247,.06);border-color:rgba(74,163,247,.28);color:var(--noteI)}
.note.w{background:rgba(233,185,73,.06);border-color:rgba(233,185,73,.28);color:var(--noteW)}
.note.d{background:rgba(255,107,107,.06);border-color:rgba(255,107,107,.28);color:var(--noteD)}
.note b{color:var(--strong)}

/* 章节导航 */
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.pager a{font-size:12.5px;color:var(--txt2);padding:7px 13px;border:1px solid var(--line);border-radius:8px}
.pager a:hover{border-color:var(--cyan);color:var(--cyan)}
.pager .sp{flex:1}

/* 顶部进度 */
#bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--cyan));z-index:99;width:0;transition:width .1s}

/* 回到顶部 */
#top{position:fixed;right:22px;bottom:26px;width:40px;height:40px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);color:var(--cyan);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:70;font-size:17px}
#top:hover{border-color:var(--cyan);background:var(--panel2)}
#top.show{display:flex}

/* 手机端：章节浮标 + 全章节底部面板（仅 ≤720px 显示） */
#fab{display:none}
#sheet{display:none}

/* 空态 */
.empty-tip{padding:26px;text-align:center;color:var(--txt3);font-size:13px}

/* 结算流程概览（芯片流） */
.pflow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}
.pflow .pc{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:3px 12px;font-size:12.5px;white-space:nowrap}
.pflow .pc.b{border-color:rgba(74,163,247,.45);color:var(--cyan)}
.pflow .pc.g{border-color:rgba(233,185,73,.45);color:var(--gold)}
.pflow .pc.r{border-color:rgba(255,107,107,.45);color:var(--red)}
.pflow .pa{color:var(--txt3);font-size:11px}
.pflow.one{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}

/* 装备图鉴卡（传奇 · 游戏内 tooltip 样式 · PC 每行 6 张）
   品质配色取自客户端 misc.rare2ColorStr：rare5=ff9900 橙；套装=cc.Color.GREEN 绿 */
.bkgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}
/* 卡片整体按游戏内格子配色（明暗主题一致）：传奇=橙格（#382200→#673e00→#935800 渐变 + #bf770a 亮边框），套装=绿格（#009000 系） */
.bk{background:linear-gradient(180deg,#382300,#673e00 55%,#935800);border:1.5px solid #bf770a;border-radius:11px;padding:0 8px 10px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.bk.set{background:linear-gradient(180deg,#005a00,#009000 55%,#00b400);border-color:#3edd3e}
.bk .bimg{position:relative;width:50%;margin:9px auto 0;aspect-ratio:1/1;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));border:1px solid rgba(255,255,255,.13);overflow:hidden}
.bk .bimg img{width:100%!important;height:100%!important;image-rendering:auto;background:none;border:none}
.bk .blv{position:absolute;left:50%;transform:translateX(-50%);bottom:3px;font-size:10px;background:rgba(10,10,12,.78);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:0 7px;line-height:15px;color:#e8e8e8;white-space:nowrap;z-index:1}
.bk .bt{font-weight:700;font-size:15px;color:#ff9900;margin:7px 0 3px;line-height:1.35}
.bk.set .bt{color:#2ee32e}
.bk .bq{font-size:12px;color:#e2d4b4;line-height:1.55}
.bk .bq.q{color:#ff9900}
.bk.set .bq.q{color:#2ee32e}
.bk .bbase{width:100%;background:rgba(0,0,0,.28);border-radius:7px;padding:4px 5px;margin-top:7px;font-size:12px;color:#f0e6d2;line-height:1.7;font-family:ui-monospace,Consolas,monospace}
.bk .bbh{color:#c9b98f;font-size:11px}
.bk .bfx{font-size:12.5px;color:#ffcf5c;line-height:1.65;margin-top:7px;overflow-wrap:anywhere}
.bk .bm{font-size:11.5px;color:#d8c9a8;margin-top:7px;display:flex;gap:4px;flex-wrap:wrap;justify-content:center;align-items:center}
/* 宠物图鉴卡（与装备卡同风格：品阶色格子背景 + 上方预览图） */
.pk{border:1.5px solid;border-radius:11px;padding:0 8px 10px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.pk.pr5{background:linear-gradient(180deg,#382300,#673e00 55%,#935800);border-color:#bf770a}
.pk.pr4{background:linear-gradient(180deg,#4a3a00,#8a6d00 55%,#b89000);border-color:#e0c020}
.pk.pr3{background:linear-gradient(180deg,#2d0a3d,#5a1a80 55%,#7a2ab0);border-color:#a44fd0}
.pk.pr2{background:linear-gradient(180deg,#0a1e3d,#0f3a7a 55%,#1550a8);border-color:#2f7fd0}
.pk.pr1{background:linear-gradient(180deg,#23262b,#3a3f47 55%,#4a505a);border-color:#6a7482}
.pk .pimg{position:relative;width:50%;margin:9px auto 0;aspect-ratio:1/1;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.14);overflow:hidden}
.pk .pimg img{width:88%!important;height:88%!important;object-fit:contain;background:none;border:none}
.pk .pt{font-weight:700;font-size:15px;margin:7px 0 3px;line-height:1.35;color:#aab2be}
.pk.pr5 .pt{color:#ff9900}
.pk.pr4 .pt{color:#f0c020}
.pk.pr3 .pt{color:#c873f0}
.pk.pr2 .pt{color:#5aa2f0}
.pk .pm{font-size:11.5px;color:#e2d4b4;display:flex;gap:4px;flex-wrap:wrap;justify-content:center;align-items:center;opacity:.9}
.pk .pst{width:100%;background:rgba(0,0,0,.28);border-radius:7px;padding:4px 5px;margin-top:6px;font-size:12px;color:#f0e6d2;line-height:1.7;font-family:ui-monospace,Consolas,monospace}
.pk .psk{margin-top:6px;font-size:12px;color:#d8c9a8;line-height:1.65;overflow-wrap:anywhere;width:100%;text-align:left}
.pk .ptag{display:inline-block;font-size:10.5px;line-height:16px;padding:0 6px;border-radius:5px;background:rgba(232,160,26,.22);color:#ffcf5c;margin-right:4px;vertical-align:1px;white-space:nowrap}
.pk .ptag.pb{background:rgba(90,140,230,.22);color:#9cc2ff}
.pk .pnm{font-weight:700;color:#ffcf5c;font-size:12.5px}
.pk .pdesc{display:block;margin-top:2px;color:#cbbfa4;font-size:11.5px;line-height:1.65}
.pk .psk + .psk{margin-top:7px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.12)}
/* 宠物羁绊（独立展示区 · 游戏 tooltip 式：技能图标 + 名称 + 元素图标 + 描述） */
.bonds{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.bond{display:flex;gap:11px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 13px 10px 10px}
.bd-ico{flex:0 0 auto;width:52px;display:flex;align-items:center;justify-content:center}
.bd-ico img{border-radius:9px;background:rgba(0,0,0,.30);border:1px solid var(--line)}
.bd-noic{color:var(--txt3)}
.bd-main{flex:1;min-width:0}
.bd-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.bd-nm{font-size:13px;color:var(--gold)}
.bd-lv{font-size:10px;color:var(--txt3);font-family:ui-monospace,Consolas,monospace}
.bd-ele{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin:2px 0 5px}
.bd-lab{font-size:10.5px;color:#5fc8ff;margin-right:5px}
.bd-ele .bd-plus{font-size:10px;color:var(--txt3);line-height:1;margin:0 2px}
.bd-body{min-width:0}
.bd-sk + .bd-sk{margin-top:5px}
.bd-desc{display:block;font-size:11.5px;color:var(--txt2);line-height:1.7;overflow-wrap:anywhere}
@media(max-width:1080px){.bonds{grid-template-columns:1fr}}
@media(max-width:720px){.bond{flex-direction:row}}

/* 图标 */
img.icn{vertical-align:middle;border-radius:7px;background:radial-gradient(circle at 50% 40%,#1c2334,#0b0e16);border:1px solid var(--line);object-fit:contain;flex-shrink:0}
.en{display:flex;align-items:center;gap:9px}
td .icn{margin-right:7px}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.gcard .gh{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.gcard .gt2{font-weight:700;font-size:13.5px}
.gcard .gm{font-size:12px;color:var(--txt2);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gcard .gp{margin-top:7px;font-size:12.5px;color:var(--txt)}

@media(max-width:1080px){
  .wrap{grid-template-columns:1fr;gap:0}
  .bkgrid{grid-template-columns:repeat(4,1fr)}
  nav{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:2px;padding:10px 0;border:none;border-radius:0;box-shadow:none;background:transparent;margin:0;border-bottom:1px solid var(--line);margin-bottom:14px}
  nav h4{display:none}
  nav a{border-left:none;padding:5px 10px;font-size:12px}
  nav a.on{border-left:none;background:rgba(74,163,247,.14)}
  nav a.on::before{display:none}
  #gsearch{min-width:100%;max-width:none;order:9}
  #themebtn{order:10}
  #gtabs{padding:0 12px}
}

/* ================= 移动端（手机）适配 ================= */
@media(max-width:720px){
  body{font-size:13.5px;-webkit-text-size-adjust:100%}

  /* 顶栏：紧凑两行 */
  .hrow{padding:8px 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:8px}
  .logo{font-size:16.5px;order:1}
  .logo .lgsuf,.logo small{display:none}
  .verchips{display:none}
  #themebtn{order:2;margin-left:auto;padding:6px 10px;font-size:11.5px;border-radius:8px}
  #gsearch{order:3;min-width:100%;max-width:none;margin-left:0}
  #gsearch input{font-size:12.5px;padding:7px 10px 7px 29px}
  #gsearch svg{left:9px;top:8px}
  #gres{max-height:58vh;border-radius:9px}
  #gres .gi{padding:8px 10px;font-size:12.5px}
  #gres .gi .gd{font-size:10.5px}

  /* 布局改为单栏块流，使目录条可吸顶 */
  .wrap{display:block;padding:0 12px 76px}
  /* 第一排：主分组横滑 chips（吸顶；body 直属全宽，无需负边距；居中规则退化为横滑） */
  #gtabs{position:sticky;top:var(--hdh,96px);z-index:56;gap:6px;padding:7px 12px;background:var(--bg);border-bottom:1px solid var(--line)}
  #gtabs button{margin:0;border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:16px;padding:4px 12px;font-size:12px;color:var(--txt2)}
  #gtabs button.on{border-color:rgba(74,163,247,.5);background:rgba(74,163,247,.14);color:var(--cyan);font-weight:600}
  /* 第二排：组内章节横滑 chips（吸顶，紧随分组排） */
  nav{position:sticky;top:calc(var(--hdh,96px) + var(--gtabh,40px));z-index:55;display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;overflow-y:hidden;max-height:none;padding:8px 12px;margin:0 -12px 12px;background:var(--bg);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding:12px}
  nav::-webkit-scrollbar{display:none}
  nav h4{display:none}
  nav a{flex:0 0 auto;display:flex;align-items:center;min-height:32px;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:17px;background:var(--panel);padding:4px 12px;font-size:12.5px;white-space:nowrap}
  nav a.on{border-color:rgba(74,163,247,.5);background:rgba(74,163,247,.14);color:var(--cyan)}

  /* 章节排版 */
  section{margin-bottom:32px;scroll-margin-top:var(--anch,110px)}
  h1.sec{font-size:19px;gap:7px;flex-wrap:wrap}
  h1.sec .ic{font-size:17px}
  h1.sec small{flex-basis:100%;font-size:11px;margin-top:1px}
  h2.sub{font-size:15px;margin:20px 0 9px}
  h3.ssub{font-size:13.5px;margin:15px 0 7px}
  p.lead{font-size:13px;margin-bottom:11px}
  .hint{font-size:11.5px}

  /* 卡片与栅格 */
  .card{padding:12px 13px;border-radius:10px}
  .card.tight{padding:10px 12px}
  .grid{gap:10px}
  .grid.g2,.grid.g3,.grid{grid-template-columns:1fr}
  .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:10px 11px;border-radius:9px}
  .stat .v{font-size:19px}
  .stat .k{font-size:11px}
  .stat .c{font-size:9.5px}
  /* 键值列表转纵向 */
  .kv{grid-template-columns:1fr;gap:0}
  .kv dt{font-size:11.5px;color:var(--txt3);margin-top:8px}
  .kv dt:first-child{margin-top:0}
  .kv dd{margin-bottom:2px}
  /* 长代码串 / 长单词强制可断行，杜绝横向溢出（表格在 .tw 滚动容器内，不需断行） */
  .kv dd,.kv dt,.note,.hint,p.lead,.dbody,.card,.fbody,.bk,.gcard,.ec,summary{overflow-wrap:anywhere;min-width:0}
  code{overflow-wrap:anywhere}
  .formula{overflow-wrap:anywhere}
  /* 装备/道具卡 */
  .cards{grid-template-columns:1fr;gap:9px}
  .ec{padding:10px 12px}

  /* 表格：整体缩小 + 首列吸附 */
  .tw{border-radius:9px;-webkit-overflow-scrolling:touch}
  table{font-size:12px}
  th{padding:7px 8px;font-size:10.5px}
  th .cd{font-size:9px}
  td{padding:6px 8px}
  td.num,td.mono{font-size:11px}
  td.nm{font-size:12.5px}
  td:first-child,th:first-child{position:sticky;left:0;z-index:2}
  th:first-child{z-index:4}
  td:first-child{background:var(--panel)}
  tbody tr:hover td:first-child{box-shadow:inset 0 0 0 999px rgba(74,163,247,.045)}
  td .icn{margin-right:5px}
  td .icn,td.nm .icn{width:26px!important;height:26px!important}

  /* 图示大卡：窄屏降列 */
  .bkgrid{grid-template-columns:repeat(3,1fr);gap:8px}
  .bk{padding:0 6px 9px;border-radius:10px}
  .bk .bimg{width:50%;margin:8px auto 0}
  .bk .bt{font-size:13.5px}
  .bk .bq{font-size:11.5px}
  .bk .bbase{font-size:11px}
  .bk .bfx{font-size:11.5px}
  .pk .pt{font-size:13.5px}
  .pk .psk{font-size:11.5px}
  .pk .pdesc{font-size:11px}

  /* 公式与流程 */
  .formula{font-size:11.5px;padding:10px 11px;line-height:1.75;border-radius:8px}
  .flow{gap:0}
  .fstep{grid-template-columns:28px 1fr;gap:9px;padding-bottom:11px}
  .fnum{width:27px;height:27px;font-size:11px}
  .fstep:not(:last-child)::before{left:13px;top:26px}
  .fbody{padding:9px 11px;border-radius:9px}
  .fbody .ft{font-size:12.5px}
  .fbody .fd{font-size:12px}
  .fbody code{font-size:10.5px;padding:6px 8px}
  .pflow{gap:5px;margin:10px 0}
  .pflow .pc{font-size:11.5px;padding:2px 9px}
  .pflow .pa{font-size:10px}

  /* 筛选栏 */
  .filters{gap:6px}
  .filters input{flex:1 1 100%;min-width:0;max-width:none;font-size:12.5px;padding:8px 10px}
  .filters select{flex:1 1 44%;min-width:0;font-size:12.5px;padding:8px 9px}
  .filters .cnt{flex:1 1 100%;margin-left:0;text-align:right;font-size:11.5px}

  /* 折叠 */
  details{border-radius:9px}
  summary{padding:9px 12px;font-size:12.5px;gap:7px}
  .dbody{padding:4px 12px 12px}

  /* 提示框 */
  .note{font-size:12px;padding:10px 12px;border-radius:9px;line-height:1.7}

  /* 章节翻页 */
  .pager{gap:8px;margin-top:20px;padding-top:13px}
  .pager a{font-size:11.5px;padding:7px 10px;max-width:47%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pager .sp{display:none}

  /* 图标 / 标签 */
  img.icn{border-radius:6px}
  .tag{font-size:10.5px;padding:1px 6px}
  .q{font-size:10.5px;line-height:16px;padding:0 5px}
  code{font-size:11.5px;padding:1px 4px}
  .cd{font-size:10.5px}
  .gcard{padding:11px 12px;border-radius:10px}

  /* 回到顶部（上移避开章节浮标） */
  #top{right:12px;width:38px;height:38px;font-size:16px;bottom:max(74px,calc(env(safe-area-inset-bottom) + 74px))}

  /* 章节浮标：滚离导航区后出现，点开全章节面板 */
  #fab{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:10px 16px;box-shadow:0 4px 18px rgba(8,12,24,.22);transform:translateY(96px);transition:transform .22s;font-family:inherit;cursor:pointer;text-align:left}
  #fab.show{transform:none}
  #fab .fn{flex:1;min-width:0;font-size:12.5px;color:var(--txt);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #fab .fn span{opacity:.65;margin-right:5px}
  #fab .ft{flex:none;font-size:11.5px;color:var(--cyan);font-weight:600}
  /* 全章节底部面板 */
  #sheet{position:fixed;inset:0;z-index:90}
  #sheet.open{display:block}
  #sheet .shd{position:absolute;inset:0;background:rgba(6,9,16,.55)}
  #sheet .sbd{position:absolute;left:0;right:0;bottom:0;max-height:72vh;overflow-y:auto;background:var(--panel);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  #sheet .shh{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}
  #sheet .shh b{font-size:14px;color:var(--txt)}
  #sheet .scl{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:4px 12px;font-size:12px;color:var(--txt2);font-family:inherit}
  #sheet h5{margin:12px 0 3px;font-size:11.5px;font-weight:600;color:var(--txt3);letter-spacing:.5px}
  #sheet a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;color:var(--txt2);font-size:13.5px;text-decoration:none}
  #sheet a:active,#sheet a.on{background:rgba(74,163,247,.12);color:var(--cyan)}
}

/* ===== 差异专章（测试服 Wiki） ===== */
.dstat{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:10px;margin:14px 0}
.dstat .dc{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.dstat .dc .v{font-size:20px;font-weight:700;color:var(--cyan);line-height:1.25}
.dstat .dc .v.plus{color:var(--green)}
.dstat .dc .v.minus{color:var(--red)}
.dstat .dc .k{font-size:12px;color:var(--txt2);margin-top:2px}
.dstat .dc .s{font-size:11.5px;color:var(--txt3);margin-top:4px}
.dfd{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;padding:5px 9px;border-radius:7px;background:var(--codebg);margin:4px 0;font-size:12.5px;line-height:1.65}
.dfd .fk{font-family:ui-monospace,Consolas,monospace;color:var(--txt3);min-width:100px;font-size:11.5px}
.dfd .dv{font-family:ui-monospace,Consolas,monospace;word-break:break-word;max-width:46%}
.dfd .dv.o{color:var(--red);opacity:.78;text-decoration:line-through}
.dfd .dv.nw{color:var(--green)}
.dfd .ar{color:var(--txt3)}
.drow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:9px;margin:6px 0;background:var(--panel)}
.drow .di{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;color:var(--txt3);min-width:62px}
.drow .dn{font-weight:600;font-size:13px}
.ddsc{font-size:12.5px;color:var(--txt2);flex-basis:100%;margin-top:2px;line-height:1.6;word-break:break-word}
details.dwrap{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--panel);overflow:hidden}
details.dwrap>summary{cursor:pointer;padding:9px 12px;font-weight:600;font-size:13px;color:var(--txt);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
details.dwrap>summary::-webkit-details-marker{display:none}
details.dwrap>summary::after{content:'▾';color:var(--txt3);transition:.2s;flex:none}
details.dwrap[open]>summary::after{transform:rotate(180deg)}
details.dwrap>.dbody{padding:0 12px 12px}
.catpill{display:inline-block;padding:1px 7px;border-radius:20px;font-size:11px;background:var(--panel2);border:1px solid var(--line);color:var(--txt2);margin:0 4px 3px 0;line-height:1.7}

@media(max-width:400px){
  h1.sec{font-size:17.5px}
  .logo{font-size:15.5px}
  #themebtn{padding:5px 8px;font-size:11px}
  .stat .v{font-size:17px}
  .bkgrid{grid-template-columns:repeat(2,1fr)}
}

/* ── 分页运行时补充 ── */
.wload{padding:64px 0;text-align:center;color:var(--txt3,#7a8290);font-size:14px;line-height:1.9}
.wload button{margin-top:14px;padding:7px 18px;border-radius:8px;border:1px solid var(--line,#2a2f3a);
  background:transparent;color:inherit;font:inherit;cursor:pointer}
.wload button:hover{border-color:var(--acc,#4c8dff);color:var(--acc,#4c8dff)}

/* ===== 深色主题精修：表面分层 / 光感 / 对比 ===== */
html:not(.light) body{background:
  radial-gradient(1100px 620px at 85% -8%,rgba(92,173,255,.085),transparent 60%),
  radial-gradient(900px 520px at -10% 32%,rgba(185,138,255,.055),transparent 55%),
  var(--bg)}
html:not(.light) .stat,html:not(.light) .card,html:not(.light) .lgbar,
html:not(.light) .gcard,html:not(.light) .tag,html:not(.light) code,
html:not(.light) .formula{box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
html:not(.light) .stat,html:not(.light) .card{border-color:rgba(146,170,222,.17)}
html:not(.light) th{background:linear-gradient(180deg,#1f2947,#1a2138)}
html:not(.light) tbody tr:hover{background:rgba(92,173,255,.07)}
html:not(.light) h1.sec{text-shadow:0 2px 18px rgba(92,173,255,.16)}
html:not(.light) h2.sub::before{box-shadow:0 0 10px rgba(243,197,82,.5)}
html:not(.light) .note.i{background:rgba(92,173,255,.09)}
html:not(.light) .note.w{background:rgba(243,197,82,.08)}
html:not(.light) .note.d{background:rgba(255,125,125,.08)}
html:not(.light) ::selection{background:rgba(92,173,255,.42)}
html:not(.light) #gres{box-shadow:0 18px 50px rgba(0,0,0,.55)}
html:not(.light) .hint{color:#8794ad}

/* 双行表头分组表：一级分组之间加竖向分栏线，组头行加底色突出 */
#tdual tr:first-child th:not(:first-child),#tnck tr:first-child th:not(:first-child){background:rgba(96,150,230,.14);border-left:2px solid var(--line);border-bottom:2px solid var(--line)}
#tdual th:nth-child(2),#tdual th:nth-child(6),#tdual th:nth-child(9),#tdual td:nth-child(2),#tdual td:nth-child(6),#tdual td:nth-child(9),
#tnck th:nth-child(2),#tnck th:nth-child(7),#tnck td:nth-child(2),#tnck td:nth-child(7){border-left:2px solid var(--line)}

/* ===== 外层布局（layout.css） ===== */
/* layout.css — Wiki 外层布局（追加在内容样式 w.css 之后，负责外壳与两栏/三栏骨架）
   设计：左树 = 第一级（章）+ 第二级（小节）；右 TOC = 本页小节滚动联动；
        ≤960px 侧栏变抽屉，并在正文顶部给一条 sticky 的小节胶囊条。
   所有选择器都以 .top / .shell / .side / .docCol / .toc / #main 为根，不碰 w.css 的内容组件。 */

/* ---------- 0. 覆盖旧外壳 ---------- */
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{font-size:15px;line-height:1.8;overflow-x:hidden;text-rendering:optimizeLegibility}
#main{min-width:0;padding:0}
#main section{margin-bottom:0;scroll-margin-top:74px}
#main h1.sec{font-size:25px;letter-spacing:-.2px;flex-wrap:wrap;row-gap:4px}
#main h1.sec small{font-size:12.5px;color:var(--txt3);font-weight:400}
#main h2.sub{font-size:17.5px;margin:32px 0 12px;letter-spacing:-.1px;scroll-margin-top:74px}
#main h3.ssub{font-size:14.5px;margin:22px 0 9px;scroll-margin-top:74px}
#main h4.ssub{font-size:13.5px;font-weight:650;margin:16px 0 7px;color:var(--txt2);scroll-margin-top:74px}
/* 少数章节把小节写成 <h3 class="sub">，视觉上按三级标题处理 */
#main h3.sub{font-size:14.5px;font-weight:650;margin:22px 0 9px;color:var(--cyan);scroll-margin-top:74px}
/* 宽内容（公式块 / 代码）自己滚动，不能把整页撑宽 */
#main .formula,#main pre,#main .lgc table{overflow-x:auto;max-width:100%}
#main p,#main li{font-size:14.5px;line-height:1.85}
#main p.lead{font-size:14.5px;line-height:1.85}

/* ---------- 1. 顶栏 ---------- */
.top{position:sticky;top:0;z-index:80;height:56px;display:flex;align-items:center;gap:13px;padding:0 16px;
  background:linear-gradient(180deg,var(--hdbg1),var(--hdbg2));backdrop-filter:blur(14px) saturate(170%);
  -webkit-backdrop-filter:blur(14px) saturate(170%);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;letter-spacing:.2px;
  color:var(--txt);white-space:nowrap;text-decoration:none}
.brand .mk{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:12px;
  background:linear-gradient(145deg,var(--cyan),var(--purple));color:#fff;box-shadow:0 2px 8px rgba(74,163,247,.35)}
.brand i{font-style:normal;color:var(--cyan)}
.brand .bdg{font-size:9px;font-weight:700;letter-spacing:1.3px;color:var(--txt3);border:1px solid var(--line);
  border-radius:4px;padding:1px 4px;margin-left:1px}
.crumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--txt3);min-width:0;margin-left:6px}
.crumb .sep{opacity:.45}
.crumb b{color:var(--txt2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
.qwrap{position:relative;margin-left:auto;flex:0 1 300px;min-width:120px}
.qwrap input{width:100%;height:34px;background:var(--panel);border:1px solid var(--line);border-radius:9px;
  padding:0 46px 0 31px;color:var(--txt);font-size:13px;font-family:inherit;outline:none;transition:.15s}
.qwrap input::placeholder{color:var(--txt3)}
.qwrap input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(74,163,247,.13)}
.qwrap .mag{position:absolute;left:9px;top:9px;opacity:.45;pointer-events:none}
.qwrap kbd{position:absolute;right:7px;top:8px;font:10px/1 ui-monospace,Consolas,monospace;color:var(--txt3);
  border:1px solid var(--line);border-radius:4px;padding:3px 4px;background:var(--bg2)}
#gres{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(66vh,460px);overflow:auto;
  background:var(--panel2);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 14px 40px rgba(0,0,0,.28);display:none;z-index:90}
#gres .gi{padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--rowline);font-size:13px;
  display:flex;gap:8px;align-items:baseline}
#gres .gi:hover{background:var(--panel)}
#gres .gi .gt{font-size:10px;color:var(--txt3);border:1px solid var(--line);border-radius:4px;padding:0 5px;flex-shrink:0}
#gres .gi .gn{color:var(--txt);font-weight:600;white-space:nowrap}
#gres .gi .gd{color:var(--txt3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gres .empty{padding:12px;color:var(--txt3);font-size:12px;text-align:center}
.ibtn{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;background:var(--panel);
  border:1px solid var(--line);border-radius:9px;color:var(--txt2);cursor:pointer;transition:.15s;
  font-size:14px;font-family:inherit;text-decoration:none}
.ibtn:hover{border-color:var(--cyan);color:var(--cyan)}
.ibtn.wide{width:auto;padding:0 11px;gap:5px;font-size:12.5px;display:flex;align-items:center}
#prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;
  background:linear-gradient(90deg,var(--cyan),var(--purple));border-radius:0 2px 2px 0;
  transition:width .1s linear;box-shadow:0 0 8px rgba(74,163,247,.6)}

/* ---------- 2. 三栏骨架 ---------- */
.shell{max-width:1436px;margin:0 auto;padding:0 22px;display:grid;
  grid-template-columns:266px minmax(0,1fr) 206px;gap:38px;align-items:start}

/* ---------- 3. 左栏：两级树 ---------- */
.side{position:sticky;top:56px;height:calc(100vh - 56px);display:flex;flex-direction:column;padding-top:13px}
.shead{display:flex;align-items:center;gap:8px;padding:0 4px 9px 6px;font-size:10.5px;font-weight:700;
  letter-spacing:1.5px;color:var(--txt3);text-transform:uppercase}
.shead .sp{margin-left:auto;display:flex;gap:6px}
.shead .mini{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:none;
  border:1px solid transparent;color:var(--txt3);cursor:pointer;font-size:13px;font-family:inherit}
.shead .mini:hover{color:var(--cyan);border-color:var(--line)}
.tree{flex:1;min-height:0;overflow-y:auto;padding:0 5px 34px 0;margin-right:-5px;overscroll-behavior:contain}
.tree::-webkit-scrollbar{width:7px}

.grp{margin-bottom:2px}
.ghd{width:100%;display:flex;align-items:center;gap:6px;background:none;border:none;font:inherit;
  font-size:11px;font-weight:700;letter-spacing:.7px;color:var(--txt3);padding:10px 7px 6px;cursor:pointer;
  border-radius:7px;text-align:left}
.ghd:hover{color:var(--txt2)}
.ghd .c1{font-size:8px;transition:transform .2s;opacity:.7}
.grp.closed .c1{transform:rotate(-90deg)}
.grp.closed .gitems{display:none}

.node{position:relative}
.n1{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 9px;border-radius:8px;cursor:pointer;
  color:var(--txt2);font-size:13.5px;line-height:1.45;position:relative;transition:background .13s,color .13s}
.n1:hover{background:var(--panel);color:var(--txt)}
.n1 .dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--ga,var(--txt3));opacity:.8;transition:.15s}
.n1 .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n1.on{background:rgba(74,163,247,.1);color:var(--cyan);font-weight:650}
.n1.on .dot{opacity:1;box-shadow:0 0 9px var(--ga,var(--cyan))}
.n1.on::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--cyan)}
/* 分组色：开始 / 战斗 / 属性 / 配装 / 职业 / 玩法 / 资源 / 更新 */
.dot.g0{--ga:#4aa3f7}.dot.g1{--ga:#ff7d7d}.dot.g2{--ga:#f3c552}.dot.g3{--ga:#b98aff}
.dot.g4{--ga:#56dc8e}.dot.g5{--ga:#ff9a4d}.dot.g6{--ga:#ff5fa8}.dot.g7{--ga:#9fb0d0}
html.light .dot.g0{--ga:#2f7fd4}html.light .dot.g1{--ga:#d64545}html.light .dot.g2{--ga:#c08a00}
html.light .dot.g3{--ga:#9a55d8}html.light .dot.g4{--ga:#1f9d55}html.light .dot.g5{--ga:#d96a1f}
html.light .dot.g6{--ga:#d43a86}html.light .dot.g7{--ga:#7c88a3}
.car{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:5px;
  color:var(--txt3);font-size:8px;opacity:0;transition:transform .2s,opacity .13s}
.n1:hover .car,.n1.on .car{opacity:.75}
.car.open{transform:rotate(90deg)}
.car:hover{background:var(--line);color:var(--txt)}

.n2wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.4,0,.2,1)}
.n2wrap.open{grid-template-rows:1fr}
.n2in{overflow:hidden}
.n2{display:block;position:relative;padding:4px 8px 4px 31px;font-size:12.6px;line-height:1.5;
  color:var(--txt3);cursor:pointer;border-radius:0 7px 7px 0;transition:color .13s,background .13s}
.n2::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:1px;background:var(--line)}
.n2:hover{color:var(--txt);background:var(--panel)}
.n2.on{color:var(--cyan)}
.n2.on::before{background:var(--cyan);width:2px;left:18.5px}
.n2 .ln{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n2.lv3{padding-left:43px;font-size:11.8px;opacity:.82}
.n2.lv3::before{left:31px}
.n2.lv3.on::before{left:30.5px}
.side .sfoot{margin:10px 4px 0;padding:9px 11px;border:1px dashed var(--line);border-radius:9px;
  font-size:11px;line-height:1.65;color:var(--txt3)}
.side .sfoot a{color:var(--cyan);text-decoration:none}
.side .sfoot a:hover{text-decoration:underline}

/* ---------- 4. 中栏：正文 ---------- */
.docCol{min-width:0;padding:26px 0 96px}
.crumb2{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--txt3);margin-bottom:10px;flex-wrap:wrap}
.crumb2 a{color:var(--txt3);cursor:pointer;text-decoration:none}
.crumb2 a:hover{color:var(--cyan)}
.crumb2 .sep{opacity:.4}
#main{animation:fin .22s ease}
@keyframes fin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#meta:empty{display:none}
.meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0 22px;padding-bottom:16px;
  border-bottom:1px solid var(--line)}
.meta span{font-size:11.5px;color:var(--txt3);background:var(--panel);border:1px solid var(--line);
  border-radius:99px;padding:2px 9px;white-space:nowrap}
.meta span b{color:var(--txt2);font-weight:650}

/* ---------- 5. 右栏：本页目录 ---------- */
.toc{position:sticky;top:56px;max-height:calc(100vh - 56px);overflow-y:auto;padding:24px 0 40px;font-size:12.5px}
.toc::-webkit-scrollbar{width:6px}
.toc .th{font-size:10.5px;font-weight:700;letter-spacing:1.4px;color:var(--txt3);text-transform:uppercase;
  padding:0 0 9px 11px}
.toc a{display:block;position:relative;padding:4px 8px 4px 11px;color:var(--txt3);line-height:1.5;
  border-radius:0 6px 6px 0;cursor:pointer;text-decoration:none;transition:color .13s}
.toc a.l3{padding-left:23px;font-size:12px;opacity:.85}
.toc a::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1.5px;border-radius:2px;background:transparent}
.toc a:hover{color:var(--txt)}
.toc a.on{color:var(--cyan)}
.toc a.on::before{background:var(--cyan)}
.toc .tt2{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toc .top-link{margin-top:11px;padding:6px 8px 6px 11px;color:var(--txt3);font-size:11.5px;
  display:flex;align-items:center;gap:5px;cursor:pointer;border-radius:7px}
.toc .top-link:hover{color:var(--cyan);background:var(--panel)}

/* ---------- 6. 手机端小节胶囊条 ---------- */
.chips{display:none}

/* ---------- 7. 翻页 ---------- */
.pager2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:44px;padding-top:24px;
  border-top:1px solid var(--line)}
.pg{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:13px 16px;cursor:pointer;
  transition:.15s;min-width:0;text-decoration:none;display:block;color:inherit}
.pg:hover{border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.pg .lb{font-size:10.5px;letter-spacing:.6px;color:var(--txt3);text-transform:uppercase}
.pg .tt{font-size:13.5px;font-weight:650;color:var(--txt);margin-top:3px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pg.next{text-align:right}
.pg.next .tt{color:var(--cyan)}
.pg.empty{visibility:hidden}

/* ---------- 8. 载入 / 失败 ---------- */.wload{padding:60px 20px;text-align:center;color:var(--txt3);font-size:13.5px;line-height:2}
.wload code{font-size:12.5px}
.wload button{margin-top:10px;font:inherit;font-size:13px;color:var(--txt2);background:var(--panel);
  border:1px solid var(--line);border-radius:8px;padding:6px 16px;cursor:pointer}
.wload button:hover{border-color:var(--cyan);color:var(--cyan)}

/* 搜索命中定位后的短暂高亮 */
.hitflash{animation:hitf 1.6s ease;border-radius:5px}
@keyframes hitf{
  0%,45%{background:rgba(74,163,247,.22);box-shadow:0 0 0 4px rgba(74,163,247,.14)}
  100%{background:transparent;box-shadow:none}
}

/* ---------- 9. 回顶 / 遮罩 ---------- */
.totop{position:fixed;right:18px;bottom:22px;z-index:70;width:38px;height:38px;border-radius:11px;
  display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);color:var(--txt2);
  cursor:pointer;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 6px 20px rgba(0,0,0,.22);
  font-family:inherit;font-size:14px}
.totop.show{opacity:1;pointer-events:auto}
.totop:hover{color:var(--cyan);border-color:var(--cyan)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:88;opacity:0;pointer-events:none;
  transition:.24s;backdrop-filter:blur(2px)}
.scrim.on{opacity:1;pointer-events:auto}
.mini.sclose{display:none!important}

/* ---------- 10. 断点 ---------- */
@media (max-width:1239px){
  .shell{grid-template-columns:262px minmax(0,1fr);gap:30px}
  .toc{display:none}
}
@media (max-width:960px){
  .shell{grid-template-columns:minmax(0,1fr);padding:0 15px;gap:0}
  .docCol{padding:14px 0 80px}
  .crumb,.qwrap kbd{display:none}
  .top{height:52px;padding:0 12px;gap:8px}
  .qwrap{flex:1 1 auto;min-width:0}
  .qwrap input{min-width:0}
  .ibtn.wide{width:34px;padding:0;justify-content:center}
  .ibtn.wide .fbt{display:none}
  html{scroll-padding-top:104px}
  #main section{scroll-margin-top:104px}
  #main h2.sub,#main h3.ssub{scroll-margin-top:104px}

  .side{position:fixed;left:0;top:0;bottom:0;height:100%;width:87%;max-width:330px;z-index:90;
    background:var(--bg2);border-right:1px solid var(--line);padding:0 14px 0;transform:translateX(-100%);
    transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:0 0 60px rgba(0,0,0,.5)}
  .side.open{transform:none}
  .shead{padding-top:14px;font-size:11px}
  .mini.sclose{display:grid!important}
  .n1{padding:9px 6px 9px 10px;font-size:14.5px}
  .n2{padding:7px 8px 7px 32px;font-size:13.5px}
  .n2.lv3{padding-left:44px;font-size:12.5px}
  .car{opacity:.7}
  .grp .ghd{padding:12px 7px 7px;font-size:11.5px}

  .chips{display:flex;gap:7px;overflow-x:auto;position:sticky;top:52px;z-index:45;
    padding:9px 15px;margin:0 -15px 15px;background:var(--hdbg1);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chips::-webkit-scrollbar{display:none}
  .chips:empty{display:none}
  .chip{flex:0 0 auto;padding:5px 12px;border-radius:99px;border:1px solid var(--line);background:var(--panel);
    color:var(--txt2);font-size:12.5px;white-space:nowrap;cursor:pointer;transition:.14s;line-height:1.5}
  .chip.on{border-color:rgba(74,163,247,.5);color:var(--cyan);background:rgba(74,163,247,.12);font-weight:650}

  #main h1.sec{font-size:21px}
  #main h2.sub{font-size:16.5px;margin:26px 0 10px}
  #main p,#main li{font-size:15px;line-height:1.9}
  .pager2{grid-template-columns:1fr;gap:10px}
  .pg.next{text-align:left}
  .ibtn,.qwrap input{height:36px}
}
@media (max-width:520px){
  .brand .bdg{display:none}
  .brand{font-size:14.5px;gap:6px}
  .meta span{font-size:11px;padding:2px 8px}
}
@media print{
  .top,.side,.toc,.chips,.pager2,.totop,.scrim{display:none!important}
  .shell{display:block;padding:0}
}

/* ---------- 10. 深色主题精修（外壳层） ---------- */
html:not(.light) body{background:
  radial-gradient(1100px 620px at 85% -8%,rgba(92,173,255,.085),transparent 60%),
  radial-gradient(900px 520px at -10% 32%,rgba(185,138,255,.055),transparent 55%),
  var(--bg)}
html:not(.light) .top{border-bottom:1px solid rgba(146,170,222,.14);
  box-shadow:0 10px 30px rgba(0,0,0,.35)}
html:not(.light) .side{border-right:1px solid rgba(146,170,222,.12)}
html:not(.light) .side .sfoot,html:not(.light) .toc,
html:not(.light) .ibtn,html:not(.light) .qwrap input,
html:not(.light) .meta span,html:not(.light) .brand .bdg{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
html:not(.light) .toc a.on{color:var(--cyan)}
html:not(.light) .toc a.on::before{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
html:not(.light) #prog{box-shadow:0 0 12px rgba(92,173,255,.8)}
html:not(.light) .pg{border-color:rgba(146,170,222,.16)}
html:not(.light) .ghd .c1{color:var(--txt3)}
html:not(.light) .scrim{background:rgba(4,6,12,.62)}
html:not(.light) ::-webkit-scrollbar-thumb{background:var(--thumb)}
