/* ==========================================================================
   docpro.cn 覆盖层  docpro.css   v0.24  (2026-10-22  Phase3#9 移动端结构响应式：头部堆叠/banner通栏/详情去侧栏，需配 viewport meta)
   v0.23：旧 logo 先 visibility:hidden，js 换好后显示（消除刷新时旧 logo 闪现）
   v0.22：doc_price 禁止折行（首页窄卡片"¥/18.99"分两行显大的根因）
   v0.21：文档卡片价格 16px→14px（小屏 13px），与元信息行协调
   v0.20：主导航 15px→16px 加粗；logo 容器 180×40 适配横排新标（logo 由 js v0.15 内嵌）
   v0.19：热门下载改定高滚动列表（max-height 480px + 细滚动条）
   v0.18：热门下载列表 li 解除原插件 37px 定高/溢出裁剪（修复只显示一条）
   v0.17：首页侧栏「会员排行」重建为「热门下载」（配合 js v0.13 + hot_docs.php）
   v0.16：折叠式短首页去掉按钮 —— 滑动接近底部自动展开（配合 js v0.11）
   v0.15：首页默认只显示前几个板块（曾用「展开更多板块」按钮）
   v0.14：重建右侧工具栏 —— 微信二维码悬停弹出 + 新版白卡返回顶部（右移至 10px）
   v0.13：配色与视觉规范收敛 —— 覆盖层主色由 #2f5bea 统一为主题品牌蓝 #1396ff
          （搜索框边框/按钮/焦点光晕、板块头色条、TOC 高亮、查看更多 hover 全部收敛）
   v0.3：分类入口格子重做（去斜线分隔）、锚点导航 ≥1600px 显示
   --------------------------------------------------------------------------
   作用：所有视觉调整只写在本文件，插件升级/主题更新都不会覆盖它。
   加载：必须排在插件 source/plugin/keke_doc/template/css/base.css、
         index.css 之后，即 theme 的 </head> 之前插入一行 link。
   原则：只覆盖样式，不改 HTML 结构；每条规则注明它覆盖的是哪条原始规则，
         插件升级后只需核对选择器是否还存在。
   v0.2 新增：板块头统一、侧栏模块收敛、长页节奏、元信息标签、锚点导航样式
   ========================================================================== */

/* ---------- 0. 设计变量（改配色只动这里） ---------- */
:root {
  --dp-brand: #1396ff;          /* 主色：与主题导航高亮一致（收敛到单一品牌蓝） */
  --dp-accent: #e0322d;         /* 强调色：价格、主按钮 */
  --dp-ink: #1b1f27;            /* 主文字 */
  --dp-ink-2: #5b6472;          /* 次文字 */
  --dp-ink-3: #98a0ae;          /* 辅助文字 / 元信息 */
  --dp-line: #e8eaef;           /* 分隔线 */
  --dp-bg-soft: #f7f8fa;        /* 浅底 */
  --dp-radius: 8px;
  --dp-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 24px -14px rgba(16, 24, 40, .14);
  --dp-shadow-hover: 0 2px 4px rgba(16, 24, 40, .05), 0 16px 32px -16px rgba(16, 24, 40, .22);
}

/* ---------- 1. 全局排版基线 ---------- */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--dp-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: var(--dp-brand); }

/* ---------- 2. 文档卡片
   覆盖 index.css 中的：
     .mod_content      圆角 2px、阴影 0 3px 13px 4px #f3f3f3（过重发灰）
     .mod_content_top  height:213px、img 带 1px #eee 边框（与外框重复）
     .mod_content_center height:40px 硬截断
     .mod_bottom       border-top:1px dashed
   -------------------------------------------------------------------------- */
.mod_content {
  border: 1px solid var(--dp-line);
  border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow);
  background: #fff;
  padding: 12px;
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.mod_content:hover {
  transform: translate3d(0, -3px, 0);
  border-color: #dfe3ea;
  box-shadow: var(--dp-shadow-hover);
}

/* 封面：统一底色 + 内圆角，去掉图片自身的 1px 外框（避免"双边框"） */
.mod_content_top {
  background: var(--dp-bg-soft);
  border-radius: 6px;
  overflow: hidden;
}
.mod_content_top img {
  border: 0 !important;
  border-radius: 6px;
}

/* 类型角标：压在封面右下角，改为半透明底片，避免图标直接砸在杂色封面上 */
.mod_content_top .type-label {
  right: 6px;
  bottom: 6px;
  font-size: 18px !important;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 5px;
  background: rgba(17, 24, 39, .62);
  color: #fff;
  backdrop-filter: blur(2px);
}

/* 标题：字号/行高统一，两行截断（原为固定 height:40px，长标题会硬切） */
.mod_content_center {
  font-size: 14px !important;
  line-height: 21px !important;
  height: 42px !important;
  margin-top: 9px !important;
  color: var(--dp-ink) !important;
  font-weight: 500 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 底部信息行：虚线改实线、左右对齐、元信息提亮 */
.mod_bottom {
  border-top: 1px solid var(--dp-line) !important;
  padding-top: 8px !important;
  margin-top: 8px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.doc_price {
  color: var(--dp-accent) !important;
  font-size: 14px !important;   /* v0.21 由 16px 缩小，与元信息行更协调 */
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -.2px;
  white-space: nowrap;          /* v0.22 首页窄卡片下"¥ 18.99"不再折成两行 */
  flex-shrink: 0;
}
.mod_bottom_detail-info {
  color: var(--dp-ink-3) !important;
  font-size: 12px !important;
  float: none !important;
  display: flex;
  align-items: center;
  gap: 2px;
}
.mod_bottom_detail-info .keke_iconfont {
  font-size: 12px;
  margin-right: 2px;
}
.mod_bottom_detail-info .mgl15 {
  margin-left: 10px !important;
}
/* 元信息：数字+单位合成一个整体（<b class="dp-metric">45<i>次浏览</i></b>） */
.mod_bottom_detail-info { flex-wrap: nowrap !important; }
.mod_bottom_detail-info .dp-metric {
  font-weight: 400;
  white-space: nowrap;
  display: inline-flex;
  align-items: baseline;
  color: var(--dp-ink-2);
}
.mod_bottom_detail-info .dp-unit {
  font-style: normal;
  font-size: 11px;
  color: var(--dp-ink-3);
  margin-left: 1px;
}

/* 悬浮下载按钮：配色跟随强调色，圆角收敛；无 hover 设备（手机）常显 */
.viewbtn span {
  background-color: var(--dp-accent) !important;
  border-radius: 6px !important;
  padding: 7px 20px !important;
  font-weight: 500;
  box-shadow: 0 4px 12px -4px rgba(224, 50, 45, .5);
}
@media (hover: none) {
  .viewbtn { opacity: 1 !important; }
}

/* ---------- 3. 栅格与板块标题 ---------- */
.mod_list { margin: 0 -7px !important; }
.doc-mod { margin-bottom: 6px; }

/* 分类弹层里的分类名 */
.firstcatename {
  font-weight: 600;
  letter-spacing: -.2px;
}
.catelist a {
  color: var(--dp-ink-2) !important;
  font-size: 13px;
}
.catelist a:hover { color: var(--dp-brand) !important; }

/* ---------- 4.5 PC 头部搜索框（Phase 3 新增，由 docpro-ui.js 注入 .deansearch） ---------- */
/* 头部几何：保持主题固定 70px（登录下拉框 top:70px 依赖它），
   下方间距用负 margin 收紧；导航宽度改自适应防止换行挤压 */
#deanheader {
  height: 70px !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: -14px !important;
}
#deanheader .w1180 { padding-bottom: 0 !important; }
.deannav { width: auto !important; }
#deanheader .deansearch {
  float: left;
  width: 280px;
  height: 36px;
  margin: 14px 0 0 20px;
}
.dp-search {
  display: flex;
  align-items: center;
  height: 36px;
  border: 2px solid var(--dp-brand);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
  transition: box-shadow .18s ease;
}
.dp-search:focus-within { box-shadow: 0 0 0 3px rgba(19, 150, 255, .15); }
.dp-search-input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 0 16px;
  font-size: 14px;
  color: var(--dp-ink);
}
.dp-search-input::placeholder { color: var(--dp-ink-3); }
.dp-search-btn {
  flex-shrink: 0;
  height: 100%;
  border: 0;
  cursor: pointer;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--dp-brand);
}
.dp-search-btn:hover { background: #0f80e0; }
@media (max-width: 1200px) {
  #deanheader .deansearch { width: 260px; margin-left: 16px; }
}

/* ---------- 4.6 右侧栏 VIP 小卡（由 docpro-ui.js 注入 .hd_right）
   三列同步定高 380px；轮播图逐层撑满（ul/li 100% + object-fit）
   右卡精简：隐藏上传按钮/参与分享计划/图标行（用户要求），VIP 小卡上移 ---------- */
.hd_left { height: 380px !important; }
.hd_left .left_item .popup { min-height: 380px !important; }
.slideBox { height: 380px !important; }
.slideBox ul, .slideBox li { height: 100% !important; }
.slideBox img { width: 100%; height: 100% !important; object-fit: cover; }
.hd_right { height: 380px !important; display: flex !important; flex-direction: column; justify-content: center; }
.hd_right .updocbtn,
.hd_right .fwbz,
.hd_right .advantage { display: none !important; }
.dp-vip-card {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 16px 4px 4px;
  padding: 16px 14px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(160deg, #fff8ee 0%, #ffedd0 55%, #ffe0b8 100%);
  border: 1px solid #ffe3bd;
  text-decoration: none;
  text-align: center;
  position: relative;
}
.dp-vip-card::before {
  content: "";
  position: absolute;
  right: -30px;
  top: -30px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(255, 176, 58, .18);
}
.dp-vip-crown { font-size: 30px; line-height: 1; filter: drop-shadow(0 3px 4px rgba(160,100,0,.35)); }
.dp-vip-card .dp-vip-t {
  font-size: 17px;
  font-weight: 800;
  color: #7c4a00;
  letter-spacing: 1px;
  margin-top: 8px;
}
.dp-vip-list { list-style: none; margin: 12px 0 0; padding: 0; width: 100%; }
.dp-vip-list li {
  font-size: 12px;
  color: #9a6b23;
  margin-top: 7px;
  text-align: left;
  padding-left: 26px;
  position: relative;
  white-space: nowrap;
}
.dp-vip-list li::before {
  content: "✓";
  position: absolute;
  left: 12px;
  color: #ff8a00;
  font-weight: 700;
}
.dp-vip-card .dp-vip-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 16px;
  padding: 9px 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffb03a, #ff8a00);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  box-shadow: 0 6px 14px -6px rgba(255, 138, 0, .65);
}

/* ---------- 5. 板块头统一（Phase 2 新增）
   原结构：.mod_top_nav > h2 + .right_nav(查看更多) + .top_nav_breadcrumb
   原样式：h2 与"查看更多"挤在一行、面包屑另起一行无层级，视觉上三块散着
   -------------------------------------------------------------------------- */
.mod_top_nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 0 0 10px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid var(--dp-line);
}
.mod_top_nav h2 {
  position: relative;
  margin: 0 !important;
  padding-left: 12px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--dp-ink) !important;
  letter-spacing: -.2px;
}
.mod_top_nav h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: var(--dp-brand);
}
/* "查看更多"按钮化 */
.mod_top_nav .right_nav {
  margin-left: auto;
  float: none !important;
  font-size: 12px !important;
}
.mod_top_nav .right_nav cite { display: none; }
.mod_top_nav .right_nav a {
  display: inline-block;
  padding: 3px 11px;
  border: 1px solid var(--dp-line);
  border-radius: 999px;
  color: var(--dp-ink-2) !important;
  font-size: 12px !important;
  line-height: 18px;
  transition: all .18s ease;
}
.mod_top_nav .right_nav a:hover {
  color: var(--dp-brand) !important;
  border-color: var(--dp-brand);
  background: #eef7ff;
}
/* 面包屑：降级为辅助信息，一行可换行 */
.mod_top_nav .top_nav_breadcrumb {
  flex-basis: 100%;
  margin: 0 !important;
  font-size: 12px !important;
  color: var(--dp-ink-3) !important;
  line-height: 20px;
}
.mod_top_nav .top_nav_breadcrumb a {
  color: var(--dp-ink-3) !important;
  font-size: 12px !important;
}
.mod_top_nav .top_nav_breadcrumb a:hover { color: var(--dp-brand) !important; }
.mod_top_nav .top_nav_breadcrumb cite {
  color: #dfe3ea !important;
  padding: 0 6px;
  font-style: normal;
}

/* ---------- 6. 侧栏分类入口收敛（Phase 2 v0.3 重做）
   原样式：ul 整体阴影 + li 之间画旋转 25° 的斜线分隔（观感杂乱）
   新样式：无斜线，25 个格子统一为紧凑卡片，hover 浮起
   -------------------------------------------------------------------------- */
/* 去掉斜线分隔与整块旧阴影 */
.web-module li:before { display: none !important; }
.web-module ul { box-shadow: none !important; }
/* 格子卡片化 */
.web-module li { padding: 5px !important; }
.web-module .module_subbox {
  height: auto !important;
  padding: 0 !important;
  border: 1px solid var(--dp-line);
  border-radius: var(--dp-radius);
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.web-module .module_subbox a {
  display: flex;
  align-items: center;
  padding: 17px 18px;
}
.web-module li:hover { transform: none !important; }
.web-module li:hover .module_subbox {
  border-color: #dfe3ea;
  box-shadow: var(--dp-shadow);
  transform: translate3d(0, -2px, 0);
}
.web-module .lefticon { float: none; margin: 0 12px 0 0; flex-shrink: 0; }
.web-module .lefticon img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}
.web-module .web-module-right { min-width: 0; }
.web-module-right .righthd {
  font-size: 16px !important;
  margin: 0 !important;
  font-weight: 600;
  color: var(--dp-ink) !important;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.web-module-right .rightbd {
  font-size: 13px !important;
  margin-top: 3px !important;
  color: var(--dp-ink-3) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- 7. 长页节奏（Phase 2 新增）
   11 个板块连续铺开，原来每块间距完全一致且偏紧，阅读没有段落感
   -------------------------------------------------------------------------- */
.livebigbox > .mods.wp { margin-bottom: 30px; }
.livebigbox > .mods.wp:last-child { margin-bottom: 8px; }

/* ---------- 8. 锚点导航（由 docpro-ui.js 注入，仅宽屏显示） ---------- */
.dp-toc {
  position: fixed;
  right: 6px;
  top: 132px;
  width: 88px;
  padding: 8px 0;
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--dp-line);
  border-radius: 10px;
  box-shadow: var(--dp-shadow);
  backdrop-filter: blur(6px);
  z-index: 900;
}
.dp-toc a {
  display: block;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--dp-ink-2);
  border-left: 2px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dp-toc a:hover { color: var(--dp-brand); background: var(--dp-bg-soft); }
.dp-toc a.on {
  color: var(--dp-brand);
  border-left-color: var(--dp-brand);
  background: #eef7ff;
  font-weight: 600;
}
@media (max-width: 1600px) {
  .dp-toc { display: none; }
}

/* ---------- 9. 响应式（float 栅格需要显式改宽度）
   原规则 .doc-mod{width:16.666%} 固定 6 列，窄屏会挤成一团
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .doc-mod { width: 20% !important; }        /* 5 列 */
}
@media (max-width: 992px) {
  .doc-mod { width: 25% !important; }        /* 4 列 */
  .mod_content_top { height: 180px !important; }
}
@media (max-width: 768px) {
  .doc-mod { width: 33.333% !important; }    /* 3 列 */
  .mod_content { padding: 9px; }
  .mod_content_top { height: 140px !important; }
  .mod_content_center { font-size: 13px !important; line-height: 19px !important; height: 38px !important; }
  .mod_top_nav h2 { font-size: 18px !important; }
  .livebigbox > .mods.wp { margin-bottom: 22px; }
}
@media (max-width: 480px) {
  .doc-mod { width: 50% !important; }        /* 2 列 */
  .mod_content_top { height: 150px !important; }
  .doc_price { font-size: 13px !important; }
  .mod_bottom_detail-info { display: none; } /* 小屏优先保住价格与按钮 */
}

/* ---------- 10. 侧边工具栏重建（v0.14 新增，DOM 由 docpro-ui.js v0.9 生成）
   旧版：50px 精灵图蓝圆 + right:1% 离屏边太远 + 灰胶囊提示
   新版：白卡按钮 + 微信二维码悬停弹出，紧贴右缘 10px
   -------------------------------------------------------------------------- */
.deansidetools {
  position: fixed !important;
  width: 52px !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-45%);
}
.deansidetools ul.dp-side { list-style: none; margin: 0; padding: 0; }
.deansidetools ul.dp-side li { width: 52px; height: auto; }
/* 兜底：JS 失效时隐藏旧精灵图按钮，避免新旧叠加 */
.deansidetools #scrolltop { display: none !important; }

.deansidetools .dp-side-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-top: 10px;
  background: #fff;
  border: 1px solid var(--dp-line);
  border-radius: 12px;
  box-shadow: var(--dp-shadow);
  cursor: pointer;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.deansidetools .dp-side-btn:hover {
  transform: translateY(-2px);
  border-color: #dfe3ea;
  box-shadow: var(--dp-shadow-hover);
}
.deansidetools .dp-side-btn svg { width: 24px; height: 24px; display: block; }
.deansidetools .dp-side-top { color: var(--dp-ink-2); }
.deansidetools .dp-side-top:hover { color: var(--dp-brand); }

/* 悬停提示（返回顶部）与二维码卡片（微信），从按钮左侧滑入 */
.deansidetools .dp-side-tip,
.deansidetools .dp-side-pop {
  position: absolute;
  right: 56px;
  top: 50%;
  opacity: 0;
  visibility: hidden;
  transform: translate(6px, -50%);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  pointer-events: none;
}
.deansidetools .dp-side-tip {
  background: rgba(27, 31, 39, .85);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 8px 12px;
  border-radius: 6px;
  white-space: nowrap;
}
.deansidetools .dp-side-btn:hover .dp-side-tip {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}
.deansidetools .dp-side-pop {
  background: #fff;
  border: 1px solid var(--dp-line);
  border-radius: 10px;
  box-shadow: var(--dp-shadow-hover);
  padding: 10px 10px 8px;
  text-align: center;
}
.deansidetools .dp-side-pop img {
  width: 132px;
  height: 132px;
  display: block;
  border-radius: 4px;
}
.deansidetools .dp-side-pop em {
  display: block;
  font-style: normal;
  font-size: 12px;
  color: var(--dp-ink-2);
  margin-top: 6px;
}
.deansidetools .dp-side-btn:hover .dp-side-pop {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}
/* 卡片指向按钮的小箭头 */
.deansidetools .dp-side-pop::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  margin-top: -5px;
  border: 5px solid transparent;
  border-left-color: #fff;
}

/* ---------- 11. 折叠式短首页（v0.16 更新，DOM 由 docpro-ui.js v0.11 生成）
   首页 12 个板块滚动太长；默认只显示前 2 块（推荐Tab块 + 医学指南），
   其余隐藏；滑动接近折叠点自动展开（无按钮）。
   内容仍在 HTML 中，SEO 无损。
   -------------------------------------------------------------------------- */
.dp-fold-hide { display: none !important; }
.dp-fold-sentinel { height: 1px; }

/* ---------- 12. 会员排行 → 热门下载（v0.17 新增，DOM 由 docpro-ui.js v0.13 重建）
   原块：贡献文档排行（对下载型用户无参考价值）；重建为热门文档榜，
   样式沿用详情页侧栏的虚线分隔 + 文件类型图标 + 前三名彩色名次。
   -------------------------------------------------------------------------- */
.right_userlist .dp-hotlist {
  margin: 0;
  padding: 0;
  max-height: 480px;                  /* 定高滚动列表：超出出现细滚动条 */
  overflow-y: auto;
  padding-right: 8px;
  scrollbar-width: thin;              /* Firefox */
  scrollbar-color: #c9cdd6 transparent;
}
.right_userlist .dp-hotlist::-webkit-scrollbar { width: 5px; }
.right_userlist .dp-hotlist::-webkit-scrollbar-thumb { background: #c9cdd6; border-radius: 3px; }
.right_userlist .dp-hotlist::-webkit-scrollbar-thumb:hover { background: #b3b8c2; }
.right_userlist .dp-hotlist::-webkit-scrollbar-track { background: transparent; }
.right_userlist .dp-hotlist li {
  float: none !important;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: auto !important;
  height: auto !important;          /* 原插件 .newdoclist li 定高 37px + overflow:hidden */
  line-height: 1.5 !important;
  overflow: visible !important;
  padding: 10px 2px !important;
  border-bottom: 1px dashed var(--dp-line);
  list-style: none;
  background: none !important;
}
.right_userlist .dp-hotlist li:last-child { border-bottom: 0; }
.dp-hot-rank {
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  margin-top: 1px;
  border-radius: 5px;
  background: var(--dp-bg-soft);
  color: var(--dp-ink-2);
  font-size: 12px;
  font-weight: 700;
  font-style: normal;
  line-height: 19px;
  text-align: center;
}
.dp-hot-rank-1 { background: #fdeceb; color: #e0322d; }
.dp-hot-rank-2 { background: #fff3e6; color: #ff8a00; }
.dp-hot-rank-3 { background: #fff8e6; color: #d99000; }
.dp-hot-icon { flex-shrink: 0; margin-top: 2px; color: var(--dp-brand); font-size: 15px; }
.right_userlist .dp-hotlist li a {
  flex: 1;
  min-width: 0;
  color: var(--dp-ink) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.right_userlist .dp-hotlist li a:hover { color: var(--dp-brand) !important; }

/* ---------- 13. 顶部导航与 logo 微调（v0.20 新增）
   导航 15px 偏小 → 16px + 加粗；logo 容器放大到 180×40 给横排新标留位
   （新 logo 由 docpro-ui.js v0.15 内嵌替换） ---------- */
.deannav ul li a {
  font-size: 16px !important;
  font-weight: 500 !important;
}
.deanlogo { width: 180px !important; height: 40px !important; padding-top: 13px !important; }
.deanlogo img { width: 180px !important; height: 40px !important; visibility: hidden; }  /* 先隐藏旧图，js 换好后再显示，避免闪现 */

/* ---------- 14. 待办（第三阶段，需模板配合，不在纯 CSS 范围）
[P3] 板块卡死 12 张 → 精选 8 张 + Tab 切换（需模板改）
[P3] 两个二维码横幅二选一（需在主题 footer 里删一个）
[P3] 封面图统一模板（需内容治理 + 上传侧规范）
   -------------------------------------------------------------------------- */

/* ---------- 15. 移动端结构响应式（Phase3 #9，v0.24 新增；需 header.php 补 viewport meta） ----------
   断点策略：≤1199 容器流式防溢出；≤900 首页顶部三栏收敛为通栏 banner；≤768 头部堆叠、
   详情页去侧栏、页脚堆叠；≤480 细节收窄。卡片列数规则见第 9 节，此处不重复。 */
@media (max-width: 1199px) {
  html { -webkit-text-size-adjust: 100%; }
  /* Discuz 缓存样式给 body/#deanheader/页脚写死了 min-width:1200/1180px，
     不清掉的话媒体查询全部白做（页面仍被撑到 1200px 宽） */
  body, #deanheader, .deanfttop, .deanftbottom { min-width: 0 !important; }
  /* widthauto 缓存样式：#wp min-width:1180px + .ct2 右侧 235px 侧栏位 + #mu 导航条写死宽度 */
  #wp, #hd .wp { min-width: 0 !important; }
  #mu { width: auto !important; max-width: 100% !important; }
  body { overflow-x: hidden; }
  .wp, #wp, .w1180 { width: auto !important; max-width: 100% !important; margin-left: 14px !important; margin-right: 14px !important; box-sizing: border-box; }
  /* 双栏布局（详情/列表右侧栏）在小屏改为单栏，侧栏宽度位清零 */
  .ct2, .ct2_a, .ct3_a { margin: 0 !important; padding: 0 !important; }
  .ct2 .sd, .ct2_a .sd { float: none !important; width: auto !important; margin: 0 !important; }
}

@media (max-width: 900px) {
  /* 首页顶部：隐藏左侧快捷导航（悬停面板触屏不可用）与右侧 VIP 卡，banner 通栏 */
  .hd_left, .hd_right_box { display: none !important; }
  .slideBox { margin: 0 !important; height: 46vw !important; max-height: 380px; border-radius: 8px; overflow: hidden; }
  .slideBox .bd img { width: 100% !important; height: 100% !important; object-fit: cover; }
  .kekebigbox { background-size: cover; }
}

@media (max-width: 768px) {
  /* 头部：logo 与登录一行，主导航变横向滑动条，搜索框通栏 */
  #deanheader .w1180 { height: auto !important; padding-bottom: 10px !important; }
  .deanlogo { width: 120px !important; height: auto !important; padding-top: 12px !important; }
  .deanlogo img { width: 120px !important; height: 30px !important; }
  .deandl { height: 54px !important; line-height: 54px !important; }
  .deandl a { color: #333 !important; }
  .deannav { width: auto !important; float: none !important; clear: both; margin: 0 !important; height: 44px !important; overflow-x: auto !important; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
  .deannav ul { display: flex !important; width: max-content !important; }
  .deannav ul li { float: none !important; }
  .deannav ul li a { height: 44px !important; line-height: 44px !important; margin: 0 12px !important; color: #333 !important; }
  .deannav ul li.a a { color: var(--dp-brand) !important; }
  .deansearch { float: none !important; clear: both; width: 100% !important; margin: 10px 0 2px !important; }

  /* 分类宫格 5 列 → 3 列，内层收紧防截断 */
  .web-module li { width: 33.333% !important; height: 64px !important; }
  .web-module .module_subbox { padding: 8px 6px !important; height: 64px !important; }
  .web-module .lefticon img { max-width: 30px !important; height: auto !important; }
  .web-module .web-module-right { min-width: 0; overflow: hidden; }
  .web-module .righthd { font-size: 13px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .web-module .rightbd { font-size: 11px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  /* 首页热门下载通栏 */
  .right_userlist { width: 100% !important; float: none !important; padding-left: 0 !important; margin-top: 14px; }

  /* 触屏无 hover：卡片"立即试读"浮层常显 */
  .viewbtn { opacity: 1 !important; }

  /* 浮动工具与楼层导航隐藏 */
  .deansidetools, .dp-toc { display: none !important; }

  /* 详情页：主栏通栏，右栏隐藏，作者卡通栏 */
  .viewleft { width: 100% !important; float: none !important; box-sizing: border-box; }
  .viewright { display: none !important; }
  .toprightbox { float: none !important; width: 100% !important; margin-bottom: 12px; }
  /* 信息盒：元信息折行、封面缩窄，消除 553px 横向溢出 */
  .docsummary { white-space: normal !important; height: auto !important; line-height: 1.9 !important; }
  .docinfobox .left_cover img { max-width: 120px !important; height: auto !important; }

  /* 页脚三栏堆叠 */
  .deanfttl, .deanfttm, .deanfttr { float: none !important; width: 100% !important; margin: 0 0 16px !important; }
  .deanftbottom { text-align: center; }
}

@media (max-width: 480px) {
  .slideBox { height: 52vw !important; }
  .web-module li { height: 60px !important; }
  .doc_price { font-size: 13px !important; }
}


/* == docpro-cover-frame v2 START == */
/* Phase 1 #3 封面规范画框 v2：根选择器从 id #mod_list 改为 class .mod_list，
   首页（132 张）、分类页（20 张）、详情页关联列表一起生效。
   纯呈现层，不动 COS 图片、不动插件源码。回滚：删掉本块即可。 */
.mod_list .mod_content_top{
  position:relative!important;
  overflow:hidden!important;
  border-radius:10px!important;
  aspect-ratio:3/4;
  background:linear-gradient(155deg,#f4f7fb 0%,#e6ecf3 100%)!important;
  box-shadow:0 2px 6px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:box-shadow .28s ease;
}
.mod_list .mod_content_top>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  filter:saturate(1.05) contrast(1.03);
  transition:transform .3s ease;
}
/* 极淡纵向渐隐：压住白纸刺眼感，底部带一点书脊阴影 */
.mod_list .mod_content_top::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(15,23,42,0) 55%,rgba(15,23,42,.14) 100%);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.09);
}
/* 类型角标：磨砂深底 + 白字，白纸上也看得清 */
.mod_list .mod_content_top .type-label{
  position:absolute!important;bottom:7px;right:7px;top:auto;z-index:3;
  display:inline-flex!important;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 5px;border-radius:6px;
  background:rgba(15,23,42,.55)!important;color:#fff!important;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  box-shadow:0 1px 4px rgba(15,23,42,.28);
}
.mod_list .mod_content_top .type-label .keke_iconfont{font-size:13px!important;line-height:1}
/* 悬停：轻微抬起 + 封面微放大 */
.mod_list a.doc-mod:hover .mod_content_top{
  box-shadow:0 8px 20px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.mod_list a.doc-mod:hover .mod_content_top>img{transform:scale(1.035)}
/* 缺图兜底：JS 打上 .dp-nocover 后显示品牌占位，不出现破图 */
.mod_list .mod_content_top.dp-nocover>img{display:none!important}
.mod_list .mod_content_top.dp-nocover::before{
  content:"独角鲸文库";
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;letter-spacing:.18em;color:#94a3b8;
  background:
    radial-gradient(120% 90% at 20% 0%,rgba(99,102,241,.10),transparent 60%),
    linear-gradient(155deg,#f4f7fb 0%,#e6ecf3 100%);
}
/* == docpro-cover-frame v2 END == */


/* == docpro-cover-detail v4 START == */
/* 详情页封面大图：只加装饰，不动布局
   —— position / width / height / 角标一律不碰，避免把绝对定位的封面打回文档流 */
.docinfobox .left_cover{
  border-radius:10px!important;
  overflow:hidden!important;
  background:#f4f7fb!important;
  box-shadow:0 2px 8px rgba(15,23,42,.10),inset 0 0 0 1px rgba(15,23,42,.08)!important;
}
.docinfobox .left_cover>img{
  display:block;
  border-radius:10px;
}
/* == docpro-cover-detail v4 END == */

/* == docpro-palette v1 START (v0.30  2026-10-24  Phase2#7 配色规范收敛) ==
   目标色板：主蓝 --dp-brand #1396ff ｜ 强调红 --dp-accent #ec3b3b
             VIP/热榜橙 #ff8a00（专属保留）｜ 成功绿 #00ca1a（保留）
             文件类型色 .pdf/.ppt/.xls/.doc（语义色板，保留）
   原则：本段只改颜色不动布局；每条注明覆盖的原始规则，插件升级后核对选择器。
   ======================================================================== */
:root{
  --dp-accent:#ec3b3b; /* 强调红统一：原 #e0322d，对齐 keke_doc 全站最高频红（13 处） */
}

/* ---- 蓝 4 杂色 → var(--dp-brand) #1396ff ---- */
.active-line{background:var(--dp-brand)!important;}              /* keke index.css .active-line #0057ff 板块选中下划线 */
.right_userlist .hd:before{background-color:var(--dp-brand)!important;} /* keke index.css #0057ff 栏目标题竖条 */
.mod_top_nav h2:before{background:var(--dp-brand)!important;}    /* keke index.css #0057ff 顶部导航竖条 */
.topcatelist li.selected a{color:var(--dp-brand)!important;background:#eaf5ff;} /* keke list.css #0c3fff/#eaebff 分类选中态 */
.layui-layer-btn .layui-layer-btn0{background:var(--dp-brand)!important;border-color:var(--dp-brand)!important;} /* 弹窗主按钮 #007bff */
.login-form-submit button{background:var(--dp-brand)!important;border-color:var(--dp-brand)!important;} /* one_sms 登录提交按钮 #0078ff */
.login-form-accept a{color:var(--dp-brand)!important;}           /* one_sms 协议链接 #0078ff */
.login-form-code-button button{color:var(--dp-brand)!important;} /* one_sms 验证码按钮 #0078ff */

/* ---- 红 6 杂色 → var(--dp-accent) #ec3b3b ---- */
.htitle{color:var(--dp-accent)!important;}          /* keke view.css 详情页大标题 #f01414 */
.order_right{color:var(--dp-accent)!important;}     /* keke list.css 订单价 #f01414 */
.evaluate_box .ico6,.evaluate_star .keke_iconfont{color:var(--dp-accent)!important;} /* view.css 评价模块 #f01414 */
.evaluate_btn{background:var(--dp-accent)!important;} /* view.css 评价按钮 #f01414 */
.light{color:var(--dp-accent)!important;}           /* view.css .light #f01414 */
.firstcatename:before{background-color:var(--dp-accent)!important;} /* keke index.css 一级分类竖条 #f54b4b */
.openmore a{background:var(--dp-accent)!important;} /* keke index.css 展开更多按钮 #f54b4b */
.mod_content_center em{color:var(--dp-accent)!important;} /* keke list.css 强调 #ff3a3a */
.off,.bread .bread_right,.bread a:hover{color:var(--dp-accent)!important;} /* keke base.css #c30/#f30 */
/* Discuz 核心提醒红 #F26C4F（消息图标/提示文字/热标记/下拉选中）统一到强调红 */
.xi1,.onerror,#ajaxwaitid,#myprompt.new:before,.sltm li.current,.tbx strong,.xlda dd .hot,.fc-a{color:var(--dp-accent)!important;}

/* ---- 覆盖层自身遗留字面量对齐 ---- */
.dp-hot-rank-1{color:var(--dp-accent);} /* 旧段写死的 #e0322d 改走变量 */

/* == docpro-palette v1 END == */
/* == docpro-card-hierarchy v1 START (v0.31  2026-10-24  Phase2#6 卡片信息层级重构) ==
   分层：标题(600) > 价格(700 红) > 下载按钮(品牌蓝) > 元信息(浅灰小字)
   配套 docpro-ui.js labelMeta() 已产出的 .dp-metric(数字) / .dp-unit(单位) 结构。
   原则：只改字重/颜色，不动尺寸与布局（防窄卡折行复发）；每条注明原始出处。
   ======================================================================== */
.mod_content_center{font-weight:600!important;}              /* keke index.css 400 → 卡片标题加重 */
.doc_price{font-weight:700!important;}                       /* 价格加重（字号沿用 v0.21 的 14/13px，防窄卡折行复发） */
.viewbtn span{background-color:var(--dp-brand)!important;}   /* keke index.css 下载按钮 #ec3b3b → 品牌蓝，红色让位价格 */
.mod_bottom_detail-info{color:var(--dp-ink-3)!important;}    /* keke index.css #bbb → 元信息统一浅灰 */
.dp-metric{font-weight:600;color:var(--dp-ink-2);}           /* 元信息数字加重（labelMeta 产出结构） */
.dp-unit{font-style:normal;font-weight:400;color:var(--dp-ink-3);margin-left:2px;} /* 单位（次浏览/次下载）弱化 */

/* == docpro-card-hierarchy v1 END == */
/* == docpro-card-meta v1 START (v0.32  2026-10-24  首页窄卡片元信息折行修复) ==
   病灶：docpro-ui.js 的 labelMeta() 把「50  0」改写成「50次浏览 0次下载」后，
        首页 6 列卡片内容区仅约 135px，而 价格(≈60) + 次浏览(≈62) + 次下载(≈54) ≈ 176px，
        .mod_bottom 为 flex + overflow:hidden ⇒ 右侧「次下载」被裁掉（页面上只剩 "0)"）。
        分类列表页是 5 列（.mod_content 内容区 ≈180px），一行放得下，故正常。
   解法：只对「非 #mod_list」的窄卡片把 .mod_bottom 改为纵向两行——价格一行、浏览/下载一行；
        分类列表页（列表容器带 id="mod_list"）保持单行不变。
   识别依据：分类页列表容器为 <div class="mod_list" id="mod_list">，首页及其余推荐位无此 id。
   ======================================================================== */
.mod_list:not(#mod_list) .mod_bottom{
  flex-direction:column;      /* 价格一行、元信息一行（一行放不下 176px） */
  align-items:flex-start;     /* 两行都左对齐 */
  gap:3px;                    /* 行间距，替代原来的单行对齐 */
}
.mod_list:not(#mod_list) .mod_bottom_detail-info{
  width:100%;                 /* 占满整行，避免右浮动残留导致的右侧裁切 */
  justify-content:flex-start;
}
.mod_list:not(#mod_list) .mod_bottom_detail-info .mgl15{
  margin-left:10px!important; /* 两行后两组间距沿用单行时的 10px，保持一致 */
}

/* == docpro-card-meta v1 END == */

/* docpro-rel-docs v1 START 相关文档推荐:PC新标 */
.newdoclist .dp-newdoc{display:inline-block;font-style:normal;font-size:11px;line-height:1.2;color:#00ca1a;border:1px solid #00ca1a;border-radius:3px;padding:1px 3px;margin-left:6px;vertical-align:1px;}
/* docpro-rel-docs v1 END */

/* docpro-notice-fold v1 START 手机端下载提示折叠 */
.dp-fold-toggle{display:flex;align-items:center;justify-content:center;gap:4px;margin:6px 0 2px;padding:8px 0;font-size:13px;color:var(--dp-brand,#1396ff);cursor:pointer;-webkit-tap-highlight-color:transparent;border-top:1px dashed #f0f1f3;}
.dp-fold-toggle .dp-fold-arrow{font-size:11px;line-height:1;}
.noticeid0[data-dp-fold]{position:relative;}
.noticeid0[data-dp-fold]:not(.dp-fold-open){max-height:none;}
/* docpro-notice-fold v1 END */

/* docpro-reltabs v1 START 相关文档 tab:视觉排第一（激活态沿用插件 .notice_hd a.active） */
.notice_hd{display:flex;align-items:center;}
.notice_hd a.dp-reltab{order:-1;}
/* docpro-reltabs v1 END */

/* docpro-reltabs v2 START 兜底：折叠按钮残留一律隐藏 */
.dp-fold-toggle{display:none !important;}
/* docpro-reltabs v2 END */
