/* ============================================================
 * 经典文字模式（MUD 风格）· 纯 CSS 覆盖层
 *   用法：给 <body> 加 class="text-mode" 即生效，移除即恢复原版深色皮肤
 *   原则：只改颜色 / 边框 / 阴影 / 字体 / 图片显隐，
 *         不动布局结构与点击区域，功能与存档完全不受影响
 * ============================================================ */

body.text-mode {
    background: #ffffff;
    color: #1a1a1a;
    font-family: "SimSun", "宋体", "MS Mincho", serif;
    font-size: 13px;
}

/* ---------- 外框 / 页面底色 ---------- */
body.text-mode #app {
    background: #ffffff;
    box-shadow: none;
    border-left: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
}
body.text-mode #page { color: #1a1a1a; }

/* ---------- 顶栏 ---------- */
body.text-mode #hud { background: transparent; border-bottom: 1px dashed #dddddd; }
body.text-mode .hud-res { background: transparent; padding: 4px 8px; gap: 10px; }
body.text-mode .hud-res b { color: #000; }
body.text-mode .hud-res .res-lab { display: none; }
body.text-mode .cur-ico { display: none; }
body.text-mode .hud-res .zone { color: #555; font-size: 12px; }
body.text-mode .hud-res .joinqq,
body.text-mode .hud-res .sign {
    background: none; border: 0; border-radius: 0; padding: 0;
    color: #0000cc; text-decoration: underline; font-size: 13px;
}
body.text-mode .hud-res .online { color: #555; }
body.text-mode .res-plus { color: #0000cc; }

body.text-mode .hud-main { padding: 5px 8px 6px; border-bottom: 1px dashed #dddddd; }
body.text-mode .avatar {
    width: auto; height: auto; flex: 0 0 auto; border: 0; border-radius: 0;
    background: none; font-size: 18px; padding: 0;
}
body.text-mode .avatar .av-img { width: 26px; height: 26px; border-radius: 2px; }
body.text-mode .hud-info .nm { color: #000; text-shadow: none; font-size: 13px; font-weight: 700; }
body.text-mode .hud-info .uid,
body.text-mode .hud-info .pw,
body.text-mode .hud-info .tl { color: #333; font-size: 12px; }
body.text-mode .hud-info .pw b { color: #000; }
body.text-mode .hud-side { gap: 8px; }
body.text-mode .round-btn {
    width: auto; height: auto; border: 0; border-radius: 0; background: none;
    color: #0000cc; font-size: 12px; font-weight: 400; line-height: 1.4; padding: 0;
}
body.text-mode .round-btn img { display: none; }
body.text-mode .round-btn .rb-lb { display: inline; text-decoration: underline; }

/* ---------- 引导条 ---------- */
body.text-mode #guide-bar {
    margin: 4px 8px; padding: 4px 6px; border: 0; border-radius: 0;
    background: none; box-shadow: none; color: #6b5a20; font-size: 12.5px;
    border-left: 3px solid #c8a45c;
}
body.text-mode #guide-bar .gb-tag { color: #8a4a12; }
body.text-mode #guide-bar .gb-claim,
body.text-mode #guide-bar .gb-todo {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; text-decoration: underline; padding: 0; margin-left: 4px;
}

/* ---------- 场景 ---------- */
body.text-mode .scene-wrap { background: none; }
body.text-mode .scene-head { border-bottom: 1px dashed #dddddd; margin: 6px 8px 2px; padding-bottom: 4px; gap: 6px; }
body.text-mode .scene-head-name { color: #000; font-size: 14px; letter-spacing: 0; }
body.text-mode .pk-tag.safe { color: #2a7a3a; }
body.text-mode .pk-tag.danger { color: #a52020; }
body.text-mode .head-refresh,
body.text-mode .head-idle,
body.text-mode .head-gm {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; text-decoration: underline; font-size: 12px; font-weight: 400;
    padding: 0 2px; letter-spacing: 0;
}
body.text-mode .head-gm span { color: #0000cc; }
body.text-mode .scene-map-link { color: #0000cc; text-decoration: underline; margin: 6px 8px 2px; }

body.text-mode .scene-desc-line,
body.text-mode .scene-desc-pic {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #333; padding: 4px 8px; line-height: 1.9;
}
body.text-mode .scene-desc-line .sdp-img,
body.text-mode .scene-desc-pic .sdp-img { display: none; }
body.text-mode .sdp-txt { color: #333; }

body.text-mode .home-chat { background: none; border: 0; padding: 2px 8px; }
body.text-mode .home-chat .hc-line { color: #1a1a1a; line-height: 1.9; font-size: 12.5px; }
body.text-mode .tag {
    background: none !important; border: 0 !important; border-radius: 0 !important;
    color: #6a3d9a !important; padding: 0 !important; margin-right: 2px;
}
body.text-mode .tag.sys { color: #333 !important; }
body.text-mode .tag.notice { color: #a52020 !important; }

body.text-mode .exit-list { margin: 4px 8px; }
body.text-mode .exit-row { border-bottom: 0; padding: 2px 0; gap: 4px; }
body.text-mode .exit-dir { color: #666; }
body.text-mode .exit-name { color: #0000cc; text-decoration: underline; }
body.text-mode .exit-go { color: #888; font-size: 11px; margin-left: 4px; }

body.text-mode .npc-line,
body.text-mode .mob-line { border-bottom: 0; margin: 2px 8px; padding: 2px 0; gap: 6px; }
body.text-mode .npc-line .nl-label { color: #666; }
body.text-mode .nl-nm { color: #0000cc; text-decoration: underline; font-weight: 400; }
body.text-mode .nl-nm.mob-nm { color: #0000cc; }
body.text-mode .nl-img { width: 18px; height: 18px; border: 0; border-radius: 2px; }
body.text-mode .nl-ico { font-size: 13px; }
body.text-mode .map-players { color: #333; padding: 3px 8px; font-size: 12.5px; }
body.text-mode .map-players .mp-label { color: #666; }

/* 场景功能按钮 → 文字链接（保留点击区域） */
body.text-mode .scene-btns { gap: 4px 10px; margin: 4px 8px; }
body.text-mode .scene-btns button {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; text-decoration: underline; font-size: 12.5px; font-weight: 400;
    padding: 1px 0; text-shadow: none; flex: 0 0 auto;
}
body.text-mode .scene-btns button:active { filter: none; color: #a52020; }
body.text-mode .scene-btns button .dot { position: static; display: inline-block; margin-left: 2px; vertical-align: 3px; }
body.text-mode .scene-clock { color: #888; border: 0; background: none; }
body.text-mode .drop-list,
body.text-mode .scene-boss { background: none; border: 0; }

/* ---------- 底部导航 ---------- */
body.text-mode #tabbar { background: transparent; border-top: 1px dashed #dddddd; }
body.text-mode #tabbar button {
    background: none; color: #0000cc; font-size: 12.5px; padding: 8px 0;
    text-decoration: underline; letter-spacing: 0;
}
body.text-mode #tabbar button.on { background: none; color: #a52020; font-weight: 700; }

/* ---------- 二级页面抬头 ---------- */
body.text-mode .sub-bar { background: none; border-bottom: 1px dashed #dddddd; }
body.text-mode .sub-title { color: #000; font-size: 13px; letter-spacing: 2px; }
body.text-mode .sub-back,
body.text-mode .sub-home {
    background: none; border: 0; border-radius: 0; color: #0000cc;
    text-decoration: underline; font-size: 12.5px; padding: 0 2px;
}
body.text-mode .sub-foot { border-top: 1px dashed #dddddd; background: none; }

/* ---------- 通用容器 / 卡片 / 列表 ---------- */
body.text-mode .grid2 { gap: 2px; }
body.text-mode .card-btn {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; padding: 2px 0; text-align: left;
}
body.text-mode .card-btn .t { color: #0000cc; }
body.text-mode .card-btn .d { color: #666; font-size: 11.5px; }

body.text-mode .bag-row,
body.text-mode .mk-line {
    background: none; border: 0; border-bottom: 1px dashed #e5e5e5; border-radius: 0;
    box-shadow: none; padding: 5px 4px;
}
body.text-mode .bag-row .bname,
body.text-mode .bname { color: #000; font-weight: 700; }
body.text-mode .bsub,
body.text-mode .bdesc { color: #666; font-size: 11.5px; }
body.text-mode .sub { color: #666; }
body.text-mode .bimg,
body.text-mode .bico img { border: 0; border-radius: 2px; }

/* ---------- 聊天页 ---------- */
body.text-mode .chat-row { background: none; border: 0; border-bottom: 1px dashed #e2ddcd; border-radius: 0; padding: 3px 6px; }
body.text-mode .cr-time { color: #888; }
body.text-mode .chat-nm { color: #0000cc; }
body.text-mode .ctext { color: #1a1a1a; }
body.text-mode .ch-av .av-img { width: 20px; height: 20px; border-radius: 2px; }
body.text-mode .chat-date { color: #999; }
body.text-mode .chat-page button,
body.text-mode .chips .btab {
    background: none; border: 0; border-radius: 0; color: #0000cc;
    text-decoration: underline; padding: 1px 4px;
}
body.text-mode .chips .btab.on { color: #a52020; font-weight: 700; }

/* ---------- 人物 / 属性表 ---------- */
body.text-mode .hero-panel,
body.text-mode .hero-stats { background: none; border: 0; }
body.text-mode .hero-eq-layout { border: 0; }
body.text-mode .hero-slot { background: none; border: 1px dashed #e5e5e5; border-radius: 2px; box-shadow: none; }
body.text-mode .hero-center { border: 0; }
body.text-mode .hero-avatar { border: 0; box-shadow: none; background: none; }
body.text-mode .hero-avatar .av-img { width: 56px; height: 56px; border-radius: 2px; }
body.text-mode .hero-name { color: #000; font-size: 13px; }
body.text-mode .hero-pw { color: #333; }
body.text-mode .hero-sub { color: #666; }
body.text-mode .stat-item { border-bottom: 1px dashed #e2ddcd; }
body.text-mode .stat-item .sl { color: #666; font-weight: 400; }
body.text-mode .stat-item .sv { color: #000; }
body.text-mode .stat-row,
body.text-mode .stat-row-2,
body.text-mode .stat-row-full { border-bottom: 1px dashed #e2ddcd; }
body.text-mode .hero-actions button,
body.text-mode .hero-bottombar button,
body.text-mode .mini-btn,
body.text-mode .pot-btn {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; text-decoration: underline; font-size: 12.5px; padding: 0 4px;
}

/* ---------- 设置页 ---------- */
body.text-mode .set-grp {
    margin: 10px 0 2px; padding: 0 0 3px; font-size: 12.5px; color: #333;
    letter-spacing: 2px; border-bottom: 1px dashed #dddddd; font-weight: 700;
}
body.text-mode .set-row {
    background: none; border-bottom: 0; padding: 4px 2px; gap: 6px;
}
body.text-mode .set-ico { display: none; }
body.text-mode .set-lb { color: #1a1a1a; font-size: 13px; }
body.text-mode .set-val { color: #666; font-size: 12.5px; }
body.text-mode .set-btn {
    background: none; border: 0; border-radius: 0; color: #0000cc;
    text-decoration: underline; font-size: 12.5px; padding: 0 3px;
}
body.text-mode .set-btn.danger { color: #a52020; }

/* ---------- 交易行 / 表单 ---------- */
body.text-mode .mk-form { background: none; border: 0; border-radius: 0; padding: 4px 0; }
body.text-mode .mk-frow { gap: 6px; margin-bottom: 6px; }
body.text-mode .mk-frow select,
body.text-mode .mk-frow input,
body.text-mode input,
body.text-mode select,
body.text-mode textarea {
    background: #fff; border: 1px solid #aaa; border-radius: 2px;
    color: #000; font-family: inherit; font-size: 12.5px; padding: 3px 5px;
}
body.text-mode .mk-op,
body.text-mode .mk-btn,
body.text-mode .btn-danger {
    background: none; border: 0; border-radius: 0; box-shadow: none;
    color: #0000cc; text-decoration: underline; font-size: 12.5px; padding: 1px 4px;
    font-weight: 400;
}
body.text-mode .mk-sec { color: #333; border-left: 0; padding-left: 0; font-size: 12.5px; }

/* ---------- 弹窗 ---------- */
body.text-mode #mask { background: rgba(255, 255, 255, .72); }
body.text-mode #modal .dlg,
body.text-mode .dlg {
    background: #ffffff; border: 1px solid #bbb; border-radius: 2px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .15); color: #1a1a1a;
}
body.text-mode .dlg h3 { color: #333; font-size: 14px; letter-spacing: 1px; }
body.text-mode .dlg-text { color: #1a1a1a; }
body.text-mode .dlg-btn {
    background: none; border: 0; border-radius: 0; color: #0000cc;
    text-decoration: underline; font-size: 13px; padding: 2px 6px;
}
body.text-mode #toast {
    background: #333; color: #fff; border: 0; border-radius: 2px;
    font-family: inherit; box-shadow: none;
}

/* ---------- 图片：文字模式下尽量弱化（头像保留） ---------- */
body.text-mode .scene-cover,
body.text-mode .sdp-img,
body.text-mode .cultivate-figure,
body.text-mode .home-banner { display: none; }

/* ---------- 特殊：背包格 / 技能格 ---------- */
body.text-mode .bag-cell,
body.text-mode .sk-card,
body.text-mode .dun-card,
body.text-mode .shop-item {
    background: none; border: 1px dashed #ccc; border-radius: 2px; box-shadow: none;
}
body.text-mode .bag-cell .bc-nm,
body.text-mode .sk-card .sk-nm { color: #1a1a1a; }

/* ============================================================
 * 兜底：文字模式下把页面内残留的浅色文字统一压深，避免白底看不见；
 * 同时用 !important 保住关键「可点文字」的蓝色链接色。
 * ============================================================ */
body.text-mode #page,
body.text-mode #page * { color: #1a1a1a; text-shadow: none; }
body.text-mode #page button,
body.text-mode #page .card-btn,
body.text-mode #page .card-btn .t,
body.text-mode #page .exit-name,
body.text-mode #page .nl-nm,
body.text-mode #page .pg-link,
body.text-mode #page .sub-back,
body.text-mode #page .sub-home,
body.text-mode #page .mini-btn,
body.text-mode #page .mk-btn,
body.text-mode #page .mk-op,
body.text-mode #page .set-btn,
body.text-mode #page .scene-btns button,
body.text-mode #page .pot-btn,
body.text-mode #page .head-refresh,
body.text-mode #page .head-idle { color: #0000cc !important; }
body.text-mode #page .sub,
body.text-mode #page .tip,
body.text-mode #page .desc,
body.text-mode #page .bsub,
body.text-mode #page .bdesc,
body.text-mode #page .empty-tip,
body.text-mode #page .set-val,
body.text-mode #page .sl,
body.text-mode #page .hero-sub { color: #666 !important; }
body.text-mode #page .tag { color: #6a3d9a !important; }
body.text-mode #page .t-gold { color: #8a5a12 !important; }
body.text-mode #page .t-red { color: #a52020 !important; }
body.text-mode #page .t-sky { color: #1a5a7a !important; }
body.text-mode #page .dot { color: #a52020 !important; }
/* 常见列表容器：统一去掉深色底 / 圆角 / 阴影 */
body.text-mode #page .rank-row,
body.text-mode #page .gang-row,
body.text-mode #page .pet-row,
body.text-mode #page .house-row,
body.text-mode #page .task-row,
body.text-mode #page .friend-row,
body.text-mode #page .pi-row,
body.text-mode #page .region-row,
body.text-mode #page .shop-row,
body.text-mode #page .welfare-row {
    background: none; border: 0; border-bottom: 1px dashed #e2ddcd;
    border-radius: 0; box-shadow: none;
}

/* ============================================================
 * 第二轮补强：场景描述旗形框 / 顶栏圆钮 / 战斗页 / 掉落列表
 *  这些组件的原样式带 !important，这里必须同级 + 更靠后覆盖
 * ============================================================ */

/* 场景描述旗形框（深蓝底 + 尖角） */
body.text-mode .scene-desc-line {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px dashed #dddddd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 4px 8px !important;
    color: #333 !important;
}
body.text-mode .scene-desc-line::after,
body.text-mode .scene-desc-line::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* 顶栏右侧圆形功能按钮：只留文字链接 */
body.text-mode .round-btn,
body.text-mode .round-btn.rb-ico,
body.text-mode .round-btn.rb-green {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 2px !important;
}
body.text-mode .round-btn .rb-lb,
body.text-mode .round-btn.rb-ico .rb-lb {
    color: #0000cc !important;
    font-size: 12px !important;
    text-decoration: underline;
    letter-spacing: 0;
}

/* 页面内所有按钮统一成文字链接（不影响点击区域） */
body.text-mode #page button,
body.text-mode #page .fq-slot,
body.text-mode #page .dun-enter,
body.text-mode #page .mode-btn,
body.text-mode #page .team-apply,
body.text-mode #page .mk-op,
body.text-mode #page .mk-btn {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0000cc !important;
    text-shadow: none !important;
    font-weight: 400 !important;
    text-decoration: underline;
}
body.text-mode #page button:active { filter: none !important; color: #a52020 !important; }
body.text-mode #page button i,
body.text-mode #page .fq-slot .fq-nm { color: #0000cc !important; }

/* 战斗页 */
body.text-mode .fight-top { border-bottom: 1px dashed #dddddd; background: none !important; }
body.text-mode .fight-top .ft-title { color: #000 !important; font-size: 13px; }
body.text-mode .fight-mon,
body.text-mode .fight-me,
body.text-mode .fight-unit,
body.text-mode .fight-status,
body.text-mode .dun-manual,
body.text-mode .fight-quick,
body.text-mode .dun-mode-bar {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #333 !important;
}
body.text-mode .fight-mon .nm,
body.text-mode .fight-me .nm { color: #333 !important; }
body.text-mode .fight-tip { background: none !important; border: 0 !important; color: #666 !important; }
body.text-mode .fight-log,
body.text-mode .fight-bottom,
body.text-mode .fight-foot,
body.text-mode #page [class*="log"] {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    color: #333 !important;
}
body.text-mode .fight-log *,
body.text-mode #page [class*="log"] * { background: none !important; color: #333 !important; }

/* 掉落列表 */
body.text-mode .drop-list { background: none !important; margin: 2px 8px; }
body.text-mode .drop-list .scene-row {
    background: none !important;
    border: 0 !important;
    border-bottom: 1px dashed #e2ddcd !important;
}

/* 场景时钟 / 底部小字 */
body.text-mode .scene-clock {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #888 !important;
}

/* 各种深色列表容器统一去底 */
body.text-mode .team-row,
body.text-mode .dun-row,
body.text-mode .bag-cell,
body.text-mode .sk-card,
body.text-mode .pet-card,
body.text-mode .house-card {
    background: none !important;
    border: 0 !important;
    border-bottom: 1px dashed #e2ddcd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ============================================================
 * 全局去底：自动扫描出所有「深色背景」组件，文字模式下一律扁平化
 * （仅 body.text-mode 生效，图形版完全不受影响）
 * ============================================================ */
body.text-mode .ach-btn,
body.text-mode .avatar,
body.text-mode .bag-back,
body.text-mode .bag-item,
body.text-mode .bag-row,
body.text-mode .bchip,
body.text-mode .bico,
body.text-mode .bm-zone,
body.text-mode .btab,
body.text-mode .card-btn,
body.text-mode .cc-av,
body.text-mode .chat-channels,
body.text-mode .chat-input,
body.text-mode .ct-go,
body.text-mode .dd-ico,
body.text-mode .dun-enter,
body.text-mode .ep-ico,
body.text-mode .ep-wear,
body.text-mode .eqd-ico,
body.text-mode .eqpick-cur,
body.text-mode .eqpick-row,
body.text-mode .fight-status,
body.text-mode .fight-tip,
body.text-mode .fq-slot,
body.text-mode .fr-ico,
body.text-mode .frv-ava,
body.text-mode .fu-ico,
body.text-mode .gang-big,
body.text-mode .gang-hero,
body.text-mode .gang-mem,
body.text-mode .gang-notice,
body.text-mode .gang-rank-row,
body.text-mode .gang-rule,
body.text-mode .gang-tag,
body.text-mode .gang-tips,
body.text-mode .gc-list,
body.text-mode .gh-lv,
body.text-mode .gh-role,
body.text-mode .gl-join,
body.text-mode .gl-row,
body.text-mode .gl-tag,
body.text-mode .gm-role,
body.text-mode .gq-btn,
body.text-mode .hero-avatar,
body.text-mode .hero-slot,
body.text-mode .hf-row,
body.text-mode .house-bonus,
body.text-mode .house-hero,
body.text-mode .house-row,
body.text-mode .hud-res,
body.text-mode .idt-ico,
body.text-mode .m-ico,
body.text-mode .map-sel,
body.text-mode .mini-btn,
body.text-mode .mk-btn,
body.text-mode .mk-form,
body.text-mode .mk-op,
body.text-mode .mk-qitem,
body.text-mode .ms-btn,
body.text-mode .na-btn,
body.text-mode .npc-act,
body.text-mode .npc-ava,
body.text-mode .npc-hero,
body.text-mode .npc-say,
body.text-mode .pet-cell,
body.text-mode .pet-ico,
body.text-mode .pm-box,
body.text-mode .pot-btn,
body.text-mode .pp-mini,
body.text-mode .pv-ava,
body.text-mode .pv-head,
body.text-mode .pv-rows,
body.text-mode .pv-stat,
body.text-mode .rank-row,
body.text-mode .reg-feature,
body.text-mode .rk-av,
body.text-mode .rk-no,
body.text-mode .round-btn,
body.text-mode .sdp-img,
body.text-mode .set-btn,
body.text-mode .set-row,
body.text-mode .sign-cell,
body.text-mode .sk-card,
body.text-mode .sk-learn-btn,
body.text-mode .skc-set,
body.text-mode .skill-head,
body.text-mode .sm-node,
body.text-mode .smap-areas,
body.text-mode .smap-item,
body.text-mode .smap-node,
body.text-mode .team-apply,
body.text-mode .tk-all,
body.text-mode .tk-rw,
body.text-mode .tk-type,
body.text-mode .ty-q,
body.text-mode .ty-row,
body.text-mode .xl-card,
body.text-mode .xl-gm-btn,
body.text-mode .xl-gm-row,
body.text-mode .xl-mon,
body.text-mode .xl-mon-ico,
body.text-mode .xl-th-row,
body.text-mode .xl-ti-btn,
body.text-mode .xl-ti-row,
body.text-mode .zi-new,
body.text-mode .zr-btn {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.text-mode .ach-btn,
body.text-mode .btab,
body.text-mode .ct-go,
body.text-mode .dun-enter,
body.text-mode .fq-slot,
body.text-mode .gl-join,
body.text-mode .gq-btn,
body.text-mode .mini-btn,
body.text-mode .mk-btn,
body.text-mode .mk-op,
body.text-mode .mk-qitem,
body.text-mode .ms-btn,
body.text-mode .na-btn,
body.text-mode .npc-act,
body.text-mode .pot-btn,
body.text-mode .round-btn,
body.text-mode .set-btn,
body.text-mode .sk-learn-btn,
body.text-mode .team-apply,
body.text-mode .tk-all,
body.text-mode .tk-type,
body.text-mode .xl-gm-btn,
body.text-mode .xl-ti-btn,
body.text-mode .zr-btn,
body.text-mode .bchip,
body.text-mode .map-sel {
    color: #0000cc !important;
    text-decoration: underline;
    text-shadow: none !important;
    font-weight: 400 !important;
}

body.text-mode .avatar,
body.text-mode .bag-back,
body.text-mode .bag-item,
body.text-mode .bag-row,
body.text-mode .bm-zone,
body.text-mode .card-btn,
body.text-mode .chat-channels,
body.text-mode .chat-input,
body.text-mode .ep-wear,
body.text-mode .eqpick-cur,
body.text-mode .eqpick-row,
body.text-mode .fight-status,
body.text-mode .fight-tip,
body.text-mode .gang-big,
body.text-mode .gang-hero,
body.text-mode .gang-mem,
body.text-mode .gang-notice,
body.text-mode .gang-rank-row,
body.text-mode .gang-rule,
body.text-mode .gang-tag,
body.text-mode .gang-tips,
body.text-mode .gc-list,
body.text-mode .gh-lv,
body.text-mode .gh-role,
body.text-mode .gl-row,
body.text-mode .gl-tag,
body.text-mode .gm-role,
body.text-mode .hero-slot,
body.text-mode .hf-row,
body.text-mode .house-bonus,
body.text-mode .house-hero,
body.text-mode .house-row,
body.text-mode .hud-res,
body.text-mode .mk-form,
body.text-mode .npc-hero,
body.text-mode .npc-say,
body.text-mode .pet-cell,
body.text-mode .pm-box,
body.text-mode .pp-mini,
body.text-mode .pv-head,
body.text-mode .pv-rows,
body.text-mode .pv-stat,
body.text-mode .rank-row,
body.text-mode .reg-feature,
body.text-mode .rk-no,
body.text-mode .set-row,
body.text-mode .sign-cell,
body.text-mode .sk-card,
body.text-mode .skc-set,
body.text-mode .sm-node,
body.text-mode .smap-areas,
body.text-mode .smap-item,
body.text-mode .smap-node,
body.text-mode .tk-rw,
body.text-mode .ty-q,
body.text-mode .ty-row,
body.text-mode .xl-card,
body.text-mode .xl-gm-row,
body.text-mode .xl-mon,
body.text-mode .xl-th-row,
body.text-mode .xl-ti-row,
body.text-mode .zi-new {
    color: #1a1a1a !important;
    text-shadow: none !important;
}

body.text-mode .bag-row,
body.text-mode .bag-item,
body.text-mode .rank-row,
body.text-mode .gang-rank-row,
body.text-mode .gl-row,
body.text-mode .hf-row,
body.text-mode .house-row,
body.text-mode .pet-cell,
body.text-mode .smap-item,
body.text-mode .ty-row,
body.text-mode .xl-card,
body.text-mode .xl-th-row,
body.text-mode .xl-ti-row,
body.text-mode .pv-rows,
body.text-mode .gc-list,
body.text-mode .gang-mem,
body.text-mode .eqpick-row,
body.text-mode .set-row,
body.text-mode .sign-cell,
body.text-mode .sk-card {
    border-bottom: 1px dashed #e2ddcd !important;
}

body.text-mode .chat-input input,
body.text-mode .chat-input textarea,
body.text-mode .pm-box input {
    background: #fff !important; border: 1px solid #aaa !important;
    color: #000 !important; border-radius: 2px !important;
}

/* ============================================================
 * 第三轮补强：场景容器 / 分页条 / 统计条 / 标签按钮
 * ============================================================ */

/* 页面外层容器：清掉纹理与深色底（强制） */
body.text-mode .scene-wrap,
body.text-mode .home-wrap,
body.text-mode .subpage,
body.text-mode #page,
body.text-mode .sub-body {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* 分页条 / 统计条 / 货币条 */
body.text-mode .chat-page,
body.text-mode .sell-bar-inline,
body.text-mode .bag-cur,
body.text-mode .tk-sum,
body.text-mode .tk-head,
body.text-mode .sub-bar {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #1a1a1a !important;
}
body.text-mode .chat-page button,
body.text-mode .sell-bar-inline button {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #0000cc !important;
    text-decoration: underline;
    font-size: 12px;
    padding: 0 3px;
}
body.text-mode .chat-page button:disabled {
    color: #999 !important;
    text-decoration: none;
}
body.text-mode .chat-page span,
body.text-mode .bag-cur b { color: #333 !important; }

/* 标签 / 页签按钮（任务分类、聊天频道、包裹分类） */
body.text-mode .tk-kinds span,
body.text-mode .btab,
body.text-mode .chips span {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0000cc !important;
    text-decoration: underline;
    padding: 1px 5px;
    font-size: 12.5px;
}
body.text-mode .btab.on,
body.text-mode .tk-kinds span.on,
body.text-mode .chips span.on {
    color: #a52020 !important;
    font-weight: 700;
    text-decoration: none;
}

/* 任务奖励小标签（金币/仙玉/经验） */
body.text-mode .tk-rw {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #6b4a12 !important;
    padding: 0 4px 0 0;
}
body.text-mode .tk-rw b { color: #6b4a12 !important; }
body.text-mode .tk-bar { background: #eee !important; border: 1px solid #ccc !important; }

/* ============================================================
 * 第四轮：按类名前缀批量去底（任务 / 腾云 / 聊天 / 地图 / 修炼 / 交易行等）
 *   只清背景与阴影，不动边框，避免破坏已有的虚线分隔
 * ============================================================ */
body.text-mode #page [class^="tk-"]:not(.tk-bar),
body.text-mode #page [class^="ty-"],
body.text-mode #page [class^="chat-"],
body.text-mode #page [class^="smap-"],
body.text-mode #page [class^="xl-"],
body.text-mode #page [class^="mk-"]:not(.mk-line),
body.text-mode #page [class^="pv-"],
body.text-mode #page [class^="frv-"],
body.text-mode #page [class^="gl-"],
body.text-mode #page [class^="gang-"],
body.text-mode #page [class^="house-"],
body.text-mode #page [class^="eqpick-"],
body.text-mode #page [class^="dd-"],
body.text-mode #page [class^="hf-"],
body.text-mode #page [class^="sign-"],
body.text-mode #page [class^="skc-"],
body.text-mode #page [class^="npc-"] {
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ============================================================
 * 第五轮：标签条（包裹 / 仓库 / 卖出、分类筛选、聊天频道、帮派导航等）
 *   这类容器是深色底 + 彩色胶囊按钮，统一改成「文字 + 下划线」
 * ============================================================ */
body.text-mode .bag-tabs,
body.text-mode .bt-left,
body.text-mode .bt-right,
body.text-mode .bag-tabs .bt-left,
body.text-mode .bag-tabs .bt-right,
body.text-mode .chat-channels,
body.text-mode .gl-tabs,
body.text-mode .gang-nav,
body.text-mode .xl-tabs,
body.text-mode .skc-tabs,
body.text-mode .mk-tabs,
body.text-mode .house-tabs,
body.text-mode .sk-kind-tabs {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px dashed #dddddd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 5px 8px !important;
}

body.text-mode .bag-tabs .btab,
body.text-mode .bag-tabs .bchip,
body.text-mode .bag-back2,
body.text-mode .chat-channels span,
body.text-mode .chat-channels button,
body.text-mode .house-tabs button,
body.text-mode .xl-tabs button,
body.text-mode .skc-tabs button,
body.text-mode .mk-tabs span,
body.text-mode .sk-kind-tabs button,
body.text-mode .gang-nav button,
body.text-mode .gang-nav span,
body.text-mode .gl-tabs button,
body.text-mode .gl-tabs span,
body.text-mode .bchip {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0000cc !important;
    text-decoration: underline;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    padding: 1px 6px !important;
    letter-spacing: 0;
}
body.text-mode .bag-tabs .btab.on,
body.text-mode .bag-tabs .bchip.on,
body.text-mode .house-tabs button.on,
body.text-mode .xl-tabs button.on,
body.text-mode .skc-tabs button.on,
body.text-mode .sk-kind-tabs button.on,
body.text-mode .chat-channels span.on,
body.text-mode .bchip.on {
    background: none !important;
    color: #a52020 !important;
    font-weight: 700 !important;
    text-decoration: none;
}

/* 包裹页货币条 */
body.text-mode .bag-cur {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px dashed #e2ddcd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 4px 8px !important;
    padding: 4px 0 !important;
}
body.text-mode .bag-cur,
body.text-mode .bag-cur span,
body.text-mode .bag-cur i { color: #333 !important; }
body.text-mode .bag-cur b { color: #8a5a12 !important; }
body.text-mode .bag-cur .cur-ico { display: none !important; }

/* ============================================================
 * 第六轮：文字版整体排版规整（对齐 / 行距 / 空白）
 *  目标：像 MUD 那样「标签 + 内容」左侧一条竖线对齐，
 *        去掉图片留下的占位空白，功能按钮严格 5 列对齐
 * ============================================================ */

/* ① 整页统一左右留白：所有场景区块共用同一条左边线 */
body.text-mode .scene-wrap { padding: 0 10px !important; }
body.text-mode .scene-desc-line,
body.text-mode .scene-desc-pic,
body.text-mode .home-chat,
body.text-mode .exit-list,
body.text-mode .npc-line,
body.text-mode .mob-line,
body.text-mode .map-players,
body.text-mode .scene-btns,
body.text-mode .drop-list,
body.text-mode .scene-clock,
body.text-mode .scene-map-link,
body.text-mode .scene-head {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ② 去掉描述框因图片留下的高度与空隙 */
body.text-mode .scene-desc-line {
    padding: 3px 0 5px !important;
    margin-bottom: 2px !important;
    line-height: 1.75 !important;
}
body.text-mode .scene-desc-pic { gap: 0 !important; display: block !important; }
body.text-mode .scene-desc-pic .sdp-img,
body.text-mode .sdp-img { display: none !important; }
body.text-mode .scene-desc-line::after { display: none !important; }

/* ③ 聊天区紧贴描述，行距收紧 */
body.text-mode .home-chat { padding: 2px 0 4px !important; margin: 0 !important; }
body.text-mode .home-chat .hc-line { line-height: 1.75 !important; margin: 1px 0 !important; }

/* ④ 出口行：方向定宽 + 地图名 + 前往右对齐，形成整齐三列 */
body.text-mode .exit-row {
    display: flex !important;
    align-items: baseline;
    gap: 8px;
    padding: 1px 0 !important;
    border-bottom: 0 !important;
}
body.text-mode .exit-dir { flex: 0 0 18px; text-align: left; color: #666 !important; }
body.text-mode .exit-name { flex: 1 1 auto; min-width: 0; color: #0000cc !important; }
body.text-mode .exit-go { flex: 0 0 auto; margin-left: 0; color: #999 !important; font-size: 11px !important; }

/* ⑤ NPC / 怪物 / 玩家：标签定宽，内容左对齐成一条线 */
body.text-mode .npc-line,
body.text-mode .mob-line { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; padding: 2px 0 !important; border-bottom: 0 !important; }
body.text-mode .npc-line .nl-label,
body.text-mode .mob-line .nl-label { flex: 0 0 40px; color: #666 !important; }
body.text-mode .npc-item { gap: 3px !important; }
body.text-mode .nl-img { width: 15px !important; height: 15px !important; vertical-align: -2px; }
body.text-mode .map-players { display: flex !important; align-items: baseline; gap: 8px; padding: 2px 0 !important; }
body.text-mode .map-players .mp-label { flex: 0 0 40px; color: #666 !important; }

/* ⑥ 功能按钮：严格 5 列网格（仍是 4 行 5 列，只是列宽一致，不会变成大按钮） */
body.text-mode .scene-btns {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px 0 !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}
body.text-mode .scene-btns button {
    justify-content: flex-start !important;
    text-align: left;
    padding: 1px 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ⑦ 场景抬头：名称 / 状态 / 按钮之间留出固定间距 */
body.text-mode .scene-head {
    display: flex !important;
    align-items: baseline;
    gap: 10px !important;
    margin: 4px 0 2px !important;
    padding-bottom: 4px !important;
    border-bottom: 1px dashed #dddddd !important;
}
body.text-mode .scene-head .head-refresh,
body.text-mode .scene-head .head-idle { margin-left: 0 !important; }

/* ⑧ 报时行 */
body.text-mode .scene-clock { padding: 6px 0 0 !important; color: #999 !important; font-size: 11.5px !important; }

/* ⑨ 顶栏：货币显示中文标签（图标已隐藏，只留「金币 2200 ｜ 仙玉 0」） */
body.text-mode .hud-res { gap: 0 !important; padding: 3px 6px !important; }
body.text-mode .hud-res .res { margin-right: 10px; }
body.text-mode .hud-res .res-lab { display: inline !important; color: #666 !important; font-size: 11px !important; font-style: normal; margin-right: 2px; }
body.text-mode .hud-res .res-plus { display: none !important; }
body.text-mode .hud-res .zone {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    margin: 0 0 0 auto !important;
    color: #666 !important;
    font-size: 11.5px !important;
}
body.text-mode .hud-res .joinqq,
body.text-mode .hud-res .sign { margin-left: 8px; }
body.text-mode .hud-main { padding: 3px 6px 4px !important; border-bottom: 1px dashed #dddddd !important; }

/* ⑩ 引导条：与下方内容同一条左线 */
body.text-mode #guide-bar { margin: 4px 6px !important; padding: 4px 6px !important; }


/* 窄屏：货币标签收起，避免顶栏换行 */
@media (max-width: 430px) {
    body.text-mode .hud-res .res-lab { display: inline !important; font-size: 10px !important; color: #777 !important; }
    body.text-mode .hud-res .res { margin-right: 6px; }
    body.text-mode .hud-res .zone { font-size: 11px !important; }
    body.text-mode .scene-btns { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
    body.text-mode .scene-btns button { font-size: 15px !important; padding: 3px 0 !important; }
    body.text-mode .hud-side { gap: 6px; }
    body.text-mode .round-btn { width: auto; height: auto; flex: 0 0 auto; }
    body.text-mode .round-btn .rb-lb { font-size: 11.5px !important; }
}

/* ================= 文字版手机：顶栏换行，避免右侧按钮被裁 ================= */
@media (max-width: 480px) {
    body.text-mode .hud-main { flex-wrap: wrap; row-gap: 2px; }
    body.text-mode .hud-side {
        flex: 1 1 100%;
        justify-content: flex-end;
        gap: 10px !important;
        margin-top: 1px;
    }
    body.text-mode .round-btn .rb-lb { font-size: 12px !important; }
    body.text-mode .hud-res { flex-wrap: wrap; row-gap: 2px; }
    body.text-mode .hud-res .zone { margin-left: 0 !important; }
    body.text-mode .hud-res .joinqq { margin-left: auto; }
    /* 功能按钮：5 列，文字模式用字号小一点保证 4 行不变形 */
    body.text-mode .scene-btns { gap: 2px 0 !important; }
    body.text-mode .npc-line .nl-label,
    body.text-mode .mob-line .nl-label { flex: 0 0 34px; }
    body.text-mode .exit-dir { flex: 0 0 14px; }
}

/* ⑨ 统一正文与按钮字号：场景内所有文字同一字号，不再有的 13 有的 15 */
body.text-mode { font-size: 15px !important; }
body.text-mode .scene-desc-line,
body.text-mode .home-chat .hc-line,
body.text-mode .home-chat .hc-nm,
body.text-mode .exit-row,
body.text-mode .exit-row .exit-name,
body.text-mode .exit-row .exit-dir,
body.text-mode .npc-line,
body.text-mode .npc-line .nl-label,
body.text-mode .npc-item,
body.text-mode .map-players,
body.text-mode .map-players .mp-label,
body.text-mode .map-players .mp-name,
body.text-mode .scene-btns button,
body.text-mode .scene-map-link,
body.text-mode .scene-clock {
    font-size: 15px !important;
    line-height: 1.9 !important;
}
/* 次要信息（前往/时间）略小 */
body.text-mode .exit-row .exit-go { font-size: 13px !important; }

@media (max-width: 480px) {
    body.text-mode { font-size: 14px !important; }
    body.text-mode .scene-desc-line,
    body.text-mode .home-chat .hc-line,
    body.text-mode .home-chat .hc-nm,
    body.text-mode .exit-row,
    body.text-mode .exit-row .exit-name,
    body.text-mode .exit-row .exit-dir,
    body.text-mode .npc-line,
    body.text-mode .npc-line .nl-label,
    body.text-mode .npc-item,
    body.text-mode .map-players,
    body.text-mode .map-players .mp-label,
    body.text-mode .map-players .mp-name,
    body.text-mode .scene-btns button {
        font-size: 14px !important;
    }
}

/* ================= 文字模式优先级最高（压过所有主题） ================= */
body.text-mode, body.text-mode #app {
    background: #ffffff !important;
    color: #1a1a1a !important;
}
body.text-mode #page, body.text-mode .scene-wrap { background: transparent !important; }
body.text-mode #hud { background: transparent !important; border-bottom: 1px dashed #dddddd !important; }
body.text-mode #tabbar { background: #f5f5f5 !important; border-top: 1px solid #dddddd !important; }
body.text-mode #tabbar button { color: #333 !important; }
body.text-mode #tabbar button.on { color: #a52020 !important; font-weight: 700; }

/* 卡片 / 行 / 弹窗：保持浅底深字 */
body.text-mode .card, body.text-mode .panel, body.text-mode .sub-wrap,
body.text-mode .bag-row, body.text-mode .bag-item, body.text-mode .hero-panel,
body.text-mode .bag-panel, body.text-mode .mk-card, body.text-mode .rank-row,
body.text-mode .gang-row, body.text-mode .task-row, body.text-mode .pet-row,
body.text-mode .house-row, body.text-mode .pi-row, body.text-mode .chat-page,
body.text-mode .scene-desc-line {
    background: transparent !important;
    border-color: #e5e5e5 !important;
    color: #1a1a1a !important;
    box-shadow: none !important;
}
body.text-mode .modal-box, body.text-mode #modal {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #dddddd !important;
}
body.text-mode .scene-btns button, body.text-mode .mini-btn, body.text-mode .set-btn {
    background: transparent !important;
    border: 0 !important;
    color: #0000cc !important;
}
body.text-mode .scene-btns button:active, body.text-mode .mini-btn:active { color: #a52020 !important; }

/* ================= 文字版统一：可点击蓝色 + 字号一致 ================= */
/* ① 所有可点击的文字元素 → 蓝色（纸感主题的链接色） */
body.text-mode button,
body.text-mode [data-act],
body.text-mode [data-tab-go],
body.text-mode [data-open],
body.text-mode [data-tab],
body.text-mode a,
body.text-mode .chat-nm[data-act],
body.text-mode .hc-nm[data-act],
body.text-mode .exit-row[data-act],
body.text-mode .exit-name,
body.text-mode .npc-item[data-act],
body.text-mode .mp-name[data-act],
body.text-mode .sub-home,
body.text-mode .ph-back,
body.text-mode .sub-back,
body.text-mode .back-btn,
body.text-mode .ch-btn,
body.text-mode .bag-back2 {
    color: #0000cc !important;
    text-decoration: none;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
/* 点击时变红（文字版传统反馈） */
body.text-mode button:active,
body.text-mode [data-act]:active,
body.text-mode [data-tab-go]:active,
body.text-mode [data-open]:active {
    color: #a52020 !important;
}

/* ② 主要文字统一 15px（技能描述等长文本单独排除） */
body.text-mode button,
body.text-mode [data-act],
body.text-mode [data-tab-go],
body.text-mode [data-open] {
    font-size: 15px !important;
    line-height: 1.85 !important;
}

/* 场景与列表正文 */
body.text-mode .scene-desc-line,
body.text-mode .home-chat .hc-line,
body.text-mode .home-chat .hc-nm,
body.text-mode .exit-row,
body.text-mode .exit-name,
body.text-mode .exit-dir,
body.text-mode .npc-line,
body.text-mode .npc-line .nl-label,
body.text-mode .npc-item,
body.text-mode .map-players,
body.text-mode .map-players .mp-label,
body.text-mode .map-players .mp-name,
body.text-mode .scene-btns button,
body.text-mode .scene-map-link,
body.text-mode .scene-clock {
    font-size: 15px !important;
}

/* 子页面正文 */
body.text-mode .sub-title,
body.text-mode .ph-title,
body.text-mode .card,
body.text-mode .panel,
body.text-mode .bag-row,
body.text-mode .bag-row .b-name,
body.text-mode .task-row,
body.text-mode .rank-row,
body.text-mode .pi-row,
body.text-mode .gang-row,
body.text-mode .skill-row,
body.text-mode .sk-name,
body.text-mode .chat-row {
    font-size: 15px !important;
}

/* ③ 例外：技能描述、物品说明等长文本保持较小，避免一屏放不下 */
body.text-mode .sk-desc,
body.text-mode .item-desc,
body.text-mode .tip,
body.text-mode .sub,
body.text-mode .desc,
body.text-mode .nl-label,
body.text-mode .empty-tip,
body.text-mode .pp-tip {
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: #666 !important;
}

/* 数量、时间等次要信息 */
body.text-mode .bag-row .b-num,
body.text-mode .cr-time,
body.text-mode .exit-go,
body.text-mode .qp-num {
    font-size: 12.5px !important;
    color: #888 !important;
}

@media (max-width: 480px) {
    body.text-mode button,
    body.text-mode [data-act],
    body.text-mode [data-tab-go],
    body.text-mode [data-open],
    body.text-mode .scene-desc-line,
    body.text-mode .home-chat .hc-line,
    body.text-mode .exit-row,
    body.text-mode .npc-line,
    body.text-mode .map-players,
    body.text-mode .scene-btns button {
        font-size: 14.5px !important;
    }
}

/* ================= 手机端禁止竖排（怪物/玩家/NPC） ================= */
@media (max-width: 480px) {
    /* 标签不再定宽挤压，改为自然宽度并禁止折行 */
    body.text-mode .nl-label,
    body.text-mode .mp-label {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 3em;
        white-space: nowrap !important;
        word-break: keep-all !important;
        display: inline-block !important;
    }

    /* NPC / 怪物行：块级 + 内部行内，避免 flex 挤压 */
    body.text-mode .npc-line,
    body.text-mode .mob-line {
        display: block !important;
        padding: 3px 0 !important;
        line-height: 1.9 !important;
    }
    body.text-mode .npc-line .npc-item,
    body.text-mode .mob-line .npc-item {
        display: inline-block !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        margin: 0 8px 0 0;
    }

    /* 玩家行：同样改成块级，玩家名横排 */
    body.text-mode .map-players {
        display: block !important;
        padding: 3px 0 !important;
        line-height: 1.9 !important;
    }
    body.text-mode .map-players .mp-name,
    body.text-mode .map-players .mp-sep {
        display: inline-block !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        margin: 0 8px 0 0;
    }
}

/* 桌面端也加一层保险：任何标签都不许逐字折行 */
body.text-mode .nl-label,
body.text-mode .mp-label,
body.text-mode .npc-item,
body.text-mode .mp-name {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

/* ================= 纯白底与 15px 统一（最终覆盖） ================= */
/* 整页纯白，不要米黄 */
body.text-mode,
body.text-mode #app,
body.text-mode #page,
body.text-mode #sub-body,
body.text-mode .scene-wrap {
    background: #ffffff !important;
}
body.text-mode #tabbar {
    background: #f7f7f7 !important;
    border-top: 1px solid #ddd !important;
}
body.text-mode #hud { background: #ffffff !important; border-bottom: 1px dashed #ddd !important; }

/* 所有可点击文字：统一 15px（桌面 + 手机一致） */
body.text-mode button,
body.text-mode [data-act],
body.text-mode [data-tab-go],
body.text-mode [data-open],
body.text-mode [data-tab],
body.text-mode a,
body.text-mode .chat-nm,
body.text-mode .hc-nm,
body.text-mode .exit-name,
body.text-mode .npc-item,
body.text-mode .mp-name,
body.text-mode .sub-home,
body.text-mode .ph-back,
body.text-mode .sub-back,
body.text-mode .back-btn,
body.text-mode .ch-btn,
body.text-mode .bag-back2,
body.text-mode .tc {
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: #0000cc !important;
}

@media (max-width: 480px) {
    body.text-mode button,
    body.text-mode [data-act],
    body.text-mode [data-tab-go],
    body.text-mode [data-open],
    body.text-mode [data-tab],
    body.text-mode .chat-nm,
    body.text-mode .hc-nm,
    body.text-mode .exit-name,
    body.text-mode .npc-item,
    body.text-mode .mp-name,
    body.text-mode .sub-home,
    body.text-mode .ph-back,
    body.text-mode .sub-back,
    body.text-mode .back-btn,
    body.text-mode .ch-btn,
    body.text-mode .bag-back2 {
        font-size: 15px !important;   /* 手机上也是 15px，不再缩小 */
    }
}

/* ============================================================
 * 全去图（对齐 mhfs.guaji321.cn 纯文字 MUD 风格）：
 *  隐藏所有头像 / 装备 / NPC / 怪物 / 宠物 / 图标图片，
 *  只保留文字链接与表单，视觉上不再有任何图形元素。
 *  布局结构不动（图片隐藏后容器自动收缩），点击区域不受影响。
 * ============================================================ */
body.text-mode img { display: none !important; }

/* 顶栏角色头像容器：图片隐藏后收缩为纯文字（名字/ID/等级） */
body.text-mode .avatar {
    width: auto !important; height: auto !important;
    min-width: 0 !important; min-height: 0 !important;
    flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important;
}
body.text-mode .avatar .av-img { display: none !important; }
body.text-mode .avatar .av-nm { font-size: 15px !important; }

/* 聊天行头像：隐藏后消息贴左对齐 */
body.text-mode .ch-av { display: none !important; }
body.text-mode .chat-row .cr-main { margin-left: 0 !important; padding-left: 0 !important; }

/* 人物页立绘头像：隐藏后属性区贴左 */
body.text-mode .hero-avatar { display: none !important; }
body.text-mode .hero-center { margin-left: 0 !important; }

/* NPC / 怪物 / 玩家小图标 */
body.text-mode .nl-img,
body.text-mode .nl-ico,
body.text-mode .npc-ava { display: none !important; }

/* 背包 / 装备 / 宠物 / 技能 / 修炼图标 */
body.text-mode .bico,
body.text-mode .bimg,
body.text-mode .pet-ico,
body.text-mode .sk-card img,
body.text-mode .m-ico,
body.text-mode .fr-ico,
body.text-mode .dd-ico,
body.text-mode .ep-ico,
body.text-mode .idt-ico,
body.text-mode .pp-mini,
body.text-mode .rk-av,
body.text-mode .pv-ava,
body.text-mode .frv-ava,
body.text-mode .cc-av,
body.text-mode .gm-role,
body.text-mode .gang-big,
body.text-mode .npc-hero img,
body.text-mode .house-hero img,
body.text-mode .sm-node img,
body.text-mode .xl-mon-ico,
body.text-mode .fight-unit img { display: none !important; }

/* 图标隐藏后容器内间距收拢，保持紧凑 */
body.text-mode .bico + *,
body.text-mode .bimg + * { margin-left: 0 !important; }
body.text-mode .npc-item { gap: 4px !important; }
body.text-mode .chat-row { gap: 0 !important; }
