/* 《人工智能导论》课件与页边注 · 统一样式表
   课程 → 章 → 节 → 知识点 四级结构共用 */
:root{
  --bg:#EEEAE1; --paper:#FCFBF7; --ink:#22252A; --ink2:#3C4048; --mut:#767268;
  --line:#DED8CA; --line2:#EAE5D9; --tint:#F4F2EA;
  --main:#2E5570; --main-d:#1F3E55; --main-s:#EAF0F4; --main-l:#C3D3DE;
  --acc:#96682F; --acc-s:#F6EFE2; --acc-l:#E0CFAE;
  --grn:#5A6B52; --grn-s:#EDF0EA; --grn-l:#CBD4C4;
  --brk:#A65A42; --brk-s:#F5E9E4; --brk-l:#DEC1B6;
  --pt:#3E4A57; --pt-s:#EEF1F3; --pt-l:#C6CFD6;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC","Helvetica Neue",Arial,sans-serif;
  --serif:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
  --mono:"SF Mono",Consolas,"Courier New",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);line-height:1.9;font-size:16.5px}
a{color:var(--main)}
.wrap{max-width:1600px;margin:0 auto;padding:0 40px}
.wrap.narrow{max-width:1080px}

/* ---------- 页眉色条 ---------- */
.rib{background:var(--main);color:#fff;padding:10px 40px;font-size:13.5px;letter-spacing:.06em;
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.rib b{font-weight:600}
.rib a{color:#fff;text-decoration:none;opacity:.86}
.rib a:hover{opacity:1;text-decoration:underline}
.rib .r{opacity:.8;font-family:var(--mono);font-size:12.5px}

/* ---------- 标题区 ---------- */
.tit{padding:40px 0 26px;border-bottom:2px solid var(--main)}
.tit .eyebrow{font-size:13.5px;color:var(--acc);letter-spacing:.2em;font-weight:600;margin-bottom:11px}
.tit h1{font-size:38px;line-height:1.3;font-weight:700}
.tit .sub{margin-top:10px;font-size:17px;color:var(--mut);font-family:var(--serif)}

/* ---------- 吸顶导航（节内） ---------- */
.topbar{position:sticky;top:0;z-index:40;background:rgba(252,251,247,.97);
  border-bottom:1px solid var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.topbar .in{max-width:1600px;margin:0 auto;padding:7px 40px;display:flex;align-items:center;gap:18px}
.crumb{flex:none;font-size:13px;color:var(--mut);white-space:nowrap}
.crumb a{color:var(--main);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb b{color:var(--ink);font-weight:600}
.chips{flex:1;min-width:0;display:flex;gap:5px;overflow-x:auto;padding:3px 0;scrollbar-width:thin}
.chips::-webkit-scrollbar{height:5px}
.chips::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.chips a{flex:none;font-size:13px;color:var(--ink2);text-decoration:none;padding:3px 10px;
  border:1px solid var(--line);border-radius:3px;background:#fff;white-space:nowrap}
.chips a:hover{background:var(--main-s);border-color:var(--main-l);color:var(--main-d)}
.chips a.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}

/* ---------- 目录（课程 / 章 / 节） ---------- */
.toc{margin:30px 0 0;display:grid;gap:16px}
.toc.two{grid-template-columns:1fr 1fr}
.toc.three{grid-template-columns:1fr 1fr 1fr}
.tcard{background:var(--paper);border:1px solid var(--line);padding:0 0 16px;
  display:flex;flex-direction:column}
.tcard .th{background:var(--main-s);border-bottom:1px solid var(--main-l);padding:12px 20px;
  display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.tcard a.th:hover{background:#DFE9EF}
.tcard a.th:hover .t{text-decoration:underline}
.tcard .th .n{font-family:var(--mono);font-size:16px;font-weight:700;color:#fff;background:var(--main);
  padding:3px 11px;flex:none}
.tcard .th .t{font-size:19px;font-weight:700;color:var(--main-d);line-height:1.35;flex:1}
.tcard .th .h{margin-left:auto;font-size:12.5px;color:var(--mut);white-space:nowrap}
.tcard .sub{padding:11px 20px 0;font-size:14.5px;color:var(--mut);font-family:var(--serif)}
.tcard ol{margin:9px 20px 0;padding:0;list-style:none}
.tcard li{font-size:14.5px;color:var(--ink2);margin:0;border-bottom:1px dotted var(--line2)}
.tcard li:last-child{border-bottom:none}
.tcard li a{color:var(--ink2);text-decoration:none;display:flex;gap:11px;padding:4px 0}
.tcard li a:hover{color:var(--main)}
.tcard li em{font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--main);flex:none;opacity:.8}
.tcard.soon{opacity:.5}
.tcard.soon .th{background:var(--tint);border-bottom-color:var(--line)}
.tcard.soon .th .n{background:var(--mut)}
.tcard.soon .th .t{color:var(--mut)}
.tcard:hover{border-color:var(--main-l);box-shadow:0 2px 10px rgba(46,85,112,.08)}
.tcard.soon:hover{border-color:var(--line);box-shadow:none}

/* 节内知识点目录 */
.kplist{margin:26px 0 0;border:1px solid var(--line);background:var(--paper);padding:16px 24px 20px}
.kplist .kh{font-size:13.5px;color:var(--acc);font-weight:600;letter-spacing:.14em;margin-bottom:10px}
.kplist ol{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px 26px;margin:0;padding-left:0;list-style:none}
.kplist li{font-size:15px;padding:4px 0;border-bottom:1px dotted var(--line2)}
.kplist li a{color:var(--ink2);text-decoration:none;display:flex;gap:10px}
.kplist li a:hover{color:var(--main)}
.kplist li em{font-style:normal;font-family:var(--mono);font-size:13px;color:var(--main);flex:none}

/* ---------- 逐页卡片 ---------- */
.card{background:var(--paper);border:1px solid var(--line);margin:26px 0;padding:0 0 26px;scroll-margin-top:56px}
.ch{display:flex;align-items:center;gap:18px;padding:14px 26px;background:var(--main-s);
  border-bottom:1px solid var(--main-l)}
.ch .pn{font-family:var(--mono);font-size:21px;font-weight:700;color:#fff;background:var(--main);
  padding:5px 13px;flex:none}
.ch .ct{flex:1;min-width:0}
.ch .tag{font-size:12.5px;color:var(--mut);letter-spacing:.1em}
.ch h2{font-size:22px;font-weight:700;color:var(--main-d);line-height:1.4}
.one{margin:0;padding:15px 26px 0;font-size:17.5px;line-height:1.7;color:var(--main-d);font-weight:600}
.one::before{content:"";display:inline-block;width:20px;height:2px;background:var(--acc);
  vertical-align:middle;margin-right:11px;position:relative;top:-3px}
.body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;padding:18px 26px 0}
.left{min-width:0}
.slide{position:sticky;top:56px}
.slide img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff;cursor:zoom-in}
.right{min-width:0}

/* ---------- 页边注块 ---------- */
.nb{border:1px solid var(--line);border-left-width:4px;margin:0 0 13px;padding:11px 17px 13px;background:#FDFCF8}
.nb h4{font-size:15px;font-weight:600;margin:0 0 5px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.nb h4.bare{margin-bottom:3px}
.nb h4 .lb{font-size:11.5px;font-weight:600;letter-spacing:.12em;padding:2px 8px;border-radius:2px;flex:none}
.nb p{font-size:15.5px;color:var(--ink2);margin:7px 0;text-align:justify}
.nb p:first-of-type{margin-top:5px}
.nb b{font-weight:600;color:var(--ink)}
.nb.key{border-color:var(--main-l);border-left-color:var(--main);background:var(--main-s)}
.nb.key h4{color:var(--main-d)} .nb.key h4 .lb{background:var(--main);color:#fff}
.nb.term{border-color:var(--pt-l);border-left-color:var(--pt);background:var(--pt-s)}
.nb.term h4{color:var(--pt)} .nb.term h4 .lb{background:var(--pt);color:#fff}
.nb.eg{border-color:var(--acc-l);border-left-color:var(--acc);background:var(--acc-s)}
.nb.eg h4{color:var(--acc)} .nb.eg h4 .lb{background:var(--acc);color:#fff}
.nb.eg p{color:#4A3E2C}
.nb.more{border-color:var(--line);border-left-color:var(--mut);background:var(--tint)}
.nb.more h4{color:var(--ink)} .nb.more h4 .lb{background:var(--mut);color:#fff}
.nb.q{border-color:var(--grn-l);border-left-color:var(--grn);background:var(--grn-s)}
.nb.q h4{color:#43503C} .nb.q h4 .lb{background:var(--grn);color:#fff}
.nb.q p{font-size:16.5px;color:#3A4634;font-weight:500;text-align:left}

/* 术语条目 */
.tl{margin-top:2px}
.ti{padding:7px 0;border-bottom:1px dotted var(--pt-l)}
.ti:last-child{border-bottom:none;padding-bottom:0}
.ti .tn{font-size:15.5px;font-weight:600;color:var(--ink);margin-right:9px}
.ti .te{font-family:var(--mono);font-size:12.5px;color:var(--mut)}
.ti .td{font-size:15px;color:var(--ink2);margin-top:2px;text-align:justify}

/* ---------- 上一节 / 下一节 ---------- */
.turn{display:flex;justify-content:space-between;gap:16px;margin:34px 0 0;flex-wrap:wrap}
.turn a{flex:1;min-width:240px;background:var(--paper);border:1px solid var(--line);
  padding:14px 20px;text-decoration:none;color:var(--ink2)}
.turn a:hover{border-color:var(--main-l);background:var(--main-s)}
.turn a .k{display:block;font-size:12.5px;color:var(--mut);letter-spacing:.1em;margin-bottom:3px}
.turn a .t{font-size:16.5px;font-weight:600;color:var(--main-d)}
.turn a.next{text-align:right}

/* ---------- 页脚 ---------- */
.foot{margin:44px 0 0;border-top:1px solid var(--line);padding:20px 0 46px;text-align:center;
  font-size:13.5px;color:var(--mut);letter-spacing:.06em}
.foot b{color:var(--ink2);font-weight:600}
.foot span{margin:0 9px}

/* ---------- 放大层 ---------- */
.ov{position:fixed;inset:0;background:rgba(26,26,24,.93);display:none;align-items:center;
  justify-content:center;z-index:100;cursor:zoom-out;padding:24px}
.ov.on{display:flex}
.ov img{max-width:100%;max-height:100%;box-shadow:0 8px 40px rgba(0,0,0,.5)}

/* ---------- 窄屏 ---------- */
@media (max-width:1180px){
  .wrap{padding:0 20px}
  .rib{padding:9px 20px}
  .topbar .in{padding:7px 20px}
  .body{grid-template-columns:1fr;gap:18px}
  .slide{position:static}
  .tit h1{font-size:29px}
  .toc.two,.toc.three{grid-template-columns:1fr}
  .kplist ol{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){ .kplist ol{grid-template-columns:1fr} }

/* ---------- 打印 ---------- */
@media print{
  html,body{background:#fff}
  .wrap{max-width:none;padding:0}
  .topbar,.ov,.turn,.kplist{display:none}
  .rib{padding:8px 0}
  .card{break-before:page;page-break-before:always;border:none;margin:0 0 12mm;padding:0}
  .card:first-of-type{break-before:auto;page-break-before:auto}
  .body{grid-template-columns:1fr;gap:10px}
  .slide{position:static}
  .slide img{max-height:105mm;width:auto;margin:0 auto}
  .nb{break-inside:avoid;page-break-inside:avoid}
  .ch{background:#fff;border-bottom:2px solid #2E5570}
  a{color:inherit;text-decoration:none}
}
