:root{
  --gold:#d4a847; --gold-light:#e8c95c; --gold-dark:#b8922e; --gold-pale:#f5e8c8;
  --ink:#1a1a2e; --paper:#f5f3ef; --stone:#3d3d3d; --line:#ece4cf; --line2:#e3dcc6;
  --text:#2a2a3a; --muted:#6a6a5a; --radius:18px;
  --font:'Noto Serif SC','Source Han Serif SC','SimSun','STSong',serif;
  --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--paper);color:var(--text);line-height:1.7;font-family:var(--font-ui);}
.zh-wrap{max-width:1080px;margin:0;background:#fff;border-radius:24px;
  box-shadow:0 20px 60px rgba(26,26,46,.08);padding:2.2rem 2.6rem;font-family:var(--font);}
.zh-wrap p{margin-bottom:.7rem;}

.breadcrumb{font-size:.9rem;color:#7a7a6a;margin-bottom:1.6rem;display:flex;flex-wrap:wrap;gap:.3rem .6rem;font-family:var(--font-ui);}
.breadcrumb a{color:var(--gold-dark);text-decoration:none;font-weight:500;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{color:#bdb8a6;}
.breadcrumb span:last-child{color:var(--text);font-weight:600;}

.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;
  margin-bottom:1.4rem;border-bottom:2px solid var(--line);padding-bottom:1.1rem;gap:.8rem;}
.page-header .title-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;}
.badge-root{background:var(--gold-dark);color:#fff;font-weight:600;font-size:.75rem;padding:.2rem .9rem;
  border-radius:30px;letter-spacing:.5px;font-family:var(--font-ui);}
.page-header h1{font-size:1.9rem;font-weight:700;color:var(--ink);letter-spacing:-.3px;}
.page-header .sub{font-size:.92rem;color:#6a6a5a;background:#faf6ea;padding:.2rem 1.1rem;border-radius:30px;white-space:nowrap;font-family:var(--font-ui);}
.nav-up{color:var(--gold-dark);text-decoration:none;font-weight:500;font-size:.9rem;background:#faf6ea;
  padding:.3rem 1.1rem;border-radius:30px;transition:background .2s;font-family:var(--font-ui);}
.nav-up:hover{background:var(--gold-pale);}

.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;background:#fdfaf0;
  border-radius:18px;padding:1.5rem 2rem;margin-bottom:2rem;border:1px solid var(--line);}
.overview-grid .def-box p{color:var(--text);font-size:1rem;line-height:1.7;}
.overview-grid .def-box p strong{color:var(--ink);}
.overview-grid .def-box .highlight{background:var(--gold-pale);padding:.1rem .4rem;border-radius:6px;font-weight:500;}
.overview-grid .meta-box{display:flex;flex-direction:column;gap:.4rem;justify-content:center;}
.overview-grid .meta-box .row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line2);padding:.3rem 0;font-size:.93rem;font-family:var(--font-ui);}
.overview-grid .meta-box .row .label{color:#8a8a78;}
.overview-grid .meta-box .row .value{font-weight:600;color:var(--ink);}
.overview-grid .meta-box .row .value .tag{background:var(--gold-pale);color:var(--gold-dark);padding:.05rem .7rem;border-radius:30px;font-size:.8rem;font-weight:500;}

.section-title{font-size:1.2rem;font-weight:700;color:var(--ink);margin:2.2rem 0 1rem;display:flex;align-items:center;gap:.6rem;font-family:var(--font-ui);}
.section-title .count{background:var(--gold-pale);color:var(--gold-dark);font-size:.8rem;padding:.1rem .8rem;border-radius:30px;font-weight:600;}

.card-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.4rem;margin:.5rem 0;}
.card{background:#fff;border-radius:var(--radius);border:1px solid var(--line);padding:1.4rem 1.4rem 1.1rem;
  transition:all .25s ease;box-shadow:0 2px 8px rgba(26,26,46,.03);display:flex;flex-direction:column;}
.card:hover{border-color:var(--gold);box-shadow:0 14px 34px rgba(184,146,46,.13);transform:translateY(-4px);}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.4rem;}
.card-top .id{font-size:.7rem;font-weight:600;color:var(--gold-dark);background:var(--gold-pale);padding:.1rem .7rem;border-radius:30px;letter-spacing:.3px;font-family:var(--font-ui);}
.card-top .dist{font-size:.65rem;color:#8a8a78;background:#f5f3ef;padding:.1rem .6rem;border-radius:30px;white-space:nowrap;font-family:var(--font-ui);}
.card-name{font-size:1.18rem;font-weight:700;color:var(--ink);margin:.2rem 0 .3rem;line-height:1.4;}
.card-name .sub{font-weight:400;font-size:.8rem;color:#8a8a78;margin-left:.3rem;}
.card-def{font-size:.92rem;color:#4a4a3e;margin:.2rem 0 .6rem;flex:1;line-height:1.6;}
.card-def strong{color:var(--ink);}
.card-meta{font-size:.82rem;color:#5a5a4e;background:#faf6ea;border-radius:10px;padding:.5rem .8rem;margin:.3rem 0 .6rem;border-left:3px solid var(--gold);line-height:1.6;}
.card-meta .label{color:#8a8a78;}
.card-meta .pill{background:var(--gold-pale);color:var(--gold-dark);padding:.1rem .6rem;border-radius:30px;font-weight:500;font-size:.75rem;display:inline-block;margin:.1rem .2rem .1rem 0;font-family:var(--font-ui);}
.card-footer{display:flex;justify-content:flex-end;margin-top:.4rem;border-top:1px solid var(--line);padding-top:.6rem;}
.card-footer .link{color:var(--gold-dark);text-decoration:none;font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s;font-family:var(--font-ui);}
.card-footer .link:hover{gap:.6rem;text-decoration:underline;}

.identity-card{background:#fdfaf0;border-left:6px solid var(--gold);border-radius:16px;padding:1.4rem 1.8rem;
  margin-bottom:2rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;}
.identity-card .left{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.2rem;}
.identity-card .badge{background:var(--gold-dark);color:#fff;font-weight:600;font-size:.75rem;padding:.2rem .8rem;border-radius:20px;letter-spacing:.3px;font-family:var(--font-ui);}
.identity-card .name{font-size:1.6rem;font-weight:700;color:var(--ink);}
.identity-card .meta{font-size:.95rem;color:#4a4a3e;}
.identity-card .tag{background:var(--gold-pale);color:var(--gold-dark);font-size:.85rem;padding:.3rem 1rem;border-radius:30px;font-weight:500;white-space:nowrap;font-family:var(--font-ui);}

.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;background:#faf6ea;border-radius:16px;padding:1.4rem 2rem;margin-bottom:2rem;border:1px solid var(--line);}
.info-grid .item{display:flex;flex-direction:column;}
.info-grid .item .label{font-size:.8rem;font-weight:600;color:#8a8a78;letter-spacing:.5px;font-family:var(--font-ui);}
.info-grid .item .value{font-size:1rem;color:var(--ink);margin-top:.15rem;line-height:1.6;}
.info-grid .item .value .highlight{background:var(--gold-pale);padding:.1rem .4rem;border-radius:6px;font-weight:500;}
.info-grid .full-width{grid-column:1 / -1;}
.info-grid .pill{background:var(--gold-pale);color:var(--gold-dark);padding:.2rem .9rem;border-radius:30px;font-size:.85rem;display:inline-block;font-weight:500;font-family:var(--font-ui);}

h2{font-size:1.4rem;font-weight:700;color:var(--ink);margin:2rem 0 1rem;padding-bottom:.3rem;border-bottom:3px solid var(--gold-pale);display:flex;align-items:center;gap:.6rem;font-family:var(--font-ui);}
h2 .num{background:var(--gold-dark);color:#fff;font-size:.85rem;padding:.1rem .7rem;border-radius:30px;font-weight:600;font-family:var(--font-ui);}
h3{font-size:1.1rem;font-weight:600;color:var(--text);margin:1.4rem 0 .5rem;}

.concept-block{background:#fdfaf0;border-radius:16px;padding:1.2rem 1.8rem;margin:.5rem 0 1rem;border:1px solid var(--line);}
.concept-block p{margin-bottom:.7rem;}
.concept-block ul,.concept-block ol{padding-left:1.8rem;margin-bottom:.7rem;}
.concept-block li{margin-bottom:.4rem;}
.tip{background:#faf6ea;border-left:4px solid var(--gold);border-radius:10px;padding:.7rem 1.1rem;margin:.6rem 0;font-size:.92rem;color:#5a5a4e;}
.tip.warn{background:#fdeaea;border-left-color:#c0392b;color:#7a2e22;}

.variant-table-wrap{overflow-x:auto;margin:1rem 0 1.2rem;border-radius:14px;border:1px solid var(--line);}
.variant-table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:600px;font-family:var(--font-ui);}
.variant-table th{background:#f5f3ef;color:var(--ink);font-weight:600;padding:.8rem 1rem;text-align:left;border-bottom:2px solid var(--line2);}
.variant-table td{padding:.9rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;}
.variant-table tr:last-child td{border-bottom:none;}
.type-badge{background:var(--gold-pale);color:var(--gold-dark);font-weight:600;font-size:.8rem;padding:.15rem .7rem;border-radius:30px;white-space:nowrap;font-family:var(--font-ui);}
.note{font-size:.85rem;color:#8a8a78;background:#f5f3ef;padding:.2rem .8rem;border-radius:20px;display:inline-block;margin-top:.3rem;font-family:var(--font-ui);}

.bottom-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:2.6rem;padding-top:1.4rem;border-top:2px solid var(--line);gap:.8rem;font-family:var(--font-ui);}
.bottom-nav .nav-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold-dark);text-decoration:none;font-weight:500;padding:.4rem 1rem;border-radius:30px;background:#faf6ea;transition:background .2s;}
.bottom-nav .nav-link:hover{background:var(--gold-pale);}
.bottom-nav .nav-link.disabled{color:#bdb8a6;pointer-events:none;background:#f5f3ef;}
.bottom-nav .center-links{display:flex;gap:1.4rem;flex-wrap:wrap;}
.bottom-nav .center-links a{color:#6a6a5a;text-decoration:none;font-size:.9rem;font-weight:500;}
.bottom-nav .center-links a:hover{color:var(--gold-dark);}

.sidebar-title{font-family:var(--font-ui);}
#zhishiNav .kn-root-ico{color:var(--gold-light);}
#zhishiNav .kn-head,#zhishiNav .kn-link{font-family:var(--font-ui);border-radius:6px;transition:background .15s,color .15s;}
#zhishiNav .kn-link{color:#c3c3dc;display:block;padding:.32rem .6rem;text-decoration:none;font-size:.9rem;}
#zhishiNav .kn-link:hover{background:#252545;color:var(--gold-light);}
#zhishiNav .kn-link.active{background:rgba(232,201,92,.14);color:var(--gold-light);font-weight:600;box-shadow:inset 3px 0 0 var(--gold-light);}
#zhishiNav .kn-head{color:#e0e0f0;cursor:pointer;padding:.34rem .6rem;font-size:.92rem;display:flex;align-items:center;gap:.4rem;user-select:none;}
#zhishiNav .kn-head:hover{background:#252545;}
#zhishiNav .kn-head.active{color:var(--gold-light);font-weight:600;}
#zhishiNav .kn-arrow{transition:transform .2s;color:var(--gold-light);font-size:.75rem;}
#zhishiNav .kn-children{margin-left:.55rem;border-left:1px solid #2e2e4a;padding-left:.35rem;}
#zhishiNav .kn-children.collapsed{display:none;}
#zhishiNav .kn-group>.kn-head{font-size:.95rem;}

@media (max-width:992px){.card-grid{grid-template-columns:1fr 1fr;}.zh-wrap{padding:1.5rem;}}
@media (max-width:700px){
  .overview-grid{grid-template-columns:1fr;padding:1.2rem;}
  .card-grid{grid-template-columns:1fr;gap:1rem;}
  .info-grid{grid-template-columns:1fr;padding:1rem;gap:.6rem;}
  .zh-wrap{padding:1rem;}
  .identity-card{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.2rem;}
  .bottom-nav{flex-direction:column;gap:.8rem;align-items:stretch;}
  .bottom-nav .center-links{justify-content:center;}
}

/* ===== 频道框架（对齐 duwu 架构：顶栏 + 面包屑/功能条 + 三栏 + 统一页底） ===== */
.zh-body{background:#f5f3ef;}
.read-toolbar .tb-actions{display:inline-flex;gap:6px;}
.read-toolbar a.tb-btn{display:inline-flex;align-items:center;text-decoration:none;}
.tb-btn.on{background:var(--gold,#e8c95c);color:#3a2e12;border-color:var(--gold,#e8c95c);}
.reading-progress{height:3px;background:transparent;}
.reading-progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold,#e8c95c),var(--gold-dark,#b8902f));transition:width .12s;}
.reader{max-width:none;margin:0;padding:0 28px 0 0;display:flex;align-items:flex-start;gap:0;}
.reader-aside-left{position:sticky;top:calc(var(--topbar-h) + var(--subnav-h));width:250px;flex-shrink:0;max-height:calc(100vh - 120px);overflow-y:auto;background:#faf8f5;border-right:1px solid #d9cfb8;padding-right:18px;}
.reader-aside-right{position:sticky;top:calc(var(--topbar-h) + var(--subnav-h));width:264px;flex-shrink:0;max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;margin-left:28px;}
.reader-main{flex:1;min-width:0;position:relative;padding-left:28px;}
/* kebiao 无 kewen 内联 style 兜底：导航项标题去下划线 */
body.zh-body .sidebar .tree-item a,
body.zh-body .sidebar .tree-item-sub a{text-decoration:none;}
/* 侧栏紧贴二级导航底沿：top=顶栏+栏目导航，零间隙；视口高度 sticky 常驻面板（与 kewen 一致，避免撑满正文导致冻结不随滚动） */
body.zh-body .sidebar{
  top: calc(var(--topbar-h) + var(--subnav-h)) !important;
  height: calc(100vh - var(--topbar-h) - var(--subnav-h)) !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
/* 侧栏内搜索框也不要上间距，顶部直接顶到二级导航下沿 */
body.zh-body .sidebar .search-box{margin-top:5px !important;padding-top:0 !important;}
/* 伸缩黄色进度条无作用且导致滚动时左栏抖动，kebiao 直接隐藏 */
body.zh-body .reading-progress{display:none !important;}
/* 二级导航(子维度)加粗，区别于三级(能力点叶子，默认 normal) */
body.zh-body .sidebar .tree-group.level2 .tree-header{font-weight:600 !important;}
.toc-panel{background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px 6px 18px;}
.toc-panel::-webkit-scrollbar{width:5px;}
.toc-panel::-webkit-scrollbar-thumb{background:#e4d8bf;border-radius:4px;}
.toc-title{display:flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:15px;font-weight:800;margin:0 0 12px;padding-bottom:10px;border-bottom:1px dashed var(--line,#ece6da);color:#2a241c;}
.toc-title::before{content:"\1F4DA";}
/* 套用课文页侧栏模板：浅米底 + 树形箭头 + 金高亮 + 分隔线 */
#zhishiNav .kn-group{margin-bottom:4px;}
#zhishiNav .kn-group + .kn-group{border-top:1px solid #e3ddd0;padding-top:4px;}
#zhishiNav .kn-root-ico{color:#b8922e;}
/* 一级：维度（▶ 三角，收起向右 / 展开向下） */
#zhishiNav .kn-group > .kn-head{font-size:.95rem;font-weight:700;letter-spacing:1px;color:#6b5d44;padding:8px 10px;border-radius:4px;gap:.3rem;}
#zhishiNav .kn-group > .kn-head::before{content:'\25B6';color:#b8922e;font-size:10px;display:inline-block;transition:transform .2s;transform:rotate(90deg);}
#zhishiNav .kn-group > .kn-head:not(.open)::before{transform:rotate(0deg);}
#zhishiNav .kn-group > .kn-head:hover{background:rgba(184,146,46,.14);color:#4a3f2e;}
#zhishiNav .kn-group > .kn-head.active{background:rgba(184,146,46,.12);border-left:3px solid #b8922e;color:#8a6d2e;padding-left:7px;}
/* 二级：子维度（> 尖括号，收起向右 / 展开向下） */
#zhishiNav .kn-item{margin:2px 0;}
#zhishiNav .kn-item > .kn-head{font-size:.92rem;font-weight:500;color:#8a7d66;padding:5px 10px 5px 12px;border-radius:3px;letter-spacing:0;gap:.3rem;}
#zhishiNav .kn-item > .kn-head::before{content:'>';color:#b8922e;font-size:12px;display:inline-block;transition:transform .2s;transform:rotate(90deg);margin-right:5px;}
#zhishiNav .kn-item > .kn-head:not(.open)::before{transform:rotate(0deg);}
#zhishiNav .kn-item > .kn-head:hover{background:rgba(184,146,46,.07);color:#3a3226;}
/* 叶子：能力点 */
#zhishiNav .kn-head,#zhishiNav .kn-link{font-family:var(--font-ui);border-radius:6px;transition:background .15s,color .15s;}
#zhishiNav .kn-link{color:#5c5344;display:block;padding:.34rem .5rem .34rem 1.8rem;text-decoration:none;font-size:.9rem;}
#zhishiNav .kn-link:hover{background:rgba(184,146,46,.07);color:#3a3226;}
#zhishiNav .kn-link.active{background:rgba(184,146,46,.12);color:#8a6d2e;font-weight:700;box-shadow:inset 3px 0 0 #b8922e;}
#zhishiNav .kn-children{margin-left:.4rem;border-left:1px solid #e8e2d5;padding-left:.5rem;}
#zhishiNav .kn-children.collapsed{display:none;}
/* 右栏 aside-card */
.aside-card{background:#fff;border:1px solid var(--line,#ece6da);border-radius:16px;box-shadow:0 6px 22px rgba(180,140,60,.10);padding:16px;}
.ac-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#2a241c;margin-bottom:10px;font-family:var(--font-serif);font-size:14px;}
.ac-ic{background:var(--gold-pale,#fbf3dd);color:var(--gold-dark,#b8902f);border-radius:8px;padding:2px 8px;font-size:12px;font-family:var(--font-ui);}
.ac-en{margin-left:auto;font-size:10.5px;color:#bcae93;font-family:var(--font-ui);letter-spacing:.06em;}
.ac-body a{display:block;padding:6px 8px;color:#5b554a;text-decoration:none;border-radius:8px;font-size:13px;font-family:var(--font-ui);transition:all .15s;}
.ac-body a:hover{background:var(--gold-pale,#fbf3dd);color:var(--gold-dark,#b8902f);}
.side-pending{color:#bcae93;font-size:13px;padding:6px 0;font-family:var(--font-ui);}
.ai-box textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#ece6da);border-radius:10px;padding:8px;font-family:var(--font-ui);font-size:13px;resize:vertical;min-height:60px;color:#3a342b;}
.ai-send{margin-top:8px;width:100%;background:var(--gold,#e8c95c);border:none;color:#3a2e12;border-radius:10px;padding:8px;font-weight:700;cursor:pointer;font-family:var(--font-ui);}
@media (max-width:1100px){.reader-aside-right{display:none;}}
@media (max-width:820px){.reader{flex-direction:column;padding:16px;}.reader-aside-left{width:100%!important;position:static;max-height:none;}.reader-aside-right{display:none;}}

/* ===== 知识栏目入口（工具栏）+ 语文百科页 ===== */
.tb-kn { display: flex; align-items: center; gap: 6px; margin: 0 10px 0 4px; flex-shrink: 0; }
.tb-kn a {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; font-size: 12px; font-family: var(--font-ui, var(--font-sans));
  color: #6b5a3a; background: #fbf3dd; border: 1px solid #e8d9b8;
  border-radius: 999px; text-decoration: none; transition: all .15s; white-space: nowrap;
}
.tb-kn a:hover { background: #e8c95c; color: #3a2e12; border-color: #e8c95c; }
.tb-kn a.cur { background: #e8c95c; color: #3a2e12; border-color: #e8c95c; font-weight: 600; }

.bk-intro { color: #5b554a; font-size: 13.5px; line-height: 1.9; margin: 0 0 22px;
  padding: 12px 16px; background: #fbf3dd; border-left: 3px solid #e8c95c; border-radius: 6px; }
.bk-section { margin-bottom: 26px; }
.bk-note { color: #8a7f6a; font-size: 12.5px; margin: 10px 0 8px; }
.bk-link { color: #b8902f; font-weight: 600; text-decoration: none; }
.bk-link:hover { text-decoration: underline; }
.bk-block { margin-bottom: 14px; }
.bk-sub { font-size: 13px; font-weight: 700; color: #2a241c; margin: 10px 0 6px;
  padding-left: 8px; border-left: 3px solid #e8c95c; }
.bk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.bk-item { font-size: 12.5px; color: #5b554a; background: #fff; border: 1px solid #ece6da;
  border-radius: 6px; padding: 6px 10px; line-height: 1.5; }
.bk-zhuanti { display: flex; flex-direction: column; gap: 8px; }

.bk-dims { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.bk-dim { background: #fff; border: 1px solid #ece6da; border-radius: 8px; padding: 12px 14px; }
.bk-dim-h { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.bk-dim-n { background: #e8c95c; color: #3a2e12; font-size: 11px; font-weight: 700;
  width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.bk-dim-t { font-size: 13.5px; font-weight: 700; color: #2a241c; font-family: var(--font-serif, serif); }
.bk-dim-d { margin: 0; font-size: 12px; color: #6b6250; line-height: 1.75; }
/* ===== 知识频道 · 课件页（ke-*）===== */
/* ---- 课件容器与屏 ---- */
.ke-doc { max-width: 980px; }
.ke-header { margin-bottom: 18px; }
.ke-header h1 { font-size: 26px; font-weight: 700; color: #2a241c; font-family: var(--font-serif, serif); margin: 6px 0 4px; }
.ke-header p { font-size: 13px; color: #8a7f6a; margin: 0; }
.ke-badge { display: inline-block; background: #e8c95c; color: #3a2e12; font-size: 11px; font-weight: 700;
  padding: 2px 10px; border-radius: 30px; letter-spacing: 1px; }

.ke-g-label { display: flex; align-items: center; gap: 8px; margin: 26px 0 12px;
  font-size: 14px; font-weight: 700; color: #b8902f; letter-spacing: 2px; }
.ke-g-label::after { content: none; }

.ke-slide { background: #fff; border: 1px solid #ece6da; border-radius: 10px;
  padding: 18px 22px; margin-bottom: 14px; }
.ke-slide-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ke-num { background: #e8c95c; color: #3a2e12; font-size: 12px; font-weight: 700;
  min-width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.ke-title { font-size: 16px; font-weight: 700; color: #2a241c; font-family: var(--font-serif, serif); }
.ke-min { margin-left: auto; font-size: 11px; color: #bcae93; background: #f5f0e3; padding: 2px 8px; border-radius: 20px; }

.ke-slide-body { font-size: 14.5px; color: #3a342b; line-height: 1.85; }
.ke-slide-body p { margin: 0 0 10px; }
.ke-slide-body strong { color: #2a241c; }
.ke-slide-body .ke-em { background: #fbf3dd; color: #8a5a00; padding: 1px 6px; border-radius: 4px; font-weight: 600; }

/* 教师备注 */
.ke-note { margin-top: 12px; padding: 10px 14px; background: #f7f3e8; border-left: 3px solid #d4a847;
  border-radius: 0 6px 6px 0; font-size: 12.5px; color: #6b6250; line-height: 1.7; }
.ke-note::before { content: "👩‍🏫 教学备注 "; font-weight: 700; color: #b8902f; }

/* 变体表格（金墨版） */
.ke-table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 10px 0; }
.ke-table th { background: #f5f0e3; color: #2a241c; font-weight: 600; text-align: left;
  padding: 8px 10px; border: 1px solid #e5dcc8; }
.ke-table td { padding: 9px 10px; border: 1px solid #ece6da; vertical-align: top; color: #3a342b; }
.ke-table .tb { display: inline-block; background: #fbf3dd; color: #b8902f; font-size: 11px; font-weight: 700;
  padding: 1px 8px; border-radius: 20px; margin-bottom: 3px; }
.ke-table .bad { color: #b91c1c; background: #fdeaea; padding: 1px 6px; border-radius: 4px; font-weight: 500; }

/* 选项与解析 */
.ke-opt { list-style: none; padding: 0; margin: 8px 0; }
.ke-opt li { padding: 5px 0 5px 22px; position: relative; font-size: 13.5px; }
.ke-opt li::before { content: attr(data-k); position: absolute; left: 0; top: 5px;
  color: #b8902f; font-weight: 700; font-size: 12px; }
.ke-ans { background: #fbf3dd; border: 1px dashed #d4a847; border-radius: 6px; padding: 8px 12px;
  font-size: 13px; margin-top: 8px; display: none; }
.ke-ans.open { display: block; }
.ke-ans-btn { background: #f5f0e3; border: 1px solid #e5dcc8; color: #8a5a00; font-size: 12px;
  padding: 4px 14px; border-radius: 20px; cursor: pointer; margin-top: 8px; }
.ke-ans-btn:hover { background: #e8c95c; color: #3a2e12; }

/* 变式卡 */
.ke-vars { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0; }
.ke-var { background: #faf7ef; border: 1px solid #ece6da; border-radius: 8px; padding: 12px 14px; }
.ke-var .v-t { font-weight: 700; color: #b8902f; font-size: 13px; margin-bottom: 5px; }
.ke-var .v-d { font-size: 13px; color: #3a342b; line-height: 1.7; }
.ke-var .v-h { font-size: 12px; color: #8a7f6a; margin-top: 6px; font-style: italic; }

/* 答题路径步骤 */
.ke-steps { display: flex; gap: 8px; margin: 10px 0; flex-wrap: wrap; }
.ke-step { flex: 1; min-width: 150px; background: #faf7ef; border: 1px solid #ece6da; border-radius: 8px;
  padding: 10px 12px; text-align: center; }
.ke-step .s-n { display: block; color: #b8902f; font-weight: 700; font-size: 12px; margin-bottom: 4px; }
.ke-step .s-t { font-size: 13px; color: #2a241c; font-weight: 600; }

/* 诊断清单 */
.ke-check { list-style: none; padding: 0; margin: 8px 0; }
.ke-check li { padding: 7px 0 7px 26px; position: relative; font-size: 13.5px; border-bottom: 1px dashed #ece6da; }
.ke-check li::before { content: "☐"; position: absolute; left: 4px; top: 6px; color: #b8902f; font-size: 15px; }

/* ---- 演示模式 ---- */
/* 演示模式 v3：全屏无干扰 + 大字 + 少空白 */
body.ke-present { padding-top: 0 !important; background: #faf7ef !important; }
body.ke-present .top-bar { display: none; }        /* 隐藏主导航 */
body.ke-present .read-toolbar { display: none; }   /* 隐藏二级工具栏 */
body.ke-present .reading-progress { display: none; }
body.ke-present .reader-aside-left,
body.ke-present .reader-aside-right,
body.ke-present .site-footer { display: none; }
body.ke-present .reader-main { max-width: none; margin: 0; }
body.ke-present .ke-doc { max-width: 1200px; margin: 0 auto; }
body.ke-present .ke-g-label { margin-top: 8px; }
body.ke-present .ke-slide { display: none; min-height: 100vh; margin: 0;
  padding: 5vh 6vw 130px; border: none; border-radius: 0;
  background: linear-gradient(180deg, #faf7ef 0%, #f5f0e3 100%);
  flex-direction: column; justify-content: center; box-sizing: border-box; }
body.ke-present .ke-slide.active { display: flex; }
body.ke-present .ke-slide-head { max-width: 1200px; width: 100%; margin: 0 auto 22px; }
body.ke-present .ke-title { font-size: 36px; }
body.ke-present .ke-num { min-width: 40px; height: 40px; font-size: 18px; }
body.ke-present .ke-min { font-size: 15px; padding: 4px 14px; }
body.ke-present .ke-slide-body { font-size: 25px; line-height: 2.05; max-width: 1200px; width: 100%; margin: 0 auto; }
body.ke-present .ke-slide-body p { margin-bottom: 14px; }
body.ke-present .ke-table { font-size: 19px; max-width: 1200px; margin-left: auto; margin-right: auto; }
body.ke-present .ke-table th, body.ke-present .ke-table td { padding: 15px 18px; }
body.ke-present .ke-steps, body.ke-present .ke-vars,
body.ke-present .ke-opt, body.ke-present .ke-check { max-width: 1200px; margin-left: auto; margin-right: auto; }
body.ke-present .ke-step .s-t { font-size: 18px; }
body.ke-present .ke-var .v-d { font-size: 17px; }
body.ke-present .ke-note { font-size: 16px; max-width: 1200px; width: 100%; margin: 22px auto 0; }
body.ke-present .ke-header { display: none; }
body.ke-present .page-header, body.ke-present .bottom-nav { display: none; }

/* 环节导航条：阅读=页内锚点跳转 / 演示=画面切换 */
.ke-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
  background: rgba(250, 247, 239, 0.97); backdrop-filter: blur(6px);
  border-top: 1px solid #e8c95c; padding: 8px 20px;
  transition: transform .25s ease, opacity .25s ease; }
.ke-bar-inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; gap: 12px; }
.ke-tabs { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; min-width: 0; }
.ke-tab { background: transparent; border: 1px solid #d8cfb0; color: #6b5f3a; font-size: 12px;
  padding: 4px 10px; border-radius: 16px; cursor: pointer; transition: all .15s; white-space: nowrap; }
.ke-tab:hover { border-color: #e8c95c; color: #b8902f; }
.ke-tab.active { background: #e8c95c; color: #3a2e12; font-weight: 600; border-color: #e8c95c; }
.ke-exit { display: none; background: transparent; border: 1px solid #3a3a5a; color: #b0b0c8;
  font-size: 15px; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; flex-shrink: 0; line-height: 1; }
.ke-exit:hover { border-color: #e8c95c; color: #e8c95c; }

/* 演示模式：深色 + 自动隐藏 */
body.ke-present .ke-bar { background: rgba(26, 26, 46, 0.97); border-top: none; }
body.ke-present .ke-tab { border-color: #3a3a5a; color: #b0b0c8; }
body.ke-present .ke-tab:hover { border-color: #e8c95c; color: #e8c95c; }
body.ke-present .ke-exit { display: block; }
body.ke-present .ke-bar.hide { transform: translateY(100%); opacity: 0; pointer-events: none; }

/* 阅读模式：控制条不遮挡页脚与末屏 */
.ke-doc { padding-bottom: 64px; }

/* ---- 打印教学案 ---- */
@media print {
  body { background: #fff !important; }
  .read-toolbar, .reading-progress, .reader-aside-left, .reader-aside-right,
  .ke-bar, .bottom-nav, .site-footer, .ke-ans-btn, .ke-demo-btn { display: none !important; }
  .reader-main { width: 100%; max-width: none; padding: 0 !important; }
  .ke-doc { max-width: none; }
  .ke-header h1 { font-size: 20px; }
  .ke-g-label { margin-top: 14px; }
  .ke-slide { break-after: page; page-break-after: always; border: none; padding: 6px 0;
    margin-bottom: 0; border-bottom: 1px solid #e5dcc8; }
  .ke-slide-body { font-size: 12.5px; }
  .ke-note { background: #faf7ef; }
  .ke-ans { display: block !important; }
}

/* 横向溢出兜底（阅读+演示模式） */
body { overflow-x: hidden; }
body.ke-present { overflow-x: hidden; }

/* ===== 正文右上角动作区（演示 / 教学案打印），从二级导航移出 ===== */
.ke-actions {
  position: absolute;
  top: calc(var(--topbar-h, 52px) + var(--subnav-h, 48px) + 12px);
  right: 14px;
  display: inline-flex;
  gap: 8px;
  z-index: 6;
}
.ke-actions .tb-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border: 1px solid var(--ui-btn-border, #e0d8c8);
  background: #fff;
  color: var(--ink, #2c2418);
  border-radius: 8px;
  font-size: 13px;
  font-family: var(--font-ui, system-ui, sans-serif);
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(120, 90, 30, .10);
  transition: all .15s;
}
.ke-actions .tb-btn:hover {
  border-color: var(--gold, #e8c95c);
  color: var(--gold-dark, #9a2020);
  box-shadow: 0 2px 8px rgba(200, 160, 60, .18);
}
/* 演示全屏模式下隐藏动作区（与二级导航一致） */
body.ke-present .ke-actions { display: none; }
