/*
 * study-forum.css —— /study/ 内容库 52pojie 论坛版式（2026-09-16 抽取）
 *
 * 抽取来源：
 *   - B:\MyWeb\app\forum-shell.css（结构：站头 9.1/9.7、面包屑与密度开关 10.3、列表骨架）
 *   - B:\MyWeb\app\forum-blue.css（配色与表格：--fb-* 变量、蓝色导航、forum-table/ft-* 全套、页脚）
 * 少量为 study 页补写（.study-stats / .board-index / .study-toolbar / 品牌行基础布局 / ≤600px 折叠），
 * 均标注「study 补写」。字号/线宽/链接色与主站一致，未引入新主色。
 * 内页（daily/qa/briefing）注入的站头、面包屑、翻页条同样使用本文件的类名。
 */

:root {
  /* forum-shell.css 语义变量（forum-blue 蓝色版） */
  --fs-red: #2c6fb7;
  --fs-wine: #1f5591;
  --fs-gold: #4f8fd0;
  --fs-line: #cfdbe7;
  --fs-line-soft: #e4ecf4;
  --fs-paper: #f5f8fb;
  --fs-ink: #333;
  --fs-muted: #6b7a8c;
  --fs-row-hover: #f3f8fd;
  --fs-chip-bg: #e7f0fa;
  --fs-chip-ink: #245a94;
  --fs-shadow: 0 1px 2px rgba(30, 60, 100, .06);
  --fs-radius: 6px;
  /* forum-blue.css 辅助变量 */
  --fb-nav-top: #3d84cc;
  --fb-nav-bottom: #2261a8;
  --fb-nav-line: #1c4f8a;
  --fb-head: #e8f0f8;
  --fb-link: #1e5ba8;
  --fb-title: #1a4d8f;
  --fb-orange: #e8781e;
  --fb-orange-soft: #fff1e4;
  --fb-teal: #17939a;
  --fb-teal-soft: #e3f5f6;
  --fb-green: #2e9e5b;
  --fb-green-soft: #e6f5ea;
  --fb-red: #c9362c;
  --fb-red-soft: #fdecea;
  --fb-purple: #6b5bd2;
  --fb-purple-soft: #eeebfb;
  --fb-ink: #24303c;
  --fb-body: #3d4956;
  --fb-meta: #7a8794;
}

/* ============ 0. 基底（forum-blue §0 + study 补写） ============ */
body.study-home {
  margin: 0;
  color: #333;
  background: #f0f3f7;
  color-scheme: light;
  font: 14px/1.68 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.study-home a { text-decoration: none; }
/* study 2026-09-16 补写：内页注入的站头/快捷入口/面包屑链接默认无下划线
   （首页由上面 body.study-home a 兜底；内页无该类，落回 UA 默认下划线）。
   hover 下划线沿用下方既有 .single-site-header .fs-quick a:hover / .fs-crumb a:hover 规则。 */
.single-site-header a { text-decoration: none; }
.fs-quick a { text-decoration: none; }
.fs-crumb a { text-decoration: none; }
.study-home a:focus-visible, .study-home button:focus-visible, .study-home input:focus-visible { outline-color: rgba(44, 111, 183, .45); }
.study-wrap { max-width: 1172px; margin: 0 auto; padding: 0 18px; }
.study-home img { max-width: 100%; }

/* ============ 1. 站头（forum-shell §9.1 结构 + forum-blue §1/§6.1 配色） ============ */
.topbar.single-site-header {
  position: static;
  display: block;
  min-height: 0;
  padding: 0;
  background: linear-gradient(180deg, #fff, #f3f7fb);
  box-shadow: none;
  backdrop-filter: none;
}
/* study 补写：品牌行基础布局（主站由 globals 提供） */
.single-site-header > .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 9px max(20px, calc((100vw - 1240px) / 2)) 7px;
  color: inherit;
}
.single-site-header .brand-mark {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid var(--fs-line);
  border-radius: 8px;
  background: #fff;
}
.single-site-header .brand-mark img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-site-header .brand span:last-child { min-width: 0; }
.single-site-header .brand strong { display: block; color: #1f4e8c; font-size: 17px; line-height: 1.25; }
.single-site-header .brand small { display: block; color: #6b7a8c; font-size: 9px; letter-spacing: .08em; }

.single-site-header .single-primary-nav {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0 max(20px, calc((100vw - 1240px) / 2));
  gap: 0;
  min-height: 40px;
  border-top: 1px solid var(--fb-nav-line);
  border-bottom: 1px solid var(--fb-nav-line);
  background: linear-gradient(180deg, #4a90d6, #2261a8 60%, #1d569a);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}
.single-site-header .single-primary-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 4px;
  padding: 0 16px;
  border: 0;
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
}
.single-site-header .single-primary-nav a:hover { color: #fff; background: rgba(255, 255, 255, .18); }
.single-site-header .single-primary-nav a.on {
  color: var(--fb-title);
  background: #fff;
  text-shadow: none;
  box-shadow: inset 0 3px 0 var(--fb-orange);
}

.single-site-header .fs-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding: 6px max(20px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid var(--fs-line);
  background: #eef4fa;
  font-size: 12.5px;
}
.single-site-header .fs-quick a { position: relative; padding-left: 12px; color: var(--fb-link); }
.single-site-header .fs-quick a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -2px;
  border-radius: 50%;
  background: var(--fb-orange);
}
.single-site-header .fs-quick a:hover { text-decoration: underline; }
.single-site-header .fs-quick a.on { color: var(--fb-title); font-weight: 700; }

.single-site-header .fs-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 8px max(20px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid var(--fs-line);
  background: #fff;
}
.single-site-header .fs-search input {
  flex: 0 1 420px;
  min-width: 160px;
  padding: 8px 12px;
  border: 1px solid #b9cbdd;
  border-right: 0;
  border-radius: 6px 0 0 6px;
  background: #fff;
  color: #333;
  font-size: 13px;
  outline: 0;
}
.single-site-header .fs-search input:focus { border-color: #2c6fb7; }
.single-site-header .fs-search button {
  margin-left: -14px;
  padding: 8px 16px;
  border: 1px solid #d06a17;
  border-radius: 0 6px 6px 0;
  color: #fff;
  background: linear-gradient(180deg, #ff9a4d, #e8781e);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.single-site-header .fs-search button:hover { background: #d06a17; }

/* ============ 2. 面包屑条 + 密度开关（forum-shell §10.3 + forum-blue） ============ */
.fs-crumbbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: none;
  padding: 0 max(20px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid var(--fs-line-soft);
  background: #f5f8fb;
}
.fs-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  color: #8a7a6e;
  font-size: 12px;
  line-height: 1.5;
}
.fs-crumb a { color: var(--fb-link); }
.fs-crumb a:hover { text-decoration: underline; }
.fs-crumb i { margin-right: 6px; font-style: normal; opacity: .5; }
.fs-crumb b { color: #333; font-weight: 700; }
.fs-density { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--fs-muted); white-space: nowrap; }
.fs-density span { margin-right: 2px; }
.fs-density button {
  min-height: 0;
  padding: 3px 9px;
  border: 1px solid var(--fs-line);
  border-radius: 4px;
  color: var(--fb-link);
  background: #fff;
  font-size: 12px;
  cursor: pointer;
}
.fs-density button.on { border-color: #2c6fb7; color: #fff; background: #2c6fb7; }

/* ============ 3. 统计条（study 补写，样式对齐 forum-blue .ft-foot） ============ */
.study-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 14px;
  margin-top: 12px;
  padding: 7px 12px;
  border: 1px solid var(--fs-line);
  border-radius: 6px;
  background: linear-gradient(180deg, #fff, #f7fafd);
  color: #6b7a8c;
  font-size: 12.5px;
}
.study-stats b { color: var(--fb-title); font-variant-numeric: tabular-nums; }
.study-stats .latest { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.study-stats .latest a { color: var(--fb-link); }
.study-stats .latest a:hover { text-decoration: underline; }

/* ============ 4. 版块索引（study 补写，结构对齐主站 .home-main .portal-grid） ============ */
.board-index {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--fs-line);
  border-radius: 6px;
  background: #fff;
}
.board-index > .bd-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 90px 280px;
  gap: 0 14px;
  align-items: center;
  padding: 11px 14px;
  border-bottom: 1px solid var(--fs-line-soft);
  background: #fff;
  color: #333;
  transition: background-color .15s ease;
}
.board-index > .bd-row:last-child { border-bottom: 0; }
.board-index > .bd-row:hover { background: var(--fs-row-hover); }
.board-index > .bd-row.on { background: #f0f7ff; }
.bd-ico {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(145deg, #3d84cc, #2261a8);
  font-size: 15px;
  font-weight: 800;
}
.board-index > .bd-row:nth-child(2) .bd-ico { background: linear-gradient(145deg, #2fb3ba, #17939a); }
.board-index > .bd-row:nth-child(3) .bd-ico { background: linear-gradient(145deg, #ff9a4d, #e8781e); }
.bd-main { min-width: 0; }
.bd-main b, .bd-main .bd-name { display: block; color: var(--fb-ink); font-size: 14px; font-weight: 700; }
.board-index > .bd-row:hover .bd-main .bd-name { color: var(--fb-orange); }
.bd-main small { display: block; margin-top: 1px; color: #6b7a8c; font-size: 12px; }
.bd-cats { display: flex; flex-wrap: wrap; gap: 3px 12px; margin-top: 4px; }
.bd-cats a { color: var(--fb-link); font-size: 12px; }
.bd-cats a:hover, .bd-cats a.on { color: var(--fb-orange); text-decoration: underline; }
.bd-count { text-align: center; color: #6b7a8c; font-size: 11.5px; }
.bd-count strong { display: block; color: var(--fb-orange); font-size: 17px; line-height: 1.2; }
.bd-last { min-width: 0; padding-left: 14px; border-left: 1px solid var(--fs-line-soft); font-size: 12.5px; }
.bd-last time { display: block; color: #7a8794; font-size: 11.5px; }
.bd-last em { display: block; overflow: hidden; font-style: normal; color: #3d4956; text-overflow: ellipsis; white-space: nowrap; }
.bd-last a { color: var(--fb-link); }
.bd-last a:hover { text-decoration: underline; }

/* ============ 5. 工具栏（study 补写，样式对齐 forum-blue 工具栏） ============ */
.study-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin: 12px 0 0;
  padding: 8px 12px;
  border: 1px solid var(--fs-line);
  border-radius: 6px;
  background: linear-gradient(180deg, #fff, #f7fafd);
}
.study-toolbar .f-state { color: #4b5b6c; font-size: 12.5px; }
.study-toolbar .f-state b { color: var(--fb-title); }
.study-toolbar .f-sort { display: flex; align-items: center; gap: 2px; font-size: 12.5px; color: #6b7a8c; }
.study-toolbar .f-sort a { padding: 3px 10px; border-radius: 4px; cursor: pointer; color: var(--fb-link); }
.study-toolbar .f-sort a:hover { background: #eaf1f8; }
.study-toolbar .f-sort a.on { color: #fff; background: linear-gradient(180deg, #3d84cc, #2261a8); }
.study-toolbar input {
  flex: 1 1 200px;
  min-width: 140px;
  margin-left: auto;
  padding: 7px 11px;
  border: 1px solid #b9cbdd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 12.5px;
  outline: 0;
}
.study-toolbar input:focus { border-color: #2c6fb7; }

/* ============ 6. 主题列表 forum-table（forum-blue §3 + §6.3 原样抽取） ============ */
.forum-table { display: block; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.forum-table table {
  width: 100%;
  border: 1px solid var(--fs-line);
  border-collapse: collapse;
  background: #fff;
  table-layout: fixed;
}
.forum-table th {
  padding: 8px 12px;
  border-bottom: 1px solid var(--fs-line);
  background: linear-gradient(180deg, #edf3fa, #e2ecf6);
  color: #1f4e8c;
  font-size: 12.5px;
  font-weight: 700;
  text-align: left;
  letter-spacing: .02em;
  white-space: nowrap;
}
.forum-table th:nth-child(2) { width: 170px; }
.forum-table th:nth-child(3) { width: 110px; }
.forum-table th:nth-child(4) { width: 90px; }
.forum-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--fs-line-soft);
  color: #3d4956;
  font-size: 13px;
  line-height: 1.6;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.forum-table td:not(.ft-title) { color: #3d4956; font-size: 12.5px; }
.forum-table td:nth-child(2) { color: #24303c; }
.forum-table td:nth-child(3) { color: #7a8794; font-variant-numeric: tabular-nums; }
.forum-table .ft-row:nth-child(4n+1) td { background: #fbfcfe; }
.forum-table .ft-row:hover td { background: #f0f6fd; }
.forum-table .ft-row:hover td.ft-title { box-shadow: inset 3px 0 0 var(--fb-orange); }
.ft-heading { color: #24303c; font-size: 14.5px; font-weight: 700; }
.ft-heading a { color: #24303c; }
.ft-heading a:hover { color: var(--fb-orange); text-decoration: underline; }
.ft-sub { display: none; margin-top: 2px; color: #7a8794; font-size: 12px; }
body.study-dense .ft-sub { display: block; }
.ft-more {
  margin-left: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--fb-orange);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.ft-more:hover { text-decoration: underline; }
.ft-cat {
  display: inline-block;
  margin: 0;
  padding: 1px 6px;
  border: 1px solid #d3e2f2;
  border-radius: 3px;
  background: #eef2f6;
  color: #4b5b6c;
  font-size: 11.5px;
  line-height: 1.6;
  white-space: nowrap;
}
.ft-row.is-open td { border-bottom-color: transparent; background: #f7fafd; }
.ft-detail { display: none; }
.ft-detail.is-open { display: table-row; }
.ft-detail td { padding: 0 18px 14px 40px; border-bottom: 1px solid var(--fs-line); background: linear-gradient(180deg, #f5f9fd, #fbfdff); }
.ft-detail-body { padding-top: 6px; border-top: 1px dashed #cfdbe7; }
.ft-detail-body p { margin: 6px 0; color: #3d4956; font-size: 13px; line-height: 1.75; }
.ft-detail-body .ft-meta { margin-top: 2px; color: #7a8794; font-size: 12px; }
.ft-empty td { padding: 26px; color: #6b7a8c; text-align: center; }
.ft-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 2px;
  color: #6b7a8c;
  font-size: 12.5px;
}
.ft-foot p { margin: 0; }
.ft-foot strong { color: var(--fb-orange); }
.ft-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.ft-pager button {
  min-width: 30px;
  height: 28px;
  padding: 0 9px;
  border: 1px solid var(--fs-line);
  border-radius: 3px;
  background: #fff;
  color: var(--fb-link);
  font-size: 12.5px;
  font-family: inherit;
  cursor: pointer;
}
.ft-pager button:hover { border-color: #2c6fb7; }
.ft-pager button.on { border-color: #2c6fb7; background: linear-gradient(180deg, #3d84cc, #2261a8); color: #fff; }
.ft-pager button:disabled { color: #aab5c1; cursor: default; }
.ft-pager button:disabled:hover { border-color: var(--fs-line); }
.ft-gap { padding: 0 4px; color: #aab5c1; }

/* ============ 7. 内页翻页条（study 补写，表格式两行，主站风格细线） ============ */
.s-navtable { margin: 18px 0 26px; border: 1px solid var(--fs-line); border-radius: 6px; background: #fff; overflow: hidden; }
.s-navtable a, .s-navtable span.dis {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 9px 14px;
  color: #3d4956;
  font-size: 13px;
}
.s-navtable > a + a, .s-navtable > * + * { border-top: 1px solid var(--fs-line-soft); }
.s-navtable .lb { color: var(--fb-title); font-size: 12px; font-weight: 700; white-space: nowrap; }
.s-navtable a:hover { background: var(--fs-row-hover); }
.s-navtable a:hover .tx { color: var(--fb-orange); text-decoration: underline; }
.s-navtable .tx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.s-navtable span.dis { color: #9aa7b4; }
.s-navtable .home-row { display: block; padding: 8px 14px; border-top: 1px solid var(--fs-line-soft); background: linear-gradient(180deg, #fff, #f7fafd); }
.s-navtable .home-row a { display: inline; padding: 0; color: var(--fb-link); font-size: 12.5px; }
.s-navtable .home-row a:hover { text-decoration: underline; }

/* ============ 8. 页脚（forum-blue 页脚 + study 补写一行式） ============ */
.footer.study-foot {
  margin-top: 26px;
  padding: 16px 18px;
  color: #dbe6f2;
  background: linear-gradient(118deg, #1b4479, #2a62a4);
  border-top: 1px solid #1c4f8a;
  font-size: 12.5px;
  text-align: center;
}
.study-foot .foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; }
.study-foot a { color: #fff; }
.study-foot a:hover { text-decoration: underline; }
.study-foot .filing-links { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; }
.study-foot .filing-links a { color: #ffd9a8; }
.study-foot .filing-links img { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }

/* ============ 9. 手机端（forum-blue §5 折叠 + study 补写） ============ */
@media (max-width: 1100px) {
  .single-site-header > .brand { padding: 8px 16px 7px; }
  .single-site-header .single-primary-nav {
    align-items: center;
    padding: 0 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .single-site-header .single-primary-nav a { margin-top: 0; border-radius: 0; flex: 0 0 auto; }
  .single-site-header .fs-quick { padding: 6px 12px; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .fs-crumbbar { padding: 0 16px; }
  .single-site-header .fs-search { padding: 8px 12px; }
  .single-site-header .fs-search input { flex: 1 1 160px; }
}
@media (max-width: 760px) {
  .study-wrap { padding: 0 12px; }
  .board-index > .bd-row { grid-template-columns: 40px minmax(0, 1fr); }
  .bd-count { grid-column: 2; text-align: left; }
  .bd-count strong { display: inline; font-size: 14px; margin-right: 4px; }
  .bd-last { grid-column: 2; padding-left: 0; border-left: 0; }
  .study-toolbar input { flex: 1 1 100%; margin-left: 0; }
}
@media (max-width: 600px) {
  .forum-table table { border: 0; background: transparent; table-layout: auto; }
  .forum-table thead { display: none; }
  .forum-table tr.ft-row { display: block; margin-bottom: 8px; border: 1px solid var(--fs-line); border-radius: 6px; background: #fff; }
  .forum-table tr.ft-row td { display: block; padding: 4px 12px; border: 0; }
  .forum-table tr.ft-row td.ft-title { padding-top: 10px; }
  .forum-table tr.ft-row td:last-child { padding-bottom: 10px; }
  .forum-table tr.ft-row td:not(.ft-title)::before { content: attr(data-label) "："; color: #8a97a6; font-size: 12px; }
  .forum-table tr.ft-row td:nth-child(4n+1) { background: transparent; }
  .forum-table .ft-row.is-open { margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .ft-detail.is-open { display: block; margin-bottom: 8px; border: 1px solid var(--fs-line); border-top: 0; border-radius: 0 0 6px 6px; background: #f7fafd; }
  .ft-detail td { display: block; padding: 0 12px 12px; border: 0; background: transparent; }
  .ft-detail-body { padding-top: 8px; }
  .ft-foot { flex-direction: column; align-items: flex-start; }
  .fs-crumbbar { flex-wrap: wrap; }
  .study-stats { flex-direction: column; gap: 2px; }
  .study-stats .latest { white-space: normal; }
}
