
:root{
  --panel:#ff9d6f;   /* 信息框/面板底 */
  --ptint:#ffdab9;   /* 表头/次级条 */
  --phead:#d2691e;   /* 标题条 */
  --phead2:#e4832f;  /* 标题条渐变 */
  --tbl:#fff8dc;     /* 数据表底 */
  --brd:#a0522d;     /* 主描边 */
  --cell:#cccccc;    /* 单元格线 */
  --cblue:#063b5e;   /* 表头字 */
  --paper:#f3e7d4;   /* 宣纸底 */
  --card:#fffaf1;    /* 卡片底 */
  --ink:#3a2a1a;     /* 正文 */
  --ink2:#5f4a35;
  --ink3:#8b7355;
  --line:#e8d7bf;
  --line2:#d5b995;
  --zhu:#a8332a;
  --qing:#1f5f70;
  --link:#006cb0;
  --hl:#fff3d9;
  --gold:#f0dfae;
  --seal:#8b1a00;
  --phead-ink:#8f3b06;
  --r-xs:2px; --r-sm:4px; --r-md:8px; --r-lg:12px; --r-pill:999px;
  --sh-1:0 2px 6px rgba(120,70,30,.10);
  --sh-2:0 8px 24px rgba(120,70,30,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--paper);color:var(--ink);
  background-image:repeating-linear-gradient(0deg,rgba(160,82,45,.04) 0 1px,transparent 1px 4px);
  font:15px/1.75 "Microsoft YaHei","PingFang SC","Source Han Sans SC",system-ui,sans-serif;}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.wrap-wide{max-width:1424px;margin:0 auto;padding:28px 20px 60px}
/* 顶栏：sticky 而非 fixed —— 元素本身占文档流高度，无需给 body 估算补偿
   （窄屏下顶栏会变成 2–3 行，fixed 的固定 padding 补偿必然对不齐） */
.topbar{position:sticky;top:0;z-index:99;background:linear-gradient(90deg,#8f3b06,#b45309);
  box-shadow:0 2px 10px rgba(80,40,10,.25)}
.topbar-in{max-width:1240px;margin:0 auto;padding:0 20px;height:48px;display:flex;align-items:center;gap:18px;color:#fff}
.topbar a{color:#fff;opacity:.92;font-size:14px}
.topbar a:hover{opacity:1;text-decoration:none}
.topbar .brand{font-weight:700;letter-spacing:1px;font-family:"KaiTi","STKaiti",serif;font-size:16px}
.topbar .nav{display:flex;gap:14px;flex-wrap:wrap}
.topbar .nav a{font-size:13px}
/* hero */
.hero{position:relative;color:#f4efe2;overflow:hidden;background:#17181a;border-bottom:3px solid var(--phead);margin-top:0}
.hero::before{content:"";position:absolute;inset:0;opacity:.45;
  background:url("../assets/279eea6de29192.png") right -30px center/600px auto no-repeat}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,#131210 0%,rgba(18,20,21,.94) 38%,rgba(24,22,19,.62) 100%)}
.hero-in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:44px 20px 36px;display:flex;gap:32px;align-items:center}
.cover{width:172px;height:172px;border-radius:var(--r-lg);flex:0 0 auto;
  box-shadow:0 12px 40px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18)}
.kicker{font-size:12.5px;letter-spacing:3px;color:#c9b98d;text-transform:uppercase}
.hero h1{margin:8px 0 8px;font-size:36px;line-height:1.2;letter-spacing:1px;
  font-family:"KaiTi","STKaiti","Songti SC",serif;color:#fdf8ea;font-weight:700}
.hero h1 small{display:block;font-size:14px;letter-spacing:2px;color:#9fb3ad;font-weight:400;margin-top:8px}
.lead{max-width:640px;color:#d8d3c4;margin:0 0 16px;font-size:14.5px}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 16px}
.stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-md);padding:8px 16px;min-width:92px}
.stat b{display:block;font-size:20px;color:#f0dfae;line-height:1.25}
.stat span{font-size:11.5px;color:#b9b3a3;letter-spacing:.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:11.5px;padding:4px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#ddd6c4}
.chip b{color:#f0dfae;font-weight:600}
/* 板块标题条 */
.block-title{display:flex;align-items:center;gap:10px;margin:34px 0 16px;padding:10px 16px;
  background:linear-gradient(90deg,var(--phead),var(--phead2));color:#fff;border-radius:var(--r-md) var(--r-md) 0 0;
  font-size:17px;font-weight:700;letter-spacing:1px;box-shadow:var(--sh-1)}
.block-title .ico{font-size:19px}
.block-title em{font-style:normal;font-size:12.5px;font-weight:400;opacity:.9;margin-left:8px;letter-spacing:.5px}
.block-title .cnt{margin-left:auto;font-size:12px;background:rgba(255,255,255,.2);padding:2px 10px;border-radius:var(--r-pill)}
/* 卡片网格（灾厄 boxitems 风） */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.icard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px 10px;
  background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);box-shadow:var(--sh-1);
  text-align:center;transition:transform .12s,box-shadow .12s}
.icard:hover{transform:translateY(-2px);box-shadow:var(--sh-2);text-decoration:none;border-color:var(--phead)}
.icard img{width:56px;height:56px;object-fit:contain}
.icard.noart img{opacity:.15}
.icard .inm{font-size:13px;color:var(--ink);line-height:1.35}
.icard .ien{font-size:10.5px;color:var(--ink3)}
/* 信息面板 */
.panel{background:var(--panel);border:2px solid var(--brd);border-radius:var(--r-md);margin-bottom:18px;overflow:hidden}
.phead{background:linear-gradient(90deg,var(--phead),var(--phead2));color:#fff;padding:8px 16px;font-weight:700;
  font-size:15px;letter-spacing:.5px;display:flex;align-items:center;gap:8px}
.phead em{font-style:normal;font-size:12px;font-weight:400;opacity:.85}
.pbody{padding:16px;background:var(--card)}
/* 表格 */
table.tb{width:100%;border-collapse:collapse;background:var(--tbl);font-size:13.5px}
table.tb th{background:var(--ptint);color:var(--cblue);padding:8px 10px;border:1px solid var(--cell);text-align:left;white-space:nowrap;font-size:13px}
table.tb td{padding:7px 10px;border:1px solid var(--cell);vertical-align:top}
table.tb tr:nth-child(even){background:rgba(255,255,255,.5)}
table.tb td img{vertical-align:middle}
.en{color:var(--ink3);font-size:11.5px;display:block}
/* Boss 详情 */
.bhead{display:flex;gap:18px;align-items:flex-start;padding:18px}
.bart{width:120px;height:120px;object-fit:contain;border:2px solid var(--brd);border-radius:var(--r-md);background:var(--card);padding:6px}
.bart.noart{display:flex;align-items:center;justify-content:center;color:var(--ink3);font-size:13px;background:#f6ead8}
.bmeta h3{margin:0 0 8px;font-size:22px;color:var(--seal);font-family:"KaiTi","STKaiti",serif}
.bmeta h3 .ben{font-size:12.5px;color:var(--ink3);font-weight:400;margin-left:8px;font-family:sans-serif}
.btags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tg{font-size:11.5px;padding:2px 8px;border-radius:var(--r-pill);background:var(--ptint);border:1px solid var(--line2);color:var(--ink2)}
.bdesc{margin:0;color:var(--ink2);font-size:14px}
.ibox{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);margin:0 18px 18px;border-radius:var(--r-sm);overflow:hidden}
.ibox>div{background:var(--tbl);padding:8px 12px}
.ibox b{display:block;font-size:12px;color:var(--cblue)}
.ibox span{font-size:14px;color:var(--ink)}
.ibox em{display:block;font-style:normal;font-size:11px;color:var(--ink3)}
.bbody{padding:0 18px 20px}
.sh{font-size:15px;color:var(--seal);border-left:4px solid var(--phead);padding:4px 10px;margin:20px 0 10px;background:var(--ptint);border-radius:0 var(--r-sm) var(--r-sm) 0}
.summon{background:var(--hl);border:1px solid var(--line2);border-radius:var(--r-sm);padding:10px 14px;margin:0 0 8px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.mcard{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--sh-1)}
.mcard h4{margin:0 0 6px;font-size:14px;color:var(--phead-ink)}
.mcard ul{margin:0;padding-left:18px;color:var(--ink2);font-size:13.5px}
.mcard li{margin-bottom:4px}
.drops{display:flex;flex-direction:column;gap:4px}
.ditem{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-sm);padding:4px 10px;font-size:13.5px}
.ditem img{width:28px;height:28px;object-fit:contain}
.dch{color:var(--c-drop,#c98a2e);font-size:12px}
.dch.need{color:var(--zhu)}
.dch.bag{color:var(--qing)}
/* 公告/日志 */
.clist{display:flex;flex-direction:column;gap:8px}
details.cl{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);overflow:hidden}
details.cl summary{cursor:pointer;padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
details.cl summary .cd{font-weight:700;color:var(--seal)}
details.cl summary .cbj{font-size:12px;color:var(--ink3)}
details.cl summary .cver{font-size:12px;color:var(--phead-ink);background:var(--ptint);border-radius:var(--r-pill);padding:1px 8px}
details.cl summary .cs{margin-left:auto;font-size:12px;color:var(--ink3)}
details.cl .cbody{padding:4px 16px 12px;border-top:1px dashed var(--line2);font-size:14px;color:var(--ink2)}
details.cl .cbody p{margin:10px 0 4px;font-weight:700;color:var(--ink)}
details.cl .cbody .ch1{margin:10px 0 6px;font-size:15px;font-weight:800;color:var(--phead)}
details.cl .cbody ul{margin:4px 0;padding-left:20px}
/* 页脚 */
footer.site{background:#17181a;color:#b9b3a3;padding:26px 0 40px;margin-top:50px;border-top:3px solid var(--phead)}
footer.site .fwrap{max-width:1240px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px}
footer.site h5{color:#f0dfae;font-size:13px;margin:0 0 8px;letter-spacing:1px}
footer.site a{display:block;color:#b9b3a3;font-size:12.5px;padding:2px 0}
footer.site a:hover{color:#fdf8ea;text-decoration:none}
.foot-note{margin-top:22px;font-size:11.5px;color:#7d776b;text-align:center}
/* 响应式 */
@media(max-width:900px){
  .hero-in{flex-direction:column;text-align:center}
  .cover{width:120px;height:120px}
  /* 顶栏改两行：第一行品牌 + 搜索，第二行导航（横向可滚动）
     —— 导航不再隐藏，手机端也能跳转 */
  .topbar-in{height:auto;min-height:48px;padding:6px 14px 0;flex-wrap:wrap;gap:0 12px}
  .topbar .nav{order:3;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:15px;
    padding:6px 0 9px;scrollbar-width:none}
  .topbar .nav::-webkit-scrollbar{display:none}
  .topbar .nav a{flex:none;font-size:13px;white-space:nowrap}
  /* 搜索框独占第二行并撑满，避免窄屏下右侧按钮被裁 */
  .sbox{order:2;flex:1 1 100%;margin:6px 0 0;max-width:100%;min-width:0}
  .sbox input{width:100%;max-width:none;min-width:0}
}
/* ── 灾厄式三栏首页 ───────────────────────────────────────── */
.h3col{display:grid;grid-template-columns:270px minmax(0,1fr) 280px;gap:14px;max-width:1384px;margin:0 auto;padding:18px 20px 36px}
.h3col .col{min-width:0}
@media(max-width:1180px){.h3col{grid-template-columns:1fr 1fr}.h3col .rcol{grid-column:1/-1}}
@media(max-width:760px){.h3col{grid-template-columns:1fr}}
/* 左/右栏次级标题（细横条，贴近灾厄标题条 ~130×25） */
.sec-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#fff;
  background:linear-gradient(90deg,var(--phead),var(--phead2));padding:3px 10px;
  border-radius:var(--r-sm) var(--r-sm) 0 0;letter-spacing:1px;margin:0;line-height:1.6}
.sec-title em{font-style:normal;font-size:10.5px;font-weight:400;opacity:.9;margin-left:4px}
.sec-panel{background:var(--card);border:1px solid var(--line2);border-top:none;border-radius:0 0 var(--r-md) var(--r-md);
  padding:10px 12px;margin-bottom:14px;box-shadow:var(--sh-1)}
/* 左栏：模组简介 */
.mod-intro{font-size:12.5px;color:var(--ink2);line-height:1.65;margin:0 0 8px}
.mod-intro b{color:var(--seal)}
/* 左栏：小图标网格 */
.mgrid-sm{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.micard{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);text-align:center;transition:all .12s}
.micard:hover{transform:translateY(-1px);border-color:var(--phead);text-decoration:none;background:#fff8ec}
.micard img{width:36px;height:36px;object-fit:contain}
.micard .mn{font-size:12px;color:var(--ink);line-height:1.3}
.micard .mc{font-size:10px;color:var(--zhu);font-weight:700}
/* 左栏：纯文字链接组（机制/入口，紧凑） */
.linklist{display:flex;flex-direction:column}
.linklist a{display:flex;align-items:center;gap:6px;padding:3px 4px;font-size:12px;color:var(--ink2);
  border-bottom:1px dashed var(--line)}
.linklist a:last-child{border-bottom:none}
.linklist a:hover{color:var(--seal);text-decoration:none;background:var(--hl)}
.linklist a .o{color:var(--phead);font-weight:700;font-size:10px}
.linklist a .rn{margin-left:auto;font-size:10.5px;color:var(--ink3)}
/* 中栏：分组标题（紧凑，仅组名） */
.boss-group{margin:0 0 5px;display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;
  color:var(--phead-ink);border-left:4px solid var(--phead);padding:2px 8px;background:var(--ptint);
  border-radius:0 var(--r-sm) var(--r-sm) 0;letter-spacing:.5px}
/* 中栏：两列 Boss 列表 */
.bcolwrap{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.bcolwrap{grid-template-columns:1fr}}
.blist{display:flex;flex-direction:column;gap:4px}
/* Boss 行：图标+名字横排一行，约 120×30（参考灾厄 boxitems） */
.bcard{display:flex;flex-direction:row;align-items:center;gap:7px;padding:3px 8px;min-height:28px;
  background:var(--card);border:1px solid var(--line2);border-radius:var(--r-sm);transition:all .12s}
.bcard:hover{border-color:var(--phead);text-decoration:none;background:#fff8ec}
.bcard img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.bcard .bn{font-size:12.5px;color:var(--ink);font-weight:600;line-height:1.2}
.bcard.noart img{opacity:.15}
/* ── 武器详情页（灾厄物品页式：左正文 + 右属性框）────────── */
.wp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
@media(max-width:1000px){.wp-layout{grid-template-columns:1fr}}
.wp-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.wp-icon{width:64px;height:64px;object-fit:contain}
.wp-title{margin:0;font-size:24px;color:var(--ink)}
.wp-sub{font-size:12.5px;color:var(--ink3);margin-top:4px}
.wp-intro{font-size:14px;color:var(--ink2);margin:0 0 10px}
.wp-desc{font-size:13.5px;color:var(--ink2);line-height:1.8;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px}
.wp-sec{font-size:15px;font-weight:700;color:var(--phead-ink);border-left:5px solid var(--phead);
  padding:3px 10px;background:var(--ptint);border-radius:0 var(--r-sm) var(--r-sm) 0;
  margin:18px 0 10px;letter-spacing:1px;border-bottom:2px solid var(--phead)}
.wp-panel{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);padding:14px}
.recipe-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mat-list{display:flex;flex-direction:column;gap:6px}
.mat-item{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink)}
.mat-item a{color:var(--link);font-weight:600}
.mat-item.result{padding:6px 12px;background:var(--ptint);border:1px solid var(--phead);border-radius:var(--r-sm)}
.recipe-arrow{font-size:22px;color:var(--phead);font-weight:700}
.wp-station{margin-top:10px;font-size:13px;color:var(--ink2);border-top:1px dashed var(--line);padding-top:8px}
.wp-station b{color:var(--seal)}
.src-text{font-size:13.5px;color:var(--ink2);line-height:1.8}
/* ── 灾厄式配方表（生成物|材料|制作平台）────────────────── */
.craft-table{width:100%;border-collapse:collapse;background:var(--card);font-size:13.5px;
  border:1px solid var(--phead);border-radius:var(--r-md);overflow:hidden}
.craft-table th{background:linear-gradient(90deg,var(--phead),var(--phead2));color:#fff;
  padding:8px 12px;text-align:left;font-size:13px;letter-spacing:1px;
  border-right:1px solid rgba(255,255,255,.25)}
.craft-table th:last-child{border-right:none}
.craft-table td{padding:10px 12px;border-top:1px solid var(--line);border-right:1px solid var(--line);
  vertical-align:middle}
.craft-table td:last-child{border-right:none}
.craft-table .ct-result{width:170px;border-right:2px solid var(--phead)}
.craft-table .ct-station{width:180px;border-left:2px solid var(--phead)}
.chip{display:inline-flex;align-items:center;gap:5px;margin:2px 8px 2px 0;white-space:nowrap}
.chip img{width:36px;height:36px;object-fit:contain;vertical-align:middle;image-rendering:auto}
.chip .noicon{display:inline-block;width:36px;height:36px}
.chip .mlink{color:var(--link);font-weight:600}
.chip .mlink.vanilla{color:var(--ink2);font-weight:500;border-bottom:1px dashed var(--line2)}
/* 售价货币图标（铜/银/金/铂金币） */
.coin{display:inline-flex;align-items:center;gap:3px;margin-right:8px;font-weight:600;color:var(--ink)}
.coin img{width:18px;height:18px;object-fit:contain;vertical-align:-4px}
.coin:last-child{margin-right:0}
.chip .mlink.vanilla:hover{color:var(--link);text-decoration:none}
.chip .mlink.self{color:var(--ink);font-weight:700;text-decoration:none}
.chip .mcnt{font-size:12px;font-weight:700;color:var(--seal)}
.plus{color:var(--ink3);font-weight:700}
.alt{color:var(--ink3);font-style:italic;font-weight:600}
/* 右侧属性框 */
.wp-aside{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--sh-1);position:sticky;top:60px}
.wd-title{background:linear-gradient(90deg,var(--phead),var(--phead2));color:#fff;font-size:16px;
  font-weight:700;text-align:center;padding:9px;letter-spacing:2px}
.wd-box{padding:10px 14px}
.wd-row{display:flex;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px;align-items:baseline}
.wd-row:last-child{border-bottom:none}
.wd-row .wk{flex:0 0 64px;color:var(--ink3)}
.wd-row .wv{color:var(--ink);font-weight:600;word-break:break-all}
.wd-note{background:var(--ptint);color:var(--phead-ink);font-size:12.5px;font-weight:700;
  padding:4px 14px;letter-spacing:2px;border-top:1px solid var(--line2)}
.wd-desc{font-size:12.5px;font-weight:400;color:var(--ink2);line-height:1.7}
/* ── 武器页分组卡片网格（灾厄武器页式）──────────────────── */
.wg-title{font-size:14px;font-weight:700;color:var(--phead-ink);border-left:5px solid var(--phead);
  padding:2px 10px;background:var(--ptint);border-radius:0 var(--r-sm) var(--r-sm) 0;
  margin:14px 0 8px;letter-spacing:1px}
.wg-title:first-child{margin-top:4px}
.wg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}
.wgcard{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 7px;text-align:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);transition:all .12s}
a.wgcard:hover{transform:translateY(-2px);border-color:var(--phead);box-shadow:var(--sh-1);text-decoration:none;background:#fff8ec}
.wgcard img{width:44px;height:44px;object-fit:contain}
.wgcard span{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.3}
a.wgcard span{color:var(--link)}
a.wgcard.linked{background:var(--card);border-color:var(--line2)}
/* 物品分类网格（灾厄首页「物品」区样式，图标+名称小卡） */
.itemgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin:8px 0 2px}
.itcard{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:7px 3px 5px;text-align:center;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);transition:all .12s;
  min-height:76px;overflow:hidden}
.itcard:hover{border-color:var(--phead);text-decoration:none;background:#fff8ec}
.itcard img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.itcard .in{font-size:11.5px;color:var(--ink);font-weight:600;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.itcard .in i{font-style:normal;color:var(--zhu);font-size:10px;margin-left:2px}
/* 「反馈 BUG」按钮：沿用 itcard 外观的 button（重置浏览器默认样式） */
button.itcard{font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;width:100%}
button.itcard:hover{border-color:var(--phead);background:#fff8ec}
button.itcard:focus-visible{outline:2px solid var(--phead);outline-offset:1px}
/* ── 反馈 BUG 弹层 ── */
.fb-mask{position:fixed;inset:0;background:rgba(60,32,12,.45);display:flex;align-items:center;justify-content:center;
  padding:16px;z-index:200}
.fb-mask[hidden]{display:none}
.fb-dlg{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-md);box-shadow:0 12px 40px rgba(80,40,10,.28);
  width:100%;max-width:520px;max-height:90vh;overflow:auto}
.fb-hd{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line2);background:var(--piece,#f6ecda)}
.fb-hd b{font-size:15px;color:var(--phead-ink)}
.fb-hd .fb-x{margin-left:auto;border:0;background:none;font-size:20px;line-height:1;color:var(--ink3);cursor:pointer;padding:2px 6px}
.fb-bd{padding:14px 16px}
.fb-row{margin-bottom:12px}
.fb-row label{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
.fb-row select,.fb-row input,.fb-row textarea{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;
  padding:7px 9px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--paper);color:var(--ink)}
.fb-row textarea{min-height:110px;resize:vertical}
.fb-row .fb-hint{font-size:11.5px;color:var(--ink3);margin-top:4px}
.fb-ft{display:flex;align-items:center;gap:10px;padding:0 16px 16px}
.fb-ft .fb-msg{font-size:12.5px;flex:1}
.fb-ft .fb-msg.ok{color:#2e7d4f}
.fb-ft .fb-msg.err{color:#c0392b}
.fb-btn{border:0;border-radius:var(--r-sm);padding:8px 18px;font:inherit;font-size:13.5px;font-weight:700;
  background:var(--phead);color:#fff;cursor:pointer}
.fb-btn[disabled]{opacity:.6;cursor:default}
.fb-btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line2)}
/* 截图上传 */
.fb-shot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fb-shot .fb-pick{border:1px dashed var(--line2);background:var(--paper);color:var(--ink2);border-radius:var(--r-sm);
  padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}
.fb-shot .fb-pick:hover{border-color:var(--phead);color:var(--phead-ink)}
.fb-shot .fb-tip{font-size:11.5px;color:var(--ink3)}
.fb-thumb{position:relative;display:inline-block;margin-top:8px}
.fb-thumb img{max-width:180px;max-height:120px;border:1px solid var(--line2);border-radius:6px;display:block;background:#fff}
.fb-thumb button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:0;
  background:#b03a1a;color:#fff;font-size:14px;line-height:1;cursor:pointer;padding:0}
/* 日志上传 + 取日志指引 */
.fb-howto{background:var(--hl);border:1px solid var(--line2);border-radius:var(--r-sm);padding:9px 12px;
  font-size:12.5px;color:var(--ink2);line-height:1.75;margin-top:7px}
.fb-howto b{color:var(--ink)}
.fb-howto code{background:#fff;border:1px solid var(--line2);border-radius:4px;padding:0 5px;
  font-family:Consolas,Menlo,monospace;font-size:12px}
.fb-file{font-size:12.5px;color:var(--phead-ink);font-weight:700;word-break:break-all}
/* 中栏：更多入口条（紧凑） */
.more-strip{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 0}
.more-strip a{flex:1;min-width:80px;text-align:center;padding:5px 6px;font-size:11.5px;
  background:var(--ptint);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--ink2)}
.more-strip a:hover{background:var(--gold);color:var(--ink);text-decoration:none}
.more-strip a b{display:block;font-size:14px;color:var(--seal)}
/* 右栏：时间线公告（紧凑） */
.ann{display:flex;flex-direction:column;gap:8px}
.ann-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px}
.ann-item .ad{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--seal)}
.ann-item .ad .tag{font-size:9px;background:var(--phead);color:#fff;border-radius:var(--r-pill);padding:1px 6px}
.ann-item p{margin:4px 0 0;font-size:11px;color:var(--ink2);line-height:1.55}
.ann-item p b{color:var(--ink)}
.ann-all{display:inline-block;margin-top:6px;font-size:11.5px;color:var(--link)}
/* 右栏：版本信息（紧凑） */
.ver-item{display:flex;justify-content:space-between;align-items:center;padding:5px 2px;
  border-bottom:1px dashed var(--line);font-size:11.5px}
.ver-item:last-child{border-bottom:none}
.ver-item .vk{color:var(--ink3)}
.ver-item .vv{color:var(--ink);font-weight:600}
.ver-item .vv b{color:var(--zhu);font-size:13px}
/* 作者头像卡（网格 2 列，圆头像 + 角色名 + QQ号） */
.author-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.acard{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:6px 8px;min-width:0}
.acard .pav{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1.5px solid var(--line2);flex:0 0 auto}
.acard b{display:block;font-size:11px;color:var(--seal);line-height:1.3;white-space:nowrap}
.acard span{display:block;font-size:10px;color:var(--ink2);line-height:1.35;word-break:break-all;white-space:normal}
@media(max-width:420px){.author-cards{grid-template-columns:1fr}}
/* 首页顶部 hero 之后的欢迎条 */
.welcome-strip{max-width:1384px;margin:0 auto;padding:14px 20px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.welcome-strip p{margin:0;font-size:12.5px;color:var(--ink2);line-height:1.6}
.welcome-strip p b{color:var(--seal)}

/* 来源页面样式的兼容补充 */

/* ── 表格交互增强 ── */
.craft-table tbody tr{transition:background .12s}
.craft-table tbody tr:hover{background:#fdf3e3}
.craft-table td.c{text-align:center;font-weight:700;color:var(--phead)}
/* ── 卡片阴影与层次 ── */
.stcard,.icard,.itcard,.mcard{box-shadow:0 1px 3px rgba(120,66,28,.06);transition:box-shadow .15s,transform .15s}
.stcard:hover,.icard:hover{box-shadow:0 3px 8px rgba(120,66,28,.14);transform:translateY(-1px)}
/* ── 详情页返回按钮统一 ── */
.backlink{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border:1.5px solid var(--panel);
  border-radius:999px;background:var(--paper);color:var(--phead);font-size:13px;font-weight:700;
  text-decoration:none;transition:all .15s}
.backlink:hover{background:var(--panel);color:#fff;border-color:var(--phead)}
/* ── 信息框（属性框）美化 ── */
.attrbox{background:#fffdf6;border:1.5px solid #e8d9c3;border-left:4px solid var(--phead);border-radius:10px;padding:12px 14px}
.attrbox h4{font-size:14px;color:var(--phead);margin:0 0 8px;font-weight:800}
.attrbox table{width:100%;font-size:13px;border-collapse:collapse}
.attrbox td{padding:5px 8px;border-bottom:1px dashed #eed9b0}
.attrbox td:first-child{color:var(--ink3);width:110px}
.attrbox tr:last-child td{border-bottom:none}
/* ── 区块标题统一 ── */
.block-title{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;padding-bottom:8px;
  border-bottom:2px solid var(--panel)}
.block-title .ico{font-size:20px}
.block-title{font-size:19px;color:var(--phead);font-weight:800}
.block-title em{font-size:12.5px;color:var(--ink3);font-style:normal;font-weight:400}
.block-title .cnt{margin-left:auto;font-size:12px;font-weight:800;color:#fff;background:var(--panel);
  border-radius:999px;padding:2px 11px}
/* ── 顶栏搜索框 ── */
.topbar-in{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sbox{display:flex;align-items:center;margin-left:auto;background:var(--card);border:1.5px solid var(--line);
  border-radius:999px;padding:3px 4px 3px 12px;transition:border-color .15s}
.sbox:focus-within{border-color:var(--phead)}
.sbox input{width:220px;max-width:38vw;border:none;outline:none;background:transparent;
  font-size:13px;color:var(--ink);padding:4px 0}
.sbox button{border:none;background:var(--phead);color:#fff;border-radius:999px;width:26px;height:26px;
  font-size:14px;cursor:pointer;line-height:1;transition:background .15s}
.sbox button:hover{background:var(--seal)}
/* ── 稀有度徽章与色框 ── */
.rbadge{display:inline-flex;align-items:center;gap:5px;vertical-align:2px;padding:1px 10px;
  border:1.5px solid #e2cba6;border-radius:999px;background:var(--paper);font-size:11px;
  font-weight:800;color:var(--ink);line-height:18px;margin-left:8px}
.rbadge i{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
/* 多配方「方案 N」标：与生成物同名区分 */
.rno{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;font-size:10.5px;font-weight:700;
  color:#fff;background:var(--panel);vertical-align:1px;letter-spacing:.5px}
.ct-result .rno{background:var(--phead)}
.wp-iconwrap{display:inline-block;border-radius:12px;padding:4px;background:var(--card);vertical-align:top}
.wp-iconwrap img{display:block}
.wd-iconbox{width:84px;height:84px;margin:14px auto 12px;border-radius:14px;display:grid;place-items:center;
  background:var(--paper);box-shadow:inset 0 0 0 1px var(--line2)}
.wd-iconbox img{max-width:60px;max-height:60px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))}
.wgcard{border-left:3px solid transparent}
/* ── Boss 战斗阶段卡 ── */
.phase{display:flex;gap:10px;margin:0 0 8px;padding:9px 12px;background:#fffdf6;
  border:1.5px solid #e8d9c3;border-left:4px solid var(--phead);border-radius:8px}
.phase .ph-t{flex:none;min-width:118px;font-weight:800;font-size:13px;color:var(--phead);line-height:1.5}
.phase p{margin:0;font-size:13px;line-height:1.7;color:var(--ink)}
/* ── 手机端（≤640px）显示修正 ──────────────────────────────
   窄屏下三列合成表与横向 flex 头部会挤爆容器（内容被裁切 / 撑出屏幕）：
   这里把合成表改成卡片式、头部改纵向，并放开长名字的换行。 */
@media(max-width:640px){
  .wrap-wide{padding:18px 12px 44px}
  /* 合成表：不再压三列，每条配方一张卡；列名用伪元素补回（原表头已隐藏） */
  .craft-table{display:block;width:100%;background:transparent;border:none}
  .craft-table thead{display:none}
  .craft-table tbody{display:block}
  .craft-table tr{display:block;background:var(--card);border:1px solid var(--line2);
    border-radius:var(--r-md);padding:9px 11px;margin-bottom:9px}
  .craft-table td{display:block;width:auto;padding:3px 0;border:none}
  .craft-table .ct-result,.craft-table .ct-station{width:auto;border:none}
  .craft-table td::before{display:inline-block;min-width:46px;margin-right:6px;vertical-align:middle;
    font-size:11.5px;font-weight:700;color:var(--ink3)}
  .craft-table td.ct-result::before{content:'生成物'}
  .craft-table td.ct-mats::before{content:'材料'}
  .craft-table td.ct-station::before{content:'平台'}
  /* 材料 / 平台卡片：允许换行、图标缩小，避免把单元格撑破 */
  .chip{white-space:normal;max-width:100%}
  .chip img,.chip .noicon{width:26px;height:26px}
  /* 详情页头部：图标 + 文字横排在窄屏会挤爆，改纵向 */
  .bhead{flex-direction:column;gap:10px;padding:14px}
  .bhead .bart,.wp-iconwrap{align-self:center}
  .bmeta h3{font-size:19px}
  .bmeta h3 .ben{display:block;margin:3px 0 0}
  .ibox{margin:0 14px 14px}
  .bbody{padding:0 14px 16px}
  /* 入口卡片网格：图标缩小、长英文名可断行 */
  .icard{padding:10px 6px 8px}
  .icard img{width:44px;height:44px}
  .icard .inm{font-size:12px}
  .icard .ien{font-size:10px;word-break:break-all;text-align:center;line-height:1.3}
  /* 战斗阶段卡：标题与正文改竖排 */
  .phase{flex-direction:column;gap:3px}
  .phase .ph-t{min-width:0}
}
