/* 20261022k 大厅 10 张玩法卡：「联建村极速战」卡片样式（.spd-card），大小统一、一卡一行；各玩法保留自己的色系；关闭/未开放置灰（.mc-off）。
 * 原 #menu-main 两个大按钮、原 8 张玩法卡（放进隐藏的 #mode-store）、#btn-peak 兜底按钮不在大厅显示。点卡进入二级页（#mode-page，见 lobby-quick.js） */
#splash #menu-main,#splash #btn-peak{display:none !important}
#mode-store[hidden]{display:none !important}
.mode-cards{display:flex;flex-direction:column;gap:8px;width:min(560px,100%);margin:0 auto;box-sizing:border-box}
#splash .mc.speed-lobby{margin:0 auto;width:min(560px,100%);max-width:560px;flex-shrink:0}
.mc .spd-card{min-height:70px;box-sizing:border-box;border-color:var(--mc-bd,#ffb02e);background:var(--mc-bg,repeating-linear-gradient(115deg, rgba(255,220,80,.10) 0 10px, transparent 10px 30px), linear-gradient(100deg,#7a0d06 0%,#c0280c 45%,#e8740e 80%,#ffb81e 100%));box-shadow:0 0 18px var(--mc-glow,rgba(255,120,20,.35)),inset 0 0 18px rgba(0,0,0,.35)}
.mc .spd-ic{background:var(--mc-ic,radial-gradient(#fff6c0,#ffb000 60%,#c04000));box-shadow:0 0 14px var(--mc-glow,rgba(255,200,40,.8))}
.mc .spd-tx b{text-shadow:0 2px 0 var(--mc-sh,#5a0a00),0 0 12px var(--mc-glow,rgba(255,180,40,.8))}
.mc .spd-tx small{color:var(--mc-sub,#ffe2b0);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mc .spd-go{background:var(--mc-go,#fff1b8);color:var(--mc-gofg,#7a1500)}
.mc-solo{--mc-bd:#f1d27a;--mc-bg:repeating-linear-gradient(115deg,rgba(255,236,170,.08) 0 10px,transparent 10px 30px),linear-gradient(100deg,#2a1c04 0%,#5a3a08 45%,#9a6a14 80%,#d4a43a 100%);--mc-glow:rgba(241,210,122,.45);--mc-ic:radial-gradient(#fff8dc,#f1d27a 58%,#7a5208);--mc-sh:#2a1a00;--mc-sub:#f5e2b0;--mc-go:#fff3c8;--mc-gofg:#5a3a00}
.mc-online{--mc-bd:#3fe0e0;--mc-bg:repeating-linear-gradient(115deg,rgba(120,255,255,.08) 0 10px,transparent 10px 30px),linear-gradient(100deg,#2a0c1a 0%,#5a1440 45%,#1a6a7a 80%,#3fc8d0 100%);--mc-glow:rgba(63,224,224,.45);--mc-ic:radial-gradient(#e8ffff,#3fe0e0 58%,#0a4a5a);--mc-sh:#1a0410;--mc-sub:#c8f4f4;--mc-go:#dcffff;--mc-gofg:#0a3a44}
.mc-moyu{--mc-bd:#5fd3c0;--mc-bg:repeating-radial-gradient(circle at 18% 120%,rgba(160,255,235,.10) 0 6px,transparent 6px 22px),linear-gradient(100deg,#05343a 0%,#0b6b6a 45%,#1f9c88 78%,#7fd6a6 100%);--mc-glow:rgba(110,240,210,.5);--mc-ic:radial-gradient(#e9fff8,#59d6be 60%,#0b6058);--mc-sh:#032a2c;--mc-sub:#c4f5ea;--mc-go:#dffcf3;--mc-gofg:#064a45}
.mc-luandou{--mc-bd:#d59bff;--mc-bg:repeating-linear-gradient(45deg,rgba(255,210,120,.10) 0 8px,transparent 8px 24px),linear-gradient(100deg,#2a0948 0%,#5b1890 42%,#a22d9c 75%,#f0a23a 100%);--mc-glow:rgba(190,90,255,.45);--mc-ic:radial-gradient(#fff3d6,#ffb84a 55%,#7a2a9a);--mc-sh:#22053d;--mc-sub:#f1d6ff;--mc-go:#ffe9b8;--mc-gofg:#4a0f6e}
.mc-tongxin{--mc-bd:#64f0dc;--mc-bg:repeating-linear-gradient(115deg,rgba(150,255,240,.08) 0 10px,transparent 10px 30px),linear-gradient(100deg,#0a1230 0%,#16305a 45%,#1a6a8a 80%,#3ac8c0 100%);--mc-glow:rgba(100,240,220,.42);--mc-ic:radial-gradient(#f0fffc,#64f0dc 58%,#123a5a);--mc-sh:#06102a;--mc-sub:#c6f2ee;--mc-go:#dcfff9;--mc-gofg:#0a3448}
.mc-tribe{--mc-bd:#5fc28f;--mc-bg:repeating-linear-gradient(115deg,rgba(170,255,210,.08) 0 10px,transparent 10px 30px),linear-gradient(100deg,#04261a,#0d5a3a 50%,#2f9a66);--mc-glow:rgba(95,194,143,.45);--mc-ic:radial-gradient(#eafff2,#5fc28f 58%,#0d4a2c);--mc-sh:#02180e;--mc-sub:#c0ecd3;--mc-go:#dcffea;--mc-gofg:#063a20}
.mc-peak{--mc-bd:#6aaaf0;--mc-bg:repeating-linear-gradient(115deg,rgba(180,220,255,.08) 0 10px,transparent 10px 30px),linear-gradient(100deg,#03142e,#0b3466 50%,#2a6ab8);--mc-glow:rgba(106,170,240,.45);--mc-ic:radial-gradient(#ffe3c0,#f08a2a 58%,#5a2000);--mc-sh:#020a1a;--mc-sub:#b9d6f5;--mc-go:#ffe2bd;--mc-gofg:#5a2400}
.mc-chfire{--mc-bd:#c8e86a;--mc-bg:radial-gradient(120% 70% at 20% 130%,rgba(255,170,40,.28),transparent 60%),linear-gradient(100deg,#0e1f04,#2c4a08 50%,#6a8e16);--mc-glow:rgba(200,232,106,.42);--mc-ic:radial-gradient(#fff6c8,#ffb43a 50%,#7a9a12);--mc-sh:#0a1402;--mc-sub:#d6eaa8;--mc-go:#f1ffc4;--mc-gofg:#2e4200}
.mc-pk{--mc-bd:#e0a64a;--mc-bg:repeating-linear-gradient(0deg,rgba(255,226,150,.10) 0 2px,transparent 2px 14px),linear-gradient(100deg,#2a1804,#5a3408 50%,#a8701a);--mc-glow:rgba(224,166,74,.45);--mc-ic:radial-gradient(#fff4d6,#e0a64a 58%,#5a3404);--mc-sh:#1a0e00;--mc-sub:#f2dcb0;--mc-go:#ffeec8;--mc-gofg:#5a3400}
.mc.mc-off .spd-card{filter:grayscale(1);opacity:.42;border-style:dashed}
.mc.mc-off .spd-card::after{animation:none;display:none}
.mc.mc-off .spd-go{visibility:hidden}

/* 20261022k 统一玩法二级页（同「联网对战」二级页：全屏覆盖、顶部「‹ 返回大厅」）；层级低于站内弹窗 #modal（150），站内弹窗/对局结算照常盖在上面 */
#mode-page.mode-ov{position:fixed;inset:0;z-index:140;width:100%;margin:0;padding:0 14px 28px;background:#050505;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;gap:12px;box-sizing:border-box}
#mode-page.mode-ov.hidden{display:none !important}
#mode-page .ov-bar{position:sticky;top:0;z-index:2;width:100%;max-width:560px;display:flex;align-items:center;justify-content:space-between;padding:12px 0 8px;background:#050505}
#mode-page .ov-back{width:auto !important;padding:7px 12px;border-radius:999px;border:1px solid #d4af37;background:#140e04;color:#f3d36a;font-size:14px;cursor:pointer}
#mode-page .ov-title{color:#f3d36a;font:600 18px/1.2 "Noto Serif SC",serif;letter-spacing:.2em;text-align:center}
#mode-page .ov-sp{width:86px}
#mode-page .mode-body{width:min(560px,100%);display:flex;flex-direction:column;gap:10px}
#mode-page .mode-body > *{width:100% !important;max-width:none !important;margin:0 !important}
@media (min-width:700px){#mode-page.mode-ov{padding-top:30px}}
body.mode-page-open{overflow:hidden}

/* 马桥争霸榜推广卡：旧推广位专用，20261025c 起不再显示 */
#zbr-lobby{display:none}

/* ===== 20261022o 大厅「物间锋娅 · 最新」：闭关修炼玩法卡正上方，占满内容区宽度；高度接近修为榜卡；一排封面卡横向滚动 ===== */
#splash > #wjfy-lobby{width:100%;max-width:none;align-self:stretch;flex-shrink:0;box-sizing:border-box}
#splash > #wjfy-lobby.hidden{display:none !important}
.wjfy-lobby{position:relative;padding:8px 0 8px;border-radius:12px;border:1px solid rgba(212,175,55,.55);background:radial-gradient(120% 80% at 100% 0,rgba(190,200,220,.12),transparent 60%),linear-gradient(170deg,#141210,#07080a);color:#f3e0a6;font-family:"Noto Serif SC",serif;overflow:hidden}
.wj-h{display:flex;align-items:center;gap:8px;padding:0 10px 6px}
.wj-ti{font-size:15px;letter-spacing:.08em;color:#ffe39a;white-space:nowrap}
.wj-more{margin-left:auto;font-size:12px;color:#d4af37;text-decoration:none;padding:2px 8px;border:1px solid rgba(212,175,55,.45);border-radius:999px;white-space:nowrap}
.wj-more:hover{color:#ffe39a;border-color:#ffe39a}
.wj-row{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 10px 4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.4) transparent;cursor:grab;user-select:none;-webkit-user-select:none}
.wj-row.drag{cursor:grabbing;scroll-snap-type:none}
.wj-row::-webkit-scrollbar{height:4px}.wj-row::-webkit-scrollbar-thumb{background:rgba(212,175,55,.4);border-radius:4px}
.wj-c{flex:0 0 auto;width:144px;display:flex;flex-direction:column;gap:3px;text-decoration:none;color:inherit;scroll-snap-align:start;-webkit-user-drag:none}
.wj-img{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#1e1a14,#0c0b09);box-shadow:inset 0 0 0 1px rgba(212,175,55,.25)}
.wj-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.wj-k{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10px;line-height:1;padding:3px 5px;border-radius:999px;background:rgba(0,0,0,.62);color:#f3e0a6}
.wj-t{font-size:12.5px;line-height:1.3;font-weight:700;color:#f3e0a6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;word-break:break-all}
.wj-d{font-size:10.5px;color:#8f7a4f}
.wj-c:hover .wj-t{color:#ffe39a}.wj-c:hover .wj-img{box-shadow:inset 0 0 0 1px #ffe39a}
.wj-end{flex:0 0 auto;align-self:center;width:56px;text-align:center;font-size:11px;color:#8f7a4f}
@media (min-width:700px){.wj-c{width:196px}}

/* ===== 20261022t 闭关修炼 / 联网对战：修为/战力榜正下方一行两卡（半宽，仍为极速战卡片样式，整卡可点） ===== */
#splash > .mode-cards-top{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(560px,100%);margin:0 auto;flex-shrink:0}
#splash .mode-cards-top > .mc.speed-lobby{width:auto;max-width:none;min-width:0;margin:0}
.mode-cards-top .mc .spd-card{height:100%;gap:8px;padding:10px 10px}
.mode-cards-top .spd-ic{width:36px;height:36px;font-size:22px}
.mode-cards-top .spd-tx b{font-size:16px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mode-cards-top .spd-tx small{font-size:11px}
.mode-cards-top .spd-go{padding:5px 10px;letter-spacing:.04em}
@media (max-width:520px){
  .mode-cards-top .mc .spd-card{padding:9px 8px;gap:6px;min-height:64px}
  .mode-cards-top .spd-ic{width:30px;height:30px;font-size:18px}
  .mode-cards-top .spd-tx b{font-size:15px}
  .mode-cards-top .spd-tx small{font-size:10.5px}
  .mode-cards-top .spd-acts{display:none}
}

/* ===== 20261023l 大厅「望海村械斗地图」：推广位正下方带框的一组（推广位=友好村祝福时紧跟祝福墙；其余推广位时 order:-1 排在推广位模块之后） ===== */
#splash > #zbm-lobby{width:min(560px,100%);box-sizing:border-box;flex-shrink:0}
#splash > #zbm-lobby.hidden{display:none !important}
/* 20261027t 地图成独立模块：大厅首页原位置默认不显示（管理端选「大厅首页」时 <html> 加 .zbm-home-on）；也可整块搬进广告位 / 宣传位 */
html:not(.zbm-home-on) #splash > #zbm-lobby{display:none !important}
.ad-slot > #zbm-lobby,.lp-slot > #zbm-lobby{width:100%;box-sizing:border-box;margin:0;flex-shrink:0}
.ad-slot > #zbm-lobby.hidden,.lp-slot > #zbm-lobby.hidden{display:none !important}
.zbm-card{padding:8px 10px 8px;border-radius:12px;border:1px solid rgba(212,175,55,.6);background:radial-gradient(120% 80% at 100% 0,rgba(212,175,55,.14),transparent 60%),linear-gradient(170deg,#1a1408,#07080a);color:#f3e0a6;box-shadow:0 0 0 1px rgba(0,0,0,.4) inset}
.zbm-h{display:flex;align-items:baseline;gap:8px;cursor:pointer;margin:0 0 6px;min-width:0}
.zbm-h b{font-size:15px;color:#f3d36a;letter-spacing:.5px;white-space:nowrap}
.zbm-h small{flex:1;min-width:0;font-size:11.5px;opacity:.72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zbm-h em{font-style:normal;color:#d4af37;font-size:16px}
.zbm-map{position:relative;width:100%;aspect-ratio:16/10;max-height:300px;border-radius:9px;overflow:hidden;border:1px solid rgba(212,175,55,.35);background:#e6d4a6;cursor:pointer;-webkit-tap-highlight-color:transparent;contain:content}
.zbm-map .zb-svg{width:100%;height:100%;display:block;pointer-events:none}
.zbm-map:focus-visible{outline:2px solid #d4af37;outline-offset:2px}
.zbm-skel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b5330;background:repeating-linear-gradient(115deg,rgba(90,58,28,.06) 0 10px,transparent 10px 24px),#e6d4a6}
.zbm-foot{margin-top:6px;font-size:12.5px;line-height:1.45;color:#ead9a8;text-align:center;overflow-wrap:anywhere}
/* 20261024p 地图下方「【我的部落】占领 xx% 地盘…」：部落名绿色高亮 */
.zbm-foot .zbm-me-tr{color:#5ee08a;font-weight:700;text-shadow:0 0 6px rgba(94,224,138,.45)}
.zbm-foot .zbm-me-none{opacity:.8}
@media (max-width:520px){.zbm-map{aspect-ratio:4/3;max-height:260px}}
/* ===== 20261024 「望海村械斗地图」下方江湖传闻（最新 5 条，金墨色，单行省略） ===== */
.zbm-rm{text-align:left;margin-top:8px;padding-top:7px;border-top:1px solid rgba(212,175,55,.28)}
.zbm-rm.hidden{display:none}
.zbm-rm-h{display:flex;align-items:center;gap:8px;margin:0 0 4px}
.zbm-rm-h b{font-size:13.5px;color:#f3d36a;letter-spacing:2px;font-family:"Noto Serif SC",serif}
.zbm-rm-h b::before{content:"";display:inline-block;width:6px;height:6px;margin:0 6px 2px 0;transform:rotate(45deg);background:#d4af37;vertical-align:middle}
.zbm-rm-more{margin-left:auto;font-size:12px;color:#d4af37;cursor:pointer;padding:4px 2px}
.zbm-rm ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.zbm-rm-wrap{position:relative}
.zbm-rm ul.zbm-rm-ul{max-height:200px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-right:9px;scrollbar-width:none}
.zbm-rm ul.zbm-rm-ul::-webkit-scrollbar{display:none}
.zbm-rm-rail{position:absolute;top:0;right:0;width:4px;border-radius:2px;background:rgba(255,236,190,.09);pointer-events:none}
.zbm-rm-rail.hidden{display:none}
.zbm-rm-rail i{display:block;width:4px;border-radius:2px;background:linear-gradient(#f3d36a,#b8902a);box-shadow:0 0 4px rgba(243,211,106,.55)} /* 20261024n 露 4 条（JS 按实际行高校准），带滚动条 */
.zbm-rm-end{font-size:10.5px;color:#a8935f;text-align:center;min-height:0;padding-top:2px}
.zbm-rm-end:empty{display:none}
.zbm-rm li{display:flex;gap:8px;align-items:flex-start;padding:5px 6px;border-radius:7px;cursor:pointer;background:rgba(255,236,190,.035)}
.zbm-rm li:nth-child(odd){background:rgba(255,236,190,.065)}
.zbm-rm li:active,.zbm-rm li:hover{background:rgba(212,175,55,.14)}
.zbm-rm-sw{flex:none;width:4px;align-self:stretch;border-radius:2px;opacity:.9}
.zbm-rm-x{flex:1;min-width:0}
.zbm-rm-t{display:flex;align-items:baseline;gap:8px;min-width:0}
.zbm-rm-t>b{flex:1;min-width:0;font-size:12.5px;color:#f0dca0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zbm-rm-t time{flex:none;font-size:10.5px;color:#a8935f;font-variant-numeric:tabular-nums}
.zbm-rm li p{margin:1px 0 0;font-size:12px;line-height:1.45;color:#d9c79a;opacity:.88;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* 20261024p 江湖传闻富文本：部落【】地图色 + 玩家稳定配色 + 境界/称号/勋章小签（360 宽也不撑破） */
.rr-tr{color:var(--tc,#d9b45a);font-weight:700;filter:brightness(1.25) saturate(1.15);text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.6)}
.rr-pl{color:var(--pc,#ffd98a);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.rr-chips{display:inline;white-space:normal}
.rr-c{font-style:normal;display:inline-block;vertical-align:1px;max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rr-c.rr-realm{margin-left:3px;padding:0 4px;font-size:10px;line-height:15px;border-radius:4px;color:#cfe8ff;background:rgba(90,150,220,.22);border:1px solid rgba(130,180,240,.35)}
.rr-c.jh-chip.sc{max-width:6.5em}
.rr-c.rr-md{margin-left:3px;width:15px;height:15px;border-radius:50%;font-size:9.5px;line-height:15px;text-align:center;font-weight:700;color:#3a2606;background:radial-gradient(circle at 35% 30%,#f7e2a4,#c9973d);box-shadow:0 0 0 1px rgba(255,230,160,.55);max-width:none}
.rr-c.rr-md.md-bronze{background:radial-gradient(circle at 35% 30%,#efc8a0,#a8693a)}.rr-c.rr-md.md-silver{background:radial-gradient(circle at 35% 30%,#f4f6f8,#9aa3ad)}.rr-c.rr-md.md-star{color:#fff;background:radial-gradient(circle at 35% 30%,#ffb3d0,#a23be0);box-shadow:0 0 6px rgba(220,120,255,.7)}
@media (max-width:380px){.rr-c.rr-realm{font-size:9.5px;padding:0 3px}.rr-c.jh-chip.sc{font-size:9.5px;max-width:5.5em}}

/* ===== 20261024ze 大厅按钮行：我的SI / 马桥战报 / 今日说书 / 成就图鉴（修为榜/战力榜正上方，一行 4 个带边框扁平按钮；手机 360 宽也不换行） ===== */
#zbw-cards,#sh-cards{display:none !important} /* 原卡只当数据源：按钮转点原卡打开详情 */
.lobby-btnrow{display:grid;grid-template-columns:repeat(var(--lbr-n,4),minmax(0,1fr));gap:6px;width:min(100%,520px);margin:10px auto 0;box-sizing:border-box}
.lobby-btnrow.hidden{display:none !important}
.lbr-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;height:36px;padding:0 4px;box-sizing:border-box;border:1px solid rgba(212,175,55,.65);border-radius:9px;background:rgba(20,14,4,.72);color:#ffe39a;font:600 13px/1 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.02em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:none;transition:background .15s,border-color .15s}
.lbr-btn[hidden]{display:none}
.lbr-btn svg{flex:0 0 auto;width:15px;height:15px;color:#d4af37}
.lbr-btn span{overflow:hidden;text-overflow:clip}
.lbr-btn:hover{background:rgba(212,175,55,.14);border-color:#d4af37}
.lbr-btn:active{background:rgba(212,175,55,.22)}
.lbr-btn:focus-visible{outline:2px solid #ffe39a;outline-offset:1px}
.lbr-si svg{color:#9fd3ff}.lbr-zbw svg{color:#ff9a7a}.lbr-story svg{color:#ffd27a}.lbr-atlas svg{color:#c9a8ff}
@media (max-width:374px){.lobby-btnrow{gap:4px}.lbr-btn{font-size:12px;gap:3px;padding:0 2px}.lbr-btn svg{width:13px;height:13px}}
@media (min-width:768px){.lbr-btn{height:40px;font-size:14px;gap:6px}.lbr-btn svg{width:17px;height:17px}}
/* ===== 20261024zf 土鳖榜 / 当红明星榜：去掉说明小字和底部文字；两卡等高、内容紧凑（--mk-k 由 js/rk2-fit.js 按内容量动态算，0.6–1.25） ===== */
#rk-cards2{align-items:stretch}
#rk-cards2.rk2-measure{align-items:start}
:is(#rk-cards2,.ad-slot) > .mk{justify-content:flex-start}
:is(#rk-cards2,.ad-slot) > .mk .mk-sub,:is(#rk-cards2,.ad-slot) > .mk .mk-foot{display:none}
:is(#rk-cards2,.ad-slot) > .mk.ms-card{padding:calc(9px*var(--mk-k,1)) 7px calc(8px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mk.cm-card{padding:calc(9px*var(--mk-k,1)) 7px calc(8px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mk .ms-head,:is(#rk-cards2,.ad-slot) > .mk .cm-head{margin:0 0 calc(6px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mk .ms-head h4,:is(#rk-cards2,.ad-slot) > .mk .cm-head h4{font-size:calc(15px*min(1,var(--mk-k,1)))}
:is(#rk-cards2,.ad-slot) > .mkA .ms-row{padding:calc(5px*var(--mk-k,1)) 6px;margin:0 0 calc(5px*var(--mk-k,1));gap:calc(5px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkA .ms-row:last-child{margin-bottom:0}
:is(#rk-cards2,.ad-slot) > .mkA .ms-medal{width:calc(22px*var(--mk-k,1));height:calc(22px*var(--mk-k,1));font-size:calc(12px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkA .mk-nv{line-height:1.2}
:is(#rk-cards2,.ad-slot) > .mkA .mk-nv b{font-size:calc(13px*max(.82,var(--mk-k,1)))}
:is(#rk-cards2,.ad-slot) > .mkA .mk-nv span{font-size:calc(12px*max(.82,var(--mk-k,1)))}
:is(#rk-cards2,.ad-slot) > .mkB .mk-pod{margin-top:0}
:is(#rk-cards2,.ad-slot) > .mkB .mk-c img,:is(#rk-cards2,.ad-slot) > .mkB .mk-c .mk-ph{width:calc(34px*var(--mk-k,1));height:calc(34px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkB .mk-c.p1 img,:is(#rk-cards2,.ad-slot) > .mkB .mk-c.p1 .mk-ph{width:calc(44px*var(--mk-k,1));height:calc(44px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkB .mk-c b.nm{font-size:calc(10.5px*max(.85,var(--mk-k,1)));margin-top:calc(3px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkB .mk-c .v{font-size:calc(11px*max(.85,var(--mk-k,1)))}
:is(#rk-cards2,.ad-slot) > .mkB .mk-ped{margin-top:calc(3px*var(--mk-k,1));padding-top:calc(4px*var(--mk-k,1));font-size:calc(13px*var(--mk-k,1))}
:is(#rk-cards2,.ad-slot) > .mkB .p1 .mk-ped{height:calc(46px*var(--mk-k,1))}:is(#rk-cards2,.ad-slot) > .mkB .p2 .mk-ped{height:calc(38px*var(--mk-k,1))}:is(#rk-cards2,.ad-slot) > .mkB .p3 .mk-ped{height:calc(32px*var(--mk-k,1))}
/* ===== 20261025c 大厅广告位 slot1~slot4（#ad-slot-N，lobby-quick.js 把玩法卡搬进来；取代按 data-slot 用 order 排序的旧推广位） ===== */
#splash > .ad-slot{flex-shrink:0}
#splash > .ad-slot:empty,#splash > .ad-slot:not(:has(> :not(.hidden):not(:empty))){display:none}
/* 20261025d 广告位可放大厅模块（祝福墙 / 修为榜 / 战力榜 / 土鳖榜 / 当红明星榜 / 马桥争霸榜 / 物间锋娅），整块搬进来 */
.ad-slot > #zbr-lobby{display:block;width:100%}
.ad-slot > #bless-wall,.ad-slot > .rkc,.ad-slot > .mk{width:100%;box-sizing:border-box;margin:0}
#splash > .ad-slot:has(> #wjfy-lobby){width:100%;max-width:none;align-self:stretch}
.ad-slot > #wjfy-lobby{width:100%;max-width:none;box-sizing:border-box}
.ad-slot > #town-lobby{width:100%;margin:0;box-sizing:border-box} /* 20261027zze 小镇入口卡进广告位 */
.ad-slot > #town-lobby.hidden{display:none !important}
#splash > #rk-cards:not(:has(> :not(.hidden))),#splash > #rk-cards2:not(:has(> :not(.hidden))){display:none}
#splash > #rk-cards:has(> :only-child),#splash > #rk-cards2:has(> :only-child){grid-template-columns:1fr}
#splash > .mode-cards:not(.mode-cards-top):empty{display:none}
#splash > .mode-cards-top:empty{display:none}
#splash > .mode-cards-top:has(> .mc:only-child){grid-template-columns:1fr} /* 闭关修炼 / 联网对战 其中一张被放进广告位时，剩下那张占满一行 */
/* ===== 20261024zh 大厅江湖传闻：框高固定 = 显示条数（管理端 1–10，默认 2）× 固定行高；每条标题一行 + 正文最多两行；滚动/加载/刷新不改布局 ===== */
.zbm-rm{--zr-li:63px}
.zbm-rm ul.zbm-rm-ul{height:calc(var(--zr-rows,2) * var(--zr-li) + (var(--zr-rows,2) - 1) * 2px);max-height:none;box-sizing:content-box;overflow-anchor:none}
.zbm-rm ul.zbm-rm-ul > li{height:var(--zr-li);box-sizing:border-box;overflow:hidden;flex:none}
.zbm-rm-t{height:18px;line-height:18px}
.zbm-rm li p{line-height:17px;max-height:34px;-webkit-line-clamp:2}
.zbm-rm{position:relative}
.zbm-rm-end{position:absolute;left:0;right:9px;bottom:0;pointer-events:none;padding:2px 0;background:linear-gradient(transparent,rgba(20,14,6,.85) 60%)} /* 「加载更早的传闻…」浮在框底，不占高度 */
/* ===== 20261025 站长：大厅江湖传闻每行去掉标题，行首高亮小框【模块】+ 正文直接连着（最多两行），时间小字跟在末尾；行高随之变矮，条数仍按 --zr-rows ===== */
.zbm-rm{--zr-li:46px}
.zbm-rm ul.zbm-rm-ul > li{padding:5px 6px;align-items:stretch}
.zbm-rm li p{margin:0;font-size:12px;line-height:18px;max-height:36px;-webkit-line-clamp:2;color:#e3d2a6;opacity:.95}
.zbm-rm-mod{font-style:normal;display:inline-block;vertical-align:1px;margin-right:4px;padding:0 3px 0 1px;font-size:11px;line-height:15px;font-weight:700;letter-spacing:0;white-space:nowrap;border-radius:4px;border:1px solid currentColor;background:rgba(0,0,0,.25);box-shadow:0 0 5px -1px currentColor}
.zbm-rm-mod.zrm-zb{color:#ff9b5c;background:rgba(255,110,40,.16)}
.zbm-rm-mod.zrm-town{color:#7fe0a0;background:rgba(70,200,120,.15)}
.zbm-rm li p time{margin-left:6px;font-size:10px;color:#a8935f;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:520px) and (orientation:portrait){
  .zbm-rm{--zr-li:42px}
  .zbm-rm ul.zbm-rm-ul > li{padding:4px 5px;gap:6px}
  .zbm-rm li p{font-size:11.5px;line-height:16.5px;max-height:33px}
  .zbm-rm-mod{font-size:10.5px;line-height:14px;margin-right:3px}
  .zbm-rm li p time{margin-left:4px;font-size:9.5px}
}

/* 20261025k 南武城保卫战外链按钮（原马桥战报位置），样式同其它扁平按钮 */
a.lbr-btn{text-decoration:none}
.lbr-nwc svg{color:#ff9a7a}

/* 20261025r 大厅按钮行 4 个（我的SI / 南武城保卫战 / 奇门遁甲 / 今日说书）一行放下：按字数分宽（flex），不换行不溢出；窄屏缩字号 / 间距，再窄去图标 */
.lobby-btnrow{display:flex;flex-wrap:nowrap;overflow:hidden}
.lobby-btnrow .lbr-btn{flex:1 1 auto;min-width:0;padding:0 6px}
.lobby-btnrow .lbr-btn[hidden]{display:none}
.lbr-qm svg{color:#ffe39a}
@media (max-width:420px){.lobby-btnrow{gap:4px}.lobby-btnrow .lbr-btn{font-size:12px;gap:3px;padding:0 3px;letter-spacing:0}.lobby-btnrow .lbr-btn svg{width:13px;height:13px}}
@media (max-width:359px){.lobby-btnrow .lbr-btn svg{display:none}.lobby-btnrow .lbr-btn{font-size:11.5px;padding:0 2px}}

/* 20261025r 顶栏通宝右侧「我家地址」：通宝不缩，地址放不下先去「名望 · Lv」再省略号 */
#hello-name .hello-tok-row{display:flex;align-items:center;gap:6px;min-width:0;width:100%;height:22px;overflow:hidden}
#hello-name .hello-tok-row .hello-tok{flex:0 0 auto;overflow:visible}
#hello-name .hello-home{flex:0 1 auto;min-width:0;max-width:100%;height:18px;margin:0;padding:0 6px;box-sizing:border-box;border:1px solid rgba(212,175,55,.45);border-radius:9px;background:rgba(20,14,4,.45);color:#e8d49a;font:500 11.5px/16px "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-tap-highlight-color:transparent}
#hello-name .hello-home:hover{border-color:#d4af37;color:#ffe39a}
#hello-name .hello-home.none{color:#bfa874;border-style:dashed}
#hello-name .hello-home.short .hh-pre{display:none}
@media (max-width:420px){#hello-name .hello-tok-row{gap:4px}#hello-name .hello-home{font-size:11px;padding:0 4px}}
/* ===== 20261025s 江湖传闻每条完整显示：去掉固定行高 + 两行截断（第二行被【模块】框 / 小签撑高后会被切成半行）。
 * 每条高度 = 行数 × 行高（--zr-L，上下不留 padding、条间无缝），框高 = 前 N 条的实际高度（js rrFitBox 量出来，只在重绘 / 改条数 / 改窗口时更新，滚动不改布局）；
 * 滚动吸附到每条开头，框底永远落在整行边界上，不会露半行；内容长就多占几行，不截断 ===== */
.zbm-rm{--zr-L:20px}
.zbm-rm ul.zbm-rm-ul{display:block;gap:0;height:calc(var(--zr-rows,2) * 2 * var(--zr-L));scroll-snap-type:y mandatory;overscroll-behavior:contain}
.zbm-rm ul.zbm-rm-ul > li{height:auto;min-height:0;flex:none;overflow:visible;padding:0 6px;border-radius:0;scroll-snap-align:start;scroll-snap-stop:normal}
.zbm-rm li p{display:block;max-height:none;-webkit-line-clamp:unset;line-clamp:none;overflow:visible;line-height:var(--zr-L);word-break:break-word;overflow-wrap:anywhere}
.zbm-rm li p :is(.zbm-rm-mod,.rr-c,.jh-chip,.tb-h){vertical-align:top;position:relative;top:2px;line-height:14px;max-height:calc(var(--zr-L) - 2px);box-sizing:border-box} /* 顶对齐 + 相对下移居中：小签再高也不撑大行框 */
.zbm-rm li p .rr-c.rr-md{height:14px;width:14px;line-height:14px}
.zbm-rm li p time{line-height:1}
.zbm-rm-sw{margin:3px 0}
@media (max-width:520px) and (orientation:portrait){
  .zbm-rm{--zr-L:18px}
  .zbm-rm ul.zbm-rm-ul > li{padding:0 5px}
  .zbm-rm li p{line-height:var(--zr-L);max-height:none}
  .zbm-rm li p :is(.zbm-rm-mod,.rr-c,.jh-chip,.tb-h){line-height:13px;top:1px}
  .zbm-rm li p .rr-c.rr-md{height:13px;width:13px;line-height:13px}
}
/* 20261027a 大厅按钮行「青龙阁」（代替原南武城保卫战位置） */
.lbr-ql svg{color:#7fe8d6}
/* ===== 20261027o 大厅宣传位（js/lobby-promo.js） ===== */
.lp-slot{width:min(100%,520px);margin:10px auto 0;box-sizing:border-box}
.lp-slot.hidden{display:none !important}
.lp-slot .zbm-rm{margin:0;padding:8px 10px 6px;border:1px solid rgba(212,175,55,.38);border-radius:12px;background:linear-gradient(180deg,rgba(46,28,12,.82),rgba(24,14,6,.82))}
.ad-slot > #lp-rumor{width:100%;box-sizing:border-box;margin:0;padding:8px 10px 6px;border:1px solid rgba(212,175,55,.38);border-radius:12px;background:linear-gradient(180deg,rgba(46,28,12,.82),rgba(24,14,6,.82))} /* 20261027zzf 江湖传闻放广告位：与第二宣传位同样的卡片外观 */
.ad-slot > #lp-rumor.hidden{display:none !important}
.lp-zw{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:1px solid rgba(212,175,55,.42);border-radius:12px;background:linear-gradient(90deg,rgba(60,22,12,.9),rgba(30,16,8,.88));color:#f0dca0;font-size:13px;line-height:1.35;cursor:pointer;box-sizing:border-box;overflow:hidden}
.lp-zw:active{filter:brightness(1.12)}
.lp-zw>em{flex:none;font-style:normal;color:#d4af37;font-size:16px}
.lp-zw-k{flex:none;padding:2px 7px;border-radius:999px;background:linear-gradient(#f3d36a,#b8902a);color:#3a2410;font-size:11.5px;font-weight:700;letter-spacing:1px}
.lp-zw-rot{flex:1;min-width:0;overflow:hidden}
.lp-zw-one{display:flex;align-items:baseline;gap:6px;min-width:0;animation:lpIn .32s ease both}
.lp-zw-one>i{flex:none;font-style:normal;font-size:11px;color:var(--c,#d4af37);border:1px solid var(--c,#d4af37);border-radius:4px;padding:0 4px}
.lp-zw-one>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-zw-one>time{flex:none;font-size:10.5px;color:#a8935f}
.lp-zw-tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-zw-sg{border-color:var(--c,#d4af37);box-shadow:0 0 10px rgba(212,60,40,.25) inset}
.lp-zw-sg .lp-zw-tx b{color:#ffcf6a}
.lp-zw-ic{flex:none;font-size:16px;color:#ffcf6a}
.lp-zw-go{flex:none;height:28px;padding:0 10px;border:0;border-radius:999px;background:linear-gradient(#ffd96a,#c8952a);color:#3a2410;font-weight:700;font-size:12.5px;cursor:pointer}
.lp-zw-quiet .lp-zw-tx{color:#cdb98a}
@keyframes lpIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:374px){.lp-zw{font-size:12px;gap:6px;padding:5px 8px}.lp-zw-go{padding:0 8px}}
@media (prefers-reduced-motion:reduce){.lp-zw-one{animation:none}}
/* ===== 20261027o 金扇锦囊（js/lobby-fan.js） ===== */
.lfan.hidden{display:none}
.lfan-btn{position:fixed;z-index:130;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);width:56px;height:56px;border-radius:50%;border:2px solid #7a5418;padding:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#fff2b0,#f1c94e 42%,#b8842a 78%,#8a5c16);box-shadow:0 4px 14px rgba(0,0,0,.45),inset 0 0 0 3px rgba(255,240,180,.35);color:#3a2208;font:700 26px/1 "STKaiti","KaiTi","Kaiti SC","楷体",serif;-webkit-tap-highlight-color:transparent}
.lfan-btn>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.2,.9,.3,1.25),opacity .18s}
.lfan-x{opacity:0;transform:rotate(-90deg) scale(.6);font-size:22px;font-family:sans-serif}
.lfan.on .lfan-btn{z-index:8002}
.lfan.in .lfan-j{opacity:0;transform:rotate(90deg) scale(.6)}
.lfan.in .lfan-x{opacity:1;transform:none}
.lfan-dot{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#e53935;border:1.5px solid #fff3c4}
.lfan-dot.hidden{display:none}
.lfan-mask{position:fixed;inset:0;z-index:8000;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .22s}
.lfan.on .lfan-mask{pointer-events:auto}
.lfan.in .lfan-mask{opacity:1}
.lfan-fan{position:fixed;z-index:8001;right:0;bottom:0;width:var(--W,380px);height:var(--H,380px);border-top-left-radius:100% 100%;background:radial-gradient(circle at 100% 100%,rgba(70,40,14,.97) 0,rgba(44,24,8,.97) 60%,rgba(30,16,6,.96) 100%);border-top:1.5px solid #d4af37;border-left:1.5px solid #d4af37;box-shadow:-4px -4px 24px rgba(0,0,0,.5),inset 0 0 0 4px rgba(212,175,55,.12);transform-origin:100% 100%;transform:scale(.15);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.2,.9,.3,1.25),opacity .16s,visibility 0s .26s}
.lfan.on .lfan-fan{visibility:visible;pointer-events:auto;transition:transform .22s cubic-bezier(.2,.9,.3,1.25),opacity .16s,visibility 0s}
.lfan.in .lfan-fan{transform:none;opacity:1}
.lfan-arc{position:absolute;right:calc(var(--ox) - var(--ri));bottom:calc(var(--oy) - var(--ri));width:calc(var(--ri) * 2);height:calc(var(--ri) * 2);border-radius:50%;border:1px dashed rgba(212,175,55,.3);pointer-events:none}
.lfan-it{position:absolute;width:var(--sz);height:var(--sz);padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:0;transform:translate(var(--fx),var(--fy)) scale(.3);transition:transform .2s cubic-bezier(.2,.9,.3,1.25),opacity .16s;transition-delay:0s}
.lfan.in .lfan-it{opacity:1;transform:none;transition-delay:calc(var(--i) * 30ms)}
.lfan-coin{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2b0,#f1c94e 45%,#b8842a 80%,#8a5c16);box-shadow:0 2px 6px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,240,180,.4);color:#3a2208;font:700 calc(var(--sz) * .46)/1 "STKaiti","KaiTi","Kaiti SC","楷体",serif}
.lfan-coin.sm{font-size:calc(var(--sz) * .34);font-family:Georgia,serif}
.lfan-it:active .lfan-coin{filter:brightness(1.12);transform:scale(.94)}
.lfan-lb{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);width:64px;text-align:center;font-size:10.5px;line-height:1.2;color:#f3e2b0;text-shadow:0 1px 2px #000;pointer-events:none}
.lfan-empty{cursor:default}
.lfan-empty .lfan-coin{background:none;box-shadow:none;border:1.5px dashed rgba(212,175,55,.32)}
.lfan.in .lfan-empty{opacity:.7}
body.lfan-open #si-dock,body.lfan-open .si-dock-menu{visibility:hidden}
@media (prefers-reduced-motion:reduce){
  .lfan-fan,.lfan.on .lfan-fan{transform:none;transition:opacity .12s linear,visibility 0s .12s}
  .lfan.on .lfan-fan{transition:opacity .12s linear,visibility 0s}
  .lfan-it,.lfan.in .lfan-it{transform:none;transition:opacity .12s linear;transition-delay:0s}
  .lfan-mask{transition:opacity .12s linear}
  .lfan-btn>span{transition:opacity .12s linear}
  .lfan.in .lfan-j,.lfan-x{transform:none}
}
/* 20261027zd 第一宣传位：高亮【敌袭】+ 国名高亮 + 走马灯（JS 用 Web Animations 从右往左走，整条露全再换） */
.lp-zw-tag{flex:none;font-style:normal;font-weight:800;font-size:12.5px;color:#ff5a4a;text-shadow:0 0 6px rgba(255,70,50,.55);letter-spacing:.5px}
.lp-zw-mq .lp-zw-rot{position:relative;height:1.4em}
/* 20261029zo 敌袭贴左（去括号）+ 右侧「反击」下划线 */
.lp-zw.lp-zw-mq{padding-left:6px;gap:6px}
.lp-zw-mq .lp-zw-tag{margin-left:0}
.lp-zw-mq .lp-zw-fj{flex:none;display:inline-flex;align-items:center;min-height:32px;min-width:40px;justify-content:center;margin:-4px -4px -4px 0;padding:0 6px;color:#ffcf6a;font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lp-zw-mq .lp-zw-fj:active{filter:brightness(1.2)}
@media (max-width:374px){.lp-zw.lp-zw-mq{padding-left:5px}.lp-zw-mq .lp-zw-fj{font-size:12.5px;padding:0 5px}}
.lp-zw-run{position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;animation:none;will-change:transform}
.lp-zw-run>span{flex:none;overflow:visible;text-overflow:clip}
.lp-zw-kd{color:var(--c,#ffcf6a);font-weight:700;filter:brightness(1.35) saturate(1.2)}
@media (prefers-reduced-motion:reduce){.lp-zw-mq .lp-zw-run{position:static}.lp-zw-run>span{overflow:hidden;text-overflow:ellipsis}}
/* 20261027zd 江湖传闻人名：修为·人名·称号·勋章·房屋等级（实际值用 · 连，不加括号，紧凑） */
.rr-dot{display:inline;white-space:normal}
.rr-dot .rr-sep{font-style:normal;margin:0 1px;color:rgba(240,220,160,.55)}
.rr-d{font-style:normal;font-size:.88em}
.rr-d-realm{color:#9fcaf5}
.rr-d-jh{color:#f0c96a}.rr-d-jh.tc-gold{color:#ffd45a}.rr-d-jh.tc-silver{color:#dfe6ee}.rr-d-jh.tc-bronze{color:#e3a774}.rr-d-jh.tc-red{color:#ff8a7a}.rr-d-jh.tc-purple{color:#d6a3ff}.rr-d-jh.glow{text-shadow:0 0 6px rgba(255,210,90,.6)}
.rr-d-md{color:#e8c48a}.rr-d-md.md-gold{color:#ffd45a}.rr-d-md.md-silver{color:#dfe6ee}
.rr-dot .tb-h{vertical-align:0}
.zbm-rm-mod.zrm-game{color:#8fc8ff;background:rgba(80,150,240,.16)} /* 20261027zd 其它玩法精彩局 */
.rr-dot .rr-d,.rr-dot .rr-sep{line-height:0} /* 小字不撑高行（江湖传闻框按整行对齐） */

/* ===== 20261028t 站长：大厅江湖传闻（只 #lp-rumor，不动望海村页）字号 +2px、行高加大、条间留缝。
 * 仍按 20261025s 的整行模型：行高 --zr-L 取整数 px；条间用 li 的 margin（zrFitBox 量「首条顶→第 N 条底」，含中间缝不含末尾缝），框底落在整行边界，不露半行、滚动不改布局 ===== */
#lp-rumor.zbm-rm{--zr-L:23px;--zr-gap:5px}
#lp-rumor.zbm-rm ul.zbm-rm-ul{height:calc(var(--zr-rows,2) * 2 * var(--zr-L) + (var(--zr-rows,2) - 1) * var(--zr-gap))}
#lp-rumor.zbm-rm ul.zbm-rm-ul > li{margin:0 0 var(--zr-gap)}
#lp-rumor.zbm-rm li p{font-size:14px}
#lp-rumor.zbm-rm li p :is(.zbm-rm-mod,.rr-c,.jh-chip,.tb-h){line-height:17px;top:2px}
#lp-rumor .zbm-rm-mod{font-size:12.5px}
#lp-rumor.zbm-rm li p .rr-c.rr-md{height:17px;width:17px;line-height:17px}
#lp-rumor.zbm-rm li p time{font-size:11.5px}
@media (max-width:520px) and (orientation:portrait){
  #lp-rumor.zbm-rm{--zr-L:21px;--zr-gap:5px}
  #lp-rumor.zbm-rm li p{font-size:13.5px}
  #lp-rumor.zbm-rm li p :is(.zbm-rm-mod,.rr-c,.jh-chip,.tb-h){line-height:16px;top:2px}
  #lp-rumor .zbm-rm-mod{font-size:12px}
  #lp-rumor.zbm-rm li p .rr-c.rr-md{height:16px;width:16px;line-height:16px}
  #lp-rumor.zbm-rm li p time{font-size:11px}
}
/* 20261029a 大厅按钮行「好友在线 N」（原马桥战报位置）+ 锦囊多圈 / 网格自适应 */
.lbr-fr svg{color:#7dff9a}.lbr-fr .lbr-n{color:#7dff9a;font-weight:900;margin-left:1px}
@media (max-width:374px){.lbr-fr svg{display:none}}
.lfan-fan.lfan-grid{left:auto;right:8px;bottom:var(--gb);width:var(--W);height:auto;max-height:var(--gh);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:6px 8px 10px;border-radius:14px;border:1.5px solid #d4af37;
  background:linear-gradient(180deg,rgba(70,20,8,.97),rgba(30,10,4,.97));box-shadow:0 0 0 1px #3a0a00,0 8px 28px rgba(0,0,0,.6),inset 0 0 0 3px rgba(212,175,55,.12);transform-origin:calc(100% - 20px) 100%}
.lfan-grid .lfan-gh{text-align:center;font:900 14px/1 "Noto Serif SC",serif;letter-spacing:6px;color:#ffd27a;padding:4px 0 8px;margin-bottom:6px;border-bottom:1px solid rgba(212,175,55,.35);text-shadow:0 0 6px #ff4a00}
.lfan-grid .lfan-gl{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px 4px}
.lfan-grid .lfan-it{position:relative;right:auto;bottom:auto;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;gap:4px;transform:scale(.6)}
.lfan-grid .lfan-coin{position:relative;inset:auto;width:var(--sz);height:var(--sz);flex:0 0 auto}
.lfan-grid .lfan-lb{position:static;transform:none;width:100%;font-size:11px;word-break:break-all}
.lfan.in .lfan-grid .lfan-it{transform:none}

/* 20261030n 大厅「放学后不要走 操场上来PK」玩法卡：与擂台页大厅卡（style.css .lc-pk，20261030l）统一——墨黑→血红渐变、鎏金描边、斜纹刀痕、红底 PK 印章；
 * 两行网格：图标 / 标题 / 进入，第二行说明小字通栏（不截断）。只作用于 .mc-pk，结构与点击不变；置灰（.mc-off）沿用通用规则。 */
.mc-pk{--mc-bd:#e23a2a;--mc-glow:rgba(226,58,42,.5);--mc-ic:radial-gradient(circle at 38% 32%,#ffb08a,#d8261a 55%,#4a0402);--mc-sh:#000;--mc-sub:#f4cdbf;--mc-go:linear-gradient(180deg,#ffe08a,#f2a227 55%,#c46a0a);--mc-gofg:#3a0800;--mc-bg:repeating-linear-gradient(-62deg,transparent 0 22px,rgba(255,90,60,.07) 22px 24px),linear-gradient(-62deg,transparent 0 71%,rgba(255,210,120,.22) 71% 71.6%,transparent 71.6% 74%,rgba(255,210,120,.14) 74% 74.4%,transparent 74.4%),linear-gradient(115deg,#0c0202 0%,#2a0604 34%,#6e0e08 68%,#b3200f 100%)}
.mc-pk .spd-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"ic tt go" "sb sb sb";column-gap:12px;row-gap:7px;align-items:center;border-color:#e23a2a;box-shadow:0 0 0 1px rgba(255,200,110,.18) inset,0 0 20px rgba(226,58,42,.45),inset 0 0 22px rgba(0,0,0,.45)}
.mc-pk .spd-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#ffcf6a 18%,#ff3b20 50%,#ffcf6a 82%,transparent);pointer-events:none}
.mc-pk .spd-ic{grid-area:ic;width:44px;height:44px;border-radius:12px;transform:rotate(-6deg);border:1.5px solid #ffcf6a;box-shadow:0 0 14px rgba(255,60,30,.6),inset 0 -3px 6px rgba(0,0,0,.35)}
.mc-pk .spd-tx{display:contents}
.mc-pk .spd-tx b.pk-ttl{grid-area:tt;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.15;letter-spacing:0;color:#fff;text-shadow:0 2px 0 #000,0 0 10px rgba(255,60,30,.55)}
.mc-pk .pk-ttl em{font-style:normal;font-size:13px;font-weight:800;color:#ffcf6a;letter-spacing:.12em;white-space:nowrap}
.mc-pk .pk-ttl span{font-size:20px;font-weight:900;letter-spacing:.06em;white-space:nowrap;font-style:italic}
.mc-pk .pk-ttl i{display:inline-block;margin-left:4px;padding:0 6px;font-style:italic;font-weight:900;color:#fff;background:linear-gradient(180deg,#ff4a2a,#b80f05);border:1.5px solid #ffcf6a;border-radius:3px;transform:skewX(-10deg) rotate(-3deg);text-shadow:0 1px 0 #3a0000;box-shadow:0 2px 0 #3a0000,0 0 10px rgba(255,60,30,.7);line-height:1.2}
.mc-pk .spd-tx small{grid-area:sb;display:block;-webkit-line-clamp:unset;overflow:visible;font-size:12px;line-height:1.5;padding-left:8px;border-left:2px solid #e23a2a}
.mc-pk .spd-acts{grid-area:go}
.mc-pk .spd-go{border-radius:8px;transform:skewX(-8deg);font-weight:900;box-shadow:0 3px 0 #5a1600,0 0 12px rgba(255,170,60,.55);text-shadow:0 1px 0 rgba(255,255,255,.4)}
@media (max-width:420px){.mc-pk .spd-card{column-gap:10px}.mc-pk .pk-ttl span{font-size:18px}.mc-pk .pk-ttl em{font-size:12px}.mc-pk .spd-tx small{font-size:11.5px}}

/* 20261030q 大厅 #mc-pk 右上角金红角标（静态，无动画）：「N 封战书」/「新战报」 */
#mc-pk{position:relative}
.mc-pkbadge{position:absolute;top:-8px;right:-4px;z-index:5;padding:2px 8px;border-radius:999px;font-style:normal;font-size:12px;line-height:18px;font-weight:800;letter-spacing:.5px;white-space:nowrap;color:#fff4d6;background:linear-gradient(180deg,#ff4a2a,#b81408);border:1.5px solid #ffcf6a;box-shadow:0 2px 6px rgba(0,0,0,.45),0 0 0 1px rgba(90,6,0,.6);text-shadow:0 1px 1px rgba(0,0,0,.5);pointer-events:none}
/* ===== 20261031c 操场PK大厅战报特效（js/pk-fx.js）：只用 transform/opacity 一次性动画，播完节点即 remove，不常驻 ===== */
.mc-pkbadge{font-size:14px;line-height:20px;padding:2px 10px;top:-10px}
.mc-pkbadge.pkfx-pop{animation:pkfx-pop .35s ease-out 1}
@keyframes pkfx-pop{0%{transform:scale(1.7)}100%{transform:none}}
.pkfx-ring{position:absolute;inset:-2px;z-index:6;border:3px solid #ffcf6a;border-radius:14px;pointer-events:none;opacity:0;animation:pkfx-ring .6s ease-out 1}
@keyframes pkfx-ring{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
.pkfx-ban{position:fixed;z-index:9000;top:calc(env(safe-area-inset-top,0px) + 8px);left:8px;right:8px;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;min-height:76px;box-sizing:border-box;padding:10px 40px 10px 12px;border-radius:12px;border:2px solid #ffcf6a;color:#fff4d6;background:linear-gradient(100deg,#1a0302,#5a0a04 55%,#8a1608);box-shadow:0 8px 22px rgba(0,0,0,.6);cursor:pointer;overflow:hidden;animation:pkfx-drop .5s cubic-bezier(.2,.9,.3,1.2) 1 both;will-change:transform}
.pkfx-ban::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#ffcf6a 20%,#ff3b20 50%,#ffcf6a 80%,transparent);pointer-events:none}
.pkfx-tx{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.pkfx-l{font-size:16px;line-height:1.35;font-weight:900;letter-spacing:.5px;text-shadow:0 2px 2px rgba(0,0,0,.6);overflow-wrap:anywhere}
.pkfx-tx small{font-size:12px;color:#f4cdbf}
.pkfx-seal{flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:8px;font-style:normal;font-size:28px;font-weight:900;color:#fff;background:#c8160a;border:2px solid #ffd27a;box-shadow:inset 0 0 0 3px rgba(90,6,0,.55);transform:rotate(-8deg);animation:pkfx-stamp .3s ease-out .28s 1 both}
@keyframes pkfx-stamp{0%{opacity:0;transform:rotate(-8deg) scale(2.4)}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes pkfx-drop{0%{opacity:0;transform:translateY(-150%) scale(1.15)}55%{opacity:1;transform:translateY(5%) scale(1)}68%{transform:translateX(-5px)}80%{transform:translateX(5px)}90%{transform:translateX(-2px)}100%{transform:none}}
.pkfx-x{position:absolute;top:4px;right:4px;width:34px;height:34px;border:0;background:none;color:#f4cdbf;font-size:22px;line-height:1;cursor:pointer}
.pkfx-win{border-color:#ffe08a;background:linear-gradient(100deg,#2a1804,#6a4208 55%,#b07a12)}.pkfx-win .pkfx-seal{background:#d89a10;color:#2a1200}
.pkfx-lose{border-color:#ff4a2a;background:linear-gradient(100deg,#120000,#3a0402 60%,#5a0604)}
.pkfx-lose::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 80' preserveAspectRatio='none'%3E%3Cpath d='M120 0 L112 22 L126 34 L108 52 L118 80 M112 22 L92 30 M126 34 L150 40 M108 52 L86 62' stroke='%23ff5a3a' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/100% 100% no-repeat;animation:pkfx-fade .25s ease-out .45s 1 forwards}
@keyframes pkfx-fade{to{opacity:.85}}
.pkfx-draw,.pkfx-weak,.pkfx-accepted,.pkfx-refused{border-color:#c9a46a;background:linear-gradient(100deg,#1a1410,#3a2a1a)}
.pkfx-draw .pkfx-seal,.pkfx-weak .pkfx-seal,.pkfx-accepted .pkfx-seal,.pkfx-refused .pkfx-seal{background:#5a4a3a;font-size:18px}
.pkfx-ban.pkfx-fly{animation:pkfx-fly .38s ease-in 1 forwards}
@keyframes pkfx-fly{from{opacity:1;transform:none}to{opacity:0;transform:translate(var(--dx,0),var(--dy,0)) scale(.15)}}
.pkfx-ban.pkfx-up{animation:pkfx-up .38s ease-in 1 forwards}
@keyframes pkfx-up{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-150%)}}
.pkfx-big{position:fixed;inset:0;z-index:9001;display:grid;place-items:center;pointer-events:none}
.pkfx-big b{position:relative;font-size:min(40vw,180px);line-height:1;font-weight:900;color:#ffd84a;text-shadow:0 0 0 #000,0 6px 0 #6a3a00,0 10px 24px rgba(0,0,0,.7);animation:pkfx-slam 1.15s cubic-bezier(.2,.8,.3,1) 1 both;will-change:transform,opacity}
.pkfx-lose b{color:#ff3b20;text-shadow:0 6px 0 #3a0000,0 10px 24px rgba(0,0,0,.8)}
.pkfx-draw b{color:#e8e0d0;text-shadow:0 6px 0 #3a2a1a,0 10px 24px rgba(0,0,0,.7)}
.pkfx-rays{position:absolute;width:min(110vw,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,226,120,.95) 0,rgba(255,170,40,.55) 30%,rgba(255,120,0,0) 68%);animation:pkfx-burst 1.1s ease-out 1 both;will-change:transform,opacity}
.pkfx-lose .pkfx-rays{background:radial-gradient(circle,rgba(255,60,30,.9) 0,rgba(160,0,0,.5) 32%,rgba(80,0,0,0) 68%)}
.pkfx-draw .pkfx-rays{background:radial-gradient(circle,rgba(240,230,210,.7) 0,rgba(160,140,110,.35) 32%,rgba(0,0,0,0) 68%)}
@keyframes pkfx-burst{0%{opacity:0;transform:scale(.3)}15%{opacity:1}100%{opacity:0;transform:scale(1.6)}}
@keyframes pkfx-slam{0%{opacity:0;transform:scale(2.8)}18%{opacity:1;transform:scale(.9)}26%{transform:scale(1)}80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-32vh) scale(.4)}}
.pkfx-ban.pkfx-rm,.pkfx-ban.pkfx-rm .pkfx-seal,.pkfx-ban.pkfx-rm::after{animation:none;opacity:1}
@media (prefers-reduced-motion:reduce){.pkfx-ban,.pkfx-seal,.pkfx-ban::after,.pkfx-ring,.mc-pkbadge.pkfx-pop{animation:none!important}.pkfx-ban,.pkfx-seal{opacity:1}.pkfx-lose::after{opacity:.85}.pkfx-ring,.pkfx-big{display:none}}
@media (max-width:374px){.pkfx-l{font-size:15px}.pkfx-seal{width:44px;height:44px;font-size:24px}}
/* 20261101h 锦囊网格重排：4 列等宽卡片、单行短名、对齐整齐 */
.lfan-fan.lfan-grid.lfan-v2{right:12px;padding:10px 10px 12px;border-radius:16px;background:linear-gradient(180deg,rgba(58,30,10,.98),rgba(28,14,5,.98));box-shadow:0 8px 28px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,210,120,.12);transform-origin:calc(100% - 28px) 100%}
.lfan-v2 .lfan-gh{padding:2px 0 8px;margin-bottom:10px;font-size:15px;letter-spacing:8px}
.lfan-v2 .lfan-gl{gap:8px}
.lfan-v2 .lfan-it{justify-content:center;gap:6px;min-height:76px;padding:8px 2px 6px;border-radius:12px;background:rgba(255,215,130,.06);border:1px solid rgba(212,175,55,.22)}
.lfan-v2 .lfan-it:active{background:rgba(255,215,130,.16)}
.lfan-v2 .lfan-lb{font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;color:#f7e6b8;font-weight:600}
.lfan-v2 .lfan-coin{font-size:22px;box-shadow:0 2px 6px rgba(0,0,0,.5),inset 0 0 0 2px rgba(255,240,180,.45)}
.lfan-v2 .lfan-coin.sm{font-size:16px}
