/* ===== 语文桥 · 频道页左侧「备课中心」工作面板（试点 demo v4） =====
 * v4：照搬首页(index.html)左栏全貌——上 LOGO 品牌区 + navi 导航 + id-switch + bk- 目录树 + 下登录区
 * 悬停金线框（华丽感）；备课中心默认收缩；面包屑居顶；顶栏取消后清掉 52px 预留空白
 */
/* 金线框令牌提到 :root——非 .wb-drawer 容器（首页/用户中心左栏）也能取到同一份值 */
:root { --gold-line: rgba(201,168,76,.62); --gold-glow: rgba(201,168,76,.20); }

body.wb-wide { margin-left: 274px; }
body.wb-rail { margin-left: 0; }
body.wb-wide, body.wb-rail { transition: margin-left .25s ease; }

/* 顶栏：工作台态整体取消，并清掉 top-nav.css 的 body 52px 预留 */
body.wb-wide .top-bar,
body.wb-rail .top-bar { display: none !important; }
/* 无连字符 .topbar（kejian/kaoshi 等自带 fixed 顶栏）让开侧栏 */
body.wb-wide .topbar { left: 274px !important; }
body.wb-rail .topbar { left: 0 !important; }
/* 收缩态：顶部条左端让出左上角 » 展开钮，避免压住 logo / 面包屑 */
body.wb-rail .topbar { padding-left: 40px !important; }
body.wb-rail .read-toolbar { padding-left: 46px; }
body.wb-rail .subnav { padding-left: 40px; }
body.wb-wide, body.wb-rail { padding-top: 0 !important; }

/* 面包屑居顶：阅读工具栏贴住视口顶沿（原 top: var(--topbar-h) 避让顶栏） */
body.wb-wide .read-toolbar,
body.wb-rail .read-toolbar { top: 0 !important; }
body.wb-wide .reading-progress,
body.wb-rail .reading-progress { top: calc(var(--subnav-h, 46px) + 5px) !important; }

/* 右栏目录面板随顶栏消失上移 */
body.wb-wide .rp-panel,
body.wb-rail .rp-panel { top: 0; }

/* 伴读左栏随顶栏消失上移（reader-panel v2 配套） */
body.wb-wide .reader-aside-right,
body.wb-rail .reader-aside-right { top: calc(var(--subnav-h, 46px) + 12px) !important; }

.wb-drawer {
  /* v22：与工作台 .sidebar 锁定同一套字号/行高/字体，避免各页 body 不同造成的项高差异 */
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, "PingFang SC", system-ui, serif;
  font-size: 14px; line-height: 1.55;
  --drawer-bg: #2a3829;
  --drawer-bg-top: #344638;
  --drawer-text: #efe4cb;
  --drawer-text-mute: rgba(239,228,203,.55);
  --drawer-hover: rgba(239,228,203,.08);
  --drawer-active: rgba(239,228,203,.13);
  --accent: #c9a84c;
  --gold-line: rgba(201,168,76,.62);
  --gold-glow: rgba(201,168,76,.20);
  position: fixed; top: 0; left: 0; bottom: 0;
  width: 274px;
  transition: transform .25s ease;
  background: linear-gradient(180deg, var(--drawer-bg-top), var(--drawer-bg));
  color: var(--drawer-text);
  display: flex; flex-direction: column;
  z-index: 999;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, "PingFang SC", system-ui, serif;
}

/* 左上角收缩钮 */
/* v22（2026-10-24）：收缩钮与首页工作台同源——置于品牌区右上角、24×24、同款配色与悬停金线 */
.wb-collapse {
  position: absolute; top: 12px; right: 10px; left: auto; z-index: 3;
  width: 24px; height: 24px; padding: 0; line-height: 1; font-family: inherit;
  border: 1px solid rgba(239,228,203,.14); border-radius: 7px;
  background: rgba(239,228,203,.08); color: rgba(239,228,203,.62);
  font-size: 12px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .13s, color .13s;
}
.wb-collapse:hover { background: rgba(239,228,203,.16); color: #efe4cb; }

/* ===== 上 LOGO 品牌区（照搬首页 .brand） ===== */
.wb-brand { padding: 22px 20px 16px; display: flex; align-items: center; gap: 13px; }
.wb-brand .ava { width: 48px; height: 48px; border-radius: 13px; overflow: hidden; flex: 0 0 auto;
  background: var(--drawer-hover); box-shadow: 0 0 0 1px var(--drawer-active); transition: box-shadow .18s; }
.wb-brand .ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wb-brand:hover .ava { box-shadow: 0 0 0 1px var(--gold-line), 0 0 14px var(--gold-glow); }
.wb-brand h1 { font-size: 16px; font-weight: 800; letter-spacing: -.01em; display: flex; align-items: center; margin: 0; line-height: 1.2; }
.wb-brand h1 img { height: 18px; width: auto; margin-right: 6px; }
.wb-brand h1 a { color: var(--drawer-text); text-decoration: none; display: flex; align-items: center; }
.wb-brand p { font-size: 11px; line-height: 1.4; opacity: .55; margin: 3px 0 0; letter-spacing: .04em; }

/* ===== 导航（照搬首页结构 + 悬停金线框） ===== */
.wb-drawer .wb-nav { flex: 1; overflow-y: auto; padding: 6px 12px 12px; }
.wb-drawer .navi { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 11px; cursor: pointer;
  font-size: 14px; font-weight: 500; color: color-mix(in srgb, var(--drawer-text) 82%, transparent); margin-bottom: 2px;
  text-decoration: none; box-shadow: inset 0 0 0 1px transparent;
  transition: background .15s, box-shadow .18s, color .15s; }
/* ===== 同源正本：导航项交互态（含悬停金线框），不限定容器 —— 频道页抽屉 / 首页左栏 / 用户中心共用一份 ===== */
a.navi:hover { background: var(--drawer-hover); color: var(--drawer-text); }
.navi.active { background: var(--drawer-active); color: var(--drawer-text); font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--drawer-hover); }
.wb-drawer .navi.active svg { color: var(--drawer-text); }
.navi:hover { background: var(--drawer-hover); box-shadow: inset 0 0 0 1px var(--gold-line), 0 0 12px var(--gold-glow); }
.wb-drawer .navi svg { color: var(--drawer-text-mute); flex: 0 0 auto; }
.wb-drawer .navi .id-switch { margin-left: auto; flex: 0 0 auto; max-width: 96px; font-size: 11.5px; padding: 3px 2px 3px 8px;
  border-radius: 8px; border: 1px solid var(--drawer-active); background: transparent; color: var(--drawer-text); cursor: pointer; font-family: inherit; }
.wb-drawer .navi .id-switch option { background: #2f4031; color: var(--drawer-text); }
.wb-drawer .navi .bk-nav-caret { margin-left: auto; }
.wb-drawer .navi.tree-closed .bk-nav-caret { transform: rotate(-90deg); }
.wb-drawer .wb-tree-wrap { padding: 2px 10px 6px; font-size: 12.5px; }
.wb-drawer .wb-tree-wrap:empty { display: none; }

/* ===== 目录树（照搬首页 bk- 样式 + 悬停金线框） ===== */
.wb-drawer .bk-vol { margin-bottom: 2px; }
.wb-drawer .bk-vol + .bk-vol { border-top: 1px solid var(--drawer-active); margin-top: 4px; padding-top: 4px; }
.wb-drawer .bk-vol-h { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 7px;
  cursor: pointer; user-select: none; color: var(--drawer-text); font-size: 13px; font-weight: 700;
  letter-spacing: .04em; box-shadow: inset 0 0 0 1px transparent; transition: background .15s, box-shadow .18s; }
.wb-drawer .bk-vol-h:hover { background: var(--drawer-hover); }
.wb-drawer .bk-vol-h .bk-caret { font-size: 9px; color: var(--accent); flex: 0 0 auto; transition: transform .18s; }
.wb-drawer .bk-vol.closed .bk-caret { transform: rotate(-90deg); }
.wb-drawer .bk-vol.closed .bk-body { display: none; }
.wb-drawer .bk-body { padding: 2px 0 4px 4px; }
.wb-drawer .bk-unit-h { display: flex; align-items: center; gap: 6px; padding: 5px 8px 5px 14px; border-radius: 6px;
  cursor: pointer; user-select: none; color: var(--drawer-text-mute); font-size: 11.5px; font-weight: 600;
  letter-spacing: .05em; box-shadow: inset 0 0 0 1px transparent; transition: background .15s, box-shadow .18s, color .15s; }
.wb-drawer .bk-unit-h:hover { background: var(--drawer-hover); color: var(--drawer-text); }
.wb-drawer .bk-unit-h .bk-caret { font-size: 0; width: 11px; text-align: center; flex: 0 0 auto; }
.wb-drawer .bk-unit-h .bk-caret::before { content: '>'; font-size: 11px; color: var(--accent); display: inline-block; transition: transform .18s; }
.wb-drawer .bk-unit.closed .bk-caret::before { transform: rotate(-90deg); }
.wb-drawer .bk-unit.closed .bk-items { display: none; }
.wb-drawer .bk-unit-h .bk-n { margin-left: auto; font-size: 10px; font-weight: 500; opacity: .6; }
.wb-drawer .bk-items { margin: 1px 8px 6px 20px; padding: 0 0 0 9px; border-left: 1px solid var(--drawer-active); }
.wb-drawer .bk-l { display: flex; align-items: baseline; gap: 8px; padding: 4.5px 8px; border-radius: 6px;
  color: color-mix(in srgb, var(--drawer-text) 80%, transparent); line-height: 1.5; cursor: pointer; font-size: 12.5px;
  text-decoration: none; box-shadow: inset 0 0 0 1px transparent; transition: background .15s, box-shadow .18s, color .15s; }
.wb-drawer .bk-l:hover { background: var(--drawer-hover); color: var(--drawer-text); }
.wb-drawer .bk-l.bk-cur { background: var(--drawer-active); color: var(--drawer-text); font-weight: 700; }
.wb-drawer .bk-num { flex: 0 0 auto; min-width: 18px; font-size: 10.5px; color: var(--drawer-text-mute); opacity: .85; }
.wb-drawer .bk-sub { padding-left: 26px; font-size: 11.5px; color: var(--drawer-text-mute); }
.wb-drawer .bk-sub:hover { color: var(--drawer-text); }
/* no_num 条目（写作/专题等）：空序号不占位，标题与课文序号列对齐 */
.wb-drawer .bk-num:empty { min-width: 0; }
.wb-drawer .bk-static { cursor: default; opacity: .85; }
.wb-drawer .bk-self { opacity: .62; }
.wb-drawer .bk-self::after { content: ' ·自读'; font-size: 10px; opacity: .75; }

/* ===== 下登录区（照搬首页 .rail-user） ===== */
.wb-user { display: flex; align-items: center; gap: 10px;
  padding: 13px 20px 15px; border-top: 1px solid var(--drawer-hover); }
.wb-user .wb-ru-ico { flex: none; width: 31px; height: 31px; display: grid; place-items: center;
  background: var(--drawer-hover); border-radius: 50%; color: var(--drawer-text); }
.wb-user .wb-ru-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.wb-user .wb-ru-n { font-size: 12.5px; color: var(--drawer-text); letter-spacing: .03em; line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wb-user .wb-ru-t { font-size: 10px; color: var(--drawer-text-mute); letter-spacing: .02em; line-height: 1.2; white-space: nowrap; }
.wb-user .wb-ru-swap, .wb-user .wb-ru-gear { flex: none; width: 26px; height: 26px; display: inline-flex;
  align-items: center; justify-content: center; padding: 0; border: none;
  background: transparent; border-radius: 6px; cursor: pointer; color: var(--drawer-text-mute);
  transition: background .13s, color .13s, transform .25s, box-shadow .18s; }
.wb-user .wb-ru-swap { margin-left: auto; }
.wb-user .wb-ru-swap:hover { background: var(--drawer-active); color: var(--drawer-text); transform: rotate(180deg); box-shadow: inset 0 0 0 1px var(--gold-line); }
.wb-user .wb-ru-gear:hover { background: var(--drawer-active); color: var(--drawer-text); box-shadow: inset 0 0 0 1px var(--gold-line); }
.wb-user .wb-ru-swap svg, .wb-user .wb-ru-gear svg { display: block; }
.wb-user.wb-guest .wb-ru-txt { cursor: pointer; }
.wb-user.wb-guest .wb-ru-n { color: var(--drawer-text); }

/* ===== 收缩态（对齐首页：侧栏完全滑出，只留左上角 » 展开钮） ===== */
body.wb-rail .wb-drawer { transform: translateX(-100%); cursor: default; }
/* 细轨竖排标签随细轨一并取消（全收缩后不再出现） */
.wb-rail-label { display: none !important; }

/* 收缩后浮出的 » 展开钮（对齐首页 .sb-expand） */
.wb-expand-pill {
  display: none;
  position: fixed; left: 0; top: 12px; z-index: 1100;
  width: 28px; height: 30px; padding: 0;
  align-items: center; justify-content: center;
  background: linear-gradient(180deg, #344638, #2a3829);
  border: 1px solid rgba(201,168,76,.42); border-left: none;
  border-radius: 0 8px 8px 0; color: #efe4cb; cursor: pointer;
  font-family: inherit; font-size: 13px; line-height: 1;
  box-shadow: 2px 0 10px rgba(20,30,20,.18);
}
.wb-expand-pill:hover { background: linear-gradient(180deg, #3c5040, #2f4031); }
body.wb-rail .wb-expand-pill { display: inline-flex; }
/* 收缩后展开钮 2 秒后自动半透明，悬停恢复 */
body.wb-rail .wb-expand-pill { opacity: 1; transition: opacity .4s ease; }
body.wb-rail .wb-expand-pill.wb-faded { opacity: .4; }

@media (max-width: 820px) {
  body.wb-wide, body.wb-rail { margin-left: 0; }
  .wb-drawer { width: 274px; transform: translateX(-105%); transition: transform .25s ease; box-shadow: 8px 0 24px rgba(0, 0, 0, .25); cursor: default; }
  body.wb-wide .wb-drawer { transform: none; }
  body.wb-rail .wb-drawer { transform: translateX(-105%); }
  body.wb-rail .wb-expand-pill { display: inline-flex; }
  body.wb-wide .topbar { left: 0 !important; }
}

/* ===== 课文频道适配（/kewen/ 页，v5 新增） =====
 * 工作台态：隐藏课文页原生深蓝侧栏（备课中心树由本面板接管）；
 * 面包屑居顶（吸顶金线细条）；底栏留白避让
 */
body.wb-wide:not(.wb-keepnav) .app-layout > .sidebar,
body.wb-rail:not(.wb-keepnav) .app-layout > .sidebar { display: none !important; }
body.wb-wide .lesson-main .breadcrumb,
body.wb-rail .lesson-main .breadcrumb {
  position: sticky; top: 0; z-index: 40;
  margin: -28px -32px 16px; padding: 12px 32px;
  background: var(--paper, #f5f3ef);
  border-bottom: 1px solid rgba(201, 168, 76, .45);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body.wb-wide .lesson-main .breadcrumb a:hover,
body.wb-rail .lesson-main .breadcrumb a:hover { color: #b8902f; }

/* ===== v21（2026-10-24 桥哥决议）：全站左栏唯一 =====
 * 取消「原生目录侧栏与工作台左栏并排」（原 v6 的 wb-keepnav 例外）。
 * 课文/阅读/写作/课程/考试等频道的页面级目录栏一律下线，
 * 目录内容统一回到各频道首页呈现；任何页面只保留一份工作台左栏。
 */
/* 页面级目录栏的父容器各模板不一（.app-layout / .reader / .layout / 直接挂 body），
   故按「启用工作台栏的页面」整体下线：工作台栏本身是 .wb-drawer，不会误伤 */
body.wb-wide .sidebar,
body.wb-rail .sidebar { display: none !important; }

/* ===== 写作/课程/考试频道适配（v6 新增，body.wb-keepnav） =====
 * 这三个频道的原生侧栏承载本频道内容导航（写作指导树/知识树/试题树），
 * 备课中心树不含其内容——保留原生侧栏与工作台左栏并排，仅复位顶栏取消后的吸附位置；
 * 面包屑居顶（金线细条）
 */
/* 原生侧栏吸附复位：kewen 系模板（sidebar-nav.css top:50px） */
body.wb-keepnav.wb-wide .app-layout > .sidebar,
body.wb-keepnav.wb-rail .app-layout > .sidebar { top: 0 !important; height: 100vh !important; }
/* 课程频道（zh-body）：.reader 内侧栏原顶=顶栏+栏目导航，现仅让栏目导航 */
body.wb-keepnav.wb-wide .reader > .sidebar,
body.wb-keepnav.wb-rail .reader > .sidebar {
  top: var(--subnav-h, 46px) !important;
  height: calc(100vh - var(--subnav-h, 46px)) !important;
}
/* 面包屑居顶（写作/考试频道的 app-layout 族页面；课文频道由上节专属规则处理） */
body.wb-keepnav.wb-wide .app-layout .breadcrumb,
body.wb-keepnav.wb-rail .app-layout .breadcrumb {
  position: sticky; top: 0; z-index: 40;
  margin-top: 0 !important;
  background: var(--paper, #f5f3ef);
  border-bottom: 1px solid rgba(201, 168, 76, .45);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}
body.wb-keepnav.wb-wide .app-layout .breadcrumb a:hover,
body.wb-keepnav.wb-rail .app-layout .breadcrumb a:hover { color: #b8902f; }

/* v8.1：备课中心收起时隐藏树（此前仅靠 treeWrap 为空，展开后点标题收不起来） */
.wb-drawer .navi-teach.tree-closed + .wb-tree-wrap { display: none; }

/* v9.1：旧模板（名著页 site-header 精简版）在工作台态同样取消 */
body.wb-wide .site-header,
body.wb-rail .site-header { display: none !important; }
