/* ===== mdmtd 主题适配 — 高特异性覆盖主题默认 ===== */

/* 全站字体: Consolas (中文自动回退微软雅黑 — 与 mdmtd 原文一致) */
html, body, div, p, a, span, li, td, th, button, input, textarea,
h1, h2, h3, h4, h5, h6,
.joe_header, .joe_header *, .joe_aside, .joe_aside *,
.joe_bread, .joe_bread *, .joe_detail, .joe_detail *,
.joe_list, .joe_list *, .joe_footer, .joe_footer *,
.joe_action, .joe_action *, .joe_dropdown, .joe_dropdown * {
  font-family: "Consolas", "Microsoft YaHei", "PingFang SC", sans-serif !important;
}

/* 选中 — mdmtd 橙 */
::selection { background: rgba(245, 145, 2, 0.3); color: #070909; }

/* 正文容器 */
.joe_detail__article {
  background: #ffffff !important;
  border-radius: 8px !important;
  padding: 24px 28px !important;
  box-shadow: 0 1px 3px rgba(27, 27, 31, 0.08) !important;
}

/* === 代码块: 代码块: 浅灰背景 + 圆角, 恢复 mdmtd 风格 === */
.joe_detail__article pre[class*='language-'],
.joe_detail__article pre,
.joe_detail__article .joe_code__item pre {
  position: static !important;
  background: #ededef !important;
  margin: 16px 0 !important;
  padding: 16px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  border-radius: 8px !important;
  overflow: auto !important;
  border: none !important;
  box-shadow: none !important;
}

/* 移除代码块装饰圆点 */
.joe_detail__article pre[class*='language-']::before,
.joe_detail__article pre::before {
  display: none !important;
  content: none !important;
}

/* 代码文字颜色 — mdmtd 蓝灰 */
.joe_detail__article pre code,
.joe_detail__article pre code[class*='language-'],
.joe_detail__article .hljs {
  background: transparent !important;
  color: #2f479f !important;
  padding: 0 !important;
  font-family: "Consolas", "SF Mono", "Microsoft YaHei", monospace !important;
  font-size: 14px !important;
}

/* 隐藏代码块复制按钮 */
.joe_detail__article pre .copy { display: none !important; }

/* 行内代码 — mdmtd 浅蓝底蓝字 */
.joe_detail__article code:not(pre code),
.joe_detail__article p code,
.joe_detail__article li code {
  background: rgba(62, 105, 215, 0.15) !important;
  color: #2f479f !important;
  padding: 3px 6px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
}

/* 标题体系 — mdmtd 尺寸 */
.joe_detail__article h1 {
  font-size: 32px !important;
  line-height: 1.4 !important;
  border-bottom: 1px solid #d2d2d2 !important;
  padding-bottom: 10px !important;
  margin: 32px 0 16px !important;
  letter-spacing: 2px !important;
  color: #070909 !important;
}
.joe_detail__article h2 { font-size: 28px !important; line-height: 1.45 !important; margin: 32px 0 16px !important; letter-spacing: 2px !important; color: #070909 !important; }
.joe_detail__article h3 { font-size: 24px !important; line-height: 1.5 !important; margin: 28px 0 14px !important; color: #070909 !important; }
.joe_detail__article h4 { font-size: 20px !important; line-height: 1.6 !important; margin: 24px 0 12px !important; color: #070909 !important; }
.joe_detail__article h5 { font-size: 18px !important; margin: 20px 0 10px !important; }
.joe_detail__article h6 { font-size: 16px !important; margin: 18px 0 8px !important; }

/* 引用块 — 蓝左边框 + 浅蓝底 + 圆角 */
.joe_detail__article blockquote {
  border-left: 4px solid #3e69d7 !important;
  background: rgba(62, 105, 215, 0.06) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  margin: 16px 0 !important;
  color: #666 !important;
}

/* 表格 — 斑马纹 + 圆角 */
.joe_detail__article table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #d2d2d2 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
  background: #fafafa !important;
}
.joe_detail__article table thead th {
  background: #ededef !important;
  padding: 10px 12px !important;
  border-left: 1px solid #d2d2d2 !important;
  border-bottom: 1px solid #d2d2d2 !important;
  color: #070909 !important;
}
.joe_detail__article table tbody tr:nth-child(even) td { background: #ededef !important; }
.joe_detail__article table tbody tr:nth-child(odd) td { background: #fafafa !important; }
.joe_detail__article table td {
  padding: 10px 12px !important;
  border-left: 1px solid #d2d2d2 !important;
}
.joe_detail__article table th:first-child,
.joe_detail__article table td:first-child { border-left: none !important; }

/* 链接 */
.joe_detail__article a {
  color: #3e69d7 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.joe_detail__article a:hover { text-decoration: underline !important; }

/* 加粗 */
.joe_detail__article strong { color: #070909 !important; }

/* 删除线 */
.joe_detail__article del { color: #666 !important; }

/* 高亮 */
.joe_detail__article mark {
  background: #3e69d7 !important;
  color: #fff !important;
  padding: 0 4px !important;
  border-radius: 5px !important;
}

/* 分隔线 */
.joe_detail__article hr {
  border: none !important;
  height: 1px !important;
  margin: 16px 0 !important;
  background: #d2d2d2 !important;
}

/* 图片圆角 */
.joe_detail__article img { border-radius: 8px !important; }

/* 段落与列表间距 */
.joe_detail__article p { margin: 16px 0 !important; }
.joe_detail__article ul, .joe_detail__article ol { padding-left: 36px !important; }
.joe_detail__article li { margin-bottom: 5px !important; }

/* kbd — 深底白字 */
.joe_detail__article kbd {
  display: inline-block !important;
  background: #070909 !important;
  color: #fafafa !important;
  border-radius: 5px !important;
  padding: 0 6px !important;
  font-size: 14px !important;
}


/* ===== 响应式适配: 手机/平板 ===== */
@media (max-width: 768px) {
  .joe_detail__article {
    padding: 16px 14px !important;
  }
  .joe_detail__article h1 { font-size: 24px !important; margin: 20px 0 12px !important; }
  .joe_detail__article h2 { font-size: 21px !important; margin: 20px 0 12px !important; }
  .joe_detail__article h3 { font-size: 18px !important; margin: 16px 0 10px !important; }
  .joe_detail__article h4 { font-size: 16px !important; }
  .joe_detail__article pre {
    padding: 12px !important;
    font-size: 13px !important;
  }
  .joe_detail__article table { display: block; overflow-x: auto; }
  .joe_detail__article ul, .joe_detail__article ol { padding-left: 24px !important; }
  .joe_detail__article img { border-radius: 6px !important; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .joe_detail__article { padding: 20px 22px !important; }
  .joe_detail__article h1 { font-size: 28px !important; }
  .joe_detail__article h2 { font-size: 24px !important; }
}

/* 深色主题专属 Logo */
html[data-night="night"] .joe_header__above-logo img {
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMzAiIGhlaWdodD0iNDYiIHZpZXdCb3g9IjAgMCAyMzAgNDYiPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJkMSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM5ZGI4ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSI1NSUiIHN0b3AtY29sb3I9IiM1YTg1ZTgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjM2U2OWQ3Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJkMiIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjM2U2OWQ3Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzlkYjhmZiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxmaWx0ZXIgaWQ9Imdsb3ciPgogICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxLjYiIHJlc3VsdD0iYiIvPgogICAgICA8ZmVNZXJnZT48ZmVNZXJnZU5vZGUgaW49ImIiLz48ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiLz48L2ZlTWVyZ2U+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CgogIDwhLS0g572R57uc5ouT5omR6IqC54K55Zu+5qCHICjlj5HlhYkpIC0tPgogIDxnIHN0cm9rZT0idXJsKCNkMSkiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBmaWxsPSJub25lIiBmaWx0ZXI9InVybCgjZ2xvdykiPgogICAgPHBhdGggZD0iTSAxMyAyMyBMIDIyIDEwIiBvcGFjaXR5PSIwLjk1Ii8+CiAgICA8cGF0aCBkPSJNIDEzIDIzIEwgMjIgMzYiIG9wYWNpdHk9IjAuOTUiLz4KICAgIDxwYXRoIGQ9Ik0gMjIgMTAgTCAzMiAyMyBMIDIyIDM2IFoiIG9wYWNpdHk9IjAuNyIvPgogIDwvZz4KICA8Y2lyY2xlIGN4PSIxMyIgY3k9IjIzIiByPSI0LjUiIGZpbGw9InVybCgjZDEpIiBmaWx0ZXI9InVybCgjZ2xvdykiLz4KICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjEwIiByPSIzLjIiIGZpbGw9InVybCgjZDEpIiBvcGFjaXR5PSIwLjk1Ii8+CiAgPGNpcmNsZSBjeD0iMjIiIGN5PSIzNiIgcj0iMy4yIiBmaWxsPSJ1cmwoI2QxKSIgb3BhY2l0eT0iMC45NSIvPgogIDxjaXJjbGUgY3g9IjMyIiBjeT0iMjMiIHI9IjMuMiIgZmlsbD0iIzFlMmEzNiIgc3Ryb2tlPSIjOWRiOGZmIiBzdHJva2Utd2lkdGg9IjIiIGZpbHRlcj0idXJsKCNnbG93KSIvPgoKICA8IS0tIOaVsOaNrua1geeykuWtkCAo5Y+R5YWJKSAtLT4KICA8Y2lyY2xlIGN4PSIyNiIgY3k9IjIzIiByPSIxLjgiIGZpbGw9IiM5ZGI4ZmYiIGZpbHRlcj0idXJsKCNnbG93KSIvPgoKICA8IS0tIOWtl+aghyAtLT4KICA8dGV4dCB4PSI0NiIgeT0iMjkiIGZvbnQtZmFtaWx5PSJDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlIiBmb250LXNpemU9IjIxIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0idXJsKCNkMikiIGxldHRlci1zcGFjaW5nPSIxLjIiPlBhY2tldEZvcmdlPC90ZXh0PgoKICA8IS0tIOW6lemDqOa4kOmakOe6vyAtLT4KICA8bGluZSB4MT0iNDYiIHkxPSIzNiIgeDI9IjIyMCIgeTI9IjM2IiBzdHJva2U9InVybCgjZDIpIiBzdHJva2Utd2lkdGg9IjEuMiIgb3BhY2l0eT0iMC42NSIvPgo8L3N2Zz4=");
}



/* ==================== 移动端阅读增强 v2 ==================== */
@media (max-width: 768px) {
  /* 全局字号: 手机上正文至少16px */
  body { font-size: 16px !important; line-height: 1.8 !important; }

  /* 容器全宽, 边距最小化 */
  .joe_container { padding: 0 12px !important; max-width: 100% !important; }
  .joe_detail__contain { padding: 0 !important; }

  /* 正文核心 */
  .joe_detail__article {
    font-size: 17px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.2px !important;
    padding: 18px 16px !important;
    margin: 0 !important;
  }
  .joe_detail__article p { margin: 16px 0 !important; }

  /* 标题: 清晰层级 */
  .joe_detail__title { font-size: 22px !important; line-height: 1.5 !important; }
  .joe_detail__article h1 { font-size: 23px !important; line-height: 1.5 !important; margin: 22px 0 14px !important; }
  .joe_detail__article h2 { font-size: 20px !important; line-height: 1.55 !important; margin: 20px 0 12px !important; }
  .joe_detail__article h3 { font-size: 18px !important; line-height: 1.6 !important; margin: 18px 0 10px !important; }
  .joe_detail__article h4 { font-size: 17px !important; }
  .joe_detail__article h5, .joe_detail__article h6 { font-size: 16px !important; }

  /* 元信息: 不能太小 */
  .joe_detail__count-information .meta, .joe_detail__count .item,
  .joe_comment__item .agent, .post-meta, .joe_list__item-meta {
    font-size: 13px !important;
  }

  /* 代码 */
  .joe_detail__article code {
    font-size: 15px !important;
    word-break: break-all;
    padding: 2px 5px !important;
  }
  .joe_detail__article pre {
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    padding: 12px !important;
    -webkit-overflow-scrolling: touch;
  }

  /* 引用 */
  .joe_detail__article blockquote {
    padding: 12px 14px !important;
    font-size: 16px !important;
  }

  /* 列表: 舒适行距 */
  .joe_detail__article ul, .joe_detail__article ol {
    padding-left: 22px !important;
    line-height: 1.9 !important;
  }
  .joe_detail__article li { margin-bottom: 8px !important; }

  /* 表格: 可滚动 */
  .joe_detail__article table { font-size: 14px !important; }
  .joe_detail__article table th, .joe_detail__article table td { padding: 8px !important; }

  /* 图片 */
  .joe_detail__article img { border-radius: 8px !important; }

  /* 文章列表卡片: 手机阅读 */
  .joe_list__item { padding: 16px 14px !important; }
  .joe_list__item-title { font-size: 17px !important; line-height: 1.6 !important; }
  .joe_list__item-information { font-size: 13px !important; }
  .joe_list__item-excerpt { font-size: 14px !important; line-height: 1.8 !important; color: #606266 !important; }

  /* 评论 */
  .joe_comment__respond-form input, .joe_comment__respond-form textarea {
    font-size: 16px !important;  /* 防iOS聚焦缩放 */
  }
  .joe_comment__item .author { font-size: 15px !important; }
  .joe_comment__item .content { font-size: 16px !important; line-height: 1.85 !important; }

  /* 页脚 */
  .joe_footer { font-size: 13px !important; }
}

/* 小屏手机 */
@media (max-width: 375px) {
  .joe_detail__article { padding: 14px 12px !important; font-size: 16.5px !important; }
  .joe_container { padding: 0 10px !important; }
}

/* ===== 手机端显示评论访客信息 ===== */
@media (max-width: 768px) {
  .agent,
  .joe_comment .comment-list__item-contain .term .content .user .agent,
  .joe_comment__item .agent {
    display: block !important;
    font-size: 12px !important;
    color: #909399 !important;
    line-height: 1.7 !important;
    margin: 4px 0 0 0 !important;
  }
}

/* 列表标题: Consolas 强制字体下 24px 固定行高装不下混排字型, 换行后两行重叠; 放宽行高并同步 2 行截断高度 */
.joe_list__item .information .title {
  line-height: 1.5 !important;
  max-height: 3em !important;
}

/* 文章页大标题(全局, 非媒体查询): 桌面端此前无行高规则, 长标题换行后与首行重叠 */
.joe_detail__title { font-size: 22px !important; line-height: 1.5 !important; }

/* 分类下拉: 左对齐 + 子项圆点 + 父级/子级激活高亮 */
.joe_header__below-class .joe_dropdown .joe_dropdown__menu {
  left: 0 !important;
  width: 190px !important;
  text-align: left !important;
  transform: translateX(0) perspective(600px) rotateX(-45deg) !important;
}
.joe_header__below-class .joe_dropdown:hover .joe_dropdown__menu,
.joe_header__below-class .joe_dropdown.active .joe_dropdown__menu {
  transform: translateX(0) perspective(600px) rotateX(0) !important;
}
.joe_header__below-class .joe_dropdown__menu a {
  text-align: left !important;
  padding-left: 18px !important;
}
.joe_header__below-class .joe_dropdown__menu a::before {
  content: "· ";
  color: var(--theme);
  opacity: 0.65;
}
.joe_header__below-class .joe_dropdown__menu a.active {
  font-weight: bold;
}
.joe_header__below-class .item.active {
  color: var(--theme) !important;
  font-weight: bold;
}

/* 列表项强制可见: AJAX 异步插入的 .wow 元素 WOW.js 注册不到, 会永久保持 visibility:hidden */
.joe_list__item.wow { visibility: visible !important; opacity: 1 !important; }

/* 导航当前子分类指示 + 分类页面包屑 */
.pf-nav-current { color: var(--theme) !important; font-weight: bold; font-size: 0.95em; }
.pf-breadcrumb-parent { color: var(--minor); }
.pf-breadcrumb-current { color: var(--theme); font-weight: bold; }

/* 列表分页信息 */
.pf-list-info { text-align: center; color: var(--minor); font-size: 13px; margin: 12px 0; }
.pf-page-info { text-align: center; color: var(--minor); font-size: 13px; margin: 14px 0; }

/* 分类页排序标签栏与页码 */
.pf-sort-tabs { display: flex; list-style: none; margin: 0 0 16px; padding: 0; border-bottom: 1px solid var(--classC, #e8e8e8); }
.pf-sort-tabs .item { margin-right: 22px; padding: 8px 2px; font-size: 15px; }
.pf-sort-tabs .item a { color: var(--minor); text-decoration: none; }
.pf-sort-tabs .item.active { border-bottom: 2px solid var(--theme); }
.pf-sort-tabs .item.active a { color: var(--theme); font-weight: bold; }
.pf-sort-pager { text-align: center; margin: 6px 0 12px; }
.pf-sort-pager a { display: inline-block; min-width: 28px; line-height: 28px; margin: 0 3px; padding: 0 6px; color: var(--minor); border-radius: 4px; background: var(--classD, #f5f5f5); text-decoration: none; }
.pf-sort-pager a.active { color: #fff; background: var(--theme); }
