/* ============================================================
   ZAI 主题 · Discuz 默认组件兼容层
   ------------------------------------------------------------
   背景：zai 只覆盖了部分页面模板（门户首页 / 论坛首页 / 版块列表 /
   帖子详情 / 登录 / 注册），其余页面（发帖 / 个人设置 / 积分·声望 /
   搜索 / 标签 / 消息 …）会按 Discuz 规则**逐文件回退**到
   template/default，标记里用的是 .bm / .bm_c / .dt / .pg / .tbn 等默认类。
   zai-base.css 只负责 zai-* 自有类，于是这些页面「有结构、没样式」，
   看上去像默认乱版。

   本文件给默认类套上 ZAI 的配色与排版，让回退页与主题视觉一致。

   作用域说明：
   · 第 1 段是浮层（#scrolltop / #ip_notice），任何页都可能出现，不加作用域；
   · 第 2 段只作用于 body.zai-legacy
     （由 common/header.php 按 zai_theme_is_themed() 自动加），
     因此不会影响已套主题页面的现有样式。
   ============================================================ */

/* ============================================================
   1. 浮层（全站）
   ============================================================ */

/* ---------- 返回顶部 / 快捷回复（zai 的 common/footer.php 也会输出该结构） ---------- */
#scrolltop{
  position:fixed; right:18px; bottom:24px; z-index:60;
  display:flex; flex-direction:column; gap:6px;
  margin:0; padding:0; width:auto; height:auto; background:none; border:0;
}
#scrolltop span{display:block; float:none}
#scrolltop a{
  display:block; text-align:center; white-space:nowrap;
  background:var(--zai-surface); border:1px solid var(--zai-border);
  color:var(--zai-text-mid); border-radius:999px;
  padding:7px 14px; font-size:12px; line-height:1.4; text-decoration:none;
  box-shadow:var(--zai-shadow-s); transition:background .18s,color .18s,border-color .18s;
}
#scrolltop a:hover{background:var(--zai-primary); border-color:var(--zai-primary); color:var(--zai-on-primary)}
#scrolltop a b{font-weight:600}

/* ---------- 异地登录安全提醒 · 外层浮层容器复位 ----------
   容器由 Discuz 输出在 template/default/cells/common/footer/js.htm：
     <div class="focus plugin" id="ip_notice"></div>
   默认 CSS 给它 .focus{position:fixed;right:10px;bottom:0;width:270px;background:#FFF}，
   而卡片本体（.zai-notice，见 zai-base.css）是 AJAX 注入到它**内部**的。
   两层各有背景/边框 → 视觉上就是「框中框」。
   这里把外层还原成「纯定位壳」：透明的、无边框、无内边距，只保留右下角固定定位。 */
#ip_notice.focus.plugin{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  padding:0 !important; box-shadow:none !important; overflow:visible !important;
  right:16px !important; bottom:16px !important; width:300px !important;
}
/* 内容未注入（或已关闭）时不要留一个空壳占位 */
#ip_notice:empty{display:none}
#ip_notice .zai-notice{margin:0}

/* ---------- 下拉菜单 / 悬浮卡（默认类，主题页也会用到） ---------- */
.p_pop{
  background:var(--zai-surface); border:1px solid var(--zai-border);
  border-radius:var(--zai-radius-sm); box-shadow:var(--zai-shadow-m);
  padding:6px; min-width:120px;
}
.p_pop li a{display:block; padding:7px 12px; border-radius:8px; color:var(--zai-text-mid); font-size:13px; text-decoration:none}
.p_pop li a:hover{background:var(--zai-surface-sunken); color:var(--zai-primary)}
.p_pop_h{border-bottom:1px solid var(--zai-border); margin-bottom:4px; padding-bottom:6px}

/* ============================================================
   2. 回退页正文（body.zai-legacy）
   ============================================================ */
body.zai-legacy{color:var(--zai-text-mid); font-family:var(--zai-font)}
body.zai-legacy #wp{max-width:1180px; margin:0 auto; padding:0 16px; box-sizing:border-box}
body.zai-legacy #ct{background:transparent; padding:16px 0}
body.zai-legacy h1,body.zai-legacy h2,body.zai-legacy h3{color:var(--zai-text)}
body.zai-legacy a{color:var(--zai-primary); text-decoration:none}
body.zai-legacy a:hover{color:var(--zai-primary-hover)}
body.zai-legacy li{color:var(--zai-text-mid)}
body.zai-legacy .pipe{opacity:.35}
body.zai-legacy .xi1,body.zai-legacy .xi2,body.zai-legacy .xg1,body.zai-legacy .xw1{color:var(--zai-text-mid)}
body.zai-legacy .bbda{border-bottom:1px dashed var(--zai-border)}
body.zai-legacy .mtm{margin-top:10px}

/* ---------- 默认卡片 .bm（最常用） ---------- */
body.zai-legacy .bm{
  background:var(--zai-surface); border:1px solid var(--zai-border);
  border-radius:var(--zai-radius); margin-bottom:14px; overflow:hidden;
}
body.zai-legacy .bm_h{
  background:var(--zai-surface-sunken); border-bottom:1px solid var(--zai-border);
  padding:10px 16px; color:var(--zai-text); line-height:1.8;
}
body.zai-legacy .bm_h h2,body.zai-legacy .bm_h h3,body.zai-legacy .bm_h h4{margin:0; font-size:14px; font-weight:600; color:var(--zai-text)}
body.zai-legacy .bm_c{padding:14px 16px; color:var(--zai-text-mid); font-size:13px; line-height:1.8}
body.zai-legacy .bm_c + .bm_c{border-top:1px solid var(--zai-border)}

/* ---------- 面包屑 ---------- */
body.zai-legacy #pt,body.zai-legacy #pt .z{padding:10px 0 6px; font-size:12px; color:var(--zai-text-light)}
body.zai-legacy #pt a{color:var(--zai-text-light)}
body.zai-legacy #pt a:hover{color:var(--zai-primary)}

/* ---------- 页签 .tbn ---------- */
body.zai-legacy .tbn{background:transparent; border-bottom:1px solid var(--zai-border); padding:0 0 8px; margin-bottom:14px; line-height:2}
body.zai-legacy .tbn li a{display:inline-block; padding:6px 14px; border-radius:999px; color:var(--zai-text-mid); font-size:13px; text-decoration:none; border:1px solid transparent}
body.zai-legacy .tbn li.a a,body.zai-legacy .tbn li a:hover{background:var(--zai-primary); border-color:var(--zai-primary); color:var(--zai-on-primary); font-weight:600}

/* ---------- 表单控件 ---------- */
body.zai-legacy input[type=text],body.zai-legacy input[type=password],body.zai-legacy input[type=email],
body.zai-legacy input[type=number],body.zai-legacy input[type=search],body.zai-legacy select,body.zai-legacy textarea{
  background:var(--zai-surface-sunken); border:1px solid var(--zai-border);
  border-radius:var(--zai-radius-sm); color:var(--zai-text);
  padding:7px 10px; font-family:var(--zai-font); font-size:13px; outline:none;
  transition:border-color .18s;
}
body.zai-legacy input:focus,body.zai-legacy select:focus,body.zai-legacy textarea:focus{border-color:var(--zai-primary)}
/* ---------- 按钮：核心 .pn/.pnc 与表单按钮 → 统一改成「按内容自适应」的胶囊 ----------
   历史 bug（2026-10-12 修）：核心 .pn 写死 height:23px，且是按 content-box 设计的
   （23px 原本指"肉眼总高"）。但 <button> 在浏览器 UA 样式里是 border-box，
   再叠加本主题的 padding:8px 20px 后，内容区只剩 23-16=7px；而核心又给内部
   strong 设了 line-height:21px —— 于是文字被 overflow:hidden 裁掉、看着像"贴左/没居中"。
   修法：显式 box-sizing + height:auto，靠 line-height 撑高，永远比文字大一点。 */
body.zai-legacy input[type=submit],body.zai-legacy input[type=button],body.zai-legacy input[type=reset],
body.zai-legacy .pn,body.zai-legacy .pnc,
body.zai-legacy a.pn,body.zai-legacy a.pnc,
body.zai-legacy button.pn,body.zai-legacy button.pnc{
  box-sizing:border-box;
  display:inline-block;
  height:auto;                 /* 解除核心 23px 硬高度 */
  min-height:34px;             /* 保证矮字/图标也不塌 */
  line-height:34px;            /* 单行文字在 34px 里天然垂直居中 */
  padding:0 20px;              /* 竖向不再加 padding，避免与 line-height 叠加 */
  background:var(--zai-primary); border:0; border-radius:999px;
  color:var(--zai-on-primary); font-weight:600; font-size:13px;
  font-family:var(--zai-font); text-align:center; white-space:nowrap;
  vertical-align:middle; cursor:pointer;
}
/* 清掉核心给内部节点加的 0 10px 内边距 / 21px 行高（它们会把文字顶偏、把按钮撑变形） */
body.zai-legacy .pn em,body.zai-legacy .pn span,body.zai-legacy .pn strong,body.zai-legacy .pn b,
body.zai-legacy .pnc em,body.zai-legacy .pnc span,body.zai-legacy .pnc strong,body.zai-legacy .pnc b{
  display:inline; padding:0; line-height:inherit; font-weight:inherit; vertical-align:baseline;
}
body.zai-legacy .pn:hover,body.zai-legacy .pnc:hover,
body.zai-legacy input[type=submit]:hover,body.zai-legacy input[type=button]:hover{
  background:var(--zai-primary-hover); color:var(--zai-on-primary);
}
body.zai-legacy #seccodeverify,body.zai-legacy .px{border-radius:var(--zai-radius-sm)}

/* ---------- 列表表格（积分记录 / 帖子列表 / 搜索结果） ---------- */
body.zai-legacy .dt,body.zai-legacy table.dt{width:100%; border-collapse:collapse; background:transparent}
body.zai-legacy .dt th{
  background:var(--zai-surface-sunken); color:var(--zai-text-mid);
  font-weight:600; font-size:12px; border-bottom:1px solid var(--zai-border);
  padding:8px 10px; text-align:left;
}
body.zai-legacy .dt td{
  border-bottom:1px solid var(--zai-border); padding:10px;
  color:var(--zai-text-mid); font-size:13px; line-height:1.7;
}
body.zai-legacy .dt tr:hover td{background:var(--zai-surface-sunken)}
body.zai-legacy .dt .pipe{opacity:.35}

/* ---------- 定义列表 / 积分页常用的 dl ---------- */
body.zai-legacy .xld dt,body.zai-legacy .xld dd{color:var(--zai-text-mid); line-height:2; margin:0}
body.zai-legacy .creditl,body.zai-legacy .creditl li{color:var(--zai-text-mid)}
body.zai-legacy .appl{background:var(--zai-surface); border:1px solid var(--zai-border); border-radius:var(--zai-radius); padding:10px 14px; margin-top:10px}
body.zai-legacy .ptn{padding-top:10px}

/* ---------- 分页 ---------- */
body.zai-legacy .pg{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:14px 0}
body.zai-legacy .pg a,body.zai-legacy .pg strong,body.zai-legacy .pg label{
  background:var(--zai-surface); border:1px solid var(--zai-border); border-radius:8px;
  padding:5px 11px; font-size:12px; color:var(--zai-text-mid); text-decoration:none;
}
body.zai-legacy .pg strong{background:var(--zai-primary); border-color:var(--zai-primary); color:var(--zai-on-primary)}
body.zai-legacy .pg a:hover{border-color:var(--zai-primary); color:var(--zai-primary)}

/* ---------- 默认页脚（与 zai 自定义页脚并存时不喧宾夺主） ---------- */
body.zai-legacy #ft{background:transparent; border-top:1px solid var(--zai-border); color:var(--zai-text-light); font-size:12px; padding:14px 0; margin-top:18px}
body.zai-legacy #ft a,body.zai-legacy #flk a,body.zai-legacy #frt a{color:var(--zai-text-light); text-decoration:none}
body.zai-legacy #ft a:hover{color:var(--zai-primary)}

/* ============================================================
   3. 通用工具类与组件上色（Discuz 默认类 → ZAI 语义色）
   ------------------------------------------------------------
   默认模板大量使用 xi2 / xg1 / xw1 / pn / px / dialog / post_box 等类，
   颜色写死在默认样式里；这里统一改成主题变量，使回退页与插件页
   也拥有 ZAI 的配色体系。
   ============================================================ */
body.zai-legacy .xi1,body.zai-legacy .xi2{color:var(--zai-info)}
body.zai-legacy .xg1,body.zai-legacy .xg2{color:var(--zai-text-light)}
body.zai-legacy .xw0,body.zai-legacy .xw1{color:var(--zai-text)}
body.zai-legacy .xw2{color:var(--zai-text-mid)}
body.zai-legacy .xs0,body.zai-legacy .xs1,body.zai-legacy .xs2{color:var(--zai-text-light)}
body.zai-legacy .emp,body.zai-legacy .o,body.zai-legacy .a{color:var(--zai-primary)}
body.zai-legacy .new{color:var(--zai-primary)}

/* 头像统一圆形 */
body.zai-legacy .avt,body.zai-legacy .avt img{border-radius:50%}
body.zai-legacy #uhd .avt img,body.zai-legacy #um .avt img{width:48px;height:48px}

/* 对话框 / 弹窗 */
body.zai-legacy .dialog{background:var(--zai-surface);border:1px solid var(--zai-border);
  border-radius:var(--zai-radius);box-shadow:var(--zai-shadow-l)}
body.zai-legacy .dialog .bm_h{background:var(--zai-surface-sunken)}
body.zai-legacy .dialog .bm_c{color:var(--zai-text-mid)}

/* 帖子页 / 发帖页 */
body.zai-legacy .post_box{background:var(--zai-surface);border:1px solid var(--zai-border);
  border-radius:var(--zai-radius)}
body.zai-legacy .tfm{background:transparent}
body.zai-legacy .tfm caption,body.zai-legacy .tfm th{color:var(--zai-text-mid);font-weight:600}
body.zai-legacy .tfm td,body.zai-legacy .tfm th{border-bottom:1px solid var(--zai-border);padding:10px 8px}
body.zai-legacy .flbc,body.zai-legacy .flb,body.zai-legacy .flb_icn{background:transparent}
body.zai-legacy .quote,body.zai-legacy blockquote{background:var(--zai-surface-sunken);
  border-left:3px solid var(--zai-primary);color:var(--zai-text-mid);
  border-radius:var(--zai-radius-sm);padding:10px 14px}
body.zai-legacy .blockcode{background:var(--zai-surface-sunken);border:1px solid var(--zai-border);
  border-radius:var(--zai-radius-sm);color:var(--zai-text-mid)}
body.zai-legacy .pstl,body.zai-legacy .psta{color:var(--zai-text-light)}
body.zai-legacy .mtit,body.zai-legacy .tit,body.zai-legacy .mtit h2{color:var(--zai-text);font-weight:600}
body.zai-legacy .micon{background-color:var(--zai-primary)}

/* 列表 / 摘要 */
body.zai-legacy .summary,body.zai-legacy .mli{color:var(--zai-text-mid)}
body.zai-legacy .mli:hover{background:var(--zai-surface-sunken)}

/* 编辑器工具栏（发帖 / 回帖） */
body.zai-legacy #e_toolbar,body.zai-legacy .edt{background:var(--zai-surface-sunken);
  border:1px solid var(--zai-border);border-radius:var(--zai-radius-sm)}
body.zai-legacy #e_toolbar a{color:var(--zai-text-mid)}
body.zai-legacy #e_toolbar a:hover{background:var(--zai-surface);color:var(--zai-primary)}

/* 提示条 / 空状态 */
body.zai-legacy .ntc_l,body.zai-legacy .alert_info{background:var(--zai-surface-sunken);
  border:1px solid var(--zai-border);border-radius:var(--zai-radius-sm);
  color:var(--zai-text-mid);padding:10px 14px}
body.zai-legacy .alert_error{border-color:var(--zai-error);color:var(--zai-error)}

/* 回退页也拿到统一的内容容器宽度与上下留白 */
body.zai-legacy #wp{max-width:1180px;margin:0 auto;padding:0 16px;box-sizing:border-box}
body.zai-legacy #ct{padding:18px 0}

/* ============================================================
   4. 发帖 / 回帖 / 编辑页（跟随三主题切换）
   ------------------------------------------------------------
   这一页的主体由 Discuz 默认模板渲染（表格 + 编辑器 + .pn 按钮），
   默认样式把背景/文字/边框写成固定色，切主题时不会变。
   这里统一挂到主题变量上。
   ============================================================ */
body.zai-legacy #editorbox,body.zai-legacy #postbox,body.zai-legacy .post_box{
  background:var(--zai-surface) !important;border:1px solid var(--zai-border);
  border-radius:var(--zai-radius);color:var(--zai-text-mid)}
body.zai-legacy #editorbox .bm_c,body.zai-legacy #postbox .bm_c,
body.zai-legacy .post_box .bm_c{background:transparent !important;color:var(--zai-text-mid)}
body.zai-legacy #postform,body.zai-legacy .postbox{background:transparent !important}

/* 顶部页签：发表帖子 / 发起投票（.tb） */
body.zai-legacy .tb{border-bottom:1px solid var(--zai-border)}
body.zai-legacy .tb>li>a,body.zai-legacy .tb li a{color:var(--zai-text-mid) !important;font-size:13px}
body.zai-legacy .tb>li.a>a,body.zai-legacy .tb>li>a:hover{color:var(--zai-primary) !important;font-weight:600}
body.zai-legacy .tb li.a a{border-bottom:2px solid var(--zai-primary) !important}

/* 编辑器：工具条 + 输入区 */
body.zai-legacy #e_toolbar,body.zai-legacy .edt,body.zai-legacy .editorrow{
  background:var(--zai-surface-sunken) !important;border-color:var(--zai-border) !important}
body.zai-legacy #e_toolbar{border:1px solid var(--zai-border) !important;
  border-bottom:0 !important;border-radius:var(--zai-radius-sm) var(--zai-radius-sm) 0 0 !important}
body.zai-legacy #e_toolbar a,body.zai-legacy #e_toolbar .tb a{color:var(--zai-text-mid) !important}
body.zai-legacy #e_toolbar a:hover{color:var(--zai-primary) !important;
  background:var(--zai-surface) !important;border-radius:6px}
body.zai-legacy .edt{border:1px solid var(--zai-border) !important;
  border-radius:0 0 var(--zai-radius-sm) var(--zai-radius-sm) !important}
body.zai-legacy .edt textarea,body.zai-legacy #e_textarea{
  background:var(--zai-surface) !important;color:var(--zai-text) !important;
  border:0 !important;font-family:var(--zai-font) !important}
body.zai-legacy .editorrow,body.zai-legacy .editorrow a{color:var(--zai-text-mid) !important}
body.zai-legacy .editorrow a:hover{color:var(--zai-primary) !important}
body.zai-legacy #{$editorid}_menus{background:transparent !important}

/* 提交区 */
body.zai-legacy .pnpost,body.zai-legacy .pnpost .y{color:var(--zai-text-light) !important;font-size:12px}
body.zai-legacy .pnpost a:hover{color:var(--zai-primary) !important}
body.zai-legacy .exfm,body.zai-legacy .exfm_s{border-color:var(--zai-border) !important;
  background:transparent !important}
body.zai-legacy .exfm dt,body.zai-legacy .exfm dd,body.zai-legacy .exfm a{color:var(--zai-text-mid) !important}
body.zai-legacy .exfm a:hover{color:var(--zai-primary) !important}
body.zai-legacy .pc,body.zai-legacy input[type=checkbox]{accent-color:var(--zai-primary)}
body.zai-legacy .z,body.zai-legacy .y{color:var(--zai-text-light)}

/* ============================================================
   5. 回退页「去 Discuz 化」总闸
   ------------------------------------------------------------
   背景：Discuz 的基础样式把 a 写死成绿色 #008000、部分警示链接红色
   #FF0000、表单提交按钮用官方蓝渐变，回退页里这些颜色会直接漏出来
   （实测：设置页「安全设置」的「立即修改 / 修改密码」是纯绿，
    空间页的个人资料区块链接也是纯绿）。
   这里做一次兜底：所有回退页的内容链接统一走 ZAI 语义色。
   ⚠️ 只作用于 body.zai-legacy（未套主题模板的页面），
      已套主题的页面（首页 / 论坛 / 帖子 / 登录 / 注册）不受影响。
   ============================================================ */

/* 5.1 内容链接统一配色（干掉 #008000 / #FF0000 / #336699 / #FF6600） */
body.zai-legacy #ct a:not(.pn):not(.pnc):not([class*="zai-"]):not(.zav-item) {
  color: var(--zai-info);
}
body.zai-legacy #ct a:not(.pn):not(.pnc):not([class*="zai-"]):not(.zav-item):hover {
  color: var(--zai-primary);
}
/* 站内功能动作链接（立即修改 / 修改密码 …）本来就该醒目 → 用主色 */
body.zai-legacy #ct a[onclick*="showWindow"],
body.zai-legacy #ct a[href*="op=verify"],
body.zai-legacy #ct a[href*="action=chg"] {
  color: var(--zai-primary) !important;
  font-weight: 600;
}
/* 危险动作（删除 / 移除）保持警示色，但换成主题红 */
body.zai-legacy #ct a[href*="op=delete"],
body.zai-legacy #ct a[href*="action=del"],
body.zai-legacy #ct .xw1[style*="color"] { color: var(--zai-error) !important; }

/* 5.2 原生表单表格（设置页 / 空间页的 .tfm / .tdat / .tfx 表格墙）
       官方是「浅灰表头 + 1px 网格」，暗色主题下会闪白 → 统一成 ZAI 卡面 */
body.zai-legacy #ct table.tfm,
body.zai-legacy #ct table.tdat,
body.zai-legacy #ct table.dt {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--zai-surface);
  border: 1px solid var(--zai-border);
  border-radius: var(--zai-radius);
  overflow: hidden;
}
body.zai-legacy #ct table.tfm th,
body.zai-legacy #ct table.tdat th,
body.zai-legacy #ct table.dt th {
  background: var(--zai-surface-sunken) !important;
  color: var(--zai-text-mid) !important;
  font-weight: 600;
  font-size: 12.5px;
  text-align: left;
  padding: 11px 16px;
  border-bottom: 1px solid var(--zai-border);
}
body.zai-legacy #ct table.tfm td,
body.zai-legacy #ct table.tdat td,
body.zai-legacy #ct table.dt td {
  background: transparent !important;
  color: var(--zai-text-mid);
  padding: 13px 16px;
  border-bottom: 1px solid var(--zai-border);
  font-size: 12.5px;
  line-height: 1.75;
}
body.zai-legacy #ct table.tfm tr:last-child td,
body.zai-legacy #ct table.tdat tr:last-child td { border-bottom: 0; }
body.zai-legacy #ct table.tfm tr.alt td,
body.zai-legacy #ct table.tdat tr.alt td { background: var(--zai-bg-muted) !important; }
/* 行/行组自身别带底：原生给 tr.alt 铺 {COMMONBG} 浅灰（#F9F9F9），
   暗色主题下只要有一格没铺满就会漏出白条。单元格已各自不透明，这里直接清零。 */
body.zai-legacy #ct table.tfm tr,
body.zai-legacy #ct table.tdat tr,
body.zai-legacy #ct table.dt tr,
body.zai-legacy #ct table.tfm thead,
body.zai-legacy #ct table.tdat thead,
body.zai-legacy #ct table.dt thead,
body.zai-legacy #ct table.tfm tbody,
body.zai-legacy #ct table.tdat tbody,
body.zai-legacy #ct table.dt tbody { background-color: transparent !important; }
body.zai-legacy #ct table.tfm th.flb,
body.zai-legacy #ct table.tfm th.flbc {
  width: 150px;
  color: var(--zai-text) !important;
  font-weight: 600;
  vertical-align: top;
}
/* 表格里包着的说明小字 */
body.zai-legacy #ct table.tfm td .xg1,
body.zai-legacy #ct table.tfm td .xs2 { color: var(--zai-text-light) !important; }

/* 5.3 原生标签页 .tb（用户组 / 隐私 / 积分记录 …） */
body.zai-legacy #ct .tb { border-bottom: 1px solid var(--zai-border); padding-left: 0; }
body.zai-legacy #ct .tb a,
body.zai-legacy #ct .tb li > a { color: var(--zai-text-mid) !important; }
body.zai-legacy #ct .tb .a a,
body.zai-legacy #ct .tb a.a { color: var(--zai-primary) !important; font-weight: 700; }

/* 5.4 原生提示条 / 徽章 */
body.zai-legacy #ct .ntc_l { background: var(--zai-bg-muted) !important; }
body.zai-legacy #ct .xw1 { color: var(--zai-text) !important; }
body.zai-legacy #ct .xi1,
body.zai-legacy #ct .xi2 { color: var(--zai-info) !important; }
body.zai-legacy #ct strong.xw1,
body.zai-legacy #ct em.xw1 { color: var(--zai-primary) !important; font-style: normal; }

/* 5.5 官方工具条 / 盲人版 / 窄版切换（模板里已移除，这里兜住其它入口） */
body.zai-legacy #toptb,
body.zai-legacy #switchblind,
body.zai-legacy #switchwidth,
body.zai-legacy .switchblind,
body.zai-legacy .switchwidth,
body.zai-legacy #sslct { display: none !important; }

/* 5.6 原生下拉浮层 .p_pop 在回退页也要是 ZAI 卡面 */
body.zai-legacy .p_pop,
body.zai-legacy .p_pop a { background-color: var(--zai-surface); color: var(--zai-text-mid); }
body.zai-legacy .p_pop a:hover { background: var(--zai-surface-sunken); color: var(--zai-primary); }

/* 5.7 空间页 / 设置页里「头像块」老式的深灰底 → 换成主题卡面 */
body.zai-legacy #ct .hm,
body.zai-legacy #ct .hm img { background: transparent !important; }
body.zai-legacy #ct .avt img { background: var(--zai-surface-sunken); }

/* ---------------------------------------------------------------------------
   6. 空间页 DIY 区块标题（原生 .blocktitle）
   原生容器写死 color:#333，暗色主题下若出现裸文本就直接隐形；
   内部链接又被 5.1 的总闸刷成信息蓝，与同页「统计信息」这类白字标题不一致。
   这里统一成 ZAI 正文色，悬停转主色。
   选择器刻意与 5.1 同权重（5 个类 + 1 个 id + 2 个元素），靠书写顺序靠后取胜。
   注意：#ct 这个元素本身**就是** .zai-space-body（见 DOM 链
   div#ct.wp.w.cl.zai-space-body），必须写成复合选择器而非后代。
   --------------------------------------------------------------------------- */
body.zai-space-page.zai-legacy #ct.zai-space-body .block .blocktitle,
body.zai-space-page.zai-legacy #ct.zai-space-body .block .blocktitle span,
body.zai-space-page.zai-legacy #ct.zai-space-body .block .blocktitle a {
  color: var(--zai-text) !important;
}
body.zai-space-page.zai-legacy #ct.zai-space-body .block .blocktitle a:hover {
  color: var(--zai-primary) !important;
}

/* ---------------------------------------------------------------------------
   7. 回退页的「原生面板 / 列表 / 弱化文字」
   Discuz 生成样式 data/cache/style_2_common.css 里写死了一批浅色令牌：
     {WRAPBG}        → #FFFFFF
     {COMMONBG}      → #F9F9F9
     {LIGHTTEXT}     → #999999
     {HIGHLIGHTLINK} → 珊瑚 #E86A5A
   这些没有专属 ZAI 模板的页（道具 / 任务 / 勋章 / 邀请码 / 排行榜 / 版块导航 /
   跳转提示页）会直接把白卡、灰字、珊瑚链接漏出来。
   注意：这段**不加 body.zai-legacy 前缀**，只锁 #ct —— 因为跳转提示页
   （member.php?mod=register 已登录时的 showmessage）走的是「已套主题」分支，
   body 上没有 zai-legacy，加前缀就管不到它。
   这些类名（.f_c/.nfl/.altw/.pbl/.xg1）是 Discuz 原生专有，ZAI 自有模板不复用，
   全站放开也不会误伤。
   --------------------------------------------------------------------------- */
#ct .f_c,
#ct .nfl .f_c,
#ct .altw,
#ct .pbl,
#ct .pbl li,
#ct .bm_c,
#ct .flw_btn_fo,
#ct .flw_btn_unfo {
  background: var(--zai-surface) !important;
  background-image: none !important;
}
#ct .nfl .f_c,
#ct .pbl { border-color: var(--zai-border) !important; }
#ct .pbl li { border-right-color: var(--zai-border) !important; }
#ct .pbl { color: var(--zai-text-mid); }

/* 面板内链接：珊瑚 → 信息蓝；悬停转主色 */
#ct .f_c a,
#ct .pbl a { color: var(--zai-info) !important; }
#ct .pbl a { border-color: transparent !important; }
#ct .pbl a:hover { background-color: var(--zai-surface-sunken) !important; color: var(--zai-primary) !important; }
#ct .pbl .highlightlink { color: var(--zai-primary) !important; }

/* 弱化文字（#999）+ 原生浅灰按钮底（#EEE） */
#ct .xg1, #ct .xg1 a, #ct .xw0, #ct .xw0 a { color: var(--zai-text-light) !important; }
#ct .pbsb.lightlink,
#ct a.pbsb { background: var(--zai-surface-sunken) !important; color: var(--zai-text-mid) !important; }

/* .tbn 页签（帮助中心的「全部 / 关于XX」）激活项原生命中 {WRAPBG} 白底，
   内层 a 已由第 100~103 行刷成主色胶囊，这里把 li 自身底色清零即可。 */
#ct .tbn li.a,
#ct .tbn li.on { background: transparent !important; background-image: none !important; }

/* 筛选器下拉触发条（积分记录的「不限 / 不限 / 不限」）原生命中 {WRAPBG} 白底 */
#ct .ftid a {
  background: var(--zai-surface-sunken) !important;
  background-image: none !important;
  color: var(--zai-text) !important;
  border-color: var(--zai-border) !important;
}
#ct .ftid { border-color: var(--zai-border) !important; }

/* 原生编辑器外壳 .tedt（个人签名编辑、回退页里的 BBCode 工具条）
   原生 .bar 铺 #F9F9F9、.area 铺 #FFF，暗色主题下是两块白板。
   ZAI 自己的模板（含发帖页 post_editor_body.php）不复用 .tedt，全站放开安全。 */
#ct .tedt .bar {
  background: var(--zai-surface-sunken) !important;
  background-image: none !important;
  border-color: var(--zai-border) !important;
}
#ct .tedt .area { background: var(--zai-surface) !important; border-color: var(--zai-border) !important; }
#ct .tedt .area textarea,
#ct .tedt textarea.pt,
#ct .tedt .px {
  background: transparent !important;
  background-image: none !important;
  color: var(--zai-text) !important;
  border-color: var(--zai-border) !important;
}
#ct .tedt .bar a { color: var(--zai-text-mid) !important; }
#ct .tedt .bar a:hover { color: var(--zai-primary) !important; }
#ct .tedt .bar span, #ct .tedt .bar .y a { color: var(--zai-text-mid); }

/* ---------------------------------------------------------------------------
   8. 旧版「装扮空间」DIY 编辑器（template/default/common/css_diy.css）
   空间页左下角「装扮空间」链接 → home.php?mod=space&do=index&diy=yes，
   整页是 2009 年的浅色 DIY 工具条（#F5F5F5 + cp-bg.png 精灵图）。
   ZAI 空间页已自带「版式（卡片/列表/杂志）+ 配色（暖珊瑚/蓝紫/暗夜金）」
   切换器，功能完全覆盖这个旧编辑器 —— 所以入口直接隐藏；
   下面这段是「万一直连 URL」的兜底暗色化，避免落到白底工具条。
   --------------------------------------------------------------------------- */
body.zai-legacy #ct .ul_diy,
body.zai-legacy #ct a[href*="diy=yes"],
body.zai-legacy #diy-tg,
body.zai-legacy #diy-tg_menu { display: none !important; }

body #controlpanel,
body #controlheader,
body #controlnav,
body #controlcontent,
body #cpfooter {
  background: var(--zai-surface) !important;
  background-image: none !important;
  color: var(--zai-text) !important;
  border-color: var(--zai-border) !important;
}
body #controlpanel { border-bottom: 1px solid var(--zai-border) !important; box-shadow: 0 6px 22px -12px rgba(0, 0, 0, .8); }
body #controlheader p { background-image: none !important; }
body #controlheader p a {
  background: var(--zai-surface-sunken) !important;
  border-color: var(--zai-border) !important;
  color: var(--zai-text-mid) !important;
}
body #navsave a {
  background: var(--zai-primary) !important;
  border-color: var(--zai-primary) !important;
  color: var(--zai-on-primary) !important;
  text-shadow: none !important;
}
body #navcancel a { color: var(--zai-text-mid) !important; background: var(--zai-surface-sunken) !important; }
body #button_redo a, body #button_undo a, body #button_more { color: var(--zai-text-mid) !important; }
body #button_redo.unusable a, body #button_undo.unusable a { color: var(--zai-text-light) !important; }
body #preview a, body #mobilediy a { color: var(--zai-text-mid) !important; }
body #controlnav li a, body #controlcontent li a { color: var(--zai-text-mid) !important; }
body #controlnav li.current { background: none !important; }
body #controlnav li.current a { background: none !important; color: var(--zai-primary) !important; font-weight: 700; }
body #controlcontent li a:hover,
body #controlcontent li label.hover,
body #controlcontent .selector li.activity a { background: var(--zai-surface-sunken) !important; }
body #contentblockclass ol { background-image: none !important; }
body #contentblockclass ol label { border-color: var(--zai-border-strong) !important; color: var(--zai-text-mid); }
body #cpfooter td, body #cpfooter td.c { background: transparent !important; border-color: var(--zai-border) !important; }
body #cpfooter td.l, body #cpfooter td.r { background-image: none !important; }

/* DIY 编辑态下的拖拽框线 / 浮层 / 占位块
   ⚠️ .current / .activity / .edit 是 css_diy.css 里的**通用短类名**，
      不能全局漂白，必须锁在 DIY 自己的容器里。 */
body#space .block { border-color: var(--zai-border-strong) !important; }
body#space .block .blockedit { color: var(--zai-info); }
body#space .moving { box-shadow: 0 0 0 2px var(--zai-primary) !important; }
body#space .tmpbox { border-color: var(--zai-border-strong) !important; background: transparent !important; }
body .frame-tab .tabcontent,
body .frame-tab,
body #nav,
body .mininv { border-color: var(--zai-border-strong) !important; }
body #controlpanel .current,
body #controlpanel .activity,
body .frame-tab .tabactivity { background: transparent !important; }
body #currentlayout { color: var(--zai-primary) !important; }
body .frame > .edit,
body .block > .edit,
body .tab > .edit { background: var(--zai-primary) !important; color: var(--zai-on-primary) !important; }
body #ct .edit-menu {
  background: var(--zai-surface) !important;
  border-color: var(--zai-border) !important;
  box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .7);
}
body #ct .edit-menu .mitem { border-top-color: var(--zai-border) !important; color: var(--zai-text-mid); }
body #ct .edit-menu .mitem:hover { background: var(--zai-surface-sunken) !important; color: var(--zai-primary); }
body #ct dl.diy dt { border-bottom-color: var(--zai-border) !important; }
body #ct dl.diy dt a { color: var(--zai-info) !important; }
body #ct dl.diy dt a.activity { color: var(--zai-text) !important; }
body #positiontable td { border-color: var(--zai-surface) !important; background: var(--zai-surface-sunken) !important; }
body #positiontable td.red { background-color: var(--zai-error) !important; }
body .rb { border-color: var(--zai-error) !important; }

