/* ==========================================================================
   FreeCycle 布局增强 v1.0
   由 fc-layout.css 统一覆盖，不修改 style.css，删除本文件即可完全回滚。
   依赖：模板 index.php / navbar.php / schbanner.php / footer.php 的 fc-* 结构
   ========================================================================== */

:root {
  --fc-brand: #2f7cf6;
  --fc-brand-dark: #1a5fd4;
  --fc-radius: 12px;
  --fc-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px -16px rgba(16, 24, 40, 0.16);
  --fc-shadow-h: 0 2px 8px rgba(16, 24, 40, 0.06), 0 18px 34px -20px rgba(16, 24, 40, 0.28);
}

/* 主题变量微调：只动"底 / 边框 / 圆角 / 阴影"，不碰主色，避免影响已有组件 */
:root {
  --color-bg: #f2f5f9;
  --color-bg-alt: #f7f9fc;
  --color-border: #e6eaf0;
  --radius-md: 10px;
  --radius-lg: 12px;
  --shadow-md: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px -16px rgba(16, 24, 40, 0.16);
}

/* --------------------------------------------------------------------------
   1. 容器
   -------------------------------------------------------------------------- */
.wrap {
  width: auto;
  max-width: 1280px;
  padding: 0 24px;
  box-sizing: border-box;
}
.header .wrap,
.maincon > .wrap,
.footer .wrap {
  width: auto;
}

/* --------------------------------------------------------------------------
   2. 页头
   -------------------------------------------------------------------------- */
.header {
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  box-shadow: none;
  border-bottom: 1px solid var(--color-border);
}
.night .header {
  background: rgba(41, 41, 41, 0.92);
}
.header .wrap {
  display: flex;
  align-items: center;
  height: 62px;
  position: relative;
}
/* logo 靠左，导航紧跟 logo 右侧 */
.header .logo {
  float: none;
  height: 62px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  overflow: visible;
}
.header .logo a {
  height: 62px;
  display: flex;
  align-items: center;
}
.header .logo img {
  height: 38px;
  max-height: 38px;
  width: auto;
}
.header .head {
  padding-left: 0;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  position: static;
  height: 62px;
}
.header .menu {
  float: none;
  order: 1;
  margin-left: 26px;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  line-height: normal;
  position: static;
}
.header .menu > ul {
  float: none;
  display: flex;
  align-items: center;
  padding-right: 0;
}
.menu li {
  float: none;
  margin: 0 2px 0 0;
}
.menu li a {
  padding: 0 10px;
  font-size: 15px;
  line-height: 34px;
  border-radius: 9px;
  display: inline-block;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.menu li a:hover {
  background: var(--color-primary-light);
}
.menu li::before {
  display: none;
}
.menu li .subnav {
  top: 52px;
  left: 0;
  min-width: 190px;
  padding: 8px;
  border: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow-h);
  line-height: 30px;
}
.menu li .subnav::before,
.menu li .subnav::after {
  display: none;
}
.menu li .subnav a {
  padding: 0 12px;
  font-size: 14px;
  line-height: 34px;
  border-bottom: 0;
  border-radius: 8px;
}
.menu li .subnav a::after {
  display: none;
}
.menu li .subnav a:hover,
.menu li .subnav a.on {
  background: var(--color-primary-light);
}
/* 二级导航（职业攻略）在桌面端两列排布 */
@media (min-width: 1081px) {
  .menu li .subnav {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    min-width: 300px;
  }
  .menu li.subcate:hover .subnav {
    display: grid;
  }
}
/* 搜索图标、登录：贴右 */
.header .schico {
  position: relative;
  top: auto;
  right: auto;
  width: 38px;
  height: 38px;
  line-height: 38px;
  margin-left: auto;
  flex: none;
  border-radius: 9px;
  transition: background var(--transition-fast);
}
.header .schico:hover {
  background: var(--color-primary-light);
}
.header .schico > a {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header .schico a::after {
  font-size: 20px;
}
.header .schfixed {
  top: 44px;
  right: 0;
  border-radius: 12px;
  border-top: 1px solid var(--color-border);
}
.header .account {
  float: none;
  order: 2;
  margin-left: 10px;
  flex: none;
  display: flex;
  align-items: center;
}
.header .sign span {
  margin-top: 0;
}
.header .sign span a {
  line-height: 30px;
  border-radius: 9px;
}
.header .signuser {
  padding: 0;
  line-height: normal;
}
.header .menuico {
  order: 3;
  float: none;
  top: 0;
  margin-left: 6px;
}

/* --------------------------------------------------------------------------
   3. Hero（首页 banner 改造）
   -------------------------------------------------------------------------- */
/* 非首页 banner：加深遮罩，让横幅里的搜索框在亮图上可读 */
.banner::before {
  opacity: 1;
  background: linear-gradient(180deg, rgba(8, 15, 26, 0.3), rgba(8, 15, 26, 0.5));
}
.index .banner {
  height: auto !important;
  min-height: 260px;
  padding: 0;
  display: flex;
  align-items: center;
  background-position: center;
}
.index .banner::before {
  content: "";
  opacity: 1;
  background:
    radial-gradient(760px 340px at 10% -20%, rgba(47, 124, 246, 0.42), transparent 62%),
    radial-gradient(620px 320px at 96% -10%, rgba(23, 168, 130, 0.16), transparent 62%),
    linear-gradient(158deg, rgba(9, 15, 26, 0.97) 0%, rgba(17, 29, 46, 0.94) 58%, rgba(11, 20, 33, 0.96) 100%);
}
.index .banner .wrap {
  position: relative;
  top: auto;
  transform: none;
  width: auto;
  flex: 1 1 auto;
  max-width: 1280px;
  padding: 0 24px;
}
/* 主题 .hellotip 默认 90% 宽 + 居中，这里撑满并左对齐 */
.index .banner .hellotip {
  width: 100%;
  margin: 0;
  text-align: left;
  text-shadow: none;
}
.fc-hero {
  padding: 26px 0 28px;
  text-align: left;
  max-width: 780px;
  text-shadow: none;
}
.fc-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 500;
  padding: 5px 12px 5px 6px;
  border-radius: 999px;
  color: #bcd7ff;
  background: rgba(47, 124, 246, 0.16);
  border: 1px solid rgba(110, 170, 255, 0.28);
  margin-bottom: 16px;
  text-shadow: none;
}
.fc-hero-tag i {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--fc-brand);
  color: #fff;
}
.fc-hero h1 {
  margin: 0 0 10px;
  font-size: clamp(25px, 3.2vw, 36px);
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -0.4px;
  color: #fff;
  text-shadow: none;
}
.fc-hero h1 em {
  font-style: normal;
  background: linear-gradient(90deg, #7db6ff, #6ee7a8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.fc-hero p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.64);
  text-shadow: none;
  max-width: 600px;
}
.fc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.fc-hero-search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 320px;
  max-width: 400px;
  height: 48px;
  padding: 0 6px 0 14px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 11px;
  box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.7);
  text-shadow: none;
  box-sizing: border-box;
}
.fc-hero-search svg {
  width: 17px;
  height: 17px;
  flex: none;
  stroke: #8a94a6;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}
.fc-hero-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: none;
  font-size: 14.5px;
  color: #151b26;
}
.fc-hero-search button {
  height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  background: var(--fc-brand);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition-fast);
}
.fc-hero-search button:hover {
  background: var(--fc-brand-dark);
}
.fc-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  padding: 0 18px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-shadow: none;
  transition: all var(--transition-fast);
}
.fc-hero-btn svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fc-hero-btn.primary {
  background: #17a862;
  color: #fff;
  box-shadow: 0 8px 20px -10px rgba(23, 168, 98, 0.8);
}
.fc-hero-btn.primary:hover {
  background: #149554;
  transform: translateY(-1px);
}
.fc-hero-btn.ghost {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
}
.fc-hero-btn.ghost:hover {
  background: rgba(255, 255, 255, 0.17);
}

/* --------------------------------------------------------------------------
   4. 筛选工具栏
   -------------------------------------------------------------------------- */
.fc-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  margin-bottom: 12px;
  background: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  position: sticky;
  top: 72px;
  z-index: 30;
}
.fc-chips {
  display: flex;
  gap: 6px;
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 2px;
}
.fc-chips::-webkit-scrollbar {
  display: none;
}
.fc-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-bg-white);
  font-size: 13px;
  line-height: 20px;
  color: var(--color-text-light);
  white-space: nowrap;
  transition: all var(--transition-fast);
}
.fc-chip:hover {
  color: var(--color-text);
  border-color: #cfd8e6;
  background: var(--color-bg-alt);
}
.fc-chip.on {
  color: var(--fc-brand-dark);
  border-color: var(--fc-brand);
  background: var(--color-primary-light);
  font-weight: 600;
}
.fc-chip-pub {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 9px;
  background: #17a862;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: background var(--transition-fast);
}
.fc-chip-pub:hover {
  background: #149554;
  color: #fff;
}

/* --------------------------------------------------------------------------
   5. 列表卡片
   -------------------------------------------------------------------------- */
.block.custom.hotspot {
  padding: 0;
  background: none;
  box-shadow: none;
}
.block.hotspot .post {
  position: relative;
  padding: 14px 18px;
  margin-bottom: 10px;
  border: 1px solid var(--color-border);
  border-radius: var(--fc-radius);
  background: var(--color-bg-white);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.03);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}
.block.hotspot .post:hover {
  border-color: #cfdffb;
  box-shadow: var(--fc-shadow-h);
  transform: translateY(-1px);
}
.block.hotspot .post h2 {
  margin: 0;
  padding-right: 0;
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}
.block.hotspot .post h2 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.1px;
  color: var(--color-text);
}
.block.hotspot .post h2 a:hover {
  color: var(--fc-brand-dark);
}
.block.hotspot .post .info {
  margin: 7px 0 0;
  gap: 4px 12px;
  font-size: 12.5px;
  color: var(--color-text-lighter);
  align-items: center;
}
.block.hotspot .post .info .user,
.block.hotspot .post .info .date,
.block.hotspot .post .info .view,
.block.hotspot .post .info .cmt,
.block.hotspot .post .info .cate {
  margin-right: 0;
  color: var(--color-text-lighter);
  font-size: 12.5px;
  line-height: 20px;
}
.block.hotspot .post .info .user a {
  color: var(--color-text-light);
}
.block.hotspot .post .info .user a:hover {
  color: var(--fc-brand-dark);
}
.block.hotspot .post .info .user-avatar,
.block.hotspot .post .info .user-avatar img {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
.block.hotspot .post .info .date::before {
  display: inline-block;
  font-size: 14px;
  vertical-align: -2px;
}
.block.hotspot .post .info .view::before,
.block.hotspot .post .info .cmt::before {
  font-size: 14px;
  vertical-align: -2px;
}
.block.hotspot .post .info .user-avatar {
  margin-right: 4px;
}
.block.hotspot .post .info .user {
  margin-right: 4px;
}

/* 分类色签 */
.block.hotspot .post h2 .cate-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  padding: 0 8px;
  margin-right: 7px;
  border-radius: 6px;
  vertical-align: 1px;
  white-space: nowrap;
  color: var(--c, #6b7484);
  background: var(--cbg, #f2f4f7);
  border: 1px solid var(--cbd, #e4e8ee);
}
.cate-label.cate-1 { --c: #6b7484; --cbg: #f2f4f7; --cbd: #e4e8ee; }
.cate-label.cate-2 { --c: #b3453f; --cbg: #fdf2f1; --cbd: #f3d9d6; }
.cate-label.cate-3 { --c: #3f76b5; --cbg: #eff5fd; --cbd: #d6e5f8; }
.cate-label.cate-4 { --c: #a8781f; --cbg: #fdf7e9; --cbd: #f2e3bf; }
.cate-label.cate-5 { --c: #5a8a34; --cbg: #f2f9ec; --cbd: #dceccb; }
.cate-label.cate-6 { --c: #a8622a; --cbg: #fdf3ec; --cbd: #f2dcc9; }
.cate-label.cate-7 { --c: #3f7a55; --cbg: #eef8f2; --cbd: #d3ead9; }
.cate-label.cate-8 { --c: #8a4a9c; --cbg: #f9f1fb; --cbd: #e9d6ef; }
.cate-label.cate-9 { --c: #bf4146; --cbg: #fdf1f1; --cbd: #f4d7d7; }
.cate-label.cate-10 { --c: #5d6575; --cbg: #f2f4f8; --cbd: #e0e5ec; }
.cate-label.cate-11 { --c: #2f7cf6; --cbg: #eef4ff; --cbd: #d6e4fd; }
.cate-label.cate-12 { --c: #6b4fc0; --cbg: #f4f1fd; --cbd: #e0d8f7; }

/* 置顶卡片 */
.block.hotspot .post.istop {
  background: linear-gradient(180deg, #f7faff, var(--color-bg-white) 70%);
  border-color: #dbe7ff;
}
.night .block.hotspot .post.istop {
  background: rgba(47, 124, 246, 0.08);
  border-color: rgba(47, 124, 246, 0.3);
}
.block.hotspot .post .istop {
  position: absolute;
  left: auto;
  right: 14px;
  top: 13px;
  padding: 0 7px;
  font-size: 11px;
  font-style: normal;
  line-height: 18px;
  color: var(--fc-brand-dark);
  background: #eaf2ff;
  border: 1px solid #d3e4ff;
  border-radius: 6px;
  text-shadow: none;
}
.night .block.hotspot .post .istop {
  color: #a8c8ff;
  background: rgba(47, 124, 246, 0.16);
  border-color: rgba(47, 124, 246, 0.36);
}
.block.hotspot .post .istop::before {
  content: none;
  display: none;
}
.block.hotspot .post.istop h2 {
  padding-right: 52px;
}

/* 夜间：分类色签统一降饱和 */
.night .cate-label {
  color: #c2cde0;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.11);
}

/* --------------------------------------------------------------------------
   6. 分页
   -------------------------------------------------------------------------- */
.pagebar {
  background: none;
  box-shadow: none;
  padding: 4px 0 0;
  margin-bottom: 8px;
}
.pagebar a,
.pagebar .now-page {
  border-radius: 9px;
  margin: 2px 3px;
  padding: 5px 12px;
  line-height: 22px;
}
.pagebar a {
  border-color: var(--color-border);
  background: var(--color-bg-white);
  color: var(--color-text-light);
}
.pagebar a:hover {
  border-color: var(--fc-brand);
  background: var(--fc-brand);
}
.pagebar .now-page {
  border-color: var(--fc-brand);
  background: var(--fc-brand);
}

/* --------------------------------------------------------------------------
   7. 侧栏
   -------------------------------------------------------------------------- */
.sidebox {
  padding: 14px 16px;
  margin-bottom: 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
}
.sidebox dt:empty {
  display: none;
}
.sidetitle {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  padding: 0 0 9px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  border-bottom: 1px solid var(--color-border-light);
}
.sidetitle::before {
  content: "";
  width: 3px;
  height: 13px;
  border-radius: 2px;
  background: var(--color-primary);
  flex: none;
}
.sidebox dd {
  line-height: 1.6;
}
.sidebox dd li {
  line-height: 1.55;
}

/* 第一个无标题模块补一个「快捷入口」小标题 */
.sidebar .sidebox:first-child dd::before {
  content: "快捷入口";
  display: flex;
  align-items: center;
  height: 20px;
  margin: 0 0 10px;
  padding: 0 0 9px 10px;
  border-left: 3px solid var(--color-primary);
  border-bottom: 1px solid var(--color-border-light);
  font-size: 14px;
  font-weight: 700;
  line-height: 17px;
  color: var(--color-text);
}

/* 快捷按钮组（后台模块内联样式 → 统一为浅色按钮） */
.sidebar #divContorPanel dd > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sidebar .share-tips {
  grid-column: 1 / -1;
  display: block;
  margin: 0 0 2px;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  color: var(--color-text-light);
  letter-spacing: 0.2px;
  text-align: left;
}
.sidebar .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 38px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid var(--color-border);
  border-radius: 9px;
  background: var(--color-bg-alt) !important;
  color: var(--color-text) !important;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
  transition: all var(--transition-fast);
}
.sidebar .action-btn:hover {
  background: var(--color-bg-white) !important;
  border-color: #cfdffb;
  color: var(--fc-brand-dark) !important;
  transform: none;
  box-shadow: var(--fc-shadow);
}

/* 下载 / 最新动态按钮组 */
.sidebar .blog-side-btn-group {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sidebar .blog-side-btn {
  width: 100%;
  height: 38px;
  line-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--color-border);
  border-radius: 9px;
  background: var(--color-bg-alt) !important;
  color: var(--color-text) !important;
  font-size: 12.5px;
  font-weight: 500;
  justify-content: flex-start;
  box-shadow: none;
  transition: all var(--transition-fast);
}
.sidebar .blog-side-btn:hover {
  background: var(--color-bg-white) !important;
  border-color: #cfdffb;
  transform: none;
  box-shadow: var(--fc-shadow);
  opacity: 1;
}
.sidebar .blog-side-btn i {
  font-size: 14px;
  font-style: normal;
  line-height: 1;
}

/* 聊天室 */
#tpureChatbox .chatbox-msgs {
  max-height: 186px;
  border-radius: 9px;
  border-color: var(--color-border);
  background: var(--color-bg-alt);
}
#tpureChatbox .chatbox-input {
  border-radius: 8px;
}
#tpureChatbox .chatbox-msg {
  border-radius: 8px;
  border-color: var(--color-border-light);
  background: var(--color-bg-white);
}

/* 热门阅读 / 最近评论 间距收紧 */
.sidebox dd ul li.sideitem {
  margin-bottom: 8px;
  padding-bottom: 8px;
}
.sidebox dd ul li.sideitem:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

/* --------------------------------------------------------------------------
   8. 移动端底部导航
   -------------------------------------------------------------------------- */
.fc-mobtab {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  padding: 5px 4px calc(5px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--color-border);
}
.night .fc-mobtab {
  background: rgba(41, 41, 41, 0.95);
}
.fc-mobtab a {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 4px 0;
  font-size: 10.5px;
  color: var(--color-text-lighter);
  line-height: 1.3;
}
.fc-mobtab a.on {
  color: var(--fc-brand);
}
.fc-mobtab svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --------------------------------------------------------------------------
   9. 响应式
   -------------------------------------------------------------------------- */
@media (max-width: 1280px) {
  .header .head {
    padding-left: 140px;
  }
  .menu li a {
    padding: 0 8px;
    font-size: 14.5px;
  }
}

@media (max-width: 1080px) {
  .wrap {
    max-width: none;
    padding: 0 20px;
  }
  .header .wrap {
    height: 56px;
  }
  .header .logo,
  .header .logo a {
    height: 56px;
  }
  .header .logo img {
    height: 34px;
    max-height: 34px;
  }
  .header .head {
    padding-left: 0;
    height: 56px;
  }
  /* 移动端：导航收成抽屉，不参与顶部 flex */
  .header .menu {
    display: none;
    position: static;
    margin-left: 0;
    flex: none;
    line-height: 44px;
  }
  .header .menu.on {
    display: block;
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    width: auto;
    margin: 0;
    padding: 10px 16px 16px;
    background: var(--color-bg-white);
    border-top: 1px solid var(--color-border);
    box-shadow: 0 16px 24px -20px rgba(16, 24, 40, 0.4);
    z-index: 95;
  }
  .header .menu.on > ul {
    display: block;
  }
  .header .schico {
    display: none;
  }
  .header .account {
    margin-left: auto;
  }
  /* 平板区间让悬浮按钮回右侧中间，别压住 Hero */
  .edgebar {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
  .fc-toolbar {
    top: 62px;
  }
  /* 移动端：职业攻略二级菜单展开为两列 */
  .menu li.subcate > a::after {
    display: none;
  }
  .menu.on li.subcate .subnav,
  .menu li.subcate .subnav {
    position: static;
    display: none;
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    animation: none;
  }
  .menu li.subcate:hover .subnav {
    display: none;
  }
  .menu li.subcate.open .subnav {
    display: grid;
  }
  .menu li.subcate.open > a {
    color: var(--color-primary);
  }
  .menu.on li {
    line-height: 44px;
  }
  .menu.on li .subnav a {
    line-height: 36px;
    font-size: 13.5px;
  }
}

@media (max-width: 750px) {
  .wrap {
    padding: 0 16px;
  }
  .index .banner {
    min-height: 200px;
  }
  .index .banner .wrap {
    padding: 0 16px;
  }
  .fc-hero {
    padding: 22px 0 24px;
  }
  .fc-hero-tag {
    margin-bottom: 12px;
    font-size: 11.5px;
  }
  .fc-hero h1 {
    font-size: clamp(23px, 6.4vw, 28px);
    margin-bottom: 8px;
  }
  .fc-hero p {
    font-size: 13.5px;
    margin-bottom: 16px;
    line-height: 1.55;
  }
  .fc-hero-search {
    flex: 1 1 100%;
    max-width: none;
    height: 44px;
  }
  .fc-hero-search button {
    height: 34px;
    padding: 0 14px;
  }
  .fc-hero-btn {
    flex: 1;
    height: 42px;
    padding: 0 12px;
    font-size: 13.5px;
  }
  .fc-toolbar {
    top: 56px;
    margin: 0 -16px 10px;
    padding: 8px 12px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
  .fc-chip {
    padding: 4px 10px;
    font-size: 12.5px;
  }
  .block.hotspot .post {
    padding: 12px 14px;
    margin-bottom: 8px;
  }
  .block.hotspot .post h2 a {
    font-size: 14.5px;
  }
  .block.hotspot .post h2 .cate-label {
    font-size: 10.5px;
    padding: 0 6px;
  }
  .block.hotspot .post.istop h2 {
    padding-right: 46px;
  }
  .fc-mobtab {
    display: flex;
  }
  .footer {
    padding-bottom: 78px;
  }
  .edgebar {
    top: auto;
    bottom: 80px;
    transform: none;
  }
  /* 首页底部已有「留言」入口，隐藏右侧重复的悬浮按钮 */
  .index .edgebar .chatbtn {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   10. 夜间补充
   -------------------------------------------------------------------------- */
.night .fc-toolbar,
.night .block.hotspot .post {
  box-shadow: none;
}
.night .fc-hero h1 {
  color: #fff;
}
.night .fc-hero p {
  color: rgba(255, 255, 255, 0.62);
}
.night .fc-hero-search {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: none;
}
.night .fc-hero-search input {
  color: #fff;
}
.night .fc-hero-search input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.night .fc-hero-search svg {
  stroke: rgba(255, 255, 255, 0.6);
}
.night .fc-hero-btn.ghost {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}
.night .fc-chip.on {
  color: #9cc3ff;
  border-color: rgba(88, 150, 255, 0.7);
  background: rgba(47, 124, 246, 0.16);
}
.night .block.hotspot .post:hover {
  border-color: rgba(88, 150, 255, 0.4);
}
.night .block.hotspot .post h2 a {
  color: #e8ecf3;
}
.night .block.hotspot .post h2 a:hover {
  color: #9cc3ff;
}
/* 聊天室模块内联了浅色样式，夜间单独覆盖 */
.night #tpureChatbox .chatbox-msgs {
  background: #232323;
  border-color: #3a3a3a;
}
.night #tpureChatbox .chatbox-msg {
  background: #2b2b2b;
  border-color: #3a3a3a;
}
.night #tpureChatbox .chatbox-msg-text {
  color: #bbb;
}
.night #tpureChatbox .chatbox-input-row {
  background: transparent;
  border-color: #3a3a3a;
}
.night #tpureChatbox .chatbox-input {
  background: #232323;
  border-color: #3a3a3a;
  color: #ddd;
}
.night #tpureChatbox .chatbox-online {
  background: transparent;
}
.night #tpureChatbox .chatbox-empty {
  color: #888;
}

/* 移动端菜单里的二级项 */
@media (max-width: 1080px) {
  .menu.on li.subcate {
    border-bottom: 0;
  }
  .menu.on li.subcate > a {
    border-bottom: 1px dotted var(--color-border);
  }
  .menu.on li .subnav {
    padding-bottom: 4px;
    border-bottom: 1px dotted var(--color-border);
  }
  .menu.on li .subnav a {
    font-size: 14px;
    line-height: 38px;
    color: var(--color-text-light);
  }
  .menu.on li .subnav a.on {
    color: var(--color-primary);
  }
}

/* ==========================================================================
   v1.2 顶部搜索框 / 一键分享 / 分类页与文章页 Hero
   ========================================================================== */
.header .fc-search {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  width: 210px;
  padding: 0 12px;
  margin-left: auto;
  background: #f2f5fa;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: width .2s, background .2s, border-color .2s, box-shadow .2s;
}
.header .fc-search:focus-within {
  width: 250px;
  background: #fff;
  border-color: #c9dcff;
  box-shadow: 0 0 0 4px rgba(47, 124, 246, .1);
}
.header .fc-search svg {
  width: 15px;
  height: 15px;
  flex: none;
  stroke: #8a94a6;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}
.header .fc-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: none;
  font-size: 13.5px;
  color: #151b26;
}
.night .header .fc-search {
  background: #333;
}
.night .header .fc-search:focus-within {
  background: #3a3a3a;
  border-color: #4a4a4a;
}
.night .header .fc-search input {
  color: #eee;
}
/* 常驻搜索框替代原搜索图标 */
.header .schico {
  display: none;
}
/* 一键分享 */
.header .fc-head-share {
  order: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  margin-left: 8px;
  border-radius: 9px;
  background: #17a862;
  color: #fff;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 34px;
  white-space: nowrap;
  flex: none;
  transition: background .18s;
}
.header .fc-head-share:hover {
  background: #149554;
  color: #fff;
}
.header .fc-head-share svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.header .menuico {
  order: 4;
}

/* 分类页 / 文章页 / 标签 / 作者页 Hero */
.category .banner,
.article .banner,
.page .banner,
.tag .banner,
.author .banner {
  height: auto !important;
  min-height: 200px;
  display: flex;
  align-items: center;
}
.category .banner .wrap,
.article .banner .wrap,
.page .banner .wrap,
.tag .banner .wrap,
.author .banner .wrap {
  position: relative;
  top: auto;
  transform: none;
  width: auto;
  flex: 1 1 auto;
  max-width: 1280px;
  padding: 0 24px;
}
.fc-page-hero {
  padding: 26px 0 30px;
  text-align: left;
  max-width: 860px;
  text-shadow: none;
}
.fc-page-hero h1 {
  margin: 0 0 6px;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.3;
  color: #fff;
  letter-spacing: -0.3px;
}
.fc-page-hero p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 1080px) {
  .header .fc-search {
    display: none;
  }
}
@media (max-width: 750px) {
  .header .fc-head-share {
    display: none;
  }
  .category .banner,
  .article .banner,
  .page .banner,
  .tag .banner,
  .author .banner {
    min-height: 150px;
  }
  .category .banner .wrap,
  .article .banner .wrap,
  .page .banner .wrap,
  .tag .banner .wrap,
  .author .banner .wrap {
    padding: 0 16px;
  }
  .fc-page-hero {
    padding: 20px 0 22px;
  }
}
/* 非首页 banner：隐藏主题居中搜索框（顶部已有全局搜索） */
.category .banner .hellosch,
.article .banner .hellosch,
.page .banner .hellosch,
.tag .banner .hellosch,
.author .banner .hellosch {
  display: none;
}
/* Hero 标题最多两行 */
.fc-page-hero h1 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 分类页已有 Hero 标题，隐藏内容区重复标题卡 */
.category .listtitle {
  display: none;
}
/* 文章页：Hero 已显示标题，隐藏正文重复的 h1 */
.article .post > h1 {
  display: none;
}
/* 分类 / 标签 / 作者 / 搜索页：与主页同款的完整 Hero */
.fc-page-hero {
  padding: 30px 0 36px;
}
.fc-page-hero.only-title {
  padding: 26px 0 30px;
}
.fc-page-hero .fc-hero-tag {
  margin-bottom: 12px;
}
.fc-page-hero h1 {
  font-size: clamp(24px, 3vw, 32px);
  margin: 0 0 8px;
}
.fc-page-hero p {
  margin: 0 0 20px;
}
.fc-page-hero .fc-hero-actions {
  margin-top: 0;
}
.fc-page-hero .fc-hero-search {
  max-width: 440px;
}
/* Hero 已表明当前位置，列表页不再重复面包屑 */
.category .sitemap,
.tag .sitemap,
.author .sitemap,
.search .sitemap {
  display: none;
}
@media (max-width: 750px) {
  .fc-page-hero {
    padding: 24px 0 28px;
  }
  .fc-page-hero .fc-hero-tag,
  .fc-page-hero .fc-hero-btn {
    display: none;
  }
  .fc-page-hero h1 {
    font-size: 22px;
  }
  .fc-page-hero p {
    margin-bottom: 14px;
  }
  .fc-page-hero .fc-hero-search {
    flex: 1 1 100%;
    max-width: none;
    height: 44px;
  }
  .fc-page-hero .fc-hero-search button {
    height: 34px;
  }
}
/* 移动端底部已有「留言」入口，其他页面也隐藏右侧重复的悬浮聊天按钮 */
@media (max-width: 750px) {
  .edgebar .chatbtn {
    display: none;
  }
}
/* v1.5 列表页 Hero 与主页完全对齐：同高度、同字号、同三个操作 */
.category .banner,
.tag .banner,
.author .banner,
.search .banner {
  min-height: 287px;
}
.fc-page-hero {
  padding: 26px 0 28px;
  max-width: 780px;
}
.fc-page-hero.only-title {
  padding: 26px 0 28px;
}
.fc-page-hero h1 {
  font-size: clamp(25px, 3.2vw, 36px);
}
@media (max-width: 750px) {
  .category .banner,
  .tag .banner,
  .author .banner,
  .search .banner {
    min-height: 200px;
  }
  .fc-page-hero h1 {
    font-size: 22px;
  }
}
/* ==========================================================================
   v1.6 列表页遮罩 / 导航首帧 / 头部调整
   ========================================================================== */
/* 分类、标签、作者、文章、搜索页：与主页一致的深色半透明遮罩 */
.banner::before {
  opacity: 1;
  background:
    radial-gradient(620px 300px at 10% -20%, rgba(47, 124, 246, 0.34), transparent 62%),
    linear-gradient(158deg, rgba(9, 15, 26, 0.97) 0%, rgba(17, 29, 46, 0.94) 58%, rgba(11, 20, 33, 0.96) 100%);
}
/* 已移除右上角「一键分享」 */
.header .fc-head-share {
  display: none;
}
/* 导航聚合前先隐藏，避免首帧露出原始 11 项职业 */
.header .menu > ul.fc-nav-pending {
  opacity: 0;
  animation: fcNavReveal 0.01s linear 1.5s forwards;
}
@keyframes fcNavReveal {
  to {
    opacity: 1;
  }
}
/* v1.7 右上角头像下拉（登录态）：固定宽度 + 卡片化，修复被父级宽度挤成竖排的问题 */
.header .signuserpop {
  width: 184px;
  top: calc(100% + 6px);
  right: 0;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  box-shadow: 0 18px 36px -18px rgba(16, 24, 40, 0.35);
  z-index: 200;
  animation: fcPopIn 0.16s ease both;
}
.header .signuserpop .signusermenu {
  text-align: left;
  line-height: normal;
}
.header .signuserpop .signusermenu a {
  display: block;
  padding: 0 10px;
  line-height: 36px;
  border-radius: 8px;
  font-size: 13px;
  color: var(--color-text-light);
  white-space: nowrap;
}
.header .signuserpop .signusermenu a:hover {
  background: #eef4ff;
  color: var(--color-primary-dark);
}
@keyframes fcPopIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.night .header .signuserpop {
  background: #292929;
  border-color: #3a3a3a;
}
.night .header .signuserpop .signusermenu a {
  color: #ccc;
}
.night .header .signuserpop .signusermenu a:hover {
  background: #333;
  color: #9cc3ff;
}
/* v1.8 列表页 Hero 与主页逐项对齐（字重 / 行高 / 字号 / 搜索框宽度） */
.fc-page-hero h1 {
  font-size: clamp(25px, 3.2vw, 36px);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.4px;
  margin: 0 0 10px;
}
.fc-page-hero p {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.64);
  margin: 0 0 18px;
}
.fc-page-hero .fc-hero-tag {
  margin-bottom: 16px;
}
.fc-page-hero .fc-hero-search {
  flex: 1 1 320px;
  max-width: 400px;
}
.fc-page-hero p {
  max-width: 600px;
}
/* v1.9 列表页 Hero 容器与主页一致：主题 .hellotip 默认 90% 宽居中，需撑满左对齐 */
.category .banner .hellotip,
.article .banner .hellotip,
.page .banner .hellotip,
.tag .banner .hellotip,
.author .banner .hellotip,
.search .banner .hellotip {
  width: 100%;
  margin: 0;
  text-align: left;
  text-shadow: none;
}
/* v2.0 分类页直接复用 .fc-hero：描述固定两行高度，保证与主页元素位置一致 */
.fc-hero p {
  min-height: 48px;
}
.fc-hero-single {
  padding: 26px 0 28px;
}
/* ==========================================================================
   v2.1 去掉搜索框，右上角改为悬浮用户菜单
   ========================================================================== */
.header .account {
  order: 2;
  margin-left: 10px;
  display: flex;
  align-items: center;
  flex: none;
}
.fc-user {
  position: relative;
  display: flex;
  align-items: center;
}
.fc-user-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: none;
  font: inherit;
  font-size: 13.5px;
  color: #556072;
  cursor: pointer;
  transition: background 0.15s;
}
.fc-user-btn:hover {
  background: #f4f7fb;
}
.fc-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.fc-user-icon {
  width: 17px;
  height: 17px;
  stroke: #8a94a6;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fc-user-caret {
  width: 13px;
  height: 13px;
  stroke: #8a94a6;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.15s;
}
.fc-user:hover .fc-user-caret,
.fc-user.open .fc-user-caret {
  transform: rotate(180deg);
}
.fc-user-menu {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 2px;
  width: 188px;
  padding: 6px;
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 12px;
  box-shadow: 0 18px 36px -18px rgba(16, 24, 40, 0.35);
  display: none;
  z-index: 220;
  animation: fcPopIn 0.16s ease both;
  text-align: left;
}
.fc-user:hover .fc-user-menu,
.fc-user.open .fc-user-menu {
  display: block;
}
.fc-user-menu a {
  display: block;
  padding: 0 10px;
  line-height: 36px;
  border-radius: 8px;
  font-size: 13px;
  color: #556072;
  white-space: nowrap;
  text-decoration: none;
}
.fc-user-menu a:hover {
  background: #eef4ff;
  color: #1a5fd4;
}
.fc-user-menu .sep {
  display: block;
  height: 1px;
  margin: 4px 6px;
  background: #f1f4f8;
}
.fc-user-menu a.out {
  color: #e0455c;
}
.fc-user-menu a.out:hover {
  background: #fdf1f1;
  color: #c9364a;
}
.fc-user .dayuser-msg-badge {
  position: absolute;
  top: -2px;
  right: 2px;
  z-index: 2;
}
.night .fc-user-btn {
  color: #ccc;
}
.night .fc-user-btn:hover {
  background: #333;
}
.night .fc-user-menu {
  background: #292929;
  border-color: #3a3a3a;
}
.night .fc-user-menu a {
  color: #ccc;
}
.night .fc-user-menu a:hover {
  background: #333;
  color: #9cc3ff;
}
.night .fc-user-menu .sep {
  background: #3a3a3a;
}
@media (max-width: 750px) {
  .fc-user-name {
    display: none;
  }
  .fc-user-menu {
    width: 168px;
  }
}
/* 移动端用户菜单固定到右上，避免相对定位被父级宽度影响 */
@media (max-width: 1080px) {
  .fc-user-menu {
    position: fixed;
    top: 60px;
    right: 12px;
    left: auto;
    margin-top: 0;
    width: 176px;
  }
}
@media (max-width: 750px) {
  .fc-user-menu {
    top: 56px;
    width: 168px;
  }
}
/* v2.2 用户菜单：带图标 + 延迟收起（由 JS 控制 .open） */
.fc-user-menu {
  width: 208px;
  margin-top: 0;
  padding: 6px;
  border-radius: 12px;
  box-shadow: 0 20px 40px -20px rgba(16, 24, 40, 0.4);
}
.fc-user-menu a {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 38px;
  line-height: 38px;
  padding: 0 10px;
  font-size: 13px;
}
.fc-user-menu a svg {
  width: 15px;
  height: 15px;
  flex: none;
  stroke: #8a94a6;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.15s;
}
.fc-user-menu a:hover svg {
  stroke: #1a5fd4;
}
.fc-user-menu a.out svg {
  stroke: #e0455c;
}
.fc-user-menu a.out:hover {
  background: #fdf1f1;
  color: #c9364a;
}
.fc-user-menu a.out:hover svg {
  stroke: #c9364a;
}
.night .fc-user-menu a svg {
  stroke: #9aa4b5;
}
.night .fc-user-menu a:hover svg {
  stroke: #9cc3ff;
}
/* 只由 JS 的 .open 控制显示，避免 hover 缝隙导致瞬间消失 */
.fc-user:hover .fc-user-menu {
  display: none;
}
.fc-user.open .fc-user-menu {
  display: block;
}
/* ==========================================================================
   v2.4 字体与配色对齐演示页（index.html）
   ========================================================================== */
:root {
  --color-primary: #2f7cf6;
  --color-primary-dark: #1a5fd4;
  --color-primary-light: rgba(47, 124, 246, 0.06);
  --color-text: #151b26;
  --color-text-light: #556072;
  --color-text-lighter: #8a94a6;
  --color-text-muted: #556072;
}
body {
  font-family: -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: #151b26;
}
input,
textarea,
select,
button {
  font-family: -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

/* 列表标题：与演示页 .post h3 完全一致 */
.block.hotspot .post h2 a {
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.1px;
  color: #151b26;
}
.block.hotspot .post:hover h2 a {
  color: #1a5fd4;
}

/* 正文标题与正文颜色统一 */
.single .post h1,
.single .post h2,
.single .post h3,
.single .post h4 {
  color: #151b26;
}
.single .post .intro,
.single .post .content,
.single .post p {
  color: #2c3444;
}

/* 侧栏标题、分类名等文字颜色 */
.sidebox dd a,
.sidebox .sidetitle {
  color: #151b26;
}
/* v2.5 修复分类条 sticky 在滚动时跳到屏幕中间（与主题的 sticky sidebar 冲突） */
.fc-toolbar {
  position: relative;
  top: auto;
}
/* v4.0 文章页 Hero 与分类页一致（完整结构 + 同高度） */
.article .banner {
  min-height: 287px;
}
@media (max-width: 750px) {
  .article .banner {
    min-height: 200px;
  }
}
/* ==========================================================================
   v4.1 置顶内容单独成框（与演示页一致）
   ========================================================================== */
.fc-notice {
  padding: 6px 8px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #f7faff, #fff);
  border: 1px solid #dbe7ff;
  border-radius: 14px;
}
.fc-notice-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 9px;
  transition: background 0.15s;
}
.fc-notice-row + .fc-notice-row {
  border-top: 1px solid #e8f0ff;
}
.fc-notice-row:hover {
  background: #eef4ff;
}
.fc-pin {
  width: 14px;
  height: 14px;
  flex: none;
  stroke: #2f7cf6;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fc-notice-t {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  color: #151b26;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-notice-row:hover .fc-notice-t {
  color: #1a5fd4;
}
.fc-notice-n {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  font-size: 12px;
  color: #8a94a6;
}
.fc-notice-n svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}
.night .fc-notice {
  background: rgba(47, 124, 246, 0.08);
  border-color: rgba(47, 124, 246, 0.28);
}
.night .fc-notice-row + .fc-notice-row {
  border-color: rgba(47, 124, 246, 0.18);
}
.night .fc-notice-t {
  color: #e8ecf3;
}
@media (max-width: 750px) {
  .fc-notice {
    margin: 0 0 10px;
    border-radius: 12px;
  }
  .fc-notice-t {
    font-size: 13.5px;
  }
  .fc-notice-n {
    display: none;
  }
}
/* ==========================================================================
   v4.3 顶部导航字重 / 下拉圆点 / 延迟收起
   ========================================================================== */
.menu li a {
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.1px;
}
.menu li a:hover,
.menu li a.on {
  color: #2f7cf6;
  font-weight: 600;
  background: #eef4ff;
}
.menu li a.on {
  font-weight: 600;
}
/* 下拉项圆点 */
.menu li .subnav a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.menu li .subnav .fc-dot {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--c, #cbd5e1);
}
/* 下拉显示改由 JS 的 .open 控制（带延迟），避免鼠标经过缝隙就消失 */
@media (min-width: 1081px) {
  .menu li.subcate:hover > .subnav {
    display: none;
  }
  .menu li.subcate.open > .subnav {
    display: grid;
  }
}
/* ==========================================================================
   v4.4 修复分类条吸顶：解除 sticky-sidebar 插件对内容列的位移影响
   ========================================================================== */
.content .theiaStickySidebar {
  position: static !important;
  top: auto !important;
  transform: none !important;
  min-height: 0 !important;
}
.fc-toolbar {
  position: sticky;
  top: 72px;
}
@media (max-width: 750px) {
  .fc-toolbar {
    top: 62px;
  }
}
/* v5.2 独立页面 Hero 与分类页一致 */
.page .banner {
  min-height: 287px;
}
@media (max-width: 750px) {
  .page .banner {
    min-height: 200px;
  }
}
/* ==========================================================================
   v5.6 移动端页头：删除汉堡菜单
   ========================================================================== */
@media (max-width: 1080px) {
  .header .menuico {
    display: none !important;
  }
  .header .head {
    justify-content: flex-end;
  }
  .header .account {
    margin-left: auto;
  }
}
/* 搜索结果页也隐藏主题的居中搜索框 */
.search .banner .hellosch {
  display: none !important;
}
.search .banner {
  min-height: 287px;
}
@media (max-width: 750px) {
  .search .banner {
    min-height: 200px;
  }
}
/* v6.2 未登录「登录」按钮与页头垂直居中 */
.header .sign {
  float: none;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 62px;
  margin: 0;
}
.header .sign span {
  float: none;
  display: inline-flex;
  align-items: center;
  margin: 0;
  line-height: normal;
}
.header .sign span a {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 16px;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 34px;
  border: 1px solid var(--color-primary);
  border-radius: 9px;
  color: var(--color-primary);
}
.header .sign span a:hover {
  background: var(--color-primary);
  color: #fff;
}
@media (max-width: 750px) {
  .header .sign {
    height: 56px;
  }
}
/* ==========================================================================
   v6.4 所有页面 Hero 高度统一（此前首页 260、列表页 287 不一致）
   ========================================================================== */
.index .banner,
.category .banner,
.tag .banner,
.author .banner,
.search .banner,
.article .banner,
.page .banner {
  min-height: 287px;
}
@media (max-width: 750px) {
  .index .banner,
  .category .banner,
  .tag .banner,
  .author .banner,
  .search .banner,
  .article .banner,
  .page .banner {
    min-height: 200px;
  }
}
/* ==========================================================================
   v6.5 面包屑（当前位置）改为深色胶囊，与主页文字色一致
   ========================================================================== */
.sitemap {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 999px;
  font-size: 12.5px;
  color: #151b26;
  line-height: 1.6;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.03);
}
.sitemap a {
  color: #151b26;
  font-weight: 500;
  text-decoration: none;
}
.sitemap a:hover {
  color: #2f7cf6;
}
.night .sitemap {
  background: #292929;
  border-color: #3a3a3a;
  color: #e8ecf3;
}
.night .sitemap a {
  color: #e8ecf3;
}
@media (max-width: 750px) {
  .sitemap {
    margin: 0 0 10px;
    padding: 5px 12px;
    font-size: 12px;
  }
}
/* 面包屑改用与主页卡片一致的圆角（12px），不用全圆角 */
.sitemap {
  border-radius: 12px;
}
/* v6.7 分类色签文字垂直居中（此前下方突出） */
.block.hotspot .post h2 .cate-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 19px;
  padding: 0 8px;
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-1px);
}
/* ==========================================================================
   v6.8 最近评论：去掉头像，信息更紧凑
   ========================================================================== */
#tpure_AvatarComment .sideitem {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #f1f4f8;
  border-radius: 0;
}
#tpure_AvatarComment .sideitem:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
#tpure_AvatarComment .avatarcmt {
  display: block;
}
#tpure_AvatarComment .avatarimg {
  display: none;
}
#tpure_AvatarComment .avatarinfo {
  overflow: visible;
  font-size: 12px;
  line-height: 1.5;
}
#tpure_AvatarComment .avatarinfo p {
  height: auto;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
#tpure_AvatarComment .avatarinfo p span {
  color: #8a94a6;
  font-size: 11.5px;
}
#tpure_AvatarComment .avatarname {
  margin-right: 6px;
  font-size: 12.5px;
  font-weight: 600;
}
#tpure_AvatarComment .avatarname a {
  color: #151b26;
}
#tpure_AvatarComment .avatarname a:hover {
  color: #2f7cf6;
}
#tpure_AvatarComment .avatartitle {
  display: block;
  margin: 2px 0 0;
  font-size: 11.5px;
  color: #8a94a6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#tpure_AvatarComment .avatartitle:hover {
  color: #2f7cf6;
}
#tpure_AvatarComment .avatarcon {
  margin: 5px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: 12.5px;
  line-height: 1.55;
  color: #2c3444;
}
#tpure_AvatarComment .avatarcon::before,
#tpure_AvatarComment .avatarcon::after {
  display: none;
}
#tpure_AvatarComment .avatarcon i {
  -webkit-line-clamp: 4;
}
/* 聊天室高度拉高一倍（模块内联默认 200px） */
.sidebar #tpureChatbox .chatbox-msgs {
  max-height: 400px;
}
/* 聊天室空状态也保持一定高度 */
.sidebar #tpureChatbox .chatbox-msgs {
  min-height: 220px;
}
/* ==========================================================================
   v7.0 首页滚动公告
   ========================================================================== */
.fc-marquee {
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 10px 14px;
  background: linear-gradient(90deg, #eef4ff, #f7faff);
  border: 1px solid #dbe7ff;
  border-radius: 12px;
  font-size: 13px;
  color: #1a5fd4;
  line-height: 1.5;
}
.fc-marquee::before {
  content: "公告";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 12px;
  background: #2f7cf6;
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.5px;
  z-index: 2;
}
.fc-marquee-inner {
  display: inline-flex;
  gap: 80px;
  padding-left: 64px;
  white-space: nowrap;
  animation: fcMarquee 26s linear infinite;
  will-change: transform;
}
.fc-marquee:hover .fc-marquee-inner {
  animation-play-state: paused;
}
@keyframes fcMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.night .fc-marquee {
  background: rgba(47, 124, 246, 0.1);
  border-color: rgba(47, 124, 246, 0.28);
  color: #9cc3ff;
}
@media (max-width: 750px) {
  .fc-marquee {
    margin: 0 -16px 10px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    font-size: 12.5px;
  }
}
/* ==========================================================================
   v7.1 最近评论：恢复头像（26px），参考演示页样式
   ========================================================================== */
#tpure_AvatarComment .avatarcmt {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  column-gap: 9px;
  row-gap: 3px;
  align-items: start;
}
#tpure_AvatarComment .avatarimg {
  display: block;
  grid-area: 1 / 1 / 3 / 2;
  width: 26px;
  height: 26px;
  float: none;
  margin: 0;
}
#tpure_AvatarComment .avatarimg span {
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;
}
#tpure_AvatarComment .avatarimg img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}
#tpure_AvatarComment .avatarinfo {
  grid-area: 1 / 2 / 2 / 3;
  overflow: visible;
  font-size: 12px;
  line-height: 1.4;
}
#tpure_AvatarComment .avatarinfo p {
  height: auto;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
#tpure_AvatarComment .avatarname {
  margin-right: 5px;
  font-size: 12.5px;
  font-weight: 600;
}
#tpure_AvatarComment .avatarname a {
  color: #151b26;
}
#tpure_AvatarComment .avatarname a:hover {
  color: #2f7cf6;
}
#tpure_AvatarComment .avatarinfo p span {
  font-size: 11px;
  color: #8a94a6;
}
#tpure_AvatarComment .avatartitle {
  display: block;
  margin: 1px 0 0;
  font-size: 11.5px;
  color: #2f7cf6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#tpure_AvatarComment .avatartitle:hover {
  color: #1a5fd4;
}
#tpure_AvatarComment .avatarcon {
  grid-area: 2 / 2 / 3 / 3;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: 13px;
  line-height: 1.5;
  color: #3c4657;
}
#tpure_AvatarComment .avatarcon::before,
#tpure_AvatarComment .avatarcon::after {
  display: none;
}
#tpure_AvatarComment .avatarcon i {
  -webkit-line-clamp: 2;
}
/* ==========================================================================
   v7.2 列表标题与关联字号放大（参考内容社区常规 16–17px）
   ========================================================================== */
.block.hotspot .post h2 a {
  font-size: 16.5px;
  line-height: 1.55;
}
.block.hotspot .post .info,
.block.hotspot .post .info .user,
.block.hotspot .post .info .date,
.block.hotspot .post .info .view,
.block.hotspot .post .info .cmt,
.block.hotspot .post .info .cate {
  font-size: 13px;
}
.block.hotspot .post h2 .cate-label {
  font-size: 11.5px;
  height: 20px;
}
.block.hotspot .post {
  padding: 15px 20px;
}
.block.hotspot .post .info .user-avatar,
.block.hotspot .post .info .user-avatar img {
  width: 22px;
  height: 22px;
}
@media (max-width: 750px) {
  .block.hotspot .post h2 a {
    font-size: 15.5px;
  }
  .block.hotspot .post .info,
  .block.hotspot .post .info .user,
  .block.hotspot .post .info .date,
  .block.hotspot .post .info .view,
  .block.hotspot .post .info .cmt,
  .block.hotspot .post .info .cate {
    font-size: 12.5px;
  }
}
/* 登录按钮统一高度（含边框 36px） */
.header .sign span a {
  box-sizing: border-box;
  height: 36px;
}
/* ==========================================================================
   v7.7 筛选条：分类较多时自动换行，全部可见
   ========================================================================== */
.fc-toolbar {
  align-items: flex-start;
  flex-wrap: nowrap;
}
.fc-chips {
  flex-wrap: wrap;
  overflow: visible;
  row-gap: 6px;
}
.fc-chip {
  padding: 4px 11px;
  font-size: 12.5px;
}
.fc-chip-pub {
  margin-left: auto;
  flex: none;
}
@media (max-width: 750px) {
  .fc-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
}
/* ==========================================================================
   v7.8 页面加宽 + 筛选条单行显示
   ========================================================================== */
.wrap {
  max-width: 1440px;
}
.fc-toolbar {
  flex-wrap: nowrap;
}
.fc-chips {
  flex-wrap: nowrap;
  overflow: visible;
}
.fc-chip {
  padding: 4px 10px;
  font-size: 12px;
}
@media (max-width: 1080px) {
  .fc-chips {
    overflow-x: auto;
  }
}
/* ==========================================================================
   v7.9 置顶标题与列表标题一致（16.5px / 600）
   ========================================================================== */
.fc-notice-t {
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.4;
}
.fc-notice-row {
  padding: 10px 10px;
}
@media (max-width: 750px) {
  .fc-notice-t {
    font-size: 15.5px;
  }
}
/* 容器收窄：刚好放下整行筛选项 */
.wrap {
  max-width: 1340px;
}
/* ==========================================================================
   v8.0 移动端：列表元信息可换行，编辑/删除不撑破页面
   ========================================================================== */
@media (max-width: 750px) {
  .post .meta-row {
    flex-wrap: wrap;
    row-gap: 4px;
  }
  .post .info {
    flex-wrap: wrap;
    white-space: normal;
    row-gap: 2px;
  }
  .post .info .edit,
  .post .info .del {
    display: none;
  }
}
/* ==========================================================================
   v8.1 筛选条：分类区宽度贴合内容，末项紧贴发布按钮
   ========================================================================== */
.fc-toolbar {
  flex-wrap: nowrap;
}
.fc-chips {
  flex: 0 1 auto;
  overflow: visible;
}
.fc-chip-pub {
  margin-left: 0;
  flex: none;
}
@media (max-width: 1080px) {
  .fc-chips {
    flex: 1 1 auto;
    overflow-x: auto;
  }
  .fc-chip-pub {
    margin-left: auto;
  }
}
/* ==========================================================================
   v8.2 文章标题后的 NEW 标记（2 小时内有新评论）
   ========================================================================== */
.fc-new {
  display: inline-block;
  margin-left: 7px;
  padding: 0 5px;
  height: 16px;
  line-height: 16px;
  border-radius: 4px;
  background: #ff4d64;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.4px;
  vertical-align: 2px;
  white-space: nowrap;
}
.fc-notice-t .fc-new {
  vertical-align: 1px;
}
@media (max-width: 750px) {
  .fc-new {
    height: 15px;
    line-height: 15px;
    font-size: 9.5px;
    margin-left: 5px;
  }
}
/* NEW 标记覆盖主题原有的 .post h2 em 样式 */
.post h2 em.fc-new {
  margin: 0 0 0 7px;
  padding: 0 5px;
  height: 16px;
  line-height: 16px;
  border-radius: 4px;
  background: #ff4d64;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.4px;
  vertical-align: 2px;
  display: inline-block;
  white-space: nowrap;
}
@media (max-width: 750px) {
  .post h2 em.fc-new {
    height: 15px;
    line-height: 15px;
    font-size: 9.5px;
    margin-left: 5px;
  }
}
/* ==========================================================================
   v8.4 新评论图标（与 NEW 区分：蓝色气泡 + 红点）
   ========================================================================== */
.fc-newcmt {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  border-radius: 50%;
  background: #eef4ff;
  color: #2f7cf6;
  font-style: normal;
  vertical-align: -3px;
}
.fc-newcmt svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fc-newcmt i {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff4d64;
  border: 1px solid #fff;
}
/* 覆盖主题原有的 .post h2 em 样式 */
.post h2 em.fc-newcmt {
  margin: 0 0 0 6px;
  padding: 0;
  width: 18px;
  height: 18px;
  line-height: 18px;
  border-radius: 50%;
  background: #eef4ff;
  color: #2f7cf6;
  vertical-align: -3px;
}
.night .fc-newcmt,
.night .post h2 em.fc-newcmt {
  background: rgba(47, 124, 246, 0.2);
  color: #8ab6ff;
}
.night .fc-newcmt i {
  border-color: #1b1b1b;
}
@media (max-width: 750px) {
  .fc-newcmt,
  .post h2 em.fc-newcmt {
    width: 16px;
    height: 16px;
    margin-left: 5px;
    vertical-align: -2px;
  }
  .fc-newcmt svg {
    width: 11px;
    height: 11px;
  }
}
/* ==========================================================================
   v8.5 首页列表字号整体放大（标题 17px，其余同步 +0.5）
   ========================================================================== */
.block.hotspot .post h2 a {
  font-size: 17px;
}
.block.hotspot .post .info,
.block.hotspot .post .info .user,
.block.hotspot .post .info .date,
.block.hotspot .post .info .view,
.block.hotspot .post .info .cmt,
.block.hotspot .post .info .cate {
  font-size: 13.5px;
}
.block.hotspot .post h2 .cate-label {
  font-size: 12px;
  height: 21px;
  line-height: 21px;
}
.fc-notice-t {
  font-size: 17px;
}
@media (max-width: 750px) {
  .block.hotspot .post h2 a {
    font-size: 16px;
  }
  .block.hotspot .post .info,
  .block.hotspot .post .info .user,
  .block.hotspot .post .info .date,
  .block.hotspot .post .info .view,
  .block.hotspot .post .info .cmt,
  .block.hotspot .post .info .cate {
    font-size: 13px;
  }
  .block.hotspot .post h2 .cate-label {
    font-size: 11.5px;
    height: 20px;
    line-height: 20px;
  }
  .fc-notice-t {
    font-size: 16px;
  }
}
/* ==========================================================================
   v8.10 右上角下拉：宽度贴合文字，左右留白对称
   ========================================================================== */
.header .signuserpop {
  width: max-content;
  min-width: 132px;
  max-width: 260px;
  padding: 5px;
}
.header .signuserpop .signusermenu a {
  padding: 0 12px;
}
/* ==========================================================================
   v8.11 主页右上角用户菜单：宽度贴合文字，左右对称
   ========================================================================== */
.fc-user-menu {
  width: max-content;
  min-width: 148px;
  max-width: 280px;
  padding: 5px;
}
.fc-user-menu a {
  padding: 0 12px;
  gap: 8px;
}
@media (max-width: 1080px) {
  .fc-user-menu {
    width: max-content;
    min-width: 148px;
  }
}
@media (max-width: 750px) {
  .fc-user-menu {
    width: max-content;
    min-width: 148px;
  }
}
/* ==========================================================================
   v9.0 文章页 UI 重写（顶部沿用主页 Hero，面包屑 + 正文 + 相关 + 评论）
   ========================================================================== */
body:is(.article, .page) {
  background: #f4f6fa;
}
:is(.article, .page) .maincon {
  padding-top: 18px;
}
:is(.article, .page) .sitemap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 16px;
  padding: 9px 14px;
  background: #fff;
  border: 1px solid #e9edf3;
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.6;
  color: #8a94a6;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.03);
}
:is(.article, .page) .sitemap .sitemap-label {
  color: #a3abba;
}
:is(.article, .page) .sitemap a {
  color: #556072;
  font-weight: 500;
  text-decoration: none;
}
:is(.article, .page) .sitemap a:hover {
  color: #2f7cf6;
}
:is(.article, .page) .sitemap-current {
  max-width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #151b26;
  font-weight: 600;
}

:is(.article, .page) .content > .block {
  margin-bottom: 16px;
  background: #fff;
  border: 1px solid #e9edf3;
  border-radius: 16px;
  box-shadow: 0 12px 30px -26px rgba(16, 24, 40, 0.35);
  overflow: hidden;
}
:is(.article, .page) .content > .block > .post {
  padding: 24px 28px 22px;
}

:is(.article, .page) .post > .info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid #eef1f6;
  font-size: 13px;
  color: #8a94a6;
}
:is(.article, .page) .post > .info .user {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
:is(.article, .page) .post > .info .user-avatar,
:is(.article, .page) .post > .info .user-avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}
:is(.article, .page) .post > .info .user a {
  color: #151b26;
  font-weight: 600;
}
:is(.article, .page) .post > .info .user a:hover {
  color: #2f7cf6;
}
:is(.article, .page) .post > .info .date::before,
:is(.article, .page) .post > .info .view::before,
:is(.article, .page) .post > .info .cmt::before {
  color: #b9c0cc;
}

:is(.article, .page) .post .single {
  font-size: 16px;
  line-height: 1.95;
  color: #2c3444;
  word-break: break-word;
}
:is(.article, .page) .post .single p {
  margin: 0 0 16px;
}
:is(.article, .page) .post .single h2 {
  margin: 30px 0 12px;
  font-size: 21px;
  line-height: 1.4;
  color: #151b26;
}
:is(.article, .page) .post .single h3 {
  margin: 24px 0 10px;
  font-size: 18px;
  line-height: 1.45;
  color: #151b26;
}
:is(.article, .page) .post .single h4 {
  margin: 20px 0 8px;
  font-size: 16px;
  color: #151b26;
}
:is(.article, .page) .post .single img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
:is(.article, .page) .post .single a {
  color: #2f7cf6;
}
:is(.article, .page) .post .single blockquote {
  margin: 18px 0;
  padding: 12px 16px;
  background: #f7faff;
  border-left: 3px solid #cfe0ff;
  border-radius: 0 8px 8px 0;
  color: #556072;
}
:is(.article, .page) .post .single pre {
  margin: 16px 0;
  padding: 14px 16px;
  background: #0f172a;
  color: #e6edf7;
  border-radius: 10px;
  overflow: auto;
  font-size: 13px;
  line-height: 1.7;
}
:is(.article, .page) .post .single code {
  padding: 1px 5px;
  background: #eef2f8;
  border-radius: 4px;
  font-size: 0.92em;
}
:is(.article, .page) .post .single pre code {
  padding: 0;
  background: none;
}
:is(.article, .page) .post .single table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0;
  font-size: 14px;
}
:is(.article, .page) .post .single th,
:is(.article, .page) .post .single td {
  padding: 8px 10px;
  border: 1px solid #e9edf3;
  text-align: left;
}
:is(.article, .page) .post .single th {
  background: #f7f9fc;
  font-weight: 600;
}

:is(.article, .page) .copynotice {
  margin: 22px 0 0;
  padding: 14px 16px;
  background: #f7f9fc;
  border: 1px solid #edf1f6;
  border-radius: 10px;
}
:is(.article, .page) .copynotice p {
  margin: 0 0 4px;
  font-size: 12.5px;
  line-height: 1.7;
  color: #8a94a6;
}
:is(.article, .page) .copynotice p:last-child {
  margin-bottom: 0;
}
:is(.article, .page) .copynotice a {
  color: #2f7cf6;
  word-break: break-all;
}

:is(.article, .page) .block > .posttitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 15px 20px;
  border-bottom: 1px solid #eef1f6;
}
:is(.article, .page) .block > .posttitle h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #151b26;
}

:is(.article, .page) .relatecon.diallel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
  padding: 6px 14px 12px;
}
:is(.article, .page) .relatelist {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 11px 6px;
  border-bottom: 1px dashed #edf1f6;
}
:is(.article, .page) .relatelist a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #2c3444;
  font-size: 13.5px;
}
:is(.article, .page) .relatelist a:hover {
  color: #2f7cf6;
}
:is(.article, .page) .relatelist .posttime {
  flex: none;
  font-size: 12px;
  color: #a0a8b8;
}

:is(.article, .page) .cmtsitem {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 16px 20px;
  border-bottom: 1px solid #f1f4f8;
}
:is(.article, .page) .cmtsitem .avatar {
  flex: none;
}
:is(.article, .page) .cmtsitem .avatar img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: block;
  object-fit: cover;
}
:is(.article, .page) .cmtscon {
  flex: 1;
  min-width: 0;
}
:is(.article, .page) .cmtshead {
  display: flex;
  align-items: center;
  gap: 8px;
}
:is(.article, .page) .cmtsname {
  font-size: 13.5px;
  font-weight: 600;
  color: #151b26;
}
:is(.article, .page) .cmtsbody {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.8;
  color: #2c3444;
}
:is(.article, .page) .cmtsfoot {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 12px;
  color: #a0a8b8;
}
:is(.article, .page) .cmtsfoot .reply {
  color: #2f7cf6;
}

.night:is(.article, .page) {
  background: #1b1b1b;
}
.night:is(.article, .page) .sitemap,
.night:is(.article, .page) .content > .block {
  background: #242424;
  border-color: #333;
}
.night:is(.article, .page) .sitemap a,
.night:is(.article, .page) .sitemap-current,
.night:is(.article, .page) .post > .info .user a,
.night:is(.article, .page) .block > .posttitle h4,
.night:is(.article, .page) .cmtsname {
  color: #e8ecf3;
}
.night:is(.article, .page) .post .single,
.night:is(.article, .page) .cmtsbody,
.night:is(.article, .page) .relatelist a {
  color: #d6dbe4;
}
.night:is(.article, .page) .copynotice {
  background: #2a2a2a;
  border-color: #333;
}

@media (max-width: 750px) {
  :is(.article, .page) .maincon {
    padding-top: 12px;
  }
  :is(.article, .page) .sitemap {
    padding: 8px 12px;
    font-size: 12px;
    margin-bottom: 12px;
  }
  :is(.article, .page) .sitemap-current {
    max-width: 100%;
  }
  :is(.article, .page) .content > .block > .post {
    padding: 18px 16px;
  }
  :is(.article, .page) .post > .info {
    gap: 6px 10px;
  }
  :is(.article, .page) .post > .info .user-avatar,
  :is(.article, .page) .post > .info .user-avatar img {
    width: 28px;
    height: 28px;
  }
  :is(.article, .page) .post .single {
    font-size: 15.5px;
    line-height: 1.9;
  }
  :is(.article, .page) .relatecon.diallel {
    grid-template-columns: 1fr;
  }
  :is(.article, .page) .cmtsitem {
    padding: 14px 16px;
  }
}
/* v9.1 文章页浮动评论栏：桌面改悬浮卡片，移动端贴底 */
body.article, body.page {
  padding-bottom: 96px;
}
:is(.article, .page) .cmtbar {
  box-sizing: border-box;
  left: 50%;
  right: auto;
  bottom: 16px;
  width: min(820px, calc(100% - 40px));
  transform: translateX(-50%);
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.97);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid #e6eaf0;
  border-radius: 16px;
  box-shadow: 0 18px 40px -24px rgba(16, 24, 40, 0.45);
}
:is(.article, .page) .cmtbar-inner {
  max-width: none;
  padding: 0;
}
.night:is(.article, .page) .cmtbar {
  background: rgba(36, 36, 36, 0.97);
  border-color: #3a3a3a;
}
@media (max-width: 750px) {
  body.article, body.page {
    padding-bottom: 150px;
  }
  :is(.article, .page) .cmtbar {
    left: 0;
    right: 0;
    bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    width: 100%;
    box-sizing: border-box;
    transform: none;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
  }
}
/* v9.2 文章正文与信息栏间距收紧 */
.article .post .single {
  padding-top: 0;
}
/* v9.3 文章页：顶部保持原样，标题放回正文卡片 */
.article .post > h1 {
  display: block;
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: #151b26;
}
.night.article .post > h1 {
  color: #e8ecf3;
}
@media (max-width: 750px) {
  .article .post > h1 {
    font-size: 21px;
    margin-bottom: 12px;
  }
}

/* 独立页面标题由 Hero 显示，隐藏正文重复 h1 */
.page .post > h1 {
  display: none;
}

/* ==========================================================================
   v9.7 独立页面与文章页统一：去掉侧栏，恢复卡片布局
   ========================================================================== */
.page .sidebar {
  display: none !important;
}
.page .content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100%;
}
.page .content > .theiaStickySidebar {
  width: 100%;
  max-width: 100%;
}
.page .content > .theiaStickySidebar > .block,
.page .content > .theiaStickySidebar > .cmts {
  margin-bottom: 16px;
  background: #fff;
  border: 1px solid #e9edf3;
  border-radius: 16px;
  box-shadow: 0 12px 30px -26px rgba(16, 24, 40, 0.35);
  overflow: hidden;
}
.page .content > .theiaStickySidebar > .block > .post {
  padding: 24px 28px 22px;
}
.page .content > .theiaStickySidebar > .cmts > .posttitle {
  padding: 15px 20px;
  border-bottom: 1px solid #eef1f6;
}
.night.page .content > .theiaStickySidebar > .block,
.night.page .content > .theiaStickySidebar > .cmts {
  background: #242424;
  border-color: #333;
}
@media (max-width: 750px) {
  .page .content > .theiaStickySidebar > .block > .post {
    padding: 18px 16px;
  }
}