
/* 复用标准库，局部只改变教学布局；无装饰入场、平移或弹跳。 */
:root{--fs:clamp(15px,1.24vw,24px)}
#top{background:var(--paper);padding:.95em 2em .7em}#bot{padding:.65em 12em .7em 5.5em}#hint{letter-spacing:.03em}#page{white-space:nowrap}
button.navb,#inkfab,#inkbar,#inkbar button{border-radius:0!important;box-shadow:none!important;background:var(--paper)!important}
.slide{padding:3.6em 4.6vw 3.5em;justify-content:flex-start}.slide.on{animation:none}.slide .wrap{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}
.rv,.rv.show{transform:none;transition:opacity .12s linear}.rv{pointer-events:none}.rv.show{pointer-events:auto}
.headline{display:flex;justify-content:space-between;align-items:baseline;gap:1em;flex:none}.headline h2{font-size:1.65em;line-height:1.25;display:block}.source{font-size:.67em;color:var(--mut);text-align:right;max-width:27em;line-height:1.4}
.problem-text{font-family:"Noto Serif SC","Songti SC",serif;font-size:1.17em;line-height:1.6;border-block:var(--hair);padding:.62em 0;margin:.6em 0 .8em;flex:none}.problem-text strong{color:var(--acc)}
.workspace{display:grid;grid-template-columns:1fr 1.09fr;gap:1.55em;flex:1;min-height:0}.model{display:flex;flex-direction:column;gap:.55em;min-width:0;justify-content:flex-start}.model svg{width:100%;max-height:18em;flex:none;overflow:visible;stroke:var(--ink);stroke-width:1.5;fill:none}.model svg text{fill:var(--ink);stroke:none;font-family:"Noto Sans SC",sans-serif}.model svg .accent{stroke:var(--acc)}.model svg text.accent{fill:var(--acc);stroke:none}.model svg text.mut{fill:var(--mut);stroke:none}.model svg .shade{fill:rgba(194,69,42,.07)}
.model-table{width:100%;border-collapse:collapse;font-size:1em;line-height:1.45;table-layout:auto}.model-table th,.model-table td{padding:.42em .48em;text-align:left;border-bottom:var(--hair);vertical-align:middle}.model-table th{font-size:.87em;color:var(--mut);font-weight:500;border-top:var(--hair)}.model-table tr.focused td{background:rgba(194,69,42,.07);color:var(--acc)}.model-table.given{font-size:.9em}.model-table.given th,.model-table.given td{padding:.28em .38em}.model-table td:first-child{white-space:nowrap}.slot{display:inline-block;position:relative}.slot i{position:absolute;left:0;top:0;color:var(--mut);font-size:.8em;font-style:normal;white-space:nowrap}.slot:has(.show) i{display:none}
.slide[data-id="M4-01"] .model{gap:.3em}
.reasoning{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;border-left:var(--hair);padding-left:1.3em;gap:.4em}.reason-step{display:grid;grid-template-columns:1.55em 1fr;column-gap:.55em;padding:.27em 0;position:relative}.reason-step .ordinal{font-family:Georgia,serif;font-style:italic;color:var(--mut);font-size:1.2em}.reason-step h3{font-size:1em;font-weight:500;color:var(--mut);line-height:1.35}.reason-step.active h3,.reason-step.active .ordinal{color:var(--acc)}.reason-step.done h3{color:var(--ink)}.reason-step.active{border-left:2px solid var(--acc);margin-left:-.5em;padding-left:.38em}.step-body{grid-column:2;line-height:1.4;font-size:1em;padding-top:.13em}.why{font-size:.83em;color:#736c5e;line-height:1.35;margin-top:.12em}.reason-step.pending .why{opacity:0}
.conclusion{flex:none;display:flex;gap:1em;align-items:center;min-height:2.45em;border-top:1px solid var(--ink);padding-top:.45em;margin-top:.6em;line-height:1.45;font-size:.95em}.conclusion>b{color:var(--acc);font-weight:500;white-space:nowrap}.task-cue{font-size:.8em;color:var(--mut);line-height:1.45;margin-top:.15em}.mini-note{font-size:.87em;line-height:1.5;border-left:2px solid var(--acc);padding:.25em .65em}.mini-note strong{color:var(--acc)}.model .katex{font-size:1em}.step-body .katex{font-size:1.02em}
.model-caption{font-size:.75em;color:var(--mut);line-height:1.4}.workspace.dense .reasoning{gap:.08em}.workspace.dense .reason-step{padding:.06em 0}.workspace.dense .reason-step h3{line-height:1.2}.workspace.dense .step-body{line-height:1.25}.workspace.dense .why{line-height:1.2}.workspace.dense .model-table{font-size:.9em}.workspace.dense .step-body{font-size:.94em}.workspace.dense .why{font-size:.83em}
.slide.cover .wrap{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;height:100%}.cover h1{font-size:3.3em}.cover .objs{margin-top:1.2em}.cover .fig{font-family:Georgia,serif;font-size:5em;line-height:1.25;color:var(--acc)}.cover .fig small{font: .18em/1.7 sans-serif;display:block;color:var(--mut);margin-top:1em}.slide.divider .wrap{display:flex;flex-direction:row;align-items:center;gap:3em}.divider h1{font-size:2.8em}.divider .dno{font-size:7em}.divider .note{max-width:35em;font-size:1.12em;line-height:1.7}.toc .trow{grid-template-columns:2em 12em 1fr 4em;padding:.9em .3em}.route-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em;margin-top:1.7em;line-height:1.65;font-size:1em}.route-details b{color:var(--acc);display:block;margin-bottom:.35em}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5em;margin-top:1.8em}.summary-grid article{border-top:var(--hair);padding-top:1em}.summary-grid h3{font-size:1.15em;margin-bottom:.55em}.summary-grid p{line-height:1.7}
.cmp-grid{display:grid;gap:1.5em;align-items:start;flex:1;min-height:0;margin-top:.5em}
.cmp-card{border-top:var(--hair);padding-top:.45em;min-width:0}
.cmp-card h3{font-size:.95em;margin-bottom:.35em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-card .cap{font-size:.72em;color:var(--mut);line-height:1.45;margin-top:.45em}
.cmp-viz{min-width:0}
.cmp-viz svg{width:100%;height:auto;overflow:visible;stroke:var(--ink);stroke-width:1.5;fill:none;display:block}
.cmp-viz svg text{fill:var(--ink);stroke:none;font-family:"Noto Sans SC",sans-serif}
.cmp-viz svg .accent{stroke:var(--acc)}.cmp-viz svg text.accent{fill:var(--acc);stroke:none}
.cmp-viz svg text.mut{fill:var(--mut);stroke:none}.cmp-viz svg .shade{fill:rgba(194,69,42,.07)}
.cmp-viz .model-table{font-size:.68em;line-height:1.35}.cmp-viz .model-table th{font-size:.92em}
.cmp-viz .model-table th,.cmp-viz .model-table td{padding:.2em .3em}
.cmp-viz .model-table.given{font-size:.62em}
.cmp-viz .mini-note{font-size:.7em;padding:.12em .45em;margin-top:.35em;line-height:1.4}
.cmp-viz .katex{font-size:.95em}
.cmp-note{margin-top:.9em;flex:none}
.handout{font-size:17px}.handout .hp-b{font-size:1em}.handout .tb-step{border-left:2px solid var(--acc);padding:.65em .8em;margin:1em 0}.handout .tb-step p{margin:.4em 0;line-height:1.75}.handout .hp-goal{line-height:1.65}.handout .hd-top,.handout .hd-nav{background:var(--paper)}.handout button{border-radius:0!important}.handout .t-time{white-space:nowrap}.handout .hp-h{flex-wrap:wrap}.handout .katex{font-size:1em}
@media(max-height:650px){:root{--fs:clamp(13px,1.1vw,20px)}.slide{padding-top:3.3em;padding-bottom:3.1em}.problem-text{margin:.4em 0 .6em;padding:.4em 0}.reasoning{gap:.15em}.model svg{max-height:15em}}
@media print{.slide{height:100vh;padding:2em}.slide .wrap{height:100%}.reason-step .rv{opacity:1}.slot i{display:none}}
