:root{
  --bg:#0a0d14; --bg2:#0e131d; --panel:#121826; --line:#222c3d;
  --txt:#cfd8e6; --dim:#7c8aa0; --gold:#d8b46a; --cyan:#6fc7e1;
  --hp:#c8504f; --mp:#5b8dd6; --fish:#4fb7c9;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}
body{position:fixed;inset:0;width:100%;touch-action:manipulation}
body{
  background:
    radial-gradient(900px 500px at 80% -10%, rgba(79,183,201,.10), transparent 60%),
    radial-gradient(700px 400px at 10% 110%, rgba(216,180,106,.07), transparent 60%),
    var(--bg);
  color:var(--txt);
  font:14px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  overflow:hidden;
}
button,input,select{font:inherit;color:inherit}
.hide{display:none !important}

.app{max-width:560px;margin:0 auto;height:var(--app-h, 100dvh);height:var(--app-h, 100vh);display:flex;transform:translateY(var(--app-top,0px));transition:transform .12s ease-out}
.screen{display:none;flex-direction:column;width:100%;min-height:0}
.screen.show{display:flex}

/* ---------- 登录 ---------- */
#login{padding:0 28px;justify-content:center;gap:14px}
.logo{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
  font-weight:500;
  font-size:42px;line-height:1.25;
  letter-spacing:.44em;text-indent:.44em;text-align:center;
  color:#dcc08a;
  text-shadow:0 0 26px rgba(216,180,106,.22), 0 1px 0 rgba(0,0,0,.5);
}
.sub{text-align:center;color:var(--dim);margin:0 0 26px;letter-spacing:.12em;font-size:12px}
#login input{
  width:100%;padding:15px 16px;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.03);
  outline:none;color:var(--txt);font-size:16px;
}
#login input:focus{border-color:rgba(111,199,225,.5)}
.primary{
  width:100%;padding:15px;border:0;border-radius:12px;cursor:pointer;
  background:linear-gradient(180deg,#d8b46a,#b8934a);color:#1a1408;
  font-weight:700;letter-spacing:.2em;text-indent:.2em;
  box-shadow:0 8px 24px rgba(216,180,106,.18);
}
.primary:active{transform:translateY(1px)}
.wide{margin-top:14px}
.tip{color:var(--dim);font-size:12px;text-align:center;line-height:1.7;margin:8px 0 0}
.err{color:#e2706f;font-size:12px;text-align:center;min-height:16px;margin:0}

/* ---------- 顶栏 ---------- */
.top{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(18,24,38,.9),rgba(18,24,38,.55))}
.row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pname{font-weight:600;letter-spacing:.06em;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--dim)}
.chip.gold{color:var(--gold);background:rgba(216,180,106,.12)}
.chip.dim{opacity:.65}

.bar{position:relative;height:16px;border-radius:5px;background:#1a2231;overflow:hidden;margin-bottom:5px;border:1px solid rgba(255,255,255,.04)}
.bar.thin{height:11px}
.bar.tall{height:20px}
.bar .fill{display:block;height:100%;width:100%;transition:width .25s ease}
.bar span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.05em;color:#e8eef8;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fill.hp{background:linear-gradient(180deg,#d4605f,#9d3736)}
.fill.mp{background:linear-gradient(180deg,#6b9ce6,#3f6bb0)}
.fill.fhp{background:linear-gradient(180deg,#63cfdf,#2f8b9c)}
.fill.mhp{background:linear-gradient(180deg,#b8794f,#7d4a2a)}
.fill.shp{background:linear-gradient(180deg,#c9a24d,#8a6a24)}

.fish{display:flex;gap:10px;align-items:center;margin-top:8px;padding:8px 10px;border:1px solid rgba(79,183,201,.18);background:rgba(79,183,201,.06);border-radius:10px}
.avatar{font-size:22px;filter:drop-shadow(0 0 8px rgba(79,183,201,.5))}
.finfo{flex:1;min-width:0}
.frow{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:4px}

/* ---------- 主区 ---------- */
main{flex:1;min-height:0;display:flex;flex-direction:column}
.panel{display:none;flex-direction:column;min-height:0;flex:1;padding:12px 14px 0}
.panel.show{display:flex}

.mapbar{display:flex;gap:8px;margin-bottom:10px}
.mapbar select{
  flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);outline:none;
}
.mini{padding:10px 18px;border-radius:10px;border:1px solid rgba(216,180,106,.35);background:rgba(216,180,106,.1);color:var(--gold);cursor:pointer}

.card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.card.monster{background:linear-gradient(180deg,rgba(30,22,26,.85),rgba(18,24,38,.9));border-color:rgba(200,80,79,.22)}
.mrow{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mname{font-weight:600;letter-spacing:.05em;margin-right:auto;font-size:15px}
.mstats{display:flex;gap:16px;font-size:12px;color:var(--dim);margin-top:8px}
.mstats b{color:#c7d2e2;font-weight:500}

.log{
  flex:1;min-height:0;overflow-y:auto;padding:10px 12px;border-radius:12px;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.04);
  font-size:13px;line-height:1.7;color:#aab6c8;scroll-behavior:smooth;
}
.log div{margin-bottom:1px;word-break:break-all}
.log .hl-fish{color:var(--fish)}
.log .hl-gold{color:var(--gold)}
.log .hl-bad{color:#e2706f}
.log .hl-sys{color:var(--dim)}

.actions{display:flex;gap:10px;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
.act{
  flex:1;padding:14px;border-radius:12px;cursor:pointer;
  border:1px solid var(--line);background:linear-gradient(180deg,#1b2435,#141b29);
  font-weight:600;letter-spacing:.06em;
}
.act:active{transform:translateY(1px)}
.act b{font-size:11px;color:var(--dim);font-weight:400;margin-left:4px}
.act:active b{color:var(--gold)}

/* ---------- 聊天 ---------- */
#tab-chat{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.chat{flex:1;min-height:0;overflow-y:auto;padding:6px 2px}
.msg{display:flex;gap:8px;margin-bottom:12px;max-width:92%}
.msg .who{flex:0 0 30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;background:rgba(79,183,201,.12)}
.msg .bubble{padding:9px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.msg.fish .bubble{border-color:rgba(79,183,201,.25);background:rgba(79,183,201,.07)}
.msg.me{flex-direction:row-reverse;margin-left:auto}
.msg.me .bubble{background:rgba(216,180,106,.12);border-color:rgba(216,180,106,.25)}
.msg.me .who{background:rgba(216,180,106,.12)}
.msg.sys{max-width:100%;justify-content:center}
.msg.sys .bubble{background:transparent;border:0;color:var(--dim);font-size:12px;padding:2px}

.chatin{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.chatin input{flex:1;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);outline:none;font-size:16px}
.chatin input:focus{border-color:rgba(111,199,225,.45)}
.chatin button{padding:0 18px;border-radius:10px;border:1px solid rgba(216,180,106,.35);background:rgba(216,180,106,.12);color:var(--gold)}

/* 聊天频道切换：大厅 / 大肥鱼私聊 */
.chat-switch{display:flex;gap:8px;margin-bottom:4px}
.chat-switch button{flex:0 0 auto;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--dim);font-size:12px;letter-spacing:.02em}
.chat-switch button.on{border-color:rgba(216,180,106,.42);background:rgba(216,180,106,.13);color:var(--gold)}
.chat-switch button[data-ch="fish"].on{border-color:rgba(79,183,201,.42);background:rgba(79,183,201,.13);color:#6fc7e1}

/* 酒馆里直接显示捡到了什么，金以上加个 ✦ */
.lootname{padding:1px 7px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.lootname.hi{border-color:rgba(216,180,106,.45);color:var(--gold);background:rgba(216,180,106,.1)}
button.lootname{cursor:pointer;font:inherit;color:var(--dim)}
button.lootname.hi{color:var(--gold)}

/* 卡牌战斗 */
.hand{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.cr{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:10px;text-align:left;color:inherit;
  border:1px solid rgba(216,180,106,.35);background:rgba(216,180,106,.08)}
.cr.off{opacity:.4}
.cr-cost{font-size:11px;color:var(--gold)}
.cr-name{font-size:13px;font-weight:600}
.cr-text{font-size:10px;color:var(--dim);line-height:1.4}
.cr-dmg{font-size:11px;color:#f0b46b;margin-top:2px}
.reward-card{border-color:rgba(216,180,106,.5)}
.foe-intent{font-size:11px;color:#f0b46b;margin-top:3px}
.shop-card{border-color:rgba(216,180,106,.45)}
.shop-list{display:flex;flex-direction:column;gap:8px;margin:6px 0}
.shop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.02)}
.shop-name{font-size:13px;font-weight:600}
.shop-desc{font-size:11px;color:var(--dim);margin-top:2px;line-height:1.5}
.shop-log{font-size:11px;color:var(--gold);margin-top:4px;line-height:1.6}
.box-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:middle}
.shop-item{display:flex;flex-direction:column;gap:4px}
.shop-hint{font-size:11px;color:#7fd1e0;padding-left:10px;line-height:1.6}

/* 出发准备 */
.craces{display:flex;flex-wrap:wrap;gap:6px}
.craces button{flex:0 0 auto;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--dim);font-size:12px}
.craces button.on{border-color:rgba(216,180,106,.45);background:rgba(216,180,106,.12);color:var(--gold)}
.craces .rec{font-style:normal;font-size:10px;color:#7fd1e0;margin-left:2px}
.mate-card.lead{border-color:rgba(216,180,106,.45);background:rgba(216,180,106,.06)}
.mate-sub{font-size:11px;color:var(--dim);margin-top:6px;line-height:1.5}.prep-row{display:flex;align-items:center;gap:12px;margin-top:8px}
.prep-num{font-size:20px;color:var(--gold);min-width:28px;text-align:center}
.prep-eqs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;margin-top:8px;font-size:12px}
.prep-eq{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.04);padding:3px 0}
.prep-ring{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}

/* 顶部随从条 */
.fol-strip{display:flex;gap:10px;margin-top:6px}
.fol{display:flex;align-items:center;gap:6px;flex:1;min-width:0;position:relative}
.fol.dead{opacity:.4}
.fol-av{width:22px;height:22px;border-radius:6px;object-fit:cover;object-position:50% 18%;background:rgba(79,183,201,.08);flex:0 0 22px}
.fol-info{flex:1 1 auto;min-width:0}
.fol-name{font-size:10px;color:var(--dim);display:flex;align-items:center;gap:4px;margin-bottom:3px;white-space:nowrap;overflow:hidden}
.fol-nm{overflow:hidden;text-overflow:ellipsis;max-width:46px}
.fol-lv{opacity:.6}
.fol-hpnum{margin-left:auto;color:#9fb4c8;font-size:10px}
.fol-hp{display:block;width:100%;height:6px;border-radius:3px;background:#1a2231;overflow:hidden}
.fol-hp i{display:block;height:100%;border-radius:3px;background:linear-gradient(180deg,#63cfdf,#2f8b9c)}

/* 顶部队伍条：你 + 最多 4 个上阵随从，一排五个 */
.party-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:2px 0 4px}
.pc{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:6px;
  border-radius:10px;border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(28,37,55,.92),rgba(15,21,33,.92))}
.pc:active{transform:scale(.985)}
.pc.self{border-color:rgba(226,192,122,.42);background:linear-gradient(180deg,rgba(52,43,28,.9),rgba(24,22,17,.92))}
.pc.cmp{border-color:rgba(79,183,201,.34)}
.pc.dead{opacity:.45;filter:grayscale(.5)}
.pc.empty{justify-content:center;border-style:dashed;border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.015);color:#5d6a7c;font-size:10px;min-height:44px}
.pc-av{width:26px;height:26px;flex:0 0 26px;object-fit:contain;image-rendering:pixelated;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}
.pc-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.pc-top{display:flex;align-items:baseline;gap:4px;min-width:0}
.pc-nm{font-size:10.5px;font-weight:600;color:#eaf1fb;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc.cmp .pc-nm{color:#8fdcf0}
.pc-lv{font-size:8.5px;color:#8b97a8;margin-left:auto;white-space:nowrap}
.pc-bar{height:5px;border-radius:3px;background:#1a2231;overflow:hidden}
.pc-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(180deg,#e06a68,#a53c3a);transition:width .25s}
.pc-bar.mp{height:3px;background:rgba(90,140,210,.18)}
.pc-bar.mp i{background:linear-gradient(180deg,#6b9ce6,#3f6bb0)}
.pc-bar.res{height:3px}
.pc-bar.xp{height:2px;background:transparent}
.pc-bar.xp i{background:linear-gradient(90deg,#8a6a24,#d8b46a)}
.pc-num{font-size:8.5px;color:#93a0b3;line-height:1;text-align:right;margin-top:-1px}
@media (max-width:560px){
  .party-strip{gap:4px}
  .pc{padding:5px 6px;gap:0}
  .pc-av{display:none}
  .pc-nm{font-size:10px}
  .pc-lv{font-size:8px}
  .pc-num{font-size:8px}
  .top .row{gap:5px}
  .top .row .chip{font-size:10px;padding:1px 6px}
}

/* ---------- 攻城 ---------- */
.srow{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.stitle{font-weight:600;letter-spacing:.08em;margin-right:auto}
.stitle.small{font-size:13px;color:var(--dim)}
.sdesc{color:var(--dim);font-size:12.5px;line-height:1.7;margin:4px 0 12px}
.dimcard{opacity:.8}

/* ---------- 底栏 ---------- */
.tabs{
  display:flex;border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
  background:rgba(10,13,20,.98);
}
.tabs button{
  flex:1;padding:13px 0 12px;border:0;background:none;color:var(--dim);
  font-size:12.5px;letter-spacing:.14em;cursor:pointer;position:relative;
}
.tabs button.on{color:var(--gold)}
.tabs button.on::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:6px;
  width:18px;height:2px;border-radius:2px;background:var(--gold);
}

/* ---------- 死亡遮罩 ---------- */
.dead{
  position:fixed;inset:0;background:rgba(5,7,11,.78);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:40;
  pointer-events:none; /* 只是提示，不该挡住下面的按钮 */
}
.deadtxt{font:600 22px/1.2 "Songti SC",serif;letter-spacing:.3em;text-indent:.3em;color:#c8504f}
.deads{color:var(--dim);font-size:13px}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);
  padding:10px 18px;border-radius:999px;background:rgba(20,26,38,.96);
  border:1px solid var(--line);font-size:13px;opacity:0;pointer-events:none;
  transition:.25s;z-index:60;white-space:nowrap;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- 装备/背包/商店 ---------- */
.sec{margin-bottom:16px}
.sec-title{font-weight:600;font-size:13px;margin-bottom:10px;color:var(--txt);letter-spacing:.06em}
.equip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:400px;overflow-y:auto}
.equip-slot,.item-card{
  border:1px solid var(--line);background:var(--panel);border-radius:10px;
  padding:10px;font-size:12px;cursor:pointer;transition:.2s;
}
.equip-slot{min-height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--dim)}
.equip-slot.filled{color:var(--txt)}
.equip-slot:active,.item-card:active{transform:scale(.98)}
.item-card{text-align:left}
.item-name{font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.item-quality{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}
.quality-common{background:rgba(156,163,175,.2);color:#9ca3af}
.quality-excellent{background:rgba(34,197,94,.2);color:#22c55e}
.quality-rare{background:rgba(59,130,246,.2);color:#3b82f6}
.quality-epic{background:rgba(168,85,247,.2);color:#a855f7}
.quality-legendary{background:rgba(245,158,11,.2);color:#f59e0b}
.item-stats{color:var(--dim);font-size:11px;line-height:1.6;margin-top:4px}
.item-stats div{display:flex;justify-content:space-between}
.item-enh{color:var(--gold);font-weight:600}
.item-req{color:#e2706f;font-size:10px;margin-top:4px}
.item-price{color:var(--gold);font-weight:600;margin-top:6px}
.chip.bad{color:#e2706f;border-color:rgba(226,112,111,.4)}
.chip.good{color:#4fb7c9;border-color:rgba(79,183,201,.4)}
.aidetail{
  padding:7px 12px;font-size:11px;line-height:1.6;color:var(--dim);
  border-top:1px solid var(--line);background:rgba(255,255,255,.015);
}
.aidetail b{color:var(--txt);font-weight:500}
.aidetail .err{color:#e2706f}
.enhance-rates{font-size:12px;line-height:1.8;color:var(--dim)}
.enhance-rates b{color:var(--txt);font-weight:500}
.slot-label{font-size:10px;color:var(--dim);margin-bottom:4px}
.tabs button{font-size:11px;padding:12px 0 11px}

/* ---------- 建号 ---------- */
#create{padding:0 22px calc(20px + env(safe-area-inset-bottom));justify-content:center;gap:12px;overflow-y:auto}
#create .logo{font-size:36px;margin-top:calc(16px + env(safe-area-inset-top))}
#create .sub{margin-bottom:8px}
.crow{display:flex;align-items:center;gap:12px}
.crow.col{flex-direction:column;align-items:stretch;gap:8px}
.clabel{font-size:12px;color:var(--dim);letter-spacing:.1em;flex:none}
.pills{display:flex;gap:8px}
.pills button{
  padding:9px 22px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);color:var(--dim);cursor:pointer;font-size:14px;
}
.pills button.on{border-color:rgba(216,180,106,.55);background:rgba(216,180,106,.14);color:var(--gold)}
.classes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cclass{
  border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;
  background:rgba(255,255,255,.02);transition:.15s;
}
.cclass.on{border-color:rgba(216,180,106,.6);background:rgba(216,180,106,.1)}
.cic{font-size:16px;color:var(--gold);line-height:1}
.cname{font-weight:600;margin-top:2px}
.cdesc{font-size:11px;color:var(--dim);margin-top:2px;line-height:1.4}
.ctags{font-size:10px;color:rgba(111,199,225,.75);margin-top:4px;line-height:1.4}
#in-cname{
  width:100%;padding:15px 16px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);outline:none;font-size:16px;color:var(--txt);
}
#in-cname:focus{border-color:rgba(111,199,225,.5)}

/* ---------- 装备卡片补充 ---------- */
.item-sub{font-size:10px;color:var(--dim);margin:2px 0 4px}
.item-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.mini{
  padding:6px 12px;border-radius:8px;border:1px solid rgba(216,180,106,.35);
  background:rgba(216,180,106,.12);color:var(--gold);font-size:11px;cursor:pointer;
}
.mini.ghost{border-color:var(--line);background:rgba(255,255,255,.03);color:var(--dim)}
.mini.tiny{padding:3px 8px;font-size:10px;margin-top:5px}
.mini:disabled{opacity:.35;cursor:not-allowed}
.empty{font-size:11px;color:var(--dim);text-align:center;padding:10px 0}
.empty.full{grid-column:1/-1;padding:24px 0}
.fname{cursor:pointer}
.fname::after{content:"✎";font-size:10px;color:var(--dim);margin-left:3px;opacity:.6}
.equip-slot{justify-content:flex-start;min-height:0;gap:2px}

@media (min-width:561px){
  .app{border-left:1px solid var(--line);border-right:1px solid var(--line)}
}

/* ---------- 掠夺地图（v8） ---------- */
#tab-raid{padding:0}
.rules{font-size:12px;line-height:1.9;color:var(--dim)}
.foe{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.02)}
.foe.dead{opacity:.35}
.foe-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px;gap:8px}
.rlog{
  min-height:90px;max-height:34vh;overflow-y:auto;border:1px solid var(--line);
  border-radius:10px;padding:10px;font-size:12px;line-height:1.7;color:var(--dim);
  background:rgba(0,0,0,.18);margin-bottom:10px;
}
.rlog div{padding:1px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.rlog div:last-child{color:var(--txt)}
.rfoot{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 12px}
.rdebug{font-size:10px;color:var(--dim);opacity:.65}
.rring{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:10px;background:rgba(255,255,255,.02)}
.rring-title{font-size:11px;color:var(--cyan);margin-bottom:6px}
.rring-list{display:flex;flex-wrap:wrap;gap:6px}
.paths-label{font-size:12px;color:var(--gold);margin:2px 0 8px}
.paths{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.path-card{
  border:1px solid var(--line);border-radius:12px;padding:11px 12px;cursor:pointer;
  background:linear-gradient(180deg,#161e2c,#121826);
}
.path-card:active{transform:scale(.99);border-color:rgba(216,180,106,.5)}
.path-title{font-weight:600;color:var(--gold);font-size:13px;margin-bottom:3px}
.path-hint{font-size:12px;color:var(--dim);line-height:1.6}
.path-fish{margin-top:6px;font-size:12px;color:var(--cyan);line-height:1.6;font-weight:500}
.paths-empty{font-size:12px;color:var(--dim);text-align:center;padding:8px 0 12px}
.pickable{cursor:pointer}
.pickable.on{border-color:rgba(216,180,106,.6);background:rgba(216,180,106,.08)}
.pick-mark{font-size:10px;color:var(--dim);margin-top:6px}
.pickable.on .pick-mark{color:var(--gold);font-weight:600}
.ring-grid{max-height:220px}
.build{font-size:10px;opacity:.45;padding:4px 0 14px}
/* ---------- 掠夺操作按钮（v9） ---------- */
.rbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}
.rbtns.two{grid-template-columns:1fr 1fr}
.rbtn{
  padding:15px 0;border-radius:12px;cursor:pointer;text-align:center;
  border:1px solid var(--line);background:linear-gradient(180deg,#1b2435,#141b29);
  color:var(--txt);font-size:13.5px;font-weight:600;letter-spacing:.04em;
  font-family:inherit;
}
.rbtn:active{transform:translateY(1px)}
.rbtn small{display:block;font-size:10px;color:var(--dim);font-weight:400;margin-top:2px}
.rbtn.gold{border-color:rgba(216,180,106,.55);background:rgba(216,180,106,.16);color:var(--gold)}
.rbtn.ghost{background:rgba(255,255,255,.02);color:var(--dim);font-weight:500}
.rbtn.small{padding:8px 14px;font-size:12px;font-weight:500;display:inline-block;margin-top:6px;width:auto}
.errbar{
  position:fixed;left:0;right:0;top:0;z-index:99;padding:10px 14px;
  background:#7f1d1d;color:#fff;font-size:12px;line-height:1.5;
  padding-top:calc(10px + env(safe-area-inset-top));
}
/* 首领 */
.foe.boss{
  border-color:rgba(200,80,79,.65);
  background:linear-gradient(180deg,rgba(200,80,79,.14),rgba(200,80,79,.04));
  box-shadow:0 0 18px rgba(200,80,79,.18) inset;
}
.foe.boss .foe-top{color:#e2706f;font-weight:600}
.chip.boss-chip{color:#e2706f;background:rgba(200,80,79,.16);border:1px solid rgba(200,80,79,.35)}
/* 新品质 */
.quality-mythic{background:rgba(239,68,68,.22);color:#ef4444;font-weight:600}
.quality-divine{background:rgba(232,121,249,.22);color:#e879f9;font-weight:600;text-shadow:0 0 8px rgba(232,121,249,.5)}
.foe-gear{font-size:11px;color:var(--dim);margin-top:6px;line-height:1.5}
.foe-gear.chest{color:#d8b46a}
/* ---------- 追随者 ---------- */
.mate-grid{display:flex;flex-direction:column;gap:8px}
.mate{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(255,255,255,.02)}
.mate-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mate-name{font-weight:600}
.mate-rar{font-size:10px;border:1px solid;border-radius:4px;padding:1px 6px;white-space:nowrap}
.mate-sub{font-size:11px;color:var(--dim);margin-top:3px}
.mate-sub .star{color:var(--gold)}
.mate-stats{font-size:11px;color:var(--dim);margin-top:4px}
.mate-eq{font-size:10px;color:var(--cyan);margin-top:2px}
.mate-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mini.danger{color:#e2706f;border-color:rgba(226,112,111,.4)}

/* ---------- 剧情 ---------- */
.story{position:fixed;inset:0;z-index:80;background:rgba(4,6,10,.95);display:flex;align-items:center;justify-content:center;padding:22px}
.story-inner{max-width:520px;width:100%;max-height:82vh;overflow-y:auto;background:linear-gradient(180deg,#121826,#0d121a);border:1px solid var(--line);border-radius:16px;padding:22px 20px}
.story-title{font:600 16px/1.5 "Songti SC","Noto Serif SC",serif;color:var(--gold);letter-spacing:.12em;margin-bottom:14px}
.story-text{white-space:pre-wrap;font-size:13.5px;line-height:2;color:var(--txt);opacity:.94;margin-bottom:18px}
.story-list{display:flex;flex-direction:column;gap:8px}
.story-item{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--txt);text-align:left;font-size:12.5px;cursor:pointer}
.story-item.locked{opacity:.32}

.tabs button{font-size:10.5px;padding:12px 0 11px;letter-spacing:.05em}
/* 追随者性别 */
.mg{font-size:11px;margin-left:2px}
.mg.female{color:#e879f9}
.mg.male{color:#6fc7e1}
/* ---------- 冒险工会 ---------- */
.gm-list{display:flex;flex-direction:column;gap:4px;margin:10px 0}
.gm{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.02)}
.gm.me{background:rgba(216,180,106,.10);border:1px solid rgba(216,180,106,.25)}
.gm-rank{color:var(--dim);width:18px;text-align:right;font-size:11px}
.gm-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-pw{color:var(--gold);font-weight:600;font-size:11px}
.gm-tag{font-size:10px;padding:1px 5px;border-radius:4px}
.gm-tag.p2{background:rgba(91,141,214,.18);color:#7aa7e6}
.gm-tag.p3{background:rgba(200,80,79,.2);color:#e2706f}
.grep{font-size:12px;line-height:1.9;color:var(--dim);white-space:pre-wrap}
#guild-name{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);outline:none;font-size:15px;color:var(--txt);margin:8px 0}
/* ---------- 攻城 ---------- */
.scoreline{display:flex;align-items:center;justify-content:center;gap:14px;font-size:15px;font-weight:600;margin:10px 0 6px}
.scoreline .vs{font-size:10px;color:var(--dim);font-weight:400}
.scoreline.lead{color:var(--gold)}
.scoreline.behind{color:#e2706f}
/* 自动复活勾选 */
.checkline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim);margin-top:10px}
.checkline input{width:16px;height:16px;accent-color:#d8b46a}
/* 品质筛选 */
.qfilter{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.qchip{
  font-size:11px;padding:4px 9px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--dim);
}
.qchip.on{border-color:var(--gold);background:rgba(216,180,106,.16);color:var(--gold)}
.qbtn{margin-left:auto;font-size:11px;padding:4px 10px;border-radius:8px;border:1px solid rgba(216,180,106,.4);background:rgba(216,180,106,.12);color:var(--gold);cursor:pointer}
.qbtn:disabled{opacity:.35}
/* 随从规则折叠 */
.rulesbox{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);margin-bottom:14px}
.rulesbox summary{padding:9px 12px;font-size:12px;color:var(--dim);cursor:pointer;list-style:none}
.rulesbox summary::-webkit-details-marker{display:none}
.rulesbox summary::before{content:"▸ ";color:var(--gold)}
.rulesbox[open] summary::before{content:"▾ "}
.rulesbox .rules{padding:0 12px 10px}
/* iOS 安全区 */
.tabs{padding-bottom:max(env(safe-area-inset-bottom), 6px)}
.top{padding-top:calc(8px + env(safe-area-inset-top))}
body{overscroll-behavior:none}
/* 背包 / 城镇：整页滚动，别让列表超出面板底部 */
#tab-bag,#tab-town,#tab-conq{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
#tab-bag .item-grid,#tab-town .item-grid{max-height:none;overflow:visible}
#tab-bag .ring-grid{max-height:none}
#tab-mate{overflow-y:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
/* 装备名按品质上色 */
.qname-common{color:#9ca3af}
.qname-excellent{color:#22c55e}
.qname-rare{color:#3b82f6}
.qname-epic{color:#a855f7}
.qname-legendary{color:#f59e0b}
.qname-mythic{color:#ef4444}
.qname-divine{color:#e879f9}
/* 装备对比差值 */
.item-stats b.up{color:#4fd18b;font-weight:600}
.item-stats b.down{color:#e2706f;font-weight:600}
.cmp-note{font-size:10px;color:var(--dim);margin-top:3px;opacity:.75}
/* 圆润感：标题与按钮统一 */
.sec-title{letter-spacing:.04em;font-weight:600}
.story-title{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-weight:600;letter-spacing:.18em}
/* 首页图标 */
.logo-img{
  width:96px;height:96px;border-radius:22px;display:block;margin:0 auto 16px;
  box-shadow:0 12px 32px rgba(0,0,0,.55), 0 0 0 1px rgba(176,154,116,.18);
}
.logo-img.small{width:72px;height:72px;border-radius:17px;margin-bottom:12px}
/* ---------- 像素立绘 ---------- */
.pxart{image-rendering:pixelated;image-rendering:crisp-edges}
.pxart.big{
  width:72px;height:96px;float:left;margin:0 10px 4px 0;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));
}
.mate{position:relative;padding-right:48px}
.mate>.pxart{
  position:absolute;top:8px;right:6px;width:36px;height:48px;
  opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));
}
/* 大肥鱼头像：半身像（不裁圆） */
.fish .avatar{
  width:48px;height:auto;flex:0 0 48px;
  margin-top:0;border-radius:0;font-size:0;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));
  image-rendering:pixelated;
}
/* 装备选择器 */
.picker{z-index:120;
  position:fixed;left:0;right:0;bottom:0;top:0;z-index:60;
  background:rgba(6,8,12,.92);overflow-y:auto;
  padding:14px 14px calc(20px + env(safe-area-inset-bottom));
}
.picker.hide{display:none}
.pick-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--gold)}
.pick-group{margin-bottom:14px}
.pick-title{font-size:12px;color:var(--dim);margin-bottom:6px}
.pick-cur{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);margin-bottom:6px;font-size:13px}
.pick-list{display:flex;flex-direction:column;gap:6px}
.pick-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:8px 10px;border:1px solid var(--line);border-radius:9px;
  background:rgba(255,255,255,.02);text-align:left;font-size:13px;color:var(--txt);
}
.pick-item:active{background:rgba(216,180,106,.12)}
.pick-stat{font-size:11px;color:var(--dim)}
.pick-stat .up{color:#4fd18b}
.pick-stat .down{color:#e2706f}
.pick-empty{font-size:11px;padding:6px 2px}
.fish-gear{margin-top:4px}
/* 攻城页：整页滚动，别让城池列表超出屏幕 */
#tab-siege{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(20px + env(safe-area-inset-bottom));
}
#tab-siege .citycard{flex:0 0 auto}
#tab-siege .card,#tab-siege .rlog{flex:0 0 auto}
/* 城镇分区折叠：整条标题做成可点的按钮条 */
.sec > .sec-title{
  display:flex;align-items:center;gap:8px;
  cursor:pointer;user-select:none;
  padding:9px 12px;margin-bottom:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  transition:background .15s,border-color .15s;
}
.sec > .sec-title:hover{background:rgba(120,180,220,.13);border-color:rgba(120,180,220,.35)}
.sec > .sec-title:active{transform:translateY(1px)}
.sec > .sec-title::before{content:'▾';opacity:.65;font-size:12px}
.sec.folded > .sec-title::before{content:'▸'}
.sec > .sec-title::after{
  content:'收起';margin-left:auto;
  font-size:11px;color:#8fd0ff;opacity:.8;
  border:1px solid rgba(143,208,255,.25);border-radius:999px;
  padding:1px 7px;
}
.sec.folded > .sec-title::after{content:'展开'}
.sec.folded > *:not(.sec-title){display:none}
/* 货架刷新按钮：独立一行，别跟折叠标题混在一起 */
.shop-refresh-btn{display:block;width:100%;margin:0 0 8px;padding:8px 10px;text-align:center}
/* 世界：排行榜 + 头像消息 */
.me-av{width:22px;height:22px;border-radius:6px;object-fit:cover;margin-right:6px;cursor:pointer;border:1px solid rgba(255,255,255,.12)}
.msg-av{width:28px;height:28px;border-radius:8px;object-fit:cover;flex:0 0 28px;background:rgba(255,255,255,.04)}
.msg-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.msg{display:flex;gap:8px;align-items:flex-start;margin:10px 0}
.msg.me{flex-direction:row-reverse}
.msg.me .msg-body{align-items:flex-end}
.msg .who{font-size:11px;color:var(--dim);opacity:.8}
.msg .bubble{max-width:74%;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);line-height:1.5;word-break:break-word}
.msg.me .bubble{background:rgba(120,180,220,.16);border-color:rgba(120,180,220,.28)}
.msg.sys{margin:6px 0}
.msg.sys .bubble{background:transparent;border:none;color:var(--dim);font-size:12px;text-align:center;width:100%;max-width:100%}
.board{margin:0 0 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025)}
.board-head{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06)}
.board-list{padding:4px 6px}
.board-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px}
.board-row.me{background:rgba(216,180,106,.10)}
.board-rank{width:18px;text-align:center;font-size:11px;color:var(--dim)}
.board-av{width:20px;height:20px;border-radius:6px;object-fit:cover}
.board-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.board-lv{font-size:11px;color:var(--gold)}
.av-panel{position:fixed;z-index:60;top:60px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px;background:#111826;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.5)}
.av-panel button{padding:0;border:none;background:transparent;cursor:pointer}
.av-panel img{width:38px;height:38px;border-radius:8px;object-fit:cover;border:2px solid transparent}
.av-panel button.on img{border-color:var(--gold)}
/* 排行榜折叠 */
.board-head{cursor:pointer;user-select:none}
.board-head:hover{background:rgba(120,180,220,.10)}
.board-head::before{content:'▾';opacity:.6;margin-right:2px;font-size:11px}
.board.folded .board-head::before{content:'▸'}
.board-head::after{content:'收起';font-size:11px;color:#8fd0ff;border:1px solid rgba(143,208,255,.25);border-radius:999px;padding:1px 7px;margin-left:8px}
.board.folded .board-head::after{content:'展开'}
.board.folded .board-list{display:none}
.mate-pow{margin-left:auto;font-size:11px;color:#f0b46b;border:1px solid rgba(240,180,107,.3);border-radius:999px;padding:1px 7px}
/* 四维属性 */
.attr-row{display:flex;gap:10px;margin-top:6px;font-size:11px;color:var(--dim)}
.attr b{color:#e7eef8;font-weight:600}
/* 属性面板 */
.attr-row{cursor:pointer}
.attr-panel{position:fixed;z-index:60;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,360px);background:#111826;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.55);padding:12px 14px;font-size:13px}
.ap-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:14px}
.ap-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.ap-n{width:34px;color:var(--dim)}
.ap-v{width:36px;font-weight:600;color:#e7eef8}
.ap-a{flex:1;font-size:11px;color:var(--dim)}
.ap-t{font-size:10px;color:#8fd0ff;opacity:.8;margin-right:4px}
.ap-row button{width:32px;padding:3px 0}
.ap-btns{display:flex;gap:8px;margin-top:10px}
.ap-btns button{flex:1}
/* 可加点提示 */
.attr-badge{margin-left:auto;font-size:11px;color:#111826;background:linear-gradient(180deg,#f0d08a,#d8b46a);border-radius:999px;padding:2px 9px;font-weight:700;animation:apulse 1.6s ease-in-out infinite}
.attr-open{margin-left:auto;font-size:11px;color:#8fd0ff;background:rgba(143,208,255,.10);border:1px solid rgba(143,208,255,.30);border-radius:999px;padding:2px 9px;cursor:pointer}
@keyframes apulse{0%,100%{opacity:1}50%{opacity:.55}}
/* ================= 视觉 v2：整体质感 ================= */
:root{
  --bg:#080b12; --bg2:#0c1019; --panel:#101623; --panel2:#141b2b;
  --line:#1f2840; --line2:#2a3552;
  --txt:#dbe4f2; --dim:#8695ad;
  --gold:#e2c07a; --gold2:#b8934a; --cyan:#7dd3e8;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(1000px 600px at 85% -12%, rgba(80,190,215,.12), transparent 62%),
    radial-gradient(800px 500px at 8% 112%, rgba(226,192,122,.08), transparent 62%),
    linear-gradient(180deg,#080b12,#0a0f18 60%,#080b12);
}
.top{
  background:linear-gradient(180deg,rgba(16,22,35,.96),rgba(16,22,35,.72));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.card,.sec,.mate,.item-card,.board,.attr-panel{
  border-radius:14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  box-shadow:0 6px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.card{padding:14px 16px}
.sec{padding:12px 14px}
.sec-title{font-size:13px;letter-spacing:.04em;color:#eaf1fb}
.chip{
  border-radius:999px;padding:2px 9px;font-size:11px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  color:var(--dim);
}
.chip.gold{color:#f0d290;border-color:rgba(226,192,122,.35);background:rgba(226,192,122,.10)}
.btn,.mini,.rbtn,.primary,nav button,.pills button,.craces button{
  border-radius:10px;
  transition:transform .08s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.mini,.rbtn{
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid var(--line2);color:#dbe4f2;
}
.mini:hover,.rbtn:hover{background:rgba(125,211,232,.12);border-color:rgba(125,211,232,.35)}
.mini:active,.rbtn:active{transform:translateY(1px)}
.mini.ghost{background:transparent;border-color:var(--line)}
.primary{
  background:linear-gradient(180deg,var(--gold),var(--gold2));
  box-shadow:0 10px 26px rgba(226,192,122,.20), inset 0 1px 0 rgba(255,255,255,.35);
  letter-spacing:.14em;
}
.primary:hover{filter:brightness(1.05)}
.item-card{padding:12px;transition:border-color .15s,transform .12s}
.item-card:hover{border-color:rgba(125,211,232,.35);transform:translateY(-1px)}
.item-name{font-size:13px;letter-spacing:.02em}
.mate{padding:12px;transition:border-color .15s}
.mate:hover{border-color:rgba(125,211,232,.30)}
.bar{border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05)}
.bar .fill{border-radius:999px;box-shadow:0 0 12px rgba(200,80,79,.18)}
.msg .bubble{border-radius:14px;box-shadow:0 3px 12px rgba(0,0,0,.22)}
nav{
  background:linear-gradient(180deg,rgba(12,16,25,.85),rgba(8,11,18,.98));
  border-top:1px solid var(--line);
  backdrop-filter:blur(12px);
}
nav button{color:var(--dim);letter-spacing:.06em;font-size:12px}
nav button.on{color:var(--gold);position:relative}
nav button.on::after{content:'';position:absolute;left:50%;bottom:4px;width:20px;height:2px;margin-left:-10px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.pills button{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--dim)}
.pills button.on{border-color:rgba(226,192,122,.45);background:rgba(226,192,122,.12);color:#f0d290}
input,select,textarea{
  border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(125,211,232,.45);
  box-shadow:0 0 0 3px rgba(125,211,232,.10);
  outline:none;
}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}
::-webkit-scrollbar-track{background:transparent}
.logo{letter-spacing:.34em;text-indent:.34em;color:#e6cc96}
/* 底部小版本号 */
.ver-tag{display:block;text-align:right;font-size:8px;letter-spacing:.08em;color:rgba(134,149,173,.35);padding:10px 12px 4px 0;pointer-events:none}
/* 设置面板 */
.menu-sheet{position:fixed;z-index:70;top:calc(52px + env(safe-area-inset-top));right:10px;width:min(78vw,250px);padding:12px;border-radius:14px;border:1px solid var(--line2);background:linear-gradient(180deg,#141b2b,#0f1522);box-shadow:0 18px 44px rgba(0,0,0,.6)}
.ms-title{font-size:13px;color:var(--gold);margin-bottom:8px;letter-spacing:.1em}
.ms-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 8px;border:0;background:transparent;border-radius:9px;color:var(--txt);cursor:pointer}
.ms-row:hover{background:rgba(125,211,232,.10)}
.ms-tag{font-size:11px;color:var(--dim)}
.ms-tag.on{color:#f0d290}
.ms-hint{font-size:10px;color:var(--dim);line-height:1.5;padding:0 8px 8px}
.ms-ver{font-size:9px;color:rgba(134,149,173,.45);text-align:right;margin-top:6px;letter-spacing:.08em}
/* 战斗日志：定高滚动 + 底部渐隐 + 跳最新 */
.logwrap{position:relative;flex:1;min-height:0;display:flex}
.log{flex:1;min-height:0}
.log div{padding:1px 0;border-bottom:1px solid rgba(255,255,255,.025)}
.log div:last-child{border-bottom:0}
.log-wrap::after{}
.logwrap::after{content:'';position:absolute;left:0;right:0;bottom:0;height:34px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(6,9,14,.85))}
.log-jump{position:absolute;right:10px;bottom:8px;z-index:2;font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid rgba(125,211,232,.35);background:rgba(16,22,35,.92);color:#8fd0ff;cursor:pointer}
.gm-city{display:flex;align-items:center;gap:8px;margin:8px 0}
.gm-city select{flex:1;padding:8px 10px}
/* 城镇快捷跳转 */
.town-nav{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 10px;flex:0 0 auto;min-height:36px;position:relative;z-index:10}
.town-nav button{flex:0 0 auto;padding:7px 13px;min-height:32px;line-height:1.15;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.06);color:#d3dcec;font-size:12px;white-space:nowrap;cursor:pointer}
.town-nav button:hover{border-color:rgba(125,211,232,.45);color:#9fe3f4}
.town-nav button.on{background:rgba(226,192,122,.14);border-color:rgba(226,192,122,.45);color:#f0d290}
/* 单挑 */
.duel-mine{display:flex;gap:16px;font-size:12px;color:var(--dim);margin:6px 0 4px}
.duel-mine b{color:#f0d290;font-size:15px}
.duel-cls{margin:10px 0 14px}
.duel-cls-h{font-size:12px;color:#f0d290;letter-spacing:.1em;padding:4px 2px}
.duel-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;font-size:12px}
.duel-row.me{background:rgba(226,192,122,.10)}
.duel-rank{width:22px;text-align:center}
.duel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.duel-r{color:#8fd0ff}
.duel-w{color:var(--dim);font-size:11px}
/* 混战面板 */
.battle-live{padding:2px 0}
.apply-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.03);margin:5px 0;font-size:12px}
.duel-rank-line{font-size:12px;color:#f0d290;margin:6px 0 2px}
/* 永恒品质 */
.qname-divine,.quality-divine{color:#e879f9;text-shadow:0 0 10px rgba(232,121,249,.45)}
/* 右上角设置按钮：做明显 */
.btn-gear{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 12px;border-radius:10px;cursor:pointer;
  font-size:12px;letter-spacing:.04em;
  color:#e8eef8;background:linear-gradient(180deg,rgba(125,211,232,.18),rgba(125,211,232,.06));
  border:1px solid rgba(125,211,232,.45);
  box-shadow:0 2px 10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.10);
}
.btn-gear:hover{background:rgba(125,211,232,.24);border-color:rgba(125,211,232,.7)}
.btn-gear:active{transform:translateY(1px)}
.btn-gear.on{color:#1a1408;background:linear-gradient(180deg,#e2c07a,#b8934a);border-color:#e2c07a}
.coderow{display:flex;gap:8px;align-items:center}
.coderow input{flex:1}
.coderow button{white-space:nowrap;padding:12px 10px}
/* 忘记密码 */
.forgot{text-align:right;margin:6px 2px 0}
.forgot a{font-size:12px;color:#8fd0ff;text-decoration:none;cursor:pointer;opacity:.85}
.forgot a:hover{opacity:1;text-decoration:underline}
.reset-modal{position:fixed;inset:0;z-index:90;background:rgba(4,7,12,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.reset-box{width:min(92vw,340px);background:#111826;border:1px solid var(--line2);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.reset-title{font-size:15px;color:var(--gold);letter-spacing:.08em}
/* 拾荒者 */
.scav-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.scav-face{font-size:26px;line-height:1}
.scav-say{background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font-size:12px;color:#dbe4f2}
.scav-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.03);margin:5px 0;font-size:12px}
.scav-price{margin-left:auto;color:#f0d290}
.scav-total{font-size:12px;color:var(--dim);margin:8px 0 4px}
.scav-total b{color:#f0d290}
.rate-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--dim);padding:3px 2px}
.rate-row .rate-q{color:#9fb4c8;text-align:right}
/* 建号：名字输入框做华丽一点 */
#in-pname{
  height:54px;font-size:19px;text-align:center;letter-spacing:.18em;
  color:#f4e3bd;font-weight:500;
  background:linear-gradient(180deg,rgba(226,192,122,.13),rgba(226,192,122,.04));
  border:1px solid rgba(226,192,122,.55);
  border-radius:14px;
  box-shadow:0 0 0 1px rgba(226,192,122,.10) inset, 0 6px 22px rgba(0,0,0,.35), 0 0 22px rgba(226,192,122,.12);
  transition:box-shadow .2s,border-color .2s;
}
#in-pname::placeholder{color:rgba(226,192,122,.42);letter-spacing:.1em;font-size:15px}
#in-pname:focus{
  border-color:#e2c07a;
  box-shadow:0 0 0 3px rgba(226,192,122,.18), 0 0 28px rgba(226,192,122,.30);
  outline:none;
}
#in-pname:not(:placeholder-shown){color:#fff6e3;text-shadow:0 0 12px rgba(226,192,122,.45)}
/* GM 面板 */
.gm-panel{position:fixed;left:8px;right:8px;bottom:70px;z-index:120;background:#0d1320;border:1px solid rgba(226,192,122,.4);border-radius:12px;padding:10px;box-shadow:0 12px 40px rgba(0,0,0,.7);font-size:12px}
.gm-head{display:flex;justify-content:space-between;align-items:center;color:#e2c07a;margin-bottom:8px}
.gm-key{width:100%;padding:8px 10px;margin-bottom:8px}
.gm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.gm-grid button{padding:8px 4px;border-radius:8px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:#dbe4f2;font-size:11px}
.gm-grid button:active{background:rgba(226,192,122,.2)}
.gm-msg{margin-top:8px;font-size:11px;color:#8fd0ff;min-height:14px}
/* 私聊 */
.pm-sec{font-size:11px;color:var(--dim);margin:10px 4px 6px;letter-spacing:.08em}
.pm-thread{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer;margin-bottom:6px}
.pm-av{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(226,192,122,.28),rgba(125,211,232,.18));color:#f4e3bd;font-size:15px;font-weight:600}
.pm-info{flex:1;min-width:0}
.pm-n{font-size:13px;color:#e6edf8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-last{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.pm-badge{background:#c8504f;color:#fff;font-size:10px;border-radius:999px;padding:1px 6px;margin-left:6px}
.pm-time{font-size:10px;color:#6d7a8c;margin-left:6px;flex:0 0 auto}
.pm-head{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b1018;z-index:2}
.pm-title{font-size:14px;color:#f0d290}
.pm-msgs{flex:1;overflow-y:auto;padding:12px 4px;display:flex;flex-direction:column;gap:10px}
.pm-row{display:flex;align-items:flex-end;gap:8px}
.pm-row.me{flex-direction:row-reverse}
.pm-row .pm-av{width:26px;height:26px;flex:0 0 26px;font-size:12px}
.pm-m{max-width:76%;padding:9px 12px;border-radius:14px 14px 14px 4px;background:rgba(255,255,255,.07);font-size:13px;line-height:1.55;color:#dbe4f2;word-break:break-word}
.pm-row.me .pm-m{background:rgba(120,180,220,.22);border-radius:14px 14px 4px 14px;color:#eaf3fc}
.pm-t{display:block;font-size:9px;color:#7b8798;margin-top:4px;text-align:right}
.trade-box{border:1px solid rgba(226,192,122,.35);border-radius:10px;padding:8px;margin:6px 0;background:rgba(226,192,122,.06)}
.trade-head{font-size:12px;color:#f0d290;margin-bottom:6px}
.trade-cols{display:flex;gap:8px}
.trade-col{flex:1;min-width:0}
.trade-t{font-size:11px;color:var(--dim);margin-bottom:3px}
.trade-item{font-size:11px;color:#dbe4f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trade-gold{font-size:11px;color:#f0d290;margin-top:3px}
.trade-pick{margin-top:6px;max-height:180px;overflow-y:auto}
.trade-opt{font-size:11px;padding:4px 6px;border-radius:6px;cursor:pointer;color:var(--dim)}
.trade-opt.on{background:rgba(125,211,232,.18);color:#9fe3f4}
.trade-goldrow{margin-top:6px;font-size:11px;color:var(--dim)}
.trade-goldrow input{width:90px;margin-left:6px;padding:4px 6px}
@media (max-width:560px){#chat-in,input[type="text"],input[type="password"],input[type="number"],textarea{font-size:16px!important}}

/* 私聊面板：固定高度 + 消息区独立滚动，键盘弹出时保持看得见记录 */
#chat-pm{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#chat-pm .pm-msgs{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:14px;scroll-padding-bottom:14px}
#chat-pm .pm-head{flex:0 0 auto}
#chat-pm .trade-box{flex:0 0 auto;max-height:40vh;overflow-y:auto}
#chat-pm .pm-sec,#chat-pm .pm-thread{flex:0 0 auto}

/* 聊天页：整页不滚，只有消息区内部滚动，键盘弹出也不把记录顶走 */
#tab-chat.show{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#tab-chat .board{flex:0 0 auto;max-height:20vh;overflow-y:auto}
#tab-chat .chat-switch{flex:0 0 auto}
#tab-chat .chatin{flex:0 0 auto;padding-bottom:max(8px,env(safe-area-inset-bottom))}
#tab-chat #chat,#tab-chat #chat-fish,#tab-chat #chat-pm{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.pm-mode #tab-chat .board{display:none}
body.pm-mode #tab-chat .chat-switch{display:none}

/* 聊天页：压缩顶部，把空间让给聊天记录 */
body.chat-tab .top #attr-row,
body.chat-tab .top .fish,
body.chat-tab .top #fol-strip,
body.chat-tab .top .bar.thin{display:none}
body.chat-tab .top{padding-top:6px;padding-bottom:4px}
body.chat-tab .top .row{margin-bottom:4px}
body.chat-tab .top .bar{height:6px}
body.chat-tab .tabs{padding-top:2px}

/* 装备战力提示 */
.stat-power{margin-top:4px;padding-top:4px;border-top:1px dashed rgba(226,192,122,.25);color:#e2c07a;font-weight:600;font-size:12px;text-align:right}

/* 装备名称后的战力标签 */
.pw-chip{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:999px;background:rgba(226,192,122,.16);color:#e2c07a;border:1px solid rgba(226,192,122,.35);white-space:nowrap}

/* ===== 可点击元素更明显 ===== */
#btn-shoprefresh{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:6px;padding:9px 16px;border-radius:10px;font-size:12.5px;font-weight:600;
  color:#1a1206;background:linear-gradient(180deg,#f0d290,#d8b46a);
  border:1px solid rgba(255,230,170,.7);
  box-shadow:0 3px 14px rgba(216,180,106,.35), inset 0 1px 0 rgba(255,255,255,.5);
  cursor:pointer;transition:transform .08s, box-shadow .15s;
}
#btn-shoprefresh:hover{box-shadow:0 5px 20px rgba(216,180,106,.5)}
#btn-shoprefresh:active{transform:translateY(1px) scale(.99)}

/* 排序下拉：金牌按钮，醒目 */
select.sortsel{
  font-size:13px;font-weight:800;letter-spacing:.02em;
  padding:9px 12px;border-radius:999px;
  color:#231703;
  background:linear-gradient(180deg,#ffe9b0 0%,#f2cf82 45%,#d3a94f 100%);
  border:1px solid #fff3cb;
  box-shadow:0 0 0 2px rgba(226,192,122,.18), 0 4px 18px rgba(216,180,106,.45), inset 0 1px 0 rgba(255,255,255,.75);
  cursor:pointer;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}
select.sortsel:active{transform:translateY(1px)}
select.sortsel option{background:#141b26;color:#f0d290;font-weight:600}
/* 所有小按钮：加边框和按压反馈 */
button.mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);transition:background .12s,transform .06s}
button.mini:active{transform:scale(.97)}
button.mini.ghost{border-color:rgba(255,255,255,.10)}
button.mini.danger{border-color:rgba(200,80,79,.5);color:#f0a3a2}

/* 卡片类的可点击区域给个手型 */
.pm-thread,.item-card[data-uid],.trade-opt,.csw{cursor:pointer}

/* 拾荒者空闲文案 */
.scav-idle{margin-top:8px;font-size:11.5px;color:#7f8a99;line-height:1.6}

/* 排序按钮：点一下切换，金框发光 */
.sort-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:800;
  color:#231703;
  background:linear-gradient(180deg,#ffe9b0 0%,#f2cf82 45%,#d3a94f 100%);
  border:1px solid #fff3cb;
  box-shadow:0 0 0 2px rgba(226,192,122,.20), 0 4px 16px rgba(216,180,106,.42), inset 0 1px 0 rgba(255,255,255,.75);
  cursor:pointer;text-shadow:0 1px 0 rgba(255,255,255,.35);
  transition:transform .08s;
}
.sort-btn:active{transform:translateY(1px) scale(.98)}

/* 排序双按钮 */
.sort-pills{display:inline-flex;gap:4px;padding:2px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}
.sort-pill{padding:6px 13px;border-radius:999px;font-size:12px;font-weight:700;color:#8d9aab;background:transparent;border:0;cursor:pointer;transition:all .15s}
.sort-pill.on{color:#231703;background:linear-gradient(180deg,#ffe9b0,#e8c37a);box-shadow:0 2px 10px rgba(216,180,106,.45), inset 0 1px 0 rgba(255,255,255,.7)}
.sort-pill:active{transform:scale(.97)}

/* ===== 立绘不再压住内容 ===== */
.mate{position:relative;padding-right:46px;isolation:isolate}
.mate>.pxart{
  position:absolute;top:6px;right:8px;width:30px;height:40px;
  opacity:.92;z-index:0;pointer-events:none;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
}
.mate>*:not(.pxart){position:relative;z-index:1}

/* ===== 随从装备：做成高级卡片按钮 ===== */
.fish-gear{margin-top:6px}
#btn-fish-gear{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;
  color:#f4e3bd;
  background:linear-gradient(180deg,rgba(226,192,122,.20),rgba(226,192,122,.07));
  border:1px solid rgba(226,192,122,.55);
  box-shadow:0 2px 10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18);
  cursor:pointer;transition:all .15s;
}
#btn-fish-gear:hover{box-shadow:0 0 0 2px rgba(226,192,122,.22),0 4px 16px rgba(216,180,106,.35)}
#btn-fish-gear:active{transform:translateY(1px)}
#btn-fish-gear b{color:#ffe2a1;font-weight:800}
#btn-fish-gear::before{content:"⚔";font-size:13px;opacity:.9}

/* 随从卡片：战力 + 血条红 + 蓝条 */
.fol-pw{font-size:10px;color:#e2c07a;margin-left:auto;font-weight:700}
.fol-hp i{background:linear-gradient(90deg,#e0574f,#ff8a7a)!important}
.fish .bar.thin i.fhp{background:linear-gradient(90deg,#e0574f,#ff8a7a)!important}
.fol-mp{height:3px;border-radius:2px;background:rgba(255,255,255,.10);margin-top:2px;overflow:hidden}
.fol-mp i{display:block;height:100%;background:linear-gradient(90deg,#4f7fe0,#7ad0ff)}

/* 大肥鱼面板只在「随从」页显示 */
body:not(.mate-tab) .top .fish{display:none}
body:not(.mate-tab) .top #fol-strip{display:none}
body.mate-tab .top .fish{display:flex}


/* ===== 装备页 ===== */
.equip-page{position:fixed;inset:0;z-index:110;background:radial-gradient(120% 80% at 50% 0%,#151d2b 0%,#0a0e16 60%);display:flex;flex-direction:column;padding:12px 14px 18px;overflow-y:auto}
.equip-page.hide{display:none}
.eqp-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.eqp-head b{font-size:15px;color:#f0d290}
.eqp-head .mini{margin-left:auto}
.eqp-stage{position:relative;flex:1;min-height:300px;border-radius:16px;border:1px solid rgba(226,192,122,.18);background:radial-gradient(70% 55% at 50% 45%,rgba(125,211,232,.10),transparent 70%)}
.eqp-figure{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center}
.eqp-figure img{width:120px;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.65)) drop-shadow(0 0 18px rgba(226,192,122,.18))}
.eslot{position:absolute;width:96px;padding:7px 8px;border-radius:10px;text-align:left;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10);cursor:pointer;transition:all .15s}
.eslot.has{border-color:rgba(226,192,122,.5);background:linear-gradient(180deg,rgba(226,192,122,.16),rgba(226,192,122,.05));box-shadow:0 0 12px rgba(216,180,106,.18)}
.eslot:active{transform:scale(.97)}
.eslot-label{display:block;font-size:10px;color:#8d9aab;letter-spacing:.08em}
.eslot-name{display:block;font-size:11px;color:#dbe4f2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eslot-top{left:50%;top:10px;transform:translateX(-50%)}
.eslot-top:active{transform:translateX(-50%) scale(.97)}
.eslot-left{left:10px;top:50%;transform:translateY(-50%)}
.eslot-left:active{transform:translateY(-50%) scale(.97)}
.eslot-right{right:10px;top:50%;transform:translateY(-50%)}
.eslot-right:active{transform:translateY(-50%) scale(.97)}
.eslot-mid{left:50%;bottom:64px;transform:translateX(-50%)}
.eslot-mid:active{transform:translateX(-50%) scale(.97)}
.eslot-bl{left:10px;bottom:10px}
.eslot-br{right:10px;bottom:10px}
.eqp-bars{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.eqp-foot{margin-top:8px;font-size:11px;color:#7f8a99;text-align:center}

/* ===== 换装面板美化 ===== */
#picker{
  background:linear-gradient(180deg,#0e141f 0%,#0a0e16 100%)!important;
  border-top:1px solid rgba(226,192,122,.35)!important;
  box-shadow:0 -18px 48px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.06)!important;
  border-radius:18px 18px 0 0!important;
  padding:16px 16px max(18px,env(safe-area-inset-bottom))!important;
}
#picker::before{
  content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);
  width:44px;height:4px;border-radius:99px;background:rgba(255,255,255,.18);
}
#picker .pick-head{
  margin:6px 0 14px!important;padding-bottom:10px!important;
  border-bottom:1px solid rgba(226,192,122,.18);
}
#picker .pick-head span:first-child{
  font-size:15px!important;font-weight:700!important;color:#f0d290!important;letter-spacing:.04em;
}
#picker .pick-title{
  font-size:11px!important;color:#8d9aab!important;letter-spacing:.16em;
  margin:0 0 8px 2px!important;
}
#picker .pick-cur{
  border-radius:12px!important;padding:10px 12px!important;
  background:linear-gradient(180deg,rgba(226,192,122,.12),rgba(226,192,122,.04))!important;
  border:1px solid rgba(226,192,122,.35)!important;
  margin-bottom:10px!important;
}
#picker .pick-list{gap:8px!important}
#picker .pick-item{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px;
  padding:11px 13px!important;border-radius:12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important;
  border:1px solid rgba(255,255,255,.09)!important;
  transition:all .14s!important;
}
#picker .pick-item:active{
  transform:scale(.985);
  border-color:rgba(226,192,122,.55)!important;
  background:linear-gradient(180deg,rgba(226,192,122,.16),rgba(226,192,122,.05))!important;
}
#picker .pick-item .qname-legendary,
#picker .pick-item .qname-epic{font-weight:600}
#picker .pick-stat{
  font-size:10.5px!important;color:#8d9aab!important;line-height:1.5;text-align:right;
}
#picker .pick-stat b{font-size:11.5px;margin-left:6px}
#picker .pick-stat b.up{color:#4fd18b;text-shadow:0 0 8px rgba(79,209,139,.35)}
#picker .pick-stat b.down{color:#e2706f}
#picker .pick-group{margin-bottom:18px!important}
#picker .pick-empty{font-size:11.5px;color:#6d7a8c;padding:10px 4px}

/* 前后排切换 */
.row-switch{display:inline-flex;gap:2px;margin-right:6px;border-radius:999px;background:rgba(255,255,255,.06);padding:2px}
.row-btn{padding:4px 9px;border-radius:999px;border:0;background:transparent;color:#8d9aab;font-size:10.5px;font-weight:700;cursor:pointer}
.row-btn.on{background:linear-gradient(180deg,#ffe9b0,#e8c37a);color:#231703}

/* 队伍卡片：竖版卡片，带数据 */
.team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.team-row{
  display:flex!important;flex-direction:column;align-items:stretch;gap:6px;
  padding:12px 10px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 4px 18px rgba(0,0,0,.35);
}
.team-row .fol-av{width:56px;height:auto;align-self:center;margin-bottom:2px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.team-row .fol-info{width:100%}
.team-row .fol-name{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}
.team-row .fol-nm{font-size:13px;color:#e6edf8;font-weight:600}
.team-row .fol-lv{font-size:10px;color:#8d9aab}
.team-row .fol-pw{font-size:11px;color:#e2c07a;font-weight:700;width:100%;text-align:center;margin-top:2px}
.team-row .fol-hp{height:7px;border-radius:99px;background:rgba(255,255,255,.10);overflow:hidden;margin-top:6px}
.team-row .fol-mp{height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:3px}
.team-row .team-eq{text-align:center;font-size:10px;color:#8d9aab;margin-top:4px}
.team-row .row-switch{margin:4px auto 0}
.team-row .mini{width:100%;text-align:center;padding:7px 0;border-radius:10px;font-size:11.5px}

/* 队伍页：卡片里已经有每个人了，顶部不再重复显示大肥鱼面板 */
body.mate-tab .top .fish{display:none!important}
body.mate-tab .top .fish-gear{display:none!important}
/* 卡片阴影收一点，避免顶部出现重影 */
.team-row{box-shadow:0 2px 10px rgba(0,0,0,.28)!important}

/* 顶部信息行：允许换行，避免标签重叠 */
.top .row{
  display:flex!important;align-items:center;flex-wrap:wrap!important;
  gap:5px!important;row-gap:5px;
}
.top .row .pname{
  flex:1 1 90px;min-width:60px;max-width:44%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.top .row .chip{
  flex:0 0 auto;font-size:10.5px!important;padding:2px 7px!important;
  line-height:1.5;white-space:nowrap;
}
.top .row .btn-gear{flex:0 0 auto;margin-left:auto}

/* 随从卡片右上角那个半透明小人：多余，去掉（也是闪烁来源） */
.mate > .pxart{display:none!important}
.mate{padding-right:0!important}

/* 顶部不再显示随从小头像条（队伍页已有卡片，其他页也不需要） */
.top #fol-strip{display:none!important}
/* 防止任何溢出的小图压在信息行上 */
.top .row{overflow:hidden}
.top .row > *{position:relative;z-index:1}

/* ===== 队伍：前后排分区卡片 ===== */
.tm-sec{display:flex;align-items:center;gap:8px;margin:14px 2px 8px}
.tm-sec-t{font-size:12px;letter-spacing:.18em;color:#e2c07a;font-weight:700}
.tm-sec-n{font-size:10px;color:#7f8a99;background:rgba(255,255,255,.06);border-radius:99px;padding:1px 7px}
.tm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tm-empty{grid-column:1/-1;font-size:11.5px;color:#6d7a8c;text-align:center;padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:12px}
.tm-card{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:11px 8px 9px;border-radius:14px;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 2px 10px rgba(0,0,0,.28);
  transition:transform .1s, border-color .15s;
}
.tm-card:active{transform:scale(.98)}
.tm-card.dead{opacity:.45;filter:grayscale(.6)}
.tm-av{width:52px;height:64px;object-fit:cover;object-position:50% 16%;image-rendering:pixelated}
.tm-name{font-size:12px;font-weight:700;color:#e6edf8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tm-meta{font-size:10px;color:#8d9aab}
.tm-pw{font-size:11px;font-weight:800;color:#e2c07a}
.tm-bars{width:100%;margin-top:3px;display:flex;flex-direction:column;gap:2px}
.tm-bars i{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.10);position:relative;overflow:hidden}
.tm-bars i::after{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:99px;width:inherit}
.tm-hp{background:rgba(255,255,255,.10);height:6px!important}
.tm-mp{background:rgba(255,255,255,.08);height:4px!important}
.tm-foot{font-size:9.5px;color:#7f8a99;margin-top:2px}

/* 队伍卡片操作按钮 */
.tm-acts{display:flex;gap:5px;width:100%;margin-top:6px}
.tm-acts button{
  flex:1;padding:6px 0;border-radius:9px;font-size:10.5px;font-weight:700;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#c9d4e2;
}
.tm-acts .tm-row{border-color:rgba(125,211,232,.35);color:#9fe3f4;background:rgba(125,211,232,.10)}
.tm-acts button:active{transform:scale(.97)}
.tm-card.dead .tm-foot{color:#e2706f;font-weight:700}

/* 队伍卡片血条蓝条：给颜色打底 */
.tm-bars{background:rgba(255,255,255,.06);border-radius:99px;padding:1px;display:flex;flex-direction:column;gap:2px}
.tm-bars i{border-radius:99px}
.tm-hp{height:6px!important}
.tm-mp{height:4px!important}

/* 攻城报名状态 & 取消按钮：做成高级感 */
.signup-on{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:11px 14px;border-radius:12px;margin-bottom:10px;
  background:linear-gradient(180deg,rgba(226,192,122,.14),rgba(226,192,122,.04));
  border:1px solid rgba(226,192,122,.42);
  color:#e9dfc6;font-size:12.5px;
  box-shadow:0 0 0 1px rgba(226,192,122,.08), 0 4px 16px rgba(0,0,0,.28);
}
.signup-on b{color:#f4d99b;font-weight:800}
[data-siege="cancel"]{
  padding:9px 20px!important;border-radius:999px!important;font-size:12.5px!important;font-weight:800!important;
  color:#ffd9d6!important;
  background:linear-gradient(180deg,rgba(200,80,79,.30),rgba(200,80,79,.14))!important;
  border:1px solid rgba(226,120,118,.65)!important;
  box-shadow:0 3px 14px rgba(200,80,79,.30), inset 0 1px 0 rgba(255,255,255,.16)!important;
  transition:all .15s;
}
[data-siege="cancel"]:active{transform:translateY(1px) scale(.98)}

/* 属性面板：实体背景，不再透出后面的内容 */
.attr-panel{
  background:linear-gradient(180deg,#151d2c 0%,#0d1421 100%)!important;
  border:1px solid rgba(226,192,122,.38)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.72), 0 0 0 1px rgba(0,0,0,.4)!important;
  backdrop-filter:none!important;
}
.attr-panel::before{
  content:"";position:fixed;inset:0;background:rgba(4,6,10,.55);z-index:-1;
}
.ap-head{color:#f0d290!important;font-weight:700}
.ap-row:hover{background:rgba(255,255,255,.03)}
.ap-btns{display:flex;gap:8px;margin-top:10px}

/* 建号页：职业说明 + 克制图 */
.pick-note{font-size:11px;color:#8d9aab;line-height:1.65;margin:8px 2px 10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.counter-map{border:1px solid rgba(226,192,122,.28);border-radius:12px;padding:10px;margin-bottom:10px;background:linear-gradient(180deg,rgba(226,192,122,.08),rgba(226,192,122,.02))}
.cm-title{font-size:11px;letter-spacing:.18em;color:#e2c07a;font-weight:700;margin-bottom:8px}
.cm-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:10.5px}
.cm-c{padding:3px 8px;border-radius:999px;font-weight:700;color:#0f1420}
.cm-c.w{background:#e0574f}
.cm-c.a{background:#d8e04f}
.cm-c.m{background:#7ad0ff}
.cm-c.p{background:#e8dcc0}
.cm-c.r{background:#b48ae8}
.cm-a{color:#7f8a99;font-size:9px}
.cm-loop{font-size:10px;color:#8d9aab;margin-top:6px}
.cm-desc{font-size:10px;color:#6d7a8c;margin-top:4px;line-height:1.6}

/* 酒馆获得物：醒目提示 */
#reward-toast{
  position:fixed;left:50%;top:22%;transform:translate(-50%,-8px);
  display:flex;align-items:center;gap:8px;
  padding:11px 18px;border-radius:14px;
  background:linear-gradient(180deg,rgba(30,24,12,.96),rgba(18,14,8,.96));
  border:1px solid rgba(226,192,122,.65);
  box-shadow:0 0 0 1px rgba(226,192,122,.2), 0 12px 34px rgba(0,0,0,.65), 0 0 26px rgba(216,180,106,.28);
  color:#f4e3bd;font-size:13px;font-weight:700;line-height:1.5;
  opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;
  z-index:140;max-width:86vw;
}
#reward-toast.show{opacity:1;transform:translate(-50%,0)}
#reward-toast .rt-ic{color:#ffd98a;font-size:15px}
#reward-toast .rt-tx{white-space:normal}

/* 经验条 */
.bar.exp{height:4px;margin-top:3px}
.bar.exp .expfill{background:linear-gradient(90deg,#8b6cf0,#c9a7ff)}
.bar.exp span{font-size:9px;color:#9aa6b8}

/* ================= 宝石 ================= */
.gem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gem-card{
  position:relative;padding:8px 9px;border-radius:8px;
  border:1px solid var(--line2);
  background:linear-gradient(180deg,rgba(20,40,42,.9),rgba(10,22,24,.95));
}
.gem-card.q-rare{border-color:rgba(79,134,200,.55)}
.gem-card.q-epic{border-color:rgba(155,107,208,.55)}
.gem-card.q-legendary{border-color:rgba(217,162,76,.6)}
.gem-name{display:flex;align-items:center;gap:6px;font-size:12px;color:#e8dcc2}
.gem-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 8px currentColor;flex:0 0 9px}
.gem-stat{font-size:11px;color:#9fc7c8;margin:3px 0 6px}
.gem-card .mini{width:100%}
.gem-sockets{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0 4px}
.gem-socket{
  min-width:26px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;
  border:1px dashed rgba(201,163,92,.35);border-radius:4px;
  background:rgba(0,0,0,.28);color:rgba(201,163,92,.55);font-size:10px;
}
.gem-socket.on{
  border-style:solid;border-color:rgba(201,163,92,.7);
  background:linear-gradient(180deg,rgba(201,163,92,.16),rgba(201,163,92,.04));
  color:#f0dca8;cursor:pointer;
}

/* ================= 视觉 v3：暗青酒红 · 旧铜华丽 ================= */
:root{
  --bg:#050b0c; --bg2:#081416; --panel:#0a2022; --panel2:#0d2b2b;
  --line:#1d3a36; --line2:#38544c;
  --txt:#e2d8bf; --dim:#91a8a2;
  --gold:#c9a35c; --gold2:#8a6a3a;
  --cyan:#63d6d2; --hp:#b23a44; --mp:#2f7fa8; --fish:#4fb7c9;
}
body{
  background:
    radial-gradient(1000px 620px at 80% -10%, rgba(22,88,88,.55), transparent 62%),
    radial-gradient(820px 520px at 6% 112%, rgba(91,28,38,.42), transparent 64%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 4px),
    linear-gradient(180deg,#050b0c,#071315 55%,#050b0c);
}
.top{
  background:linear-gradient(180deg,rgba(10,36,38,.97),rgba(7,22,24,.82));
  border-bottom:1px solid rgba(201,163,92,.30);
  box-shadow:0 3px 18px rgba(0,0,0,.45);
  position:relative;
}
.top::after{
  content:"❖";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);
  color:#c9a35c;background:#071315;padding:0 10px;font-size:12px;
  text-shadow:0 0 10px rgba(201,163,92,.5);pointer-events:none;
}
.pname,.sec-title,.stitle,.board-head,.eqp-head b,.srow .stitle{
  font-family:"Songti SC","SimSun","Noto Serif SC",serif;
  letter-spacing:.06em;color:#ead7a8;
}
.card,.sec,.item-card,.board,.attr-panel,.mate{
  border:1px solid rgba(201,163,92,.24);
  border-radius:4px;
  background:
    linear-gradient(180deg,rgba(13,42,42,.92),rgba(6,20,22,.96));
  box-shadow:0 8px 24px rgba(0,0,0,.42), inset 0 0 0 1px rgba(201,163,92,.07);
}
.sec{padding:12px 14px}
.sec-title{font-size:13px;color:#e8d3a2}
.sec > .sec-title{
  border-color:rgba(201,163,92,.28);
  background:linear-gradient(180deg,rgba(201,163,92,.10),rgba(201,163,92,.02));
  border-radius:3px;
}
.sec > .sec-title::before{color:#c9a35c}
.sec > .sec-title::after{color:#cfe4df;border-color:rgba(201,163,92,.35);content:"收起"}
.sec.folded > .sec-title::after{content:"展开"}
.chip{
  border-radius:3px;border:1px solid rgba(201,163,92,.28);
  background:rgba(201,163,92,.08);color:#c9b98f;
}
.chip.gold{color:#f0d9a2;border-color:rgba(201,163,92,.5);background:rgba(201,163,92,.14)}
.mini,.rbtn{
  border-radius:3px;
  background:linear-gradient(180deg,#173d3a,#0a2022);
  border:1px solid #46645a;color:#dbe6da;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.mini:hover,.rbtn:hover{background:linear-gradient(180deg,#20504a,#0c2828);border-color:#6f8a6a}
.mini.ghost{background:transparent;border-color:rgba(201,163,92,.30);color:#d8cfb4}
.mini.ghost:hover{background:rgba(201,163,92,.10);border-color:rgba(201,163,92,.55)}
.primary{
  border-radius:3px;
  background:linear-gradient(180deg,#e0c07d,#a37c3d 55%,#7d5a2f);
  color:#1a1408;border:1px solid #f0d9a2;
  box-shadow:0 10px 26px rgba(201,163,92,.20), inset 0 1px 0 rgba(255,255,255,.45);
}
nav{
  background:linear-gradient(180deg,rgba(10,30,31,.92),rgba(4,12,13,.99));
  border-top:1px solid rgba(201,163,92,.30);
}
nav button{color:#8fa39d;font-family:"Songti SC","SimSun",serif;letter-spacing:.14em}
nav button.on{color:#f0d9a2}
nav button.on::after{background:linear-gradient(90deg,transparent,#e7cf97,transparent);box-shadow:0 0 8px rgba(231,207,151,.55)}
input,select,textarea{
  border-radius:3px;border:1px solid rgba(201,163,92,.24);
  background:rgba(0,0,0,.22);color:#e2d8bf;
}
input:focus,select:focus,textarea:focus{border-color:rgba(99,214,210,.55);box-shadow:0 0 0 2px rgba(99,214,210,.10)}
::-webkit-scrollbar-thumb{background:rgba(201,163,92,.28)}
.item-card{border-color:rgba(201,163,92,.22)}
.item-card:hover{border-color:rgba(99,214,210,.42);transform:translateY(-1px)}
.item-name{color:#e7dcc4}
.item-sub,.item-req{color:#98aaa2}
.bar{background:rgba(0,0,0,.34);border:1px solid rgba(201,163,92,.26);border-radius:2px}
.bar .fill.hp{background:linear-gradient(90deg,#6e1f2a,#b23a44 60%,#d76a5f);box-shadow:0 0 10px rgba(190,60,60,.35)}
.bar .fill.mp{background:linear-gradient(90deg,#164a6b,#2f7fa8 60%,#57b6cf)}
.msg .bubble{background:rgba(12,40,40,.72);border:1px solid rgba(201,163,92,.16);border-radius:4px}
.msg.me .bubble{background:rgba(35,92,92,.38);border-color:rgba(99,214,210,.30)}
.logo{color:#e6cc96;text-shadow:0 0 26px rgba(201,163,92,.28),0 1px 0 rgba(0,0,0,.6)}

/* 英雄面板 */
.equip-page{
  background:
    radial-gradient(900px 620px at 50% -8%, rgba(22,88,88,.62), transparent 62%),
    radial-gradient(620px 500px at 50% 112%, rgba(91,28,38,.45), transparent 62%),
    linear-gradient(180deg,#050b0c,#071315 60%,#050b0c);
  padding:14px 14px 22px;
}
.equip-page::before{
  content:"";position:fixed;inset:8px;border:1px solid rgba(201,163,92,.22);
  pointer-events:none;z-index:0;
}
.eqp-head{
  position:relative;z-index:1;
  padding:8px 10px;margin-bottom:10px;
  border:1px solid rgba(201,163,92,.32);border-radius:3px;
  background:linear-gradient(180deg,rgba(17,48,48,.96),rgba(7,22,24,.92));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.10),0 6px 18px rgba(0,0,0,.4);
}
.eqp-head b{font-size:18px;color:#f0d9a2;letter-spacing:.10em}
.eqp-head .mini{margin-left:auto}
.eqp-stage{
  position:relative;flex:1;min-height:430px;
  border:2px solid #7d5a2f;border-radius:4px;
  background:
    radial-gradient(70% 55% at 50% 42%, rgba(99,214,210,.14), transparent 68%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 2px, transparent 2px 4px),
    linear-gradient(180deg,#0a2426,#061416);
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.16), inset 0 0 70px rgba(0,0,0,.55);
  overflow:hidden;
}
.eqp-stage::before{
  content:"";position:absolute;inset:6px;border:1px solid rgba(201,163,92,.16);pointer-events:none;
}
.eqp-stage::after{
  content:"❖";position:absolute;left:50%;top:-11px;transform:translateX(-50%);
  color:#c9a35c;background:#071416;padding:0 10px;font-size:13px;z-index:2;
}
.eqp-figure{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center;z-index:1}
.eqp-figure img{width:120px;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.65)) drop-shadow(0 0 18px rgba(226,192,122,.18))}
.eqp-figure.portrait img{
  width:176px;height:220px;object-fit:cover;object-position:50% 22%;
  border:1px solid #7d5a2f;border-radius:2px;
  box-shadow:0 10px 30px rgba(0,0,0,.65),0 0 0 1px rgba(201,163,92,.22),0 0 26px rgba(99,214,210,.08);
}
.eslot{
  position:absolute;width:90px;padding:6px 7px;border-radius:3px;text-align:left;
  border:1px solid rgba(201,163,92,.32);
  background:linear-gradient(180deg,rgba(14,44,44,.94),rgba(5,18,20,.96));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.08),0 4px 12px rgba(0,0,0,.4);
}
.eslot.has{border-color:rgba(201,163,92,.7);background:linear-gradient(180deg,rgba(28,66,62,.96),rgba(8,26,26,.98));box-shadow:0 0 16px rgba(201,163,92,.18),inset 0 0 0 1px rgba(201,163,92,.14)}
.eslot.q-rare{border-color:rgba(79,134,200,.75)}
.eslot.q-epic{border-color:rgba(155,107,208,.75)}
.eslot.q-legendary{border-color:rgba(217,162,76,.85)}
.eslot-label{display:block;font-size:10px;color:#a9946a;letter-spacing:.10em}
.eslot-name{display:block;font-size:11px;color:#e2d8bf;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eslot-gems{display:block;margin-top:3px;font-size:10px;color:#63d6d2;letter-spacing:2px}
.eqp-bars{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.eqp-foot{margin-top:8px;font-size:11px;color:#8fa39d;text-align:center;letter-spacing:.08em}
@media(min-width:560px){
  .eqp-figure.portrait img{width:220px;height:275px}
  .eslot{width:104px}
}
/* 宝石卡再贴一层铜边 */
.gem-card{border-radius:3px;border-color:rgba(201,163,92,.26);background:linear-gradient(180deg,rgba(13,42,42,.94),rgba(6,20,22,.97))}
.gem-name{color:#e7dcc4}
.gem-stat{color:#9fc7c8}

/* 英雄面板：3×3 环绕布局（6 槽在两侧，立绘居中） */
.eqp-stage{
  display:grid;
  grid-template-columns:96px minmax(0,1fr) 96px;
  grid-template-rows:repeat(3,1fr);
  gap:8px;padding:12px;min-height:520px;align-items:center;
}
.eqp-figure{
  position:relative;left:auto;top:auto;transform:none;
  grid-area:1 / 2 / 4 / 3;
  display:flex;align-items:center;justify-content:center;
  height:100%;min-width:0;z-index:1;
}
.eqp-figure.portrait{
  padding:6px;border:1px solid rgba(201,163,92,.42);
  background:linear-gradient(180deg,rgba(10,34,34,.75),rgba(5,16,17,.9));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.12),0 10px 30px rgba(0,0,0,.5);
}
.eqp-figure.portrait::before{
  content:"❖";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  color:#c9a35c;background:#071416;padding:0 8px;font-size:12px;z-index:2;
}
.eqp-figure.portrait img{
  width:100%;height:100%;max-height:330px;object-fit:cover;object-position:50% 20%;
  border:1px solid rgba(201,163,92,.35);border-radius:1px;
}
.eslot{
  position:relative;left:auto;right:auto;top:auto;bottom:auto;
  transform:none;width:auto;height:66px;align-self:center;
  display:flex;flex-direction:column;justify-content:center;
}
.eslot-top{grid-area:1 / 1}
.eslot-left{grid-area:2 / 1}
.eslot-mid{grid-area:3 / 1}
.eslot-right{grid-area:1 / 3}
.eslot-bl{grid-area:2 / 3}
.eslot-br{grid-area:3 / 3}
.eslot-top:active,.eslot-left:active,.eslot-right:active,.eslot-mid:active,.eslot-bl:active,.eslot-br:active{transform:none}
@media(max-width:520px){
  .eqp-stage{grid-template-columns:88px minmax(0,1fr) 88px;padding:10px;min-height:500px}
  .eqp-figure.portrait img{max-height:300px}
}

/* 立绘填满中列，避免上下大片空白 */
.eqp-figure.portrait img{height:100%;max-height:none;object-fit:cover;object-position:50% 18%}

.eqp-figure.portrait img{height:100%;max-height:none;object-fit:cover;object-position:50% 14%}

/* 立绘改为固定高度，不再拉满整列 */
.eqp-figure.portrait{height:auto;align-self:center}
.eqp-figure.portrait img{width:auto;height:300px;max-width:100%;max-height:none;object-fit:contain;object-position:50% 20%}
@media(max-width:520px){
  .eqp-figure.portrait img{height:280px}
}

/* 武器/装备槽：换成生成的华丽铜框 */
.equip-page .eslot{
  border:0;border-radius:0;padding:14px 11px 10px;height:88px;
  background:url("/ui/slot-frame.webp?v=234.1") center/100% 100% no-repeat;
  box-shadow:0 6px 16px rgba(0,0,0,.45);
}
.equip-page .eslot.has{box-shadow:0 0 18px rgba(201,163,92,.22),0 6px 16px rgba(0,0,0,.45)}
.equip-page .eslot.q-rare{box-shadow:inset 0 0 0 2px rgba(79,134,200,.55),0 6px 16px rgba(0,0,0,.45)}
.equip-page .eslot.q-epic{box-shadow:inset 0 0 0 2px rgba(155,107,208,.55),0 6px 16px rgba(0,0,0,.45)}
.equip-page .eslot.q-legendary{box-shadow:inset 0 0 0 2px rgba(217,162,76,.6),0 0 18px rgba(217,162,76,.18),0 6px 16px rgba(0,0,0,.45)}
.equip-page .eslot::before{content:none}
.equip-page .eslot .eslot-label{font-size:9px;color:#c8ab74;text-shadow:0 1px 2px #000}
.equip-page .eslot .eslot-name{font-size:10px;line-height:1.25;max-height:26px;overflow:hidden;color:#f0e6cf;text-shadow:0 1px 2px #000}
.equip-page .eslot .eslot-gems{margin-top:2px;font-size:9px;letter-spacing:1px}
@media(max-width:520px){
  .equip-page .eslot{height:84px;padding:13px 9px 9px}
}

/* 薄边铜框：给文字留空间 */
.equip-page .eslot{padding:10px 9px 8px;height:92px}
.equip-page .eslot .eslot-label{font-size:9px;color:#d8b978;margin-bottom:1px}
.equip-page .eslot .eslot-name{
  font-size:10px;line-height:1.2;white-space:normal;overflow:hidden;
  max-height:24px;color:#f2e8d2;
}
.equip-page .eslot .eslot-gems{font-size:9px;margin-top:2px}
@media(max-width:520px){.equip-page .eslot{height:88px;padding:9px 8px 7px}}

/* 竖版华丽立绘框：金框 + 中间挖空 + 酒红槽 */
.eqp-stage{grid-template-columns:84px minmax(0,1fr) 84px;min-height:560px}
.eqp-figure.portrait{
  position:relative;display:block;width:100%;max-width:300px;height:auto;aspect-ratio:512/918;
  align-self:center;justify-self:center;padding:0;border:0;background:none;box-shadow:none;
}
.eqp-figure.portrait::before{content:none}
.eqp-figure.portrait img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;
  border:0;border-radius:0;max-height:none;filter:contrast(1.04) saturate(.94);
}
.eqp-figure.portrait::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:url("/ui/hero-frame.webp?v=235.1") center/100% 100% no-repeat;
}
.equip-page .eslot{
  height:84px;padding:9px 7px 8px;border:0;border-radius:0;
  background:url("/ui/slot-burgundy.webp?v=235.1") center/100% 100% no-repeat;
  box-shadow:none;
}
.equip-page .eslot.has,.equip-page .eslot.q-rare,.equip-page .eslot.q-epic,.equip-page .eslot.q-legendary{box-shadow:none}
.equip-page .eslot .eslot-label{font-size:9px;color:#d8b978}
.equip-page .eslot .eslot-name{font-size:10px;color:#f3e6d0;line-height:1.2;white-space:normal;max-height:24px}
.equip-page .eslot .eslot-gems{font-size:9px;color:#efd58f}
@media(max-width:520px){
  .eqp-stage{grid-template-columns:78px minmax(0,1fr) 78px;min-height:520px;padding:8px}
  .equip-page .eslot{height:78px;padding:8px 6px 7px}
}

.eqp-figure.portrait{max-width:330px}

.eqp-figure.portrait{
  background:
    radial-gradient(60% 34% at 50% 18%, rgba(150,40,52,.55), transparent 70%),
    repeating-linear-gradient(104deg, rgba(0,0,0,.14) 0 8px, rgba(255,255,255,.02) 8px 16px),
    linear-gradient(180deg,#3a0d14,#1c0609 62%,#0a0203);
  box-shadow:0 14px 34px rgba(0,0,0,.6), inset 0 0 40px rgba(0,0,0,.55);
}
.eqp-figure.portrait img{object-fit:contain;object-position:50% 100%;border:0;border-radius:0;filter:contrast(1.03) saturate(.96) drop-shadow(0 6px 14px rgba(0,0,0,.55))}

/* 酒红只铺在框内，不留矩形底 */
.eqp-figure.portrait{background:none;box-shadow:none}
.eqp-figure.portrait::before{
  content:"";position:absolute;left:21.5%;top:15.5%;right:21.5%;bottom:17.5%;z-index:0;
  border-radius:4%;
  background:
    radial-gradient(60% 34% at 50% 18%, rgba(150,40,52,.6), transparent 70%),
    repeating-linear-gradient(104deg, rgba(0,0,0,.16) 0 8px, rgba(255,255,255,.02) 8px 16px),
    linear-gradient(180deg,#3a0d14,#1c0609 62%,#0a0203);
  box-shadow:inset 0 0 34px rgba(0,0,0,.65);
}
.eqp-figure.portrait img{position:absolute;z-index:1}

/* 立绘自带酒红帷幕：铺满框内 */
.eqp-figure.portrait::before{content:none}
.eqp-figure.portrait img{object-fit:cover;object-position:50% 16%}

.eqp-figure.portrait img{
  left:21.5%;top:15.5%;width:57%;height:67%;right:auto;bottom:auto;
  object-fit:cover;object-position:50% 14%;
}

.eqp-figure.portrait img{transform:scale(1.32);transform-origin:50% 0;filter:contrast(1.03) saturate(.96)}

.eqp-figure.portrait img{transform:none;object-position:50% 8%}

/* 修正比例：框按内容裁切，竖向撑满；槽位跟随高度均分 */
.eqp-stage{
  grid-template-columns:76px minmax(0,1fr) 76px;
  min-height:560px;
}
.slots{height:100%;justify-content:space-around;gap:0}
.eqp-figure.portrait{
  width:100%;max-width:100%;height:auto;aspect-ratio:400/824;align-self:center;
}
.eqp-figure.portrait::after{
  filter:saturate(.72) brightness(.86) contrast(1.05) drop-shadow(0 10px 26px rgba(0,0,0,.55));
}
.eqp-figure.portrait img{
  left:15.67%;top:13.89%;width:68.53%;height:70.08%;
  object-fit:cover;object-position:50% 10%;
}
.equip-page .eslot{height:80px;padding:8px 6px 7px}
@media(max-width:520px){
  .eqp-stage{grid-template-columns:72px minmax(0,1fr) 72px;min-height:520px}
  .equip-page .eslot{height:74px;padding:7px 5px 6px}
}

/* 左右槽列跨满三行，均分高度 */
.eqp-stage > .slots:first-child{grid-area:1 / 1 / 4 / 2}
.eqp-stage > .slots:last-child{grid-area:1 / 3 / 4 / 4}

/* 回到紧凑版：中间矩形立绘框 + 两侧 3 槽；仅武器保留华丽框 */
.eqp-stage{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 92px;
  grid-template-rows:repeat(3,1fr);
  gap:8px;padding:12px;min-height:340px;
}
.eqp-stage > .slots:first-child{grid-area:1 / 1 / 4 / 2}
.eqp-stage > .slots:last-child{grid-area:1 / 3 / 4 / 4}
.slots{height:100%;justify-content:space-around;gap:0}
.eqp-figure.portrait{
  position:relative;grid-area:1 / 2 / 4 / 3;justify-self:center;align-self:center;
  width:100%;max-width:230px;height:auto;aspect-ratio:auto;
  padding:6px;border:2px solid #7d5a2f;background:linear-gradient(180deg,#0d2c2c,#061617);
  box-shadow:0 0 0 1px #000, inset 0 0 0 1px rgba(201,163,92,.28), 0 12px 30px rgba(0,0,0,.55);
}
.eqp-figure.portrait::before,.eqp-figure.portrait::after{content:none}
.eqp-figure.portrait img{
  position:static;display:block;width:100%;height:280px;max-height:none;
  object-fit:cover;object-position:50% 12%;transform:none;border:1px solid rgba(0,0,0,.6);
  filter:contrast(1.03) saturate(.95);
}
.equip-page .eslot{
  height:72px;padding:7px 6px;border:1px solid rgba(201,163,92,.36);border-radius:3px;
  background:linear-gradient(160deg,rgba(16,58,58,.96),rgba(5,20,21,.98));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.08),0 4px 10px rgba(0,0,0,.35);
}
.equip-page .eslot .eslot-label{font-size:9px;color:#cbb07b}
.equip-page .eslot .eslot-name{font-size:10px;color:#efe4cd;line-height:1.2;white-space:normal;max-height:24px}
.equip-page .eslot .eslot-gems{font-size:9px;color:#efd58f}
.equip-page .eslot.weapon{
  border:0;padding:9px 7px;height:80px;
  background:url("/ui/slot-burgundy.webp?v=235.5") center/100% 100% no-repeat;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.equip-page .eslot.weapon .eslot-label{color:#e0c07d}
@media(max-width:520px){
  .eqp-stage{grid-template-columns:86px minmax(0,1fr) 86px;min-height:320px;padding:10px}
  .eqp-figure.portrait{max-width:215px;padding:5px}
  .eqp-figure.portrait img{height:260px}
  .equip-page .eslot{height:68px}
  .equip-page .eslot.weapon{height:76px}
}

/* 明确槽位背景：普通槽纯色，武器槽用酒红框 */
.equip-page .eqp-stage .eslot{
  background:linear-gradient(160deg,#103a3a,#051415) !important;
  border:1px solid rgba(201,163,92,.36);
  height:72px;
}
.equip-page .eqp-stage .eslot.weapon{
  background:url("/ui/slot-burgundy.webp?v=235.5") center/100% 100% no-repeat !important;
  border:0;height:80px;padding:9px 7px;
}

/* 紧凑面板：内容垂直居中，避免大段空白 */
.equip-page{justify-content:center}
.equip-page .eqp-stage{flex:none;height:400px;min-height:340px}
@media(max-width:520px){.equip-page .eqp-stage{height:380px;min-height:320px}}

/* 背包页：英雄面板 + 属性 + 库存 */
#tab-bag.bag-page{overflow-y:auto;padding:8px 12px calc(84px + env(safe-area-inset-bottom))}
.bag-hero{position:relative;height:330px;margin:2px 0 8px}
.bag-figure{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;
  width:190px;padding:5px;border:2px solid #7d5a2f;border-radius:2px;
  background:linear-gradient(180deg,#0d2c2c,#061617);
  box-shadow:0 0 0 1px #000,inset 0 0 0 1px rgba(201,163,92,.26),0 10px 26px rgba(0,0,0,.55);
}
#bag-portrait{display:block;width:100%;height:250px;object-fit:cover;object-position:50% 12%;border:1px solid rgba(0,0,0,.65)}
.bag-plate{
  position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);white-space:nowrap;
  padding:2px 12px;border:1px solid rgba(201,163,92,.42);border-radius:2px;
  background:linear-gradient(180deg,#123032,#071617);font-size:10px;letter-spacing:.08em;color:#ead7a8;
  box-shadow:0 4px 12px rgba(0,0,0,.5);
}
.bag-plate i{font-style:normal;color:#9fb7ad;margin-left:6px;font-size:9px}
#equip-list.hero-grid{
  position:relative;z-index:1;height:100%;
  display:grid;grid-template-columns:84px minmax(0,1fr) 84px;grid-template-rows:repeat(3,1fr);
  gap:6px;padding:10px;
}
#equip-list.hero-grid .equip-slot{
  display:flex;flex-direction:column;justify-content:center;min-height:0;height:70px;
  padding:6px;border:1px solid rgba(201,163,92,.34);border-radius:3px;
  background:linear-gradient(160deg,rgba(16,58,58,.96),rgba(5,20,21,.98));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.07),0 4px 10px rgba(0,0,0,.3);
}
#equip-list.hero-grid .equip-slot:nth-child(1){grid-area:1 / 1}
#equip-list.hero-grid .equip-slot:nth-child(2){grid-area:2 / 1}
#equip-list.hero-grid .equip-slot:nth-child(3){grid-area:1 / 3}
#equip-list.hero-grid .equip-slot:nth-child(4){grid-area:2 / 3}
#equip-list.hero-grid .equip-slot:nth-child(5){grid-area:3 / 1}
#equip-list.hero-grid .equip-slot:nth-child(6){grid-area:3 / 3}
#equip-list.hero-grid .equip-slot.weapon{
  border:0;padding:8px 6px;background:url("/ui/slot-burgundy.webp?v=235.5") center/100% 100% no-repeat;
}
#equip-list.hero-grid .equip-slot .slot-label{font-size:9px;color:#cbb07b;margin:0}
#equip-list.hero-grid .equip-slot .item-name{font-size:10px;line-height:1.2;margin-top:1px;overflow:hidden}
#equip-list.hero-grid .equip-slot .item-sub{display:none}
#equip-list.hero-grid .equip-slot .mini{
  position:absolute;right:3px;bottom:3px;font-size:8px;padding:1px 4px;opacity:.75;
}
#equip-list.hero-grid .equip-slot .gem-sockets{display:none}
.bag-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:2px 0 10px}
.bag-stat{border:1px solid rgba(201,163,92,.22);background:rgba(8,26,26,.72);padding:5px 3px;text-align:center}
.bag-stat b{display:block;font-size:13px;color:#efe1bf;font-weight:600}
.bag-stat span{font-size:9px;color:#8fa39d;letter-spacing:.08em}
#tab-bag .sec{margin-bottom:10px}
#tab-bag .sec-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#tab-bag .sec-title .sortsel{margin-left:auto}
@media(max-width:520px){
  .bag-hero{height:310px}
  .bag-figure{width:176px}
  #bag-portrait{height:230px}
  #equip-list.hero-grid{grid-template-columns:78px minmax(0,1fr) 78px;padding:8px}
  #equip-list.hero-grid .equip-slot{height:66px}
}

/* 槽位按钮定位修正 */
#equip-list.hero-grid .equip-slot{position:relative;padding-bottom:14px}
#equip-list.hero-grid .equip-slot .mini{
  right:2px;bottom:2px;font-size:8px;line-height:1.2;padding:1px 3px;border-radius:2px;
}

/* 立绘贴顶，去掉头部上方空白 */
.equip-page{justify-content:flex-start}
.eqp-figure.portrait img{object-position:50% 2%}
#bag-portrait{object-position:50% 2%}
.bag-hero{height:318px}

/* 全部装备槽统一华丽框 */
.equip-page .eqp-stage .eslot,
.equip-page .eqp-stage .eslot.weapon{
  background:url("/ui/slot-burgundy.webp?v=235.5") center/100% 100% no-repeat !important;
  border:0;height:80px;padding:9px 7px;
}
.equip-page .eqp-stage .eslot .eslot-label{color:#e0c07d}
.equip-page .eqp-stage .eslot .eslot-name{color:#f3e6d0}
#equip-list.hero-grid .equip-slot,
#equip-list.hero-grid .equip-slot.weapon{
  border:0;padding:8px 6px;
  background:url("/ui/slot-burgundy.webp?v=235.5") center/100% 100% no-repeat;
  box-shadow:0 4px 10px rgba(0,0,0,.3);
}
#equip-list.hero-grid .equip-slot .slot-label{color:#e0c07d}
#equip-list.hero-grid .equip-slot .item-name{color:#f3e6d0}
/* 随从像裁切 */
.mate img{object-fit:cover;object-position:50% 12%}
.tm-av{object-fit:cover;object-position:50% 12%}
.team-row .fol-av{object-fit:cover;object-position:50% 12%;height:56px;border-radius:6px}

/* 怪物立绘保持比例 */
.pxart.big{object-fit:contain}

/* 物品详情卡 + 统一换装 */
.bag-detail{
  position:relative;border:1px solid rgba(201,163,92,.34);border-radius:3px;
  background:linear-gradient(180deg,rgba(13,42,42,.96),rgba(6,20,22,.98));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.08),0 8px 22px rgba(0,0,0,.4);
  padding:10px 11px;margin:0 0 10px;
}
.bd-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.bd-head b{font-family:"Songti SC","SimSun",serif;font-size:13px;letter-spacing:.12em;color:#e8d3a2}
.bd-head button{margin-left:auto;background:transparent;border:1px solid rgba(201,163,92,.3);color:#cdbd98;
  width:22px;height:22px;line-height:18px;padding:0;border-radius:2px;cursor:pointer}
.bd-name{font-size:16px;letter-spacing:.04em;margin:2px 0}
.bd-sub{font-size:11px;color:#8fa39d;margin-bottom:6px}
.bd-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bd-actions .mini{flex:1;min-width:72px}

/* 装备图标 */
.item-ic{width:30px;height:30px;object-fit:contain;flex:0 0 30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.slot-ic{width:26px;height:26px;object-fit:contain;display:block;margin:0 auto 1px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.bd-ic{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}
.pick-ic{width:26px;height:26px;object-fit:contain;vertical-align:middle;margin-right:6px;flex:0 0 26px}
#picker .pick-item{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
#picker .pick-item .pick-stat{width:100%;padding-left:32px}

/* 主线任务条 */
.main-quest{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 10px;padding:9px 11px;
  border:1px solid rgba(201,163,92,.38);border-radius:3px;
  background:linear-gradient(90deg,rgba(48,32,22,.96),rgba(12,34,34,.96));
  box-shadow:inset 0 0 0 1px rgba(201,163,92,.06);
}
.main-quest.hide{display:none}
.mq-k{font-size:9px;letter-spacing:.18em;color:#c9a35c;border:1px solid rgba(201,163,92,.35);
  padding:2px 5px;border-radius:2px;flex:0 0 auto}
.mq-title{font:600 13px/1.4 "Songti SC","SimSun",serif;color:#f0dfbb;letter-spacing:.06em}
.mq-goal{font-size:11px;color:#9fb3ab;margin-left:auto}
.mq-goal b{color:#e879f9;font-weight:600}
.mq-btn{font-size:10px;padding:4px 9px;border-radius:2px}
.story-name{display:block;font-size:12.5px}
.story-hint{display:block;margin-top:3px;font-size:10px;color:#8fa39d}
.story-item.locked .story-hint{color:#6f7f7a}

/* 队伍页：单列整齐排列 */
.tm-grid{display:flex!important;flex-direction:column!important;gap:8px!important}
.tm-card{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:10px!important;padding:10px 12px!important;text-align:left!important;
}
.tm-av{width:50px!important;height:50px!important;object-fit:cover!important;border-radius:9px!important;flex:0 0 50px!important}
.tm-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;align-items:flex-start;width:100%}
.tm-name{max-width:100%;text-align:left}
.tm-meta,.tm-pw,.tm-foot{text-align:left}
.tm-bars{width:100%!important}
.tm-acts{width:auto!important;flex:0 0 auto!important;flex-direction:column!important;margin:0!important;gap:4px!important}
.tm-acts button{min-width:46px;padding:6px 8px!important;flex:0 0 auto!important}
.tm-sec{margin:12px 2px 6px!important}

/* 头像：统一方形裁切，脸居中 */
#me-av,.chat-av,.board-av,.tm-av,.fol-av{object-fit:cover!important;object-position:50% 18%!important;border-radius:50%}
.tm-av,.fol-av{border-radius:9px!important}

/* 建号：种族 / 阵营 */
.races{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.race-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);color:var(--txt);cursor:pointer;text-align:left;
}
.race-card:hover{border-color:rgba(216,180,106,.4)}
.race-card.on{border-color:rgba(216,180,106,.75);background:rgba(216,180,106,.10);box-shadow:0 0 0 1px rgba(216,180,106,.18)}
.ri{font-size:16px;line-height:1.1}
.rn{font-size:12px;font-weight:700}
.rf{font-size:9.5px;color:#93a49f;letter-spacing:.04em}
.race-card.on .rf{color:#d8b46a}
.cclass.blocked{opacity:.35;filter:grayscale(.4)}
.race-chip{font-size:9.5px;letter-spacing:.04em}

/* 六方混战 */
.war-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.war-fac{font-size:12px;font-weight:700;letter-spacing:.06em}
.war-sub{font-size:10.5px;color:#8fa39d}
.war-top .mini{margin-left:auto}
.war-hp{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:6px 0 10px}
.war-hp i{display:block;height:100%;background:linear-gradient(90deg,#e0574f,#ff8a7a);border-radius:99px}
.war-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px}
@media(max-width:520px){.war-cols{grid-template-columns:1fr}}
.war-panel{border:1px solid rgba(201,163,92,.22);border-radius:4px;padding:8px 9px;background:rgba(8,20,22,.55)}
.war-ttl{font-size:10px;letter-spacing:.16em;color:#c9a35c;margin-bottom:7px}
.war-fighter{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px}
.war-fighter:last-child{border-bottom:0}
.wf-dot{width:6px;height:6px;border-radius:50%;background:var(--fc,#c9a35c);flex:0 0 6px}
.wf-name{font-weight:600;color:#e8e0cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}
.wf-meta{font-size:9.5px;color:#8fa39d}
.wf-hp{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;min-width:36px}
.wf-hp i{display:block;height:100%;background:#e0574f}
.war-fighter .mini{padding:3px 8px;font-size:9.5px;border-radius:2px;flex:0 0 auto}
.war-fighter .mini:disabled{opacity:.35}
.war-score{display:flex;align-items:center;gap:6px;font-size:10.5px;padding:4px 0}
.war-score b{flex:1;font-weight:500;color:#cfd8d2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.war-score .bar{width:54px;height:4px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.war-score .bar i{display:block;height:100%;background:var(--fc,#c9a35c)}
.war-score em{font-style:normal;color:#e8d3a2;width:28px;text-align:right}
.war-feed{margin-top:9px;font-size:10px;line-height:1.7;color:#8fa39d;max-height:90px;overflow:auto}
.war-feed div{padding:1px 0}

/* 混战积分奖励 */
.war-reward{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:10px;color:#b9c6bf;border-top:1px solid rgba(255,255,255,.05)}
.war-reward span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.war-reward em{font-style:normal;color:#8fa39d;font-size:9px;flex:0 0 auto}
.war-reward .mini{padding:3px 6px;font-size:9px;flex:0 0 auto;min-width:40px}
.war-reward .mini:disabled{opacity:.35}

/* 混战：阵营选择 + 王城 */
.war-side{
  display:flex;align-items:center;justify-content:center;gap:4px;
  padding:5px 4px;border:1px solid rgba(255,255,255,.10);border-radius:3px;
  background:rgba(255,255,255,.025);color:#c7d2cc;font-size:9.5px;cursor:pointer;
}
.war-side span{font-size:12px}
.war-side.on{border-color:var(--fc,#c9a35c);color:var(--fc,#c9a35c);background:rgba(201,163,92,.10)}
.war-city{border:1px solid rgba(201,163,92,.24);border-radius:4px;padding:8px 9px;margin:0 0 9px;background:rgba(8,20,22,.55)}
.war-city-head{display:flex;align-items:center;gap:8px;font-size:11px;color:#c9d4cc}
.war-city-head b{font-family:"Songti SC","SimSun",serif;color:#e8d3a2}
.war-city-head span{margin-left:auto;font-size:10px;color:#8fa39d}
.war-city-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:6px 0}
.war-city-bar i{display:block;height:100%;background:linear-gradient(90deg,#c9a35c,#e879f9);border-radius:99px}
.war-city-dmg{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:9.5px;color:#9fb0a8}
.war-city-dmg span{white-space:nowrap}
.war-city-dmg i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--fc,#c9a35c);margin-right:3px}
.war-city-dmg b{color:#e8d3a2}

/* 六城选择 */
.war-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px}
.war-city-card{
  display:flex;flex-direction:column;gap:2px;padding:5px 6px;text-align:left;
  border:1px solid rgba(255,255,255,.10);border-radius:3px;background:rgba(255,255,255,.025);
  color:#c7d2cc;cursor:pointer;min-width:0;
}
.war-city-card b{font-size:10.5px;color:#e8e0cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.war-city-card span{font-size:8.5px;color:var(--fc,#c9a35c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.war-city-card small{font-size:8px;color:#8fa39d}
.war-city-card.on{border-color:rgba(201,163,92,.7);background:rgba(201,163,92,.10)}
.war-city-card:disabled{opacity:.45;cursor:default}
.war-city-mini{display:block;height:3px;background:rgba(255,255,255,.10);border-radius:99px;overflow:hidden}
.war-city-mini em{display:block;height:100%;background:var(--fc,#c9a35c)}
.war-city-buff{font-size:9.5px;color:#9fb0a8;margin-top:4px}
.war-penalty{border:1px solid rgba(224,87,79,.45);background:rgba(224,87,79,.10);color:#f0b0a9;
  font-size:10px;padding:5px 8px;border-radius:3px;margin:0 0 8px}
.war-penalty b{color:#ff8a7a}

/* 顶栏信息重排：名字/身份一行，资源一行 */
.top .top-main{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.top .me-av{width:38px;height:38px;border-radius:10px;margin:0;flex:0 0 38px;border:1px solid rgba(201,163,92,.30);box-shadow:0 3px 10px rgba(0,0,0,.4)}
.top .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.top .pname{font-size:14.5px;font-weight:600;letter-spacing:.06em;margin:0;color:#f0e6d2}
.top .who-sub{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.top .who-sub .chip{font-size:9.5px;padding:1px 7px;line-height:1.6}
.top .top-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.top .top-meta .chip{font-size:10px;padding:2px 8px}
.top .btn-gear{flex:0 0 auto;align-self:flex-start;margin-top:2px}

/* UI 收口：页面滚动、混战可读性 */
#tab-conq,#tab-mate,#tab-bag,#tab-town{overflow-y:auto;padding-bottom:22px}
#tab-conq{scrollbar-width:thin}
.war-side{font-size:10.5px!important;padding:6px 4px!important}
.war-city-card b{font-size:11.5px!important}
.war-city-card span{font-size:9.5px!important}
.war-city-card small{font-size:9px!important}
.war-fighter{font-size:11.5px!important;gap:8px!important}
.war-fighter .wf-meta{font-size:10px!important}
.war-city-head{font-size:12px!important}
.war-city-dmg{font-size:10px!important;line-height:1.8!important}
.war-reward{font-size:10.5px!important}
.war-panel{padding:10px!important}

/* 私聊返回 */
#pm-exit{
  align-self:flex-start;flex:0 0 auto;margin:2px 2px 6px;
  padding:6px 12px;border-radius:8px;border:1px solid rgba(201,163,92,.35);
  background:rgba(201,163,92,.08);color:#e2c07a;font-size:11px;cursor:pointer;
}
#pm-exit:active{transform:translateY(1px)}
#chat-pm .pm-head #pm-back{
  width:30px;height:30px;padding:0;border-radius:8px;font-size:16px;line-height:1;
  border-color:rgba(201,163,92,.35);color:#e2c07a;background:rgba(201,163,92,.08);
}

/* 酒馆暂未开放 */
.coming-soon{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:52vh;text-align:center;gap:8px;padding:28px 20px;
  border:1px dashed rgba(201,163,92,.24);border-radius:6px;
  background:radial-gradient(60% 50% at 50% 40%,rgba(201,163,92,.05),transparent 70%);
}
.coming-icon{font-size:30px;opacity:.75;filter:grayscale(.2)}
.coming-title{font:600 20px/1.4 "Songti SC","SimSun",serif;letter-spacing:.28em;text-indent:.28em;color:#e8d3a2}
.coming-text{font-size:14px;letter-spacing:.3em;color:#c9a35c;margin:0}
.coming-sub{font-size:11px;color:#7f8f89;line-height:1.8;max-width:280px}

/* 城防守军 */
.war-guards{margin-top:7px;border-top:1px solid rgba(255,255,255,.06);padding-top:5px;display:flex;flex-direction:column;gap:4px}
.war-guard{display:flex;align-items:center;gap:7px;font-size:10px;color:#b9c6bf}
.war-guard b{font-size:10.5px;color:#e2d4b7;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.war-guard span{font-size:9px;color:#8fa39d;flex:1}
.war-guard .mini{padding:3px 7px!important;font-size:9px!important;flex:0 0 auto;min-width:42px}
.war-guard .mini:disabled{opacity:.35}

.war-guard.captain{border-left:2px solid #e0574f;padding-left:6px}
.wg-cap{font-style:normal;font-size:8px;color:#ff8a7a;border:1px solid rgba(224,87,79,.45);border-radius:2px;padding:0 3px;margin-left:3px}

/* 玩家资料卡 */
.profile-modal{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,7,12,.74)}
.profile-modal.hide{display:none}
.profile-card{position:relative;width:min(92vw,340px);border:1px solid rgba(201,163,92,.36);border-radius:6px;
  background:linear-gradient(180deg,#101d1e,#081012);box-shadow:0 18px 50px rgba(0,0,0,.7);padding:14px 15px 12px}
.pf-close{position:absolute;right:8px;top:8px;width:24px;height:24px;border:1px solid rgba(201,163,92,.3);
  background:transparent;color:#cdbd98;border-radius:3px;font-size:15px;line-height:1;cursor:pointer}
.pf-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-right:24px}
.pf-av{width:58px;height:58px;object-fit:cover;border-radius:10px;border:1px solid rgba(201,163,92,.3)}
.pf-name{font:600 16px/1.4 "Songti SC","SimSun",serif;color:#f0e6d2;letter-spacing:.06em}
.pf-meta{font-size:10.5px;color:#93a49f;margin-top:2px}
.pf-fac{display:inline-block;margin-top:3px;font-size:10px;padding:1px 6px;border:1px solid currentColor;border-radius:2px}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.pf-cell{border:1px solid rgba(255,255,255,.07);border-radius:3px;padding:5px 7px;background:rgba(255,255,255,.025)}
.pf-cell b{display:block;font-size:12px;color:#e8d3a2}
.pf-cell span{font-size:9px;color:#7f8f89;letter-spacing:.08em}
.pf-line{font-size:10.5px;color:#9fb0a8;margin-top:7px;line-height:1.7}
.pf-line b{color:#d9c8a5;font-weight:500}

/* 阵营榜 */
.board-sub{font-size:10px;letter-spacing:.16em;color:#c9a35c;padding:9px 10px 4px;border-top:1px solid rgba(201,163,92,.16);margin-top:4px}
.faction-row .board-name{font-size:12px}
.faction-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--fc,#c9a35c);flex:0 0 22px}
.board-row[data-profile]{cursor:pointer}
.board-row[data-profile]:hover{background:rgba(255,255,255,.035)}

.wg-hp{display:block;flex:0 0 38px;height:3px;background:rgba(255,255,255,.10);border-radius:99px;overflow:hidden;font-style:normal}
.wg-hp em{display:block;height:100%;background:#c9704f;transition:width .2s}

/* 混战子页签 */
.war-tabs{display:flex;gap:6px;margin:2px 0 8px}
.war-tabs .mini{flex:1;margin:0;padding:7px 0;border:1px solid rgba(201,163,92,.22);background:rgba(255,255,255,.025)}
.war-tabs .mini.on{border-color:rgba(201,163,92,.6);background:rgba(201,163,92,.12);color:#f0d290}

/* 装备页槽位图标 */
.eslot{overflow:hidden}
.eslot-ic{position:absolute;right:3px;bottom:2px;width:38px;height:38px;object-fit:contain;z-index:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.65))}
.eslot-label,.eslot-name,.eslot-gems{position:relative;z-index:2;max-width:56px}
.eslot.has .eslot-name{padding-right:2px}

/* 队伍列表与装备页使用同一张立绘的完整比例，不再只裁脸 */
.team-row .fol-av{
  width:58px!important;height:auto!important;max-height:78px!important;
  object-fit:contain!important;object-position:50% 18%!important;
  border-radius:7px!important;align-self:center!important;
}

/* 装备图标居中，不贴金边、不被裁切 */
.equip-page .eslot .eslot-ic{
  left:50%!important;right:auto!important;bottom:2px!important;
  width:36px!important;height:36px!important;transform:translateX(-50%)!important;
  object-fit:contain!important;object-position:center bottom!important;
}
.equip-page .eslot .eslot-label,.equip-page .eslot .eslot-name,.equip-page .eslot .eslot-gems{max-width:100%!important}

/* 随从/英雄资料 */
.mate-profile{width:min(94vw,380px);max-height:86vh;overflow-y:auto}
.mp-head{display:flex;gap:10px;align-items:center;padding-right:24px;margin-bottom:8px}
.mp-av{width:74px;height:92px;object-fit:contain;border:1px solid rgba(201,163,92,.3);border-radius:6px;background:rgba(0,0,0,.2)}
.mp-name{font:600 16px/1.35 "Songti SC","SimSun",serif;color:#f0e6d2}
.mp-title{font-size:10px;color:#c9a35c;margin-top:2px}
.mp-meta{font-size:10px;color:#8fa39d;margin-top:3px}
.mp-quote{font-size:10.5px;color:#c9b58a;line-height:1.7;border-left:2px solid rgba(201,163,92,.4);padding-left:8px;margin:8px 0}
.mp-bg{font-size:10.5px;color:#a9b8b2;line-height:1.8;margin:0 0 8px}
.mp-skill{border:1px solid rgba(255,255,255,.07);border-radius:4px;padding:6px 8px;margin-top:6px;background:rgba(255,255,255,.02)}
.mp-skill b{display:block;font-size:11px;color:#e8d3a2;margin-bottom:2px}
.mp-skill span{font-size:10px;color:#98a9a2;line-height:1.7}
.mp-skill.passive b{color:#9fd8c8}

.mate-title{font-size:9.5px;color:#c9a35c;letter-spacing:.04em;margin:1px 0 3px}

.tm-title{font-size:9px;color:#c9a35c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:1px}
.tm-acts .tm-info{border-color:rgba(201,163,92,.35);color:#e2c07a;background:rgba(201,163,92,.08)}
.tm-acts .tm-bench{border-color:rgba(224,87,79,.35);color:#ff9d90;background:rgba(224,87,79,.08)}

.msg-av,.pf-av{object-position:50% 16%!important}

.av-panel img{object-fit:cover;object-position:50% 16%}

/* ===== 装备页最终对齐：立绘填满内框，六个槽居中 ===== */
.eqp-stage{grid-template-columns:84px minmax(0,1fr) 84px!important;gap:10px!important;padding:12px!important;min-height:560px}
.eqp-figure.portrait{
  position:relative!important;display:block!important;width:100%!important;max-width:300px!important;
  height:auto!important;aspect-ratio:512/918!important;align-self:center!important;justify-self:center!important;
  padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
}
.eqp-figure.portrait::before{content:none!important}
.eqp-figure.portrait img{
  position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;
  right:auto!important;bottom:auto!important;object-fit:cover!important;object-position:50% 12%!important;
  transform:none!important;border:0!important;border-radius:0!important;max-height:none!important;
  filter:contrast(1.03) saturate(.98)!important;
}
.eqp-figure.portrait::after{
  content:""!important;position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important;
  background:url("/ui/hero-frame.webp?v=235.1") center/100% 100% no-repeat!important;
}
.equip-page .eslot{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  text-align:center!important;padding:8px 5px 4px!important;height:86px!important;overflow:hidden!important;
}
.equip-page .eslot .eslot-label,
.equip-page .eslot .eslot-name,
.equip-page .eslot .eslot-gems{width:100%!important;max-width:100%!important;text-align:center!important}
.equip-page .eslot .eslot-label{font-size:9px!important;line-height:1.2!important;margin-bottom:1px!important}
.equip-page .eslot .eslot-name{font-size:10px!important;line-height:1.2!important;max-height:24px!important;white-space:normal!important;padding:0 2px!important}
.equip-page .eslot .eslot-gems{margin-top:2px!important}
.equip-page .eslot .eslot-ic{
  left:50%!important;right:auto!important;bottom:2px!important;width:34px!important;height:34px!important;
  transform:translateX(-50%)!important;object-fit:contain!important;object-position:center bottom!important;
  margin:0!important;
}
@media(max-width:520px){
  .eqp-stage{grid-template-columns:78px minmax(0,1fr) 78px!important;gap:8px!important;padding:8px!important;min-height:520px}
  .equip-page .eslot{height:78px!important;padding:7px 4px 3px!important}
  .equip-page .eslot .eslot-ic{width:30px!important;height:30px!important;bottom:1px!important}
}

/* ===== 永恒装备特效 ===== */
@keyframes eternalPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(240,171,252,.65),0 0 11px rgba(232,121,249,.42),0 0 20px rgba(103,232,249,.13)}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 17px rgba(232,121,249,.75),0 0 30px rgba(103,232,249,.28)}
}
@keyframes eternalShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes eternalFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(8deg)}}
@keyframes eternalAura{
  0%,100%{opacity:.38;transform:translateX(-18%)}
  50%{opacity:.78;transform:translateX(18%)}
}

.eslot.q-divine{animation:eternalPulse 2.4s ease-in-out infinite!important;border-radius:8px}
.eslot.q-divine::after{
  content:"✦";position:absolute!important;right:7px!important;top:5px!important;z-index:4!important;
  color:#f5d0fe!important;font-size:11px!important;line-height:1!important;pointer-events:none;
  text-shadow:0 0 6px #e879f9,0 0 12px #67e8f9;animation:eternalFloat 2.8s ease-in-out infinite;
}
.eslot.q-divine .eslot-ic{filter:drop-shadow(0 0 4px rgba(240,171,252,.9)) drop-shadow(0 0 9px rgba(103,232,249,.6))!important;animation:eternalFloat 3.2s ease-in-out infinite}
.eslot.q-divine .eslot-name{color:#fff1fd!important;text-shadow:0 0 6px rgba(232,121,249,.7)}

.item-card.q-divine{
  position:relative!important;border-color:rgba(240,171,252,.72)!important;
  background-image:linear-gradient(135deg,rgba(232,121,249,.12),rgba(103,232,249,.06),rgba(232,121,249,.10))!important;
  animation:eternalPulse 2.8s ease-in-out infinite;
}
.item-card.q-divine::after{
  content:"✦";position:absolute;right:8px;top:6px;color:#f5d0fe;font-size:11px;pointer-events:none;
  text-shadow:0 0 6px #e879f9,0 0 12px #67e8f9;animation:eternalFloat 2.8s ease-in-out infinite;
}
.item-card.q-divine .item-ic{filter:drop-shadow(0 0 4px rgba(240,171,252,.9)) drop-shadow(0 0 8px rgba(103,232,249,.55))}
.item-quality.quality-divine{
  color:transparent!important;
  background:linear-gradient(100deg,#f0abfc,#fff,#67e8f9,#f0abfc)!important;
  background-size:220% 100%!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  animation:eternalShine 3s linear infinite;
}
.qname-divine{color:#f0abfc!important;text-shadow:0 0 8px rgba(232,121,249,.55)}

/* ===== 永恒英雄特效 ===== */
.tm-card.eternal{
  position:relative!important;overflow:hidden!important;
  border-color:rgba(232,121,249,.52)!important;
  box-shadow:0 0 0 1px rgba(232,121,249,.16),0 0 18px rgba(232,121,249,.22),0 0 28px rgba(103,232,249,.10)!important;
}
.tm-card.eternal::before{
  content:"";position:absolute;inset:-40% -25%;z-index:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 20%,rgba(232,121,249,.18) 42%,rgba(255,255,255,.12) 50%,rgba(103,232,249,.15) 58%,transparent 80%);
  animation:eternalAura 4.5s ease-in-out infinite;
}
.tm-card.eternal>.tm-av,.tm-card.eternal>.tm-main,.tm-card.eternal>.tm-acts{position:relative!important;z-index:1}
.tm-card.eternal .tm-av{box-shadow:0 0 0 1px rgba(240,171,252,.72),0 0 12px rgba(232,121,249,.5);border-radius:4px}
.tm-card.eternal .tm-name{
  color:transparent!important;background:linear-gradient(100deg,#f5d0fe,#fff,#a5f3fc,#f5d0fe)!important;
  background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;
  animation:eternalShine 3.6s linear infinite;
}
.mate.eternal{position:relative;border-color:rgba(232,121,249,.46)!important;box-shadow:0 0 16px rgba(232,121,249,.16)}
.mate.eternal .pxart{box-shadow:0 0 0 1px rgba(240,171,252,.55),0 0 10px rgba(232,121,249,.28)}
.mate.eternal .mate-name{
  color:transparent!important;background:linear-gradient(100deg,#f5d0fe,#fff,#a5f3fc,#f5d0fe)!important;
  background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;
  animation:eternalShine 3.6s linear infinite;
}
.pc.eternal{box-shadow:0 0 0 1px rgba(232,121,249,.4),0 0 12px rgba(232,121,249,.18)!important}
.pc.eternal .pc-av{box-shadow:0 0 0 1px rgba(240,171,252,.7),0 0 10px rgba(232,121,249,.35);border-radius:4px}
.pc.eternal .pc-nm{color:#f5d0fe!important;text-shadow:0 0 7px rgba(232,121,249,.5)}
.mate-profile.eternal{border-color:rgba(232,121,249,.55)!important;box-shadow:0 0 0 1px rgba(232,121,249,.18),0 0 26px rgba(232,121,249,.20),0 0 38px rgba(103,232,249,.10)!important}
.mate-profile.eternal .mp-av{box-shadow:0 0 0 1px rgba(240,171,252,.65),0 0 14px rgba(232,121,249,.4)}
.mate-profile.eternal .mp-name{
  color:transparent!important;background:linear-gradient(100deg,#f5d0fe,#fff,#a5f3fc,#f5d0fe)!important;
  background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;
  animation:eternalShine 3.6s linear infinite;
}
.eqp-figure.eternal{filter:drop-shadow(0 0 9px rgba(232,121,249,.42)) drop-shadow(0 0 22px rgba(103,232,249,.15))}
.eqp-figure.eternal::after{filter:drop-shadow(0 0 7px rgba(232,121,249,.55))}

/* 去掉装备页中央的华丽金框，只保留干净的立绘 */
.eqp-figure.portrait{
  aspect-ratio:4/5!important;
  max-width:300px!important;
  height:auto!important;
  border:0!important;
  border-radius:4px!important;
  overflow:hidden!important;
  background:none!important;
  box-shadow:0 14px 30px rgba(0,0,0,.52)!important;
}
.eqp-figure.portrait::before,
.eqp-figure.portrait::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.eqp-figure.portrait img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 8%!important;
  border:0!important;
  border-radius:4px!important;
  filter:contrast(1.04) saturate(1.02) drop-shadow(0 6px 14px rgba(0,0,0,.45))!important;
}
@media(max-width:520px){
  .eqp-figure.portrait{max-width:260px!important}
}

/* 装备槽内容整体垂直居中，不再贴顶/贴底 */
.equip-page .eslot{
  justify-content:center!important;
  gap:0!important;
  padding:6px 5px!important;
}
.equip-page .eslot .eslot-label{order:1!important;margin:0 0 1px!important}
.equip-page .eslot .eslot-name{order:2!important;margin:0!important}
.equip-page .eslot .eslot-gems{order:4!important;margin-top:1px!important}
.equip-page .eslot .eslot-ic{
  position:static!important;
  order:3!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  width:31px!important;height:31px!important;
  margin:1px auto 0!important;
  transform:none!important;
  display:block!important;
}
@media(max-width:520px){
  .equip-page .eslot{padding:5px 4px!important}
  .equip-page .eslot .eslot-ic{width:28px!important;height:28px!important}
}

/* 立绘不得溢出中间列：窄屏也按 100% 收住 */
.eqp-figure.portrait{
  width:100%!important;
  max-width:min(300px,100%)!important;
  justify-self:center!important;
}
@media(max-width:520px){
  .eqp-figure.portrait{max-width:100%!important}
}

/* ===== 城旗争夺 ===== */
.war-flag{
  margin:10px 0 8px;padding:12px;border:1px solid rgba(232,121,249,.35);border-radius:10px;
  background:linear-gradient(180deg,rgba(42,18,48,.90),rgba(14,8,20,.96));
  box-shadow:inset 0 0 24px rgba(232,121,249,.08),0 8px 22px rgba(0,0,0,.35);
}
.wf-head{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.wf-head b{font-size:14px;color:#f0d9ff;letter-spacing:.08em}
.wf-head span{margin-left:auto;font-size:11px;color:#d8b4fe}
.wf-holder{font-size:11px;color:#bba8cf;margin-bottom:8px}
.wf-holder b{font-weight:700}
.wf-control{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.wf-row{display:flex;align-items:center;gap:7px;font-size:10px;color:#cbbbd8}
.wf-row>span{width:64px;flex:0 0 64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-row>i{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.wf-row>i>em{display:block;height:100%;background:var(--fc,#c9a35c);border-radius:3px;box-shadow:0 0 8px var(--fc,#c9a35c)}
.wf-row>b{width:40px;text-align:right;flex:0 0 40px;color:#e7d6f2;font-weight:600}
.war-flag-btn{width:100%!important;margin-top:2px}
.wf-note{font-size:9.5px;color:#8d789c;line-height:1.5;margin-top:7px}
.war-flag-btn:disabled{opacity:.55}

.war-wall-btn{margin:8px 0 4px!important;width:100%!important}
.war-wall-btn:disabled{opacity:.55}

/* 队伍战战报 */
.war-battle-log{
  margin:8px 0;padding:9px 10px;border:1px solid rgba(125,211,232,.18);border-radius:8px;
  background:linear-gradient(180deg,rgba(10,35,38,.72),rgba(5,18,20,.82));
  font-size:10px;line-height:1.65;color:#a9c6c2;
}
.wbl-head{font-size:10px;color:#7dd3e8;letter-spacing:.08em;margin-bottom:3px}
.war-battle-log>div:not(.wbl-head){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== 冒险像素战斗舞台 ===== */
.adv-stage{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:176px;margin:0 0 10px;padding:10px 10px 8px;overflow:hidden;
  border:1px solid rgba(201,163,92,.22);border-radius:12px;
  background:
    radial-gradient(80% 70% at 50% 100%,rgba(80,160,145,.18),transparent 70%),
    linear-gradient(180deg,rgba(9,28,31,.92),rgba(4,13,15,.96));
  box-shadow:inset 0 0 28px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.25);
}
.adv-stage::after{
  content:"";position:absolute;left:7%;right:7%;bottom:12px;height:1px;z-index:0;
  background:linear-gradient(90deg,transparent,rgba(201,163,92,.28),transparent);
}
.adv-side{position:relative;display:flex;align-items:flex-end;gap:4px;z-index:1;min-width:0}
.adv-party{flex:1 1 auto;justify-content:flex-start;flex-wrap:wrap;max-width:62%}
.adv-enemy{flex:0 0 auto;justify-content:flex-end;min-width:92px}
.adv-fighter{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:0;width:54px}
.adv-fighter.enemy{width:92px}
.adv-sprite{
  width:48px;height:auto;max-height:78px;object-fit:contain;
  image-rendering:pixelated;
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.65));
  animation:advIdle 2.4s ease-in-out infinite;
}
.adv-fighter.enemy .adv-sprite{width:82px;max-height:108px;animation-duration:2.8s}
.adv-fighter.self .adv-sprite{filter:drop-shadow(0 5px 6px rgba(0,0,0,.65)) drop-shadow(0 0 7px rgba(201,163,92,.35))}
.adv-name{
  width:100%;font-size:9px;line-height:1.2;color:#dce8df;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000;
}
.adv-fighter.enemy .adv-name{color:#f0c8c0;font-size:10px}
.adv-hp{display:block;width:44px;height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden;border:1px solid rgba(0,0,0,.35)}
.adv-hp em{display:block;height:100%;width:100%;border-radius:2px;background:linear-gradient(90deg,#48d18a,#9af0b8);transition:width .25s ease}
.adv-hp.enemy{width:76px;height:5px}
.adv-hp.enemy em{background:linear-gradient(90deg,#d94b4b,#ff8d7a)}
.adv-vs{
  position:relative;z-index:1;align-self:center;flex:0 0 auto;
  font:700 12px/1 "Songti SC","SimSun",serif;letter-spacing:.12em;color:#c9a35c;
  opacity:.75;text-shadow:0 0 8px rgba(201,163,92,.35);
}
.adv-empty{
  width:110px;font-size:10px;color:#718a84;text-align:center;line-height:1.6;
  padding:22px 4px;border:1px dashed rgba(201,163,92,.16);border-radius:8px;
}
.adv-fx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.adv-dmg{
  position:absolute;transform:translate(-50%,-50%);
  font:800 16px/1 "Arial Black",Arial,sans-serif;color:#ffd86b;
  text-shadow:0 2px 0 #5b2d00,0 0 10px rgba(255,120,80,.65);
  animation:advFloat .85s ease-out forwards;
}
.adv-dmg.incoming{color:#ff8f86;text-shadow:0 2px 0 #4b0909,0 0 10px rgba(255,70,70,.6)}
.adv-stage.adv-flash{box-shadow:inset 0 0 42px rgba(255,150,100,.18),0 6px 18px rgba(0,0,0,.25)}
.adv-fighter.lunge-r .adv-sprite{animation:advLungeR .34s ease-out}
.adv-fighter.lunge-l .adv-sprite{animation:advLungeL .34s ease-out}
.adv-fighter.adv-hit .adv-sprite{animation:advHit .3s ease-out,advIdle 2.4s ease-in-out .3s infinite;filter:brightness(1.7) drop-shadow(0 0 8px rgba(255,100,80,.8))}
.adv-stage.party-dead .adv-party{opacity:.42;filter:grayscale(.7)}
@keyframes advIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes advLungeR{0%{transform:translateX(0)}38%{transform:translateX(22px)}100%{transform:translateX(0)}}
@keyframes advLungeL{0%{transform:translateX(0)}38%{transform:translateX(-22px)}100%{transform:translateX(0)}}
@keyframes advHit{0%{transform:translateX(0);opacity:1}25%{transform:translateX(4px);opacity:.55}55%{transform:translateX(-4px);opacity:.8}100%{transform:translateX(0);opacity:1}}
@keyframes advFloat{0%{transform:translate(-50%,-30%) scale(.8);opacity:0}18%{opacity:1}100%{transform:translate(-50%,-150%) scale(1.15);opacity:0}}
@media(max-width:520px){
  .adv-stage{min-height:160px;padding:8px 7px 6px}
  .adv-fighter{width:46px}
  .adv-fighter.enemy{width:78px}
  .adv-sprite{width:42px;max-height:68px}
  .adv-fighter.enemy .adv-sprite{width:70px;max-height:92px}
  .adv-party{max-width:60%}
  .adv-dmg{font-size:14px}
}
.card.monster #m-sprite{display:none!important}

/* 冒险站位：前排靠敌人，后排靠后 */
.adv-party{align-items:flex-end!important;flex-wrap:nowrap!important;gap:2px!important;max-width:64%!important}
.adv-rank{display:flex;align-items:flex-end;justify-content:flex-start;gap:1px;min-width:0}
.adv-back{position:relative;z-index:1;transform:translateY(-7px);opacity:.94}
.adv-front{position:relative;z-index:2;margin-left:3px}
.adv-front .adv-sprite{filter:drop-shadow(0 6px 7px rgba(0,0,0,.7))}
@media(max-width:520px){
  .adv-party{max-width:61%!important}
  .adv-back{transform:translateY(-5px)}
  .adv-front{margin-left:1px}
}

/* 城内交战名单：守方能看到所有攻城者 */
.war-invaders{margin:9px 0;padding:8px 9px;border:1px solid rgba(224,87,79,.24);border-radius:8px;background:rgba(34,12,14,.55)}
.wi-head{font-size:10px;color:#f0b0a0;letter-spacing:.06em;margin-bottom:5px}
.war-invader{display:flex;align-items:center;gap:6px;min-height:27px;padding:3px 0;border-top:1px solid rgba(255,255,255,.06);font-size:10px;color:#c9b8ae}
.war-invader:first-of-type{border-top:0}
.wi-name{font-weight:700;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wi-fac{color:#9e8981;max-width:54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wi-pow{color:#d8c0a0;white-space:nowrap}
.wi-hp{margin-left:auto;color:#aa9388;white-space:nowrap;font-size:9px}
.wi-cast{color:#f0abfc;font-size:9px;white-space:nowrap;text-shadow:0 0 6px rgba(232,121,249,.45)}
.war-invader button{flex:0 0 auto;padding:4px 7px!important;min-width:42px}
.war-invader.casting{background:rgba(232,121,249,.06)}

/* 冒险地图背景 */
.adv-bg{
  position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  image-rendering:pixelated;opacity:.58;filter:saturate(.82) contrast(1.03);
}
.adv-stage::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,11,13,.30),rgba(3,11,13,.06) 45%,rgba(3,11,13,.62));
}
.adv-stage>.adv-side,.adv-stage>.adv-vs{position:relative;z-index:2}
.adv-stage::after{z-index:2!important}

.tm-acts .tm-auto{border-color:rgba(232,192,122,.45);color:#f0d290;background:rgba(232,192,122,.08)}

/* 一键换装：放到卡片下方，不再挤右侧操作列 */
.tm-card{flex-wrap:wrap!important}
.tm-auto-wide{
  flex:0 0 100%!important;width:100%!important;order:20;margin-top:5px;padding:7px 8px;
  border-radius:9px;border:1px solid rgba(232,192,122,.42);
  background:linear-gradient(180deg,rgba(232,192,122,.12),rgba(232,192,122,.04));
  color:#f0d290;font-size:10.5px;font-weight:700;cursor:pointer;letter-spacing:.06em;
}
.tm-auto-wide:active{transform:scale(.98)}
.mate-auto{
  display:block;width:100%;margin-top:6px;padding:7px 8px;border-radius:8px;
  border:1px solid rgba(232,192,122,.35);background:rgba(232,192,122,.07);
  color:#f0d290;font-size:10.5px;font-weight:700;cursor:pointer;
}
.mate-auto:active{transform:scale(.98)}

/* 绑定装备 */
.item-bound{font-size:9px;color:#f0c87a;border:1px solid rgba(240,200,122,.4);border-radius:4px;padding:1px 4px;white-space:nowrap;background:rgba(240,200,122,.08)}
.bd-sub .item-bound{vertical-align:middle}

/* 宝石熔炼 */
.gem-fuse{margin-top:10px;padding:8px 9px;border:1px solid rgba(201,163,92,.24);border-radius:9px;background:rgba(201,163,92,.04)}
.gem-fuse-title{font-size:10px;color:#d8c0a0;letter-spacing:.08em;margin-bottom:5px}
.gem-fuse-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:3px 0;font-size:10px;color:#bca98f}
.gf-name b{color:#f0d290}
.gem-fuse-row button{flex:0 0 auto;padding:4px 7px!important;min-width:78px}

/* 神秘商人 */
.mystery-card{position:relative;padding-top:8px}
.mystery-ic{font-size:20px;line-height:1;margin-bottom:2px}
.mystery-card.sold{opacity:.45;filter:grayscale(.5)}
.mystery-card .item-desc{font-size:10px;color:#9f9384;line-height:1.45;margin-top:3px}
.mystery-card .item-price{font-size:12px;font-weight:800;color:#e2c07a;margin-top:5px}
.mystery-card .item-name{flex-wrap:wrap;gap:4px}
.pw-chip.down{background:rgba(224,87,79,.14);color:#ff9d90;border-color:rgba(224,87,79,.4)}

/* 进入前法律确认 */
.legal-gate{
  position:fixed;inset:0;z-index:100020;display:flex;align-items:center;justify-content:center;
  padding:18px;background:rgba(3,7,10,.92);backdrop-filter:blur(10px);overflow:auto;
}
.legal-gate.hide{display:none}
.legal-card{
  width:min(94vw,470px);max-height:92vh;overflow-y:auto;box-sizing:border-box;
  padding:24px 20px 18px;border:1px solid rgba(201,163,92,.42);border-radius:16px;
  background:linear-gradient(180deg,#171f24,#0b1115 72%);
  box-shadow:0 24px 80px rgba(0,0,0,.75);
}
.legal-kicker{font-size:10px;letter-spacing:.22em;color:#bda36c;margin-bottom:6px}
.legal-card h2{margin:0 0 6px;font-size:21px;color:#f0dfb8;letter-spacing:.04em}
.legal-sub{font-size:11.5px;line-height:1.6;color:#9eaaad;margin:0 0 15px}
.legal-check{
  display:flex;align-items:flex-start;gap:8px;margin:10px 0;padding:10px;
  border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(255,255,255,.03);
  font-size:11.5px;line-height:1.6;color:#c7d1d3;cursor:pointer;
}
.legal-check input{margin-top:2px;flex:0 0 auto;accent-color:#c9a35c}
.legal-check a{color:#9fe3f4;text-decoration:none}
.legal-card .primary{width:100%;margin-top:12px;padding:11px;font-size:14px}
.legal-card .primary:disabled{opacity:.35;cursor:not-allowed}
.legal-foot{margin:14px 0 0;text-align:center;font-size:9.5px;line-height:1.7;color:#778386}

/* 队伍页职业克制，放规则外醒目展示 */
.counter-strip{
  margin:12px 0 4px;padding:10px 12px;border-radius:11px;
  border:1px solid rgba(201,163,92,.42);
  background:linear-gradient(135deg,rgba(201,163,92,.12),rgba(125,211,232,.05));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.counter-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}
.counter-title{font-size:12px;font-weight:800;letter-spacing:.08em;color:#f0d290}
.counter-chip{font-size:9px;color:#9fe3f4;border:1px solid rgba(125,211,232,.28);border-radius:999px;padding:1px 6px;background:rgba(125,211,232,.06)}
.counter-chip.dim{color:#a99b88;border-color:rgba(201,163,92,.24);background:rgba(201,163,92,.05)}
.counter-chain{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;color:#d8e4e8}
.counter-chain b{font-weight:700;color:#f1e2bd}
.counter-chain i{font-style:normal;font-size:9px;color:#bda36c;padding:0 1px}
@media(max-width:520px){.counter-chain{font-size:10px;gap:3px}.counter-strip{padding:9px 10px}}

/* 装备详情 / 武器宝石孔位 */
.eqp-detail{margin:8px 0 2px;padding:8px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(0,0,0,.22);max-height:42vh;overflow-y:auto}
.eqp-detail.hide{display:none}
.eqp-d-title{font-size:10px;color:#9faeb3;letter-spacing:.05em;margin:0 2px 7px}
.eqp-d-row{display:flex;gap:8px;padding:7px 4px;border-top:1px solid rgba(255,255,255,.07)}
.eqp-d-row:first-of-type{border-top:0}
.eqp-d-row.empty{color:#8b9699;font-size:11px}
.eqp-d-slot{width:46px;color:#a9b3b5;flex:0 0 46px;font-size:10px}
.eqp-d-ic{width:32px;height:32px;object-fit:contain;flex:0 0 32px}
.eqp-d-main{min-width:0;flex:1}
.eqp-d-name{font-size:11.5px;font-weight:700;color:#e8dfca}
.eqp-d-sub{font-size:9.5px;color:#8d9a9c;margin-top:1px}
.eqp-d-set{font-size:9.5px;color:#e8a7f4;margin-top:2px}
.eqp-d-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:10px;color:#c9d5d6}
.eqp-d-sockets{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:5px;font-size:9.5px;color:#aab7b8}
.eqp-d-sockets b{font-weight:600;color:#c9a35c;font-size:9px}
.eqp-d-socket{border:1px solid rgba(125,211,232,.25);border-radius:5px;padding:2px 4px;color:#bde8f0;background:rgba(125,211,232,.05);display:inline-flex;align-items:center;gap:3px}
.eqp-d-socket.empty{color:#778386;border-color:rgba(255,255,255,.10);background:transparent}
.eqp-d-socket button{padding:1px 4px!important;font-size:8px!important;min-width:0!important}

/* 装备开孔 / 宝石选择 */
.eqp-d-open{padding:2px 6px!important;font-size:9px!important;border-radius:5px!important;border-color:rgba(201,163,92,.4)!important;color:#f0d290!important;background:rgba(201,163,92,.08)!important}
.eqp-d-socket[data-eqp-gem-pick]{cursor:pointer}
.gem-pick-mask{position:fixed;inset:0;z-index:100040;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(5px)}
.gem-pick-card{width:min(94vw,430px);max-height:82vh;overflow-y:auto;padding:14px;border-radius:14px;border:1px solid rgba(201,163,92,.45);background:linear-gradient(180deg,#182126,#0b1115)}
.gem-pick-title{font-size:12px;font-weight:800;color:#f0d290;margin-bottom:8px}
.gem-pick-row{display:flex;justify-content:space-between;gap:10px;width:100%;margin:4px 0;padding:8px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:rgba(255,255,255,.035);color:#dce7e8;font-size:11px;cursor:pointer;text-align:left}
.gem-pick-row:hover{background:rgba(125,211,232,.09);border-color:rgba(125,211,232,.3)}
.gem-pick-name{font-weight:700}
.gem-pick-stat{color:#a8d9e3;font-size:10px}
.gem-pick-cancel{width:100%;margin-top:8px}

/* 装备侧栏：详情 + 直接换装 */
.equip-side-mask{position:fixed;inset:0;z-index:100030;background:rgba(0,0,0,.48);display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}
.equip-side-mask.hide{display:none}
.equip-side{width:min(390px,94vw);height:100%;overflow-y:auto;padding:14px 12px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#14272a,#081417);border-left:1px solid rgba(201,163,92,.42);box-shadow:-12px 0 30px rgba(0,0,0,.45)}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;color:#efdfb3;font-size:13px}
.side-current{display:flex;gap:9px;padding:9px;border:1px solid rgba(201,163,92,.25);border-radius:9px;background:rgba(0,0,0,.2)}
.side-current img{width:46px;height:46px;object-fit:contain;flex:0 0 46px}
.side-current>div{min-width:0;flex:1}
.side-name{font-size:12px;font-weight:800;color:#f1e5cb}
.side-sub{font-size:9.5px;color:#8fa3a4;margin-top:1px}
.side-set{font-size:9.5px;color:#e8a7f4;margin-top:2px}
.side-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:10px;color:#cdd9d9}
.side-sockets{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px;font-size:9.5px;color:#aab7b8}
.side-sockets b{color:#c9a35c;font-size:9px}
.side-socket{border:1px solid rgba(125,211,232,.24);border-radius:5px;padding:2px 4px;color:#bde8f0;display:inline-flex;align-items:center;gap:3px}
.side-socket.empty{color:#778386;border-color:rgba(255,255,255,.1)}
.side-socket button{font-size:8px!important;padding:1px 4px!important}
.side-empty,.side-none{padding:12px;text-align:center;color:#839293;font-size:11px;border:1px dashed rgba(255,255,255,.12);border-radius:8px}
.side-title{font-size:10px;letter-spacing:.08em;color:#c9a35c;margin:13px 2px 6px}
.side-list{display:flex;flex-direction:column;gap:5px}
.side-candidate{display:flex;flex-direction:column;gap:2px;text-align:left;padding:7px 8px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(255,255,255,.035);color:#dce7e8;cursor:pointer}
.side-candidate:hover{border-color:rgba(125,211,232,.35);background:rgba(125,211,232,.07)}
.side-c-name{font-size:11px;font-weight:700}
.side-c-sub{font-size:9px;color:#9fb2b4}
.side-c-sub .good{color:#67d99a}
.side-c-sub .bad{color:#e17d7d}
@media(max-width:520px){
  .equip-side{width:100%;height:88%;margin-top:auto;border-left:0;border-top:1px solid rgba(201,163,92,.42);border-radius:14px 14px 0 0}
  .equip-side-mask{align-items:flex-end}
}

/* 永恒武器小传 */
.eqp-d-lore,.side-lore,.bd-lore{
  margin-top:5px;padding:5px 7px;border-left:2px solid rgba(232,121,249,.5);
  border-radius:0 5px 5px 0;background:rgba(232,121,249,.055);
  color:#cdb7cf;font-size:9.5px;line-height:1.55;font-style:italic;letter-spacing:.02em;
}
.bd-lore{margin:6px 0 2px}

/* 宝石镶嵌目标选择 */
.gem-target-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;margin:4px 0;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.035);color:#dce7e8;font-size:10.5px;cursor:pointer;text-align:left}
.gem-target-row:hover{background:rgba(125,211,232,.08);border-color:rgba(125,211,232,.3)}
.gem-target-slot{color:#c9a35c;font-size:9px}
.gem-target-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.gem-target-hole{color:#9fd8e2;font-size:9px;border:1px solid rgba(125,211,232,.25);border-radius:4px;padding:1px 4px}
.side-socket[data-side-gem-pick]{cursor:pointer}

/* 套装件数与阶段加成 */
.set-summary{margin-top:5px;padding:6px 7px;border:1px solid rgba(201,163,92,.18);border-radius:7px;background:rgba(201,163,92,.045)}
.set-summary-head{font-size:9.5px;color:#cdb98d;margin-bottom:3px}
.set-summary-head b{color:#f0d290}
.set-tier{font-size:9px;line-height:1.5;color:#7f9092}
.set-tier.on{color:#8fe0b0}
.set-summary .set-tier+.set-tier{margin-top:1px}

/* 英雄页套装总览 */
.bag-sets{display:flex;flex-direction:column;gap:5px;margin:0 0 9px}
.bag-sets-title{font-size:9px;letter-spacing:.12em;color:#c9a35c;margin:2px 1px 1px}
.bag-set-row{padding:6px 8px;border:1px solid rgba(201,163,92,.18);border-radius:7px;background:rgba(201,163,92,.045)}
.bag-set-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#e4d4ac}
.bag-set-head b{font-weight:700}
.bag-set-head span{color:#8b9b9b;font-size:9px}
.bag-set-head span.on{color:#8fe0b0}
.bag-set-tier{font-size:8.5px;color:#7f9092;line-height:1.5}
.bag-set-tier.on{color:#8fe0b0}

/* 套装视觉特效：2 件微光，3 件完整光效 */
@keyframes setGlow {
  0%,100% { box-shadow:0 0 0 1px rgba(232,121,249,.28),0 0 12px rgba(232,121,249,.10); }
  50% { box-shadow:0 0 0 1px rgba(232,121,249,.55),0 0 22px rgba(232,121,249,.24); }
}
@keyframes setSpark {
  0%,100% { opacity:.35; transform:translateY(0) scale(.9); }
  50% { opacity:1; transform:translateY(-3px) scale(1.08); }
}
.tm-card.set-2{border-color:rgba(232,121,249,.36);animation:setGlow 3.4s ease-in-out infinite}
.tm-card.set-3{border-color:rgba(255,205,120,.62);background:linear-gradient(180deg,rgba(120,65,100,.20),rgba(255,255,255,.015));animation:setGlow 2.2s ease-in-out infinite}
.tm-card.set-3::after{content:'✦';position:absolute;top:-5px;right:7px;color:#ffd68c;font-size:14px;text-shadow:0 0 9px rgba(255,190,90,.9);animation:setSpark 1.8s ease-in-out infinite;pointer-events:none}
.tm-set{color:#e8b8f4;font-weight:700}
.tm-card.set-3 .tm-set{color:#ffd68c}
.tm-card.set-2 .tm-av,.tm-card.set-3 .tm-av{filter:drop-shadow(0 0 7px rgba(232,121,249,.45))}
.tm-card.set-3 .tm-av{filter:drop-shadow(0 0 10px rgba(255,200,110,.65))}

.bag-figure.set-2{box-shadow:0 0 0 1px rgba(232,121,249,.35),0 10px 26px rgba(0,0,0,.55),0 0 22px rgba(232,121,249,.14);animation:setGlow 3.4s ease-in-out infinite}
.bag-figure.set-3{box-shadow:0 0 0 1px rgba(255,205,120,.58),0 10px 26px rgba(0,0,0,.55),0 0 28px rgba(255,190,90,.22);animation:setGlow 2.2s ease-in-out infinite}
.bag-figure.set-3::after{content:'✦';position:absolute;right:-6px;top:-8px;color:#ffd68c;font-size:15px;text-shadow:0 0 10px rgba(255,190,90,.9);animation:setSpark 1.8s ease-in-out infinite;z-index:3}

.eqp-figure.set-2{filter:drop-shadow(0 0 12px rgba(232,121,249,.28))}
.eqp-figure.set-3{filter:drop-shadow(0 0 18px rgba(255,196,105,.42))}
.eqp-figure.set-2 img,.eqp-figure.set-3 img{animation:setGlow 3s ease-in-out infinite}
.eqp-set-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 10px 4px;padding:5px 9px;border-radius:7px;font-size:9.5px;border:1px solid rgba(232,121,249,.28);background:rgba(232,121,249,.06);color:#d8bfe0}
.eqp-set-banner b{color:#f0d290;font-weight:700}
.eqp-set-banner span{color:#a99ea7}
.eqp-set-banner.set-3{border-color:rgba(255,205,120,.45);background:rgba(255,190,90,.07)}
.eqp-set-banner.set-3 b,.eqp-set-banner.set-3 span{color:#ffd68c}

/* 单件永恒装备/永恒随从的常驻微光 */
.bag-figure.eternal{box-shadow:0 0 0 1px rgba(240,171,252,.65),0 10px 26px rgba(0,0,0,.55),0 0 26px rgba(232,121,249,.28),0 0 38px rgba(103,232,249,.10);animation:eternalPulse 3.2s ease-in-out infinite}
.bag-figure.eternal::after{content:"✦";position:absolute;right:-7px;top:-9px;color:#f5d0fe;font-size:14px;text-shadow:0 0 7px #e879f9,0 0 14px #67e8f9;animation:eternalFloat 2.8s ease-in-out infinite;z-index:3}

/* 永恒角色 vs 单纯永恒装备：前者强光，后者只做小标记 */
.tm-card.eternal{
  box-shadow:0 0 0 1px rgba(240,171,252,.48),0 0 20px rgba(232,121,249,.32),0 0 40px rgba(103,232,249,.14)!important;
}
.tm-card.eternal::after{
  content:"✦";position:absolute;right:8px;top:3px;z-index:4;color:#f5d0fe;font-size:14px;
  text-shadow:0 0 8px #e879f9,0 0 16px #67e8f9;animation:eternalFloat 2.4s ease-in-out infinite;pointer-events:none;
}
.tm-card.divine-gear{
  border-color:rgba(232,121,249,.38)!important;
  box-shadow:0 0 0 1px rgba(232,121,249,.12),0 0 10px rgba(232,121,249,.12)!important;
}
.tm-card.divine-gear::after{
  content:"✧";position:absolute;right:8px;top:4px;z-index:4;color:#e9b8f5;font-size:10px;
  text-shadow:0 0 5px rgba(232,121,249,.55);opacity:.85;pointer-events:none;
}
.tm-card.divine-gear .tm-av{box-shadow:0 0 0 1px rgba(232,121,249,.38);border-radius:4px}
.tm-divine-gear{color:#d9a9e5;font-size:8.5px}

.bag-figure.divine-gear{
  box-shadow:0 0 0 1px rgba(232,121,249,.38),0 10px 26px rgba(0,0,0,.55),0 0 14px rgba(232,121,249,.12);
}
.bag-figure.divine-gear::after{content:"✧";position:absolute;right:-5px;top:-7px;color:#e9b8f5;font-size:11px;text-shadow:0 0 6px rgba(232,121,249,.55);z-index:3}
.eqp-figure.divine-gear{filter:drop-shadow(0 0 8px rgba(232,121,249,.28))}
.eqp-figure.divine-gear::after{filter:drop-shadow(0 0 4px rgba(232,121,249,.35))}

/* 永恒角色完整光效再强化一档 */
.bag-figure.eternal{
  box-shadow:0 0 0 1px rgba(240,171,252,.82),0 10px 26px rgba(0,0,0,.55),0 0 32px rgba(232,121,249,.40),0 0 54px rgba(103,232,249,.16)!important;
}
.bag-figure.eternal::before{
  content:"";position:absolute;inset:-14px;z-index:-1;pointer-events:none;border-radius:6px;
  background:conic-gradient(from 0deg,rgba(232,121,249,.0),rgba(240,171,252,.22),rgba(103,232,249,.15),rgba(232,121,249,.0));
  filter:blur(10px);animation:eternalAura 5s linear infinite;
}
.eqp-figure.eternal{
  filter:drop-shadow(0 0 14px rgba(232,121,249,.58)) drop-shadow(0 0 30px rgba(103,232,249,.22))!important;
}

/* 聊天排版：气泡按内容自适应，不再被 74% 的父级宽度挤成窄条 */
.msg{max-width:100%!important;width:100%!important;align-items:flex-start!important}
.msg:not(.me){justify-content:flex-start}
.msg.me{justify-content:flex-start!important;margin-left:0!important}
.msg .msg-body{flex:0 1 auto!important;min-width:0!important;max-width:calc(100% - 38px)!important}
.msg.me .msg-body{flex:0 1 auto!important;align-items:flex-end!important;max-width:calc(100% - 38px)!important}
.msg .bubble{
  max-width:100%!important;width:fit-content!important;
  white-space:pre-wrap!important;word-break:normal!important;overflow-wrap:anywhere!important;
  line-height:1.65!important;
}
.msg.sys{width:100%!important;max-width:100%!important;justify-content:center!important}
.msg.sys .msg-body{max-width:100%!important;flex:1 1 100%!important}
.msg.sys .bubble{width:100%!important;max-width:100%!important;text-align:center!important}
/* 私聊同样放宽 */
.pm-m{max-width:min(78vw,560px)!important;width:fit-content!important;word-break:normal!important;overflow-wrap:anywhere!important}
@media(max-width:520px){
  .msg .msg-body,.msg.me .msg-body{max-width:calc(100% - 34px)!important}
  .msg .bubble{font-size:13px!important}
}

/* 详情页强化按钮 */
.enhance-btn{width:100%;margin-top:7px;padding:7px 8px!important;border-radius:7px!important;
  border-color:rgba(201,163,92,.42)!important;background:rgba(201,163,92,.10)!important;color:#f0d290!important;font-size:10px!important}
.enhance-btn:disabled{opacity:.42;cursor:not-allowed}
.enh-max{margin-top:7px;font-size:9.5px;color:#8fe0b0;text-align:center;border:1px solid rgba(143,224,176,.2);border-radius:6px;padding:5px}
.bd-actions + .enhance-btn{margin-top:7px}

/* 详情页卸下 */
.side-unequip{width:100%;margin-top:5px;padding:4px!important;font-size:9px!important;border-color:rgba(255,255,255,.14)!important;color:#aab7b8!important}

/* 背包详情里的宝石孔位 */
.bd-sockets{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:6px 0 2px;font-size:9.5px;color:#aab7b8}
.bd-sockets>b{color:#c9a35c;font-size:9px}
.bd-socket{border:1px solid rgba(125,211,232,.24);border-radius:5px;padding:2px 4px;color:#bde8f0;background:rgba(125,211,232,.05);display:inline-flex;align-items:center;gap:3px}
.bd-socket.empty{color:#8fa3a4;border-color:rgba(255,255,255,.12);background:transparent}
button.bd-socket{cursor:pointer;font:inherit}
.bd-socket button{font-size:8px!important;padding:1px 4px!important}
.bd-open-socket{font-size:9px!important;padding:2px 6px!important;border-radius:5px!important;border-color:rgba(201,163,92,.4)!important;background:rgba(201,163,92,.08)!important;color:#f0d290!important}

/* 装备详情大图：先用现有图标放大，后续可替换专属图 */
.bd-art-frame,.side-art-frame{position:relative;display:flex;align-items:center;justify-content:center;margin:0 0 8px;border:1px solid rgba(201,163,92,.28);border-radius:8px;background:radial-gradient(ellipse at 50% 45%,rgba(201,163,92,.10),rgba(0,0,0,.20) 60%,rgba(0,0,0,.35));overflow:hidden;min-height:150px}
.bd-art-frame{height:190px}
.side-art-frame{height:165px;margin-bottom:9px}
.bd-art,.side-art{max-width:76%;max-height:86%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6))}
.bd-art-tag,.side-art-frame>span{position:absolute;right:7px;bottom:6px;font-size:8.5px;letter-spacing:.08em;color:#cdbb95;border:1px solid rgba(201,163,92,.25);border-radius:4px;padding:1px 5px;background:rgba(0,0,0,.35)}
.bd-art-frame.set,.side-art-frame.set{border-color:rgba(232,121,249,.35)}
.bd-art-frame.q-legendary,.side-art-frame.q-legendary{border-color:rgba(245,158,11,.42)}
.bd-art-frame.q-mythic,.side-art-frame.q-mythic{border-color:rgba(239,68,68,.48);background:radial-gradient(ellipse at 50% 45%,rgba(239,68,68,.14),rgba(0,0,0,.25) 62%,rgba(0,0,0,.4))}
.bd-art-frame.q-divine,.side-art-frame.q-divine{border-color:rgba(240,171,252,.6);background:radial-gradient(ellipse at 50% 45%,rgba(232,121,249,.18),rgba(103,232,249,.06) 48%,rgba(0,0,0,.36) 72%);box-shadow:0 0 18px rgba(232,121,249,.14),inset 0 0 24px rgba(232,121,249,.06)}
.bd-art-frame.q-divine::after,.side-art-frame.q-divine::after{content:"✦";position:absolute;right:9px;top:7px;color:#f5d0fe;font-size:12px;text-shadow:0 0 7px #e879f9,0 0 14px #67e8f9;animation:eternalFloat 2.8s ease-in-out infinite;pointer-events:none}
.bd-art-frame.q-mythic::after,.side-art-frame.q-mythic::after{content:"◆";position:absolute;right:9px;top:7px;color:#fca5a5;font-size:10px;text-shadow:0 0 6px rgba(239,68,68,.7);pointer-events:none}
@media(max-width:520px){.bd-art-frame{height:165px}.side-art-frame{height:140px}}

/* 全屏装备详情：左大图 + 右信息，底部更换 */
.equip-side-mask{justify-content:center!important;align-items:stretch!important;padding:0!important}
.equip-side.ed-detail{width:min(980px,100%)!important;max-width:980px;height:100%!important;max-height:none;padding:0!important;overflow:hidden!important;border-left:1px solid rgba(201,163,92,.35)!important;border-right:1px solid rgba(201,163,92,.35)!important;display:flex!important;flex-direction:column;background:linear-gradient(180deg,#16110d,#090706)!important}
.ed-top{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:11px 14px;border-bottom:1px solid rgba(201,163,92,.22);background:rgba(0,0,0,.22)}
.ed-top b{font-size:14px;letter-spacing:.12em;color:#f0dfb8;font-weight:700}
.ed-top-sub{font-size:9px;color:#8f7f68;letter-spacing:.08em;margin-left:auto}
.ed-close,.ed-back{background:transparent;border:1px solid rgba(201,163,92,.25);border-radius:5px;color:#cdb98d;font-size:14px;line-height:1;padding:4px 8px;cursor:pointer}
.ed-close{margin-left:4px}
.ed-scroll{flex:1 1 auto;overflow-y:auto;padding:12px 14px 8px}
.ed-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(300px,1.18fr);gap:12px;min-height:100%}
.ed-left,.ed-right{min-width:0}
.ed-art-frame{position:relative;height:clamp(260px,38vh,420px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,163,92,.35);border-radius:8px;background:radial-gradient(ellipse at 50% 45%,rgba(201,163,92,.12),rgba(0,0,0,.25) 58%,rgba(0,0,0,.45));overflow:hidden}
.ed-art{max-width:78%;max-height:88%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.65))}
.ed-art-badge{position:absolute;right:8px;bottom:7px;font-size:9px;color:#d9c49a;border:1px solid rgba(201,163,92,.3);border-radius:4px;padding:2px 6px;background:rgba(0,0,0,.4)}
.ed-art-frame.q-legendary{border-color:rgba(245,158,11,.45)}
.ed-art-frame.q-mythic{border-color:rgba(239,68,68,.5);background:radial-gradient(ellipse at 50% 45%,rgba(239,68,68,.15),rgba(0,0,0,.3) 62%)}
.ed-art-frame.q-divine{border-color:rgba(240,171,252,.65);background:radial-gradient(ellipse at 50% 45%,rgba(232,121,249,.2),rgba(103,232,249,.07) 48%,rgba(0,0,0,.42) 74%);box-shadow:0 0 22px rgba(232,121,249,.18),inset 0 0 30px rgba(232,121,249,.07)}
.ed-art-frame.q-divine::after{content:"✦";position:absolute;right:9px;top:7px;color:#f5d0fe;font-size:13px;text-shadow:0 0 8px #e879f9,0 0 16px #67e8f9;animation:eternalFloat 2.8s ease-in-out infinite}
.ed-lore{margin-top:7px;padding:6px 8px;border-left:2px solid rgba(232,121,249,.45);border-radius:0 5px 5px 0;background:rgba(232,121,249,.05);color:#cdb7cf;font-size:9.5px;line-height:1.55;font-style:italic}
.ed-card{margin:0 0 8px;padding:8px 9px;border:1px solid rgba(201,163,92,.18);border-radius:7px;background:rgba(255,255,255,.025)}
.ed-card-title{font-size:9.5px;color:#c9a35c;letter-spacing:.08em;margin-bottom:5px}
.ed-name{font-size:14px;font-weight:800;color:#f1e3c6}
.ed-sub{font-size:9.5px;color:#938773;margin-top:2px}
.ed-set-name{font-size:9.5px;color:#e8a7f4;margin-top:4px}
.ed-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.ed-stat{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#c9bda8;border-bottom:1px solid rgba(255,255,255,.045);padding:2px 0}
.ed-stat b{color:#eee0c4;font-weight:600}
.ed-sockets-card{margin-top:8px}
.ed-socket-list{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ed-socket{border:1px solid rgba(125,211,232,.25);border-radius:5px;padding:3px 5px;background:rgba(125,211,232,.05);color:#bde8f0;font-size:9px;display:inline-flex;align-items:center;gap:4px}
.ed-socket.empty{color:#8d9b9d;border-color:rgba(255,255,255,.12);background:transparent}
button.ed-socket{cursor:pointer;font:inherit}
.ed-socket button{font-size:8px!important;padding:1px 4px!important}
.ed-open-socket{font-size:9px!important;padding:4px 7px!important;border-radius:5px!important;border-color:rgba(201,163,92,.4)!important;background:rgba(201,163,92,.08)!important;color:#f0d290!important}
.ed-stars{display:flex;align-items:center;gap:5px;font-size:21px;color:#4b4033;letter-spacing:2px}
.ed-stars .on{color:#f0c76b;text-shadow:0 0 9px rgba(240,199,107,.55)}
.ed-stars b{font-size:10px;color:#c9bda8;letter-spacing:0;margin-left:5px}
.ed-star-note{font-size:8.5px;color:#776c5c;margin-top:3px}
.ed-dim{color:#776c5c;font-size:10px}
.ed-actions{flex:0 0 auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px 14px calc(11px + env(safe-area-inset-bottom));border-top:1px solid rgba(201,163,92,.22);background:rgba(0,0,0,.3)}
.ed-actions .enhance-btn{width:auto!important;margin:0!important;flex:1 1 180px}
.ed-btn{padding:7px 10px!important;border-radius:6px!important;border:1px solid rgba(201,163,92,.32)!important;background:rgba(201,163,92,.08)!important;color:#e4d2ab!important;font-size:10px!important;cursor:pointer}
.ed-btn.primary{border-color:rgba(226,192,122,.55)!important;background:rgba(201,163,92,.18)!important;color:#f5dfaf!important}
.ed-btn.danger{border-color:rgba(226,120,120,.32)!important;color:#e6b0a8!important}
.ed-empty{padding:40px 20px;text-align:center;color:#8f7f68}
@media(max-width:720px){
  .equip-side.ed-detail{width:100%!important;border-left:0!important;border-right:0!important}
  .ed-scroll{padding:9px 10px 5px}
  .ed-grid{grid-template-columns:1fr;gap:9px}
  .ed-art-frame{height:220px}
  .ed-actions{padding:8px 10px calc(9px + env(safe-area-inset-bottom))}
  .ed-actions .enhance-btn{flex:1 1 100%}
}

/* 升星材料与按钮 */
.ed-mats{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 7px}
.ed-mat{font-size:8.5px;border:1px solid rgba(201,163,92,.2);border-radius:4px;padding:2px 4px;color:#b6aa95;background:rgba(201,163,92,.04)}
.ed-mat b{font-weight:600;color:#d8c7a5}
.ed-mat.ok{color:#98d8b0;border-color:rgba(143,224,176,.25)}
.ed-mat.ok b{color:#b8efd0}
.ed-mat.lack{color:#d49a9a;border-color:rgba(226,120,120,.28)}
.ed-mat.lack b{color:#f0b0b0}
.ed-star-btn{width:100%;margin-top:2px;padding:7px 8px;border-radius:6px;border:1px solid rgba(226,192,122,.5);background:linear-gradient(180deg,rgba(201,163,92,.2),rgba(201,163,92,.08));color:#f5dfaf;font-size:10px;cursor:pointer}
.ed-star-btn:disabled{opacity:.4;cursor:not-allowed}
.ed-art-frame.star-3,.ed-art-frame.star-4,.ed-art-frame.star-5{box-shadow:0 0 18px rgba(240,199,107,.18),inset 0 0 24px rgba(240,199,107,.07)}
.ed-art-frame.star-5{border-color:rgba(255,205,120,.7)!important;box-shadow:0 0 24px rgba(255,190,90,.25),0 0 42px rgba(232,121,249,.15),inset 0 0 26px rgba(255,190,90,.08)}

/* 队伍卡片：六件装备总星级 */
.tm-stars{font-size:8.5px;color:#8f806a;white-space:nowrap}
.tm-stars.hot{color:#f0c76b;text-shadow:0 0 6px rgba(240,199,107,.45)}

/* 近战短冲 / 法师原地施法 / 战斗奖励条 */
.adv-fighter.cast-r{animation:advCast .55s ease-out}
@keyframes advCast{0%,100%{transform:translateY(0)}40%{transform:translateY(-2px) scale(1.03)}}
.adv-slash{position:absolute;width:92px;height:92px;pointer-events:none;z-index:5;
  background:radial-gradient(ellipse at 20% 80%,rgba(255,230,150,.95) 0 3%,rgba(255,190,80,.65) 12%,transparent 46%);
  border-radius:50%;transform:rotate(-28deg);filter:drop-shadow(0 0 9px rgba(255,190,80,.75));
  animation:advSlash .36s ease-out both}
@keyframes advSlash{0%{opacity:0;transform:translate(18px,8px) rotate(-48deg) scale(.6)}45%{opacity:1}100%{opacity:0;transform:translate(-10px,-12px) rotate(-5deg) scale(1.2)}}
.adv-reward-bar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 6px;padding:6px 7px;border:1px solid rgba(201,163,92,.22);border-radius:6px;background:rgba(15,12,8,.72)}
.adv-reward-bar.hide{display:none}
.arb-title{font-size:9px;color:#c9a35c;letter-spacing:.08em;margin-right:2px}
.arb-chip{font-size:9px;color:#d8c7a5;border:1px solid rgba(201,163,92,.2);border-radius:4px;padding:1px 5px;background:rgba(201,163,92,.06);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arb-chip.dim{color:#8f806a}
.arb-more{cursor:pointer;font-size:9px;color:#9fc9d2;border:1px dashed rgba(125,211,232,.3);border-radius:4px;padding:1px 5px}
@media(max-width:520px){.adv-reward-bar{gap:4px;padding:5px}.arb-chip{font-size:8.5px;max-width:145px}}

/* 战斗日志必须可见：不再被战斗区和奖励条挤成 0 高 */
#tab-adv{overflow-y:auto!important;overscroll-behavior:contain}
#tab-adv .logwrap{flex:0 0 auto!important;min-height:132px;height:clamp(132px,20vh,190px);margin:0 0 6px}
#tab-adv .log{height:100%!important;min-height:132px!important;max-height:190px}
#tab-adv .actions{flex:0 0 auto!important}
.adv-reward-bar{flex:0 0 auto!important}
@media(max-width:520px){
  #tab-adv .logwrap{min-height:145px;height:145px}
  #tab-adv .log{min-height:145px!important;max-height:145px}
}

/* 战斗页：怪物大卡收掉，改一行羊皮纸战报；日志默认折叠 */
#tab-adv .card.monster{display:none!important}
.adv-caption{display:flex;align-items:center;gap:8px;margin:0 0 7px;padding:6px 9px;border:1px solid rgba(201,163,92,.32);border-radius:6px;background:linear-gradient(180deg,rgba(66,49,32,.9),rgba(31,23,15,.94));box-shadow:inset 0 0 0 1px rgba(226,192,122,.08),0 3px 10px rgba(0,0,0,.25);min-height:34px}
#adv-caption-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.5;color:#e2cfaa;letter-spacing:.02em}
.adv-log-toggle{flex:0 0 auto;border:1px solid rgba(201,163,92,.28);background:rgba(201,163,92,.08);color:#cdb98d;border-radius:4px;font-size:8.5px;padding:2px 6px;cursor:pointer}
#tab-adv .logwrap.adv-log-collapsed{display:none!important}
#tab-adv .logwrap:not(.adv-log-collapsed){display:flex!important}
@media(max-width:520px){#adv-caption-text{font-size:10px}.adv-caption{padding:5px 7px}}

/* 商店装备详情 */
.ed-shop-note{margin-top:8px;font-size:9px;color:#b9a887;line-height:1.5;border-left:2px solid rgba(201,163,92,.4);padding:4px 7px}

/* 商店详情的战力影响 */
.ed-power{margin-top:5px;font-size:10px;color:#9fd7b2}
.ed-power b{font-weight:700}
.ed-power.down{color:#e2a8a0}
.shop-gain{color:#9fd7b2}

/* 怪群：多只怪、当前目标、敌方朝左镜像 */
.adv-enemy{flex:0 1 44%!important;justify-content:flex-end;align-items:flex-end;flex-wrap:wrap;gap:2px 4px}
.adv-enemy .adv-fighter{width:68px}
.adv-enemy .adv-fighter .adv-sprite{scale:-1 1}
.adv-enemy .adv-fighter.current .adv-name{color:#ffe4a3;text-shadow:0 0 7px rgba(255,190,80,.65)}
.adv-enemy .adv-fighter.current:after{content:'▼';position:absolute;top:-11px;left:50%;transform:translateX(-50%) scaleX(-1);color:#ffd27a;font-size:9px;text-shadow:0 0 5px #000}
.adv-enemy .adv-fighter.boss{width:88px}
.adv-enemy .adv-fighter.boss .adv-name{color:#ff9b8e}
.adv-enemy .adv-fighter.boss .adv-sprite{width:74px;max-height:100px;filter:drop-shadow(0 5px 7px #000) drop-shadow(0 0 9px rgba(220,40,40,.35))}
@media(max-width:520px){.adv-enemy{flex-basis:45%!important;gap:1px 2px}.adv-enemy .adv-fighter{width:47px}.adv-enemy .adv-fighter.boss{width:60px}.adv-enemy .adv-fighter.boss .adv-sprite{width:52px;max-height:82px}}

.adv-enemy .adv-fighter{position:relative}

/* ===== 暗金酒馆主界面：全局壳 ===== */
:root{
  --ui-gold:#c9a35c; --ui-gold-hi:#f0d290; --ui-wood:#120d09; --ui-panel:#17110c;
}
body{
  background:
    radial-gradient(900px 520px at 50% -10%, rgba(206,157,78,.15), transparent 62%),
    radial-gradient(700px 420px at 8% 110%, rgba(92,32,24,.28), transparent 66%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 5px),
    linear-gradient(180deg,#080605,#0d0906 55%,#060504)!important;
  color:#e6d6b8;
}
.app{max-width:600px!important}
.top{
  background:
    linear-gradient(180deg,rgba(28,19,12,.98),rgba(13,9,6,.94))!important;
  border-bottom:1px solid rgba(201,163,92,.42)!important;
  box-shadow:0 4px 22px rgba(0,0,0,.55)!important;
  padding-top:calc(10px + env(safe-area-inset-top))!important;
}
.top::after{
  content:"❖"!important;color:#c9a35c!important;background:#0d0906!important;
  border:1px solid rgba(201,163,92,.25);border-radius:50%;
  width:20px;height:20px;display:flex;align-items:center;justify-content:center;
  font-size:10px!important;bottom:-10px!important;line-height:1;
  box-shadow:0 0 0 3px #0d0906;
}
.top-main{gap:9px!important;margin-bottom:7px!important}
.top .me-av{
  width:48px!important;height:48px!important;flex-basis:48px!important;
  border:2px solid rgba(201,163,92,.65)!important;border-radius:50%!important;
  background:radial-gradient(circle,#2b2015,#0c0906);
  box-shadow:0 0 0 3px rgba(0,0,0,.65),0 0 16px rgba(201,163,92,.18)!important;
  object-fit:cover;
}
.top .who{min-width:0}
.top .pname{
  font-family:"Songti SC","Noto Serif SC",serif!important;
  font-size:17px!important;letter-spacing:.08em!important;color:#f2dfb5!important;
  text-shadow:0 1px 3px #000;
}
.top .who-sub{gap:4px!important}
.top .who-sub .chip{
  font-size:9px!important;padding:1px 7px!important;
  background:rgba(201,163,92,.09)!important;border:1px solid rgba(201,163,92,.28)!important;
  color:#c9b58d!important;
}
.top .top-meta{
  gap:5px!important;margin:5px 0 3px!important;
  padding:5px 6px;border:1px solid rgba(201,163,92,.18);border-radius:5px;
  background:rgba(0,0,0,.2);
}
.top .top-meta .chip{
  font-size:9.5px!important;padding:2px 7px!important;
  background:transparent!important;border:1px solid rgba(201,163,92,.25)!important;
  color:#cdbb95!important;
}
.top .top-meta .chip.gold{color:#f0d290!important;border-color:rgba(201,163,92,.38)!important}
.hud-hp{
  margin-left:auto;display:inline-flex;align-items:center;gap:3px;
  font-size:10px;color:#f0d0b2;white-space:nowrap;
}
.hud-hp i{font-style:normal;color:#e25c55;text-shadow:0 0 7px rgba(226,92,85,.6);font-size:12px}
.hud-hp b{font-weight:600;color:#e6d6b8}
.btn-gear,.btn-bell{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:28px!important;height:28px!important;padding:0!important;
  border:1px solid rgba(201,163,92,.35)!important;border-radius:50%!important;
  background:radial-gradient(circle at 40% 30%,#2c2116,#100b07)!important;
  color:#d9c08a!important;font-size:14px!important;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.4);
}
.btn-bell{font-size:12px!important;margin-left:auto}
.btn-gear{margin-left:2px!important;align-self:center!important;margin-top:0!important}
.btn-gear .gear-label{display:none}

/* 地图下拉与羊皮纸标题 */
#tab-adv .mapbar{margin:0 0 7px!important;gap:5px!important}
#tab-adv .mapbar select{
  background:linear-gradient(180deg,#1a130d,#0d0906)!important;
  border:1px solid rgba(201,163,92,.32)!important;
  color:#d8c5a0!important;border-radius:4px!important;font-size:11px!important;
}
#tab-adv .mapbar .mini{
  border-radius:4px!important;border-color:rgba(201,163,92,.38)!important;
  color:#f0d290!important;background:rgba(201,163,92,.08)!important;
}
.adv-parchment{
  position:relative;display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;margin:0 0 8px;padding:5px 20px;
  background:
    linear-gradient(180deg,rgba(63,47,31,.98),rgba(30,21,14,.98));
  border:1px solid rgba(201,163,92,.42);
  border-left:3px solid rgba(201,163,92,.65);border-right:3px solid rgba(201,163,92,.65);
  box-shadow:0 3px 12px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,230,170,.08);
  text-align:center;
}
.adv-parchment::before,.adv-parchment::after{
  content:"";position:absolute;top:50%;width:8px;height:8px;
  border:1px solid rgba(201,163,92,.55);transform:translateY(-50%) rotate(45deg);
  background:#1a120c;
}
.adv-parchment::before{left:-6px}.adv-parchment::after{right:-6px}
.adv-parchment-kicker{
  position:absolute;top:3px;left:50%;transform:translateX(-50%);
  font-size:7px;letter-spacing:.2em;color:#8f7958;white-space:nowrap;
}
.adv-parchment b{
  font-family:"Songti SC","Noto Serif SC",serif;font-size:20px;line-height:1.2;
  letter-spacing:.14em;color:#f1d9a7;text-shadow:0 2px 3px #000;
}
.adv-parchment em{
  font-style:normal;font-size:8px;color:#c9a35c;border:1px solid rgba(201,163,92,.3);
  border-radius:3px;padding:1px 5px;white-space:nowrap;
}

/* 战斗框 */
#tab-adv .adv-stage{
  min-height:250px!important;
  border:2px solid rgba(201,163,92,.48)!important;
  border-radius:6px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 28px rgba(0,0,0,.35)!important;
  padding:12px 10px 8px!important;
  background-color:#0a0d0b!important;
}
#tab-adv .adv-stage::before{
  background:linear-gradient(180deg,rgba(3,6,5,.36),transparent 40%,rgba(3,6,5,.56))!important;
}
#tab-adv .adv-stage::after{
  background:linear-gradient(90deg,transparent,rgba(201,163,92,.42),transparent)!important;
}
#tab-adv .adv-side{min-height:170px!important}
#tab-adv .adv-name{font-size:9px!important;color:#e9dcc0!important}
#tab-adv .adv-vs{color:#c9a35c!important;font-family:"Songti SC",serif;text-shadow:0 0 10px rgba(201,163,92,.3)}

/* 底部七格导航 */
.tabs{
  background:linear-gradient(180deg,#140e09,#090605)!important;
  border-top:1px solid rgba(201,163,92,.42)!important;
  padding:4px 4px calc(3px + env(safe-area-inset-bottom))!important;
  box-shadow:0 -4px 18px rgba(0,0,0,.55);
}
.tabs button{
  margin:0 2px!important;padding:5px 0 4px!important;
  border:1px solid rgba(201,163,92,.18)!important;border-radius:4px!important;
  background:linear-gradient(180deg,rgba(48,34,22,.45),rgba(12,9,6,.5))!important;
  color:#8f7d60!important;font-size:9px!important;letter-spacing:.04em!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:1px;line-height:1.15!important;
}
.tabs button::before{
  display:block;font-size:16px;line-height:1;margin-bottom:1px;
  filter:sepia(.8) saturate(.75) brightness(.9);
}
.tabs button[data-tab="adv"]::before{content:"⚔"}
.tabs button[data-tab="raid"]::before{content:"🍺"}
.tabs button[data-tab="mate"]::before{content:"🛡"}
.tabs button[data-tab="chat"]::before{content:"💬"}
.tabs button[data-tab="conq"]::before{content:"⚑"}
.tabs button[data-tab="bag"]::before{content:"🎒"}
.tabs button[data-tab="town"]::before{content:"🏰"}
.tabs button.on{
  color:#f0d290!important;border-color:rgba(201,163,92,.55)!important;
  background:linear-gradient(180deg,rgba(101,70,38,.55),rgba(30,20,12,.7))!important;
  box-shadow:inset 0 1px 0 rgba(255,230,170,.12),0 0 9px rgba(201,163,92,.12);
}
.tabs button.on::after{
  bottom:1px!important;width:14px!important;height:2px!important;background:#e7c173!important;
}
@media(max-width:520px){
  #tab-adv .adv-stage{min-height:225px!important}
  #tab-adv .adv-side{min-height:155px!important}
  .adv-parchment b{font-size:18px}
  .tabs button{font-size:8.5px!important;padding:4px 0 3px!important}
  .tabs button::before{font-size:15px}
}

/* 卡片/按钮统一金边 */
.card,.sec,.item-card,.board,.attr-panel,.mate{
  border-color:rgba(201,163,92,.25)!important;
  background:linear-gradient(180deg,rgba(27,20,13,.92),rgba(12,9,6,.96))!important;
}
.primary{
  background:linear-gradient(180deg,#e0bd78,#a87935)!important;
  border:1px solid #f0d290!important;color:#1b1004!important;
  box-shadow:0 3px 10px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.35)!important;
}

/* ===== 暗金材质：木纹 / 羊皮纸 / 战斗背景 ===== */
body{
  background:
    radial-gradient(900px 600px at 50% -12%, rgba(226,170,88,.14), transparent 62%),
    linear-gradient(180deg,rgba(4,3,2,.45),rgba(4,3,2,.70)),
    url('/ui/textures/wood-dark.jpg') center top/cover fixed!important;
}
.top{
  background:
    linear-gradient(180deg,rgba(10,7,4,.74),rgba(8,5,3,.92)),
    url('/ui/textures/wood-dark.jpg') center top/cover!important;
  border-bottom-color:rgba(226,192,122,.38)!important;
}
.tabs{
  background:
    linear-gradient(180deg,rgba(10,7,4,.78),rgba(5,3,2,.96)),
    url('/ui/textures/wood-dark.jpg') center bottom/cover!important;
}
.card,.sec,.item-card,.board,.attr-panel,.mate{
  background:
    linear-gradient(180deg,rgba(20,14,9,.86),rgba(8,6,4,.94)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
  border-color:rgba(201,163,92,.34)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,230,170,.04);
}
#tab-adv .adv-stage{
  background:
    linear-gradient(180deg,rgba(2,5,5,.10),rgba(2,4,4,.28)),
    url('/ui/textures/battle-forest.jpg') center center/cover!important;
  border-color:rgba(226,192,122,.62)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.62),inset 0 0 0 1px rgba(0,0,0,.75),inset 0 0 36px rgba(0,0,0,.45)!important;
}
#adv-bg{
  background-size:cover!important;
  background-position:center 42%!important;
  opacity:.98!important;
}
.adv-parchment{
  background:
    linear-gradient(180deg,rgba(255,238,201,.08),rgba(60,38,18,.20)),
    url('/ui/textures/parchment-inner.jpg') center 42%/cover!important;
  border-color:rgba(86,56,27,.85)!important;
  border-left-color:rgba(92,58,26,.95)!important;
  border-right-color:rgba(92,58,26,.95)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.55),inset 0 0 22px rgba(74,44,18,.22)!important;
}
.adv-parchment-kicker{color:#6f4c26!important;font-weight:700}
.adv-parchment b{color:#33200f!important;text-shadow:0 1px 0 rgba(255,244,210,.6),0 2px 3px rgba(70,35,8,.25)!important}
.adv-parchment em{color:#4f3216!important;border-color:rgba(70,43,18,.55)!important;background:rgba(255,241,205,.20)!important}
.adv-caption{
  background:
    linear-gradient(180deg,rgba(255,244,212,.15),rgba(74,44,18,.12)),
    url('/ui/textures/parchment-inner.jpg') center 58%/cover!important;
  border-color:rgba(82,52,24,.8)!important;
  box-shadow:0 3px 12px rgba(0,0,0,.45),inset 0 0 14px rgba(95,60,26,.15)!important;
}
#adv-caption-text{color:#3a2512!important;text-shadow:0 1px 0 rgba(255,246,215,.4)}
.adv-log-toggle{color:#5b3b1c!important;border-color:rgba(82,52,24,.5)!important;background:rgba(255,244,212,.18)!important}
.adv-reward-bar{
  background:
    linear-gradient(180deg,rgba(15,10,6,.75),rgba(8,5,3,.88)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
  border-color:rgba(201,163,92,.38)!important;
}
.arb-title{color:#e0bd7b!important}
.arb-chip{color:#d8c29b!important;border-color:rgba(201,163,92,.35)!important;background:rgba(30,20,12,.62)!important}
.arb-more{color:#c8d9cf!important;border-color:rgba(160,200,190,.35)!important}

/* 酒馆：宝箱可收起 + 牌局入口不再被顶出屏幕 */
#tab-raid{overflow-y:auto!important;padding:10px 12px calc(22px + env(safe-area-inset-bottom))!important}
#tab-raid .ecp{margin:0 0 10px!important}
#tab-raid .ecp summary{list-style:none;cursor:pointer;outline:none}
#tab-raid .ecp summary::-webkit-details-marker{display:none}
#tab-raid .ecp .ecp-toggle::after{content:"展开"}
#tab-raid .ecp[open] .ecp-toggle::after{content:"收起"}
.ecp-toggle{
  margin-left:auto;flex:0 0 auto;padding:2px 8px;
  border:1px solid rgba(201,163,92,.38);border-radius:3px;
  background:rgba(201,163,92,.08);color:#e2c07a;font-size:9px;cursor:pointer;
}
#tab-raid .coming-soon{
  min-height:0!important;padding:24px 16px!important;
  border-style:solid!important;border-color:rgba(201,163,92,.34)!important;
  background:
    linear-gradient(180deg,rgba(24,16,10,.82),rgba(8,5,3,.93)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
  color:#e2c07a;
}
#tab-raid .coming-title{color:#f0d7a3!important;text-shadow:0 2px 4px #000}
#tab-raid .coming-text{color:#d6b879!important}
#tab-raid .coming-sub{color:#a89170!important}
#tab-raid .coming-icon{filter:none!important;opacity:1!important}
#tab-raid #btn-ember{margin-top:12px!important;min-width:190px;color:#1c1004!important}

/* ===== 登录 / 建号 / 剧情：暗金西幻外框 ===== */
#login,#create{
  position:relative;isolation:isolate;
  background:
    radial-gradient(70% 60% at 50% 30%,rgba(201,163,92,.10),transparent 68%),
    linear-gradient(180deg,rgba(5,4,3,.32),rgba(5,4,3,.74)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
}
#login::before,#create::before{
  content:"";position:absolute;inset:12px;z-index:-1;pointer-events:none;
  border:1px solid rgba(201,163,92,.30);border-radius:6px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),inset 0 0 40px rgba(0,0,0,.45);
}
#login .logo,#create .logo{
  font-family:"Songti SC","Noto Serif SC",serif!important;
  color:#f2dca9!important;font-weight:700!important;
  letter-spacing:.28em!important;text-indent:.28em!important;
  text-shadow:0 2px 0 #2a1708,0 0 22px rgba(240,190,95,.28),0 4px 18px #000!important;
}
#login .sub,#create .sub{color:#c9ad7e!important;letter-spacing:.16em!important}
#login input,#create input,#create select{
  background:linear-gradient(180deg,rgba(29,20,13,.95),rgba(12,8,5,.96))!important;
  border:1px solid rgba(201,163,92,.38)!important;
  color:#f0dfbd!important;border-radius:4px!important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.55),0 1px 0 rgba(255,235,190,.05)!important;
}
#login input::placeholder,#create input::placeholder{color:#8e795e!important}
#login input:focus,#create input:focus,#create select:focus{
  border-color:rgba(240,210,144,.75)!important;
  box-shadow:0 0 0 2px rgba(201,163,92,.12),inset 0 2px 8px rgba(0,0,0,.55)!important;
}
#login .primary,#create .primary{
  border-radius:4px!important;
  letter-spacing:.18em!important;font-weight:700!important;
}
#login .tip,#login .forgot,#create .tip,#create .sdesc{color:#9b8668!important}
#login .err,#create .err{color:#e39386!important}

/* 法律确认 / 弹窗 */
.legal-gate{
  background:
    radial-gradient(70% 60% at 50% 28%,rgba(201,163,92,.14),transparent 66%),
    linear-gradient(180deg,rgba(4,3,2,.55),rgba(4,3,2,.86)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
}
.legal-card{
  background:
    linear-gradient(180deg,rgba(27,19,12,.96),rgba(9,6,4,.98))!important;
  border:1px solid rgba(201,163,92,.55)!important;
  border-radius:5px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.8),inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 34px rgba(0,0,0,.4)!important;
}
.legal-kicker{color:#c9a35c!important;letter-spacing:.22em!important}
.legal-card h2{font-family:"Songti SC","Noto Serif SC",serif;color:#f1d9a7!important;letter-spacing:.1em}
.legal-card .legal-sub,.legal-card .legal-foot{color:#9b8668!important}
.legal-card a{color:#e2c07a!important}
.legal-check{color:#d8c6a5!important}

/* 剧情/通用暗金面板 */
.story-inner{
  background:
    linear-gradient(180deg,rgba(255,244,214,.08),rgba(50,30,14,.12)),
    url('/ui/textures/parchment-inner.jpg') center/cover!important;
  border:1px solid rgba(84,53,24,.8)!important;
  border-radius:4px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.8),inset 0 0 26px rgba(80,45,15,.2)!important;
}
.story-title{color:#3a2411!important;font-family:"Songti SC","Noto Serif SC",serif}
.story-text{color:#4a311b!important}
.menu-sheet,.modal,.picker{
  border-color:rgba(201,163,92,.38)!important;
  background:linear-gradient(180deg,rgba(24,17,11,.98),rgba(8,5,3,.99))!important;
  border-radius:4px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.8)!important;
}

/* 背包/角色/主城/组队页的统一标题 */
.sec-title,.bag-hero .bag-plate,.tm-sec-t,.srow .stitle,.board-head{
  font-family:"Songti SC","Noto Serif SC",serif!important;
  color:#e7cc96!important;letter-spacing:.08em!important;
}
.sec-title{border-left:2px solid #c9a35c;padding-left:7px}
.bag-figure,.equip-slot,.tm-card,.item-card,.mate{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),0 3px 10px rgba(0,0,0,.28);
}
.bag-figure{
  border:1px solid rgba(201,163,92,.35)!important;
  border-radius:4px!important;
  background:
    radial-gradient(70% 65% at 50% 45%,rgba(201,163,92,.13),transparent 70%),
    linear-gradient(180deg,rgba(28,20,13,.9),rgba(9,6,4,.95))!important;
}
.equip-slot{
  border-color:rgba(201,163,92,.28)!important;
  background:linear-gradient(180deg,rgba(31,22,14,.92),rgba(11,8,5,.95))!important;
  border-radius:3px!important;
}
.item-card.q-legendary,.item-card.q-mythic,.item-card.q-divine{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),0 0 18px rgba(201,163,92,.10)!important;
}

/* 轻提示统一金框 */
#toast,#reward-toast{
  border:1px solid rgba(201,163,92,.5)!important;
  background:linear-gradient(180deg,rgba(38,26,16,.97),rgba(12,8,5,.98))!important;
  color:#f0d7a3!important;
  box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 0 0 1px rgba(0,0,0,.5)!important;
}

/* 战斗奖励：物品卡格 */
.adv-reward-bar{align-items:stretch!important;gap:6px!important}
.arb-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:58px;min-height:68px;padding:5px 3px 4px;
  border:1px solid rgba(201,163,92,.34);border-radius:3px;
  background:linear-gradient(180deg,rgba(45,31,18,.92),rgba(12,8,5,.96));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),0 2px 7px rgba(0,0,0,.4);
  flex:0 0 auto;position:relative;overflow:hidden;
}
.arb-card::after{content:"";position:absolute;inset:2px;border:1px solid rgba(255,230,175,.06);pointer-events:none}
.arb-ic{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.arb-glyph{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:22px;line-height:1;filter:drop-shadow(0 0 5px rgba(240,190,95,.45))}
.arb-nm{display:block;width:100%;margin-top:2px;font-size:8px;line-height:1.15;color:#e3cfaa;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arb-num{position:absolute;right:3px;bottom:2px;font-size:8px;color:#f3d38d;font-weight:600;text-shadow:0 1px 2px #000}
.arb-card.equip{border-color:rgba(226,192,122,.55)}
.arb-card.gold{border-color:rgba(226,192,122,.50)}
.arb-more{display:flex;align-items:center;justify-content:center;min-width:54px;font-size:8.5px;color:#c8d9d0;border:1px dashed rgba(201,163,92,.35);border-radius:3px;padding:4px;background:rgba(15,10,6,.7)}
@media(max-width:520px){
  .arb-card{width:52px;min-height:62px}
  .arb-ic,.arb-glyph{width:24px;height:24px}
  .arb-nm{font-size:7.5px}
}

/* 战斗框暗金雕花角 */
.stage-corners{position:absolute;inset:3px;z-index:4;pointer-events:none}
.stage-corners i{position:absolute;display:block;width:58px;height:58px;background-repeat:no-repeat;background-size:contain;opacity:.92;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}
.stage-corners .tl{left:0;top:0;background-image:url('/ui/frames/tl.png')}
.stage-corners .tr{right:0;top:0;background-image:url('/ui/frames/tr.png')}
.stage-corners .bl{left:0;bottom:0;background-image:url('/ui/frames/bl.png')}
.stage-corners .br{right:0;bottom:0;background-image:url('/ui/frames/br.png')}
@media(max-width:520px){.stage-corners i{width:42px;height:42px}}

/* 底部导航：豆包生成的暗金图标 */
.tabs button{font-size:8.5px!important;padding-top:4px!important}
.tabs button::before{
  content:""!important;display:block!important;width:23px!important;height:23px!important;
  margin:0 auto 1px!important;background-repeat:no-repeat!important;
  background-position:center!important;background-size:contain!important;
  filter:brightness(.92) drop-shadow(0 1px 2px rgba(0,0,0,.8));opacity:.92;
}
.tabs button[data-tab="adv"]::before{background-image:url('/ui/icons/nav-adv.webp')!important}
.tabs button[data-tab="raid"]::before{background-image:url('/ui/icons/nav-raid.webp')!important}
.tabs button[data-tab="mate"]::before{background-image:url('/ui/icons/nav-mate.webp')!important}
.tabs button[data-tab="chat"]::before{background-image:url('/ui/icons/nav-chat.webp')!important}
.tabs button[data-tab="conq"]::before{background-image:url('/ui/icons/nav-conq.webp')!important}
.tabs button[data-tab="bag"]::before{background-image:url('/ui/icons/nav-bag.webp')!important}
.tabs button[data-tab="town"]::before{background-image:url('/ui/icons/nav-town.webp')!important}
.tabs button.on::before{filter:brightness(1.22) drop-shadow(0 0 5px rgba(240,190,95,.55));opacity:1}
.btn-gear{
  font-size:0!important;
  background-image:url('/ui/icons/nav-gear.webp')!important;
  background-size:17px 17px!important;background-repeat:no-repeat!important;background-position:center!important;
}
.btn-bell{font-size:12px!important}
@media(max-width:520px){.tabs button::before{width:21px!important;height:21px!important}}

/* ===== 主城 / 角色背包 / 组队：页面头与分区 ===== */
.page-head{
  position:relative;flex:0 0 auto;margin:2px 0 9px;padding:9px 14px 10px;
  border:1px solid rgba(201,163,92,.42);border-radius:4px;overflow:hidden;
  background:
    url('/ui/frames/tl.png') left top/36px 36px no-repeat,
    url('/ui/frames/br.png') right bottom/36px 36px no-repeat,
    linear-gradient(180deg,rgba(38,26,16,.96),rgba(12,8,5,.97)),
    url('/ui/textures/wood-dark.jpg') center/cover;
  box-shadow:0 4px 16px rgba(0,0,0,.45),inset 0 0 22px rgba(0,0,0,.3);
}
.page-head::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,163,92,.45),transparent)}
.page-head-kicker{display:block;font-size:7px;letter-spacing:.22em;color:#8f7550;margin-bottom:2px}
.page-head-row{display:flex;align-items:baseline;gap:9px;min-width:0}
.page-head-row b{font-family:"Songti SC","Noto Serif SC",serif;font-size:20px;letter-spacing:.1em;color:#efd7a7;text-shadow:0 2px 3px #000}
.page-head-sub{font-size:8px;color:#b7a17e;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-bag .page-head-row b{color:#efd7a7}

#tab-bag,#tab-town,#tab-mate{padding-left:12px!important;padding-right:12px!important}
#tab-bag .sec,#tab-town .sec,#tab-mate .sec{
  margin:0 0 10px!important;padding:10px 11px!important;
  border:1px solid rgba(201,163,92,.25)!important;border-radius:4px!important;
  background:
    linear-gradient(180deg,rgba(24,17,11,.88),rgba(8,6,4,.96)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
  box-shadow:0 3px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,230,175,.04);
}
#tab-bag .sec-title,#tab-town .sec-title,#tab-mate .sec-title{font-size:12px!important;margin-bottom:7px}
#tab-bag .bag-hero{
  border:1px solid rgba(201,163,92,.38)!important;border-radius:4px!important;
  margin-bottom:10px!important;overflow:hidden;
  background:
    radial-gradient(60% 52% at 50% 40%,rgba(201,163,92,.10),transparent 70%),
    linear-gradient(180deg,rgba(18,26,24,.9),rgba(7,11,10,.97))!important;
}
#tab-bag .bag-figure{border-color:rgba(201,163,92,.5)!important}
#tab-bag .bag-stats{gap:5px}
#tab-bag .bag-stat{border-radius:3px!important;background:rgba(9,7,5,.7)!important}
#tab-bag .bag-inv{margin-top:0!important}

#tab-town .town-nav{
  gap:5px!important;padding:0 0 9px!important;
  overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;
}
#tab-town .town-nav::-webkit-scrollbar{display:none}
#tab-town .town-nav button{
  flex:0 0 auto;border-radius:3px!important;border:1px solid rgba(201,163,92,.32)!important;
  background:linear-gradient(180deg,rgba(47,32,19,.9),rgba(12,8,5,.95))!important;
  color:#cdb58b!important;font-size:10.5px!important;padding:6px 11px!important;
}
#tab-town .town-nav button.on{color:#f2d59b!important;border-color:rgba(226,192,122,.65)!important;background:linear-gradient(180deg,rgba(92,63,32,.9),rgba(27,18,11,.95))!important}

#tab-mate .rulesbox{
  border:1px solid rgba(201,163,92,.22)!important;border-radius:4px!important;
  background:rgba(12,8,5,.62)!important;margin-bottom:9px!important;
}
#tab-mate .rulesbox summary{color:#d8bd8c!important}
#tab-mate .counter-strip{border-color:rgba(201,163,92,.24)!important;border-radius:4px!important}
#tab-mate .tm-card,#tab-mate .mate{
  border-color:rgba(201,163,92,.25)!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,rgba(29,21,14,.92),rgba(9,6,4,.96))!important;
}
#tab-mate .tm-av{border-radius:3px!important;border:1px solid rgba(201,163,92,.2)}

@media(max-width:520px){
  .page-head{padding:8px 11px 9px;background-size:30px 30px,30px 30px,cover,cover}
  .page-head-row b{font-size:18px}
  .page-head-sub{font-size:7.5px}
}

/* 组队详细资料：暗金卡 */
.mate-profile{
  width:min(96vw,440px)!important;max-height:90vh!important;
  padding:14px 15px calc(12px + env(safe-area-inset-bottom))!important;
  background:
    linear-gradient(180deg,rgba(30,20,13,.97),rgba(8,6,4,.99)),
    url('/ui/textures/wood-dark.jpg') center/cover!important;
  border:1px solid rgba(201,163,92,.52)!important;
  border-radius:5px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.85),inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 32px rgba(0,0,0,.32)!important;
}
.mp-head{align-items:flex-start!important;gap:12px!important;padding-right:20px!important}
.mp-av{
  width:84px!important;height:106px!important;border-radius:4px!important;
  border:1px solid rgba(201,163,92,.45)!important;
  background:radial-gradient(60% 50% at 50% 35%,rgba(201,163,92,.13),rgba(0,0,0,.35))!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),0 4px 14px rgba(0,0,0,.45);
}
.mp-id{flex:1;min-width:0}
.mp-name{font-size:18px!important;letter-spacing:.05em;text-shadow:0 2px 3px #000}
.mp-meta{font-size:9.5px!important;color:#b6a17e!important;line-height:1.55}
.mp-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.mp-tag{font-size:8.5px;color:#d6bd8e;border:1px solid rgba(201,163,92,.3);background:rgba(201,163,92,.07);border-radius:3px;padding:1px 5px}
.mp-bars{display:flex;flex-direction:column;gap:4px;margin:3px 0 8px}
.mp-bar{position:relative;height:14px;border:1px solid rgba(201,163,92,.24);border-radius:3px;background:#160f0a;overflow:hidden}
.mp-bar i{display:block;height:100%;width:100%;transition:width .25s}
.mp-bar i.hp{background:linear-gradient(90deg,#8c2926,#d95a4e)}
.mp-bar i.mp-mp{background:linear-gradient(90deg,#2d4c70,#6c9ec9)}
.mp-bar span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:8.5px;color:#f2dfc0;text-shadow:0 1px 2px #000}
.mp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 9px}
.mp-stat{background:rgba(0,0,0,.28);border:1px solid rgba(201,163,92,.18);border-radius:3px;padding:4px 2px;text-align:center}
.mp-stat span{display:block;font-size:7.5px;color:#9d896a}
.mp-stat b{display:block;font-size:12px;color:#eed9b2;font-weight:600;margin-top:1px}
.mp-eq-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#c9a35c;letter-spacing:.1em;margin:2px 0 5px}
.mp-eq-title span{font-size:8px;color:#9c8a70}
.mp-eq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:8px}
.mp-eq-slot{position:relative;min-height:54px;border:1px solid rgba(201,163,92,.2);border-radius:3px;background:rgba(0,0,0,.3);padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden}
.mp-eq-slot.has{border-color:rgba(201,163,92,.42);background:linear-gradient(180deg,rgba(59,39,22,.55),rgba(15,10,6,.65))}
.mp-eq-slot img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 3px #000)}
.mp-eq-slot b{font-size:7.5px;font-weight:500;color:#9e8a6b;line-height:1.1}
.mp-eq-slot i{font-style:normal;font-size:7px;color:#d8c39c;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-eq-empty{font-size:16px;color:#5f5547;line-height:28px}
.mp-quote{margin:5px 0!important}
.mp-bg{max-height:74px;overflow-y:auto;font-size:10px!important;color:#b8aa93!important}
.mp-skill{padding:5px 7px!important;margin-top:5px!important;border-color:rgba(201,163,92,.2)!important;background:rgba(0,0,0,.23)!important}
.mp-skill b{font-size:10px!important;color:#e2c68f!important}
.mp-skill span{font-size:9px!important;color:#b0a38d!important;line-height:1.6!important}
.mp-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid rgba(201,163,92,.22)}
.mp-actions .mini{flex:1 1 auto;min-width:88px;border-radius:3px}
@media(max-width:520px){
  .mp-av{width:74px!important;height:94px!important}
  .mp-name{font-size:16px!important}
  .mp-stats{gap:3px}
  .mp-stat b{font-size:11px}
}
