:root{--ink:#242a2c;--muted:#687076;--accent:#7b2834;--link:#185b84;--rule:#deded7;--sidebar:#f4f4f1;--sidebar-width:290px;--top:124px;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;--serif:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:white;color:var(--ink);font:17px/1.95 var(--serif)}a{color:var(--link);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline;color:var(--accent)}button,input{font-family:var(--sans);font-size:inherit}button{cursor:pointer;border:1px solid #bbbebc;border-radius:3px;color:var(--link);background:white;padding:7px 12px;line-height:1.5}button:hover{background:#f1f3f3}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b88a39;outline-offset:3px}[hidden]{display:none!important}summary{cursor:pointer}::selection{background:#efe1ba}.skip{position:fixed;left:-10000px;top:8px;z-index:100;background:white;padding:10px}.skip:focus{left:12px}
.book-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 30px;background:white;border-top:5px solid var(--accent);border-bottom:1px solid var(--rule);position:fixed;inset:0 0 auto;z-index:30;font-family:var(--sans)}.book-brand{color:var(--accent);line-height:1.4;display:flex;align-items:baseline;gap:20px}.book-brand:hover{text-decoration:none}.book-brand>span{font-size:25px;font-weight:650;letter-spacing:.06em}.book-brand small{font-size:14px;color:#555e60}.book-header nav{display:flex;gap:25px;font-size:14px;white-space:nowrap}.reading-toolbar{height:46px;position:fixed;top:78px;left:0;right:0;z-index:30;display:flex;align-items:center;background:#f5f5f2;border-bottom:1px solid var(--rule);font:13px/1.4 var(--sans)}#toggle-contents{height:45px;border:0;border-right:1px solid var(--rule);border-radius:0;width:var(--sidebar-width);flex-shrink:0;text-align:left;padding:0 26px;background:transparent;color:var(--ink)}#toggle-contents span{margin-left:8px}.toolbar-location{flex:1;padding:0 28px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#print-page{border:0;background:transparent;margin-right:23px;font-size:13px}
.book-sidebar{position:fixed;top:var(--top);bottom:0;left:0;width:var(--sidebar-width);background:var(--sidebar);border-right:1px solid var(--rule);overflow-y:auto;overscroll-behavior:contain;padding:20px 17px 35px;font:13px/1.6 var(--sans);z-index:25;scrollbar-width:thin}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:700;padding:0 8px 13px}.sidebar-heading>a{color:var(--ink)}.close-contents{display:none;border:0;font-size:24px;padding:0 5px}.search-label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin:0 8px 6px}.search-box{position:relative}.search-box input{font-size:12px;width:100%;padding:10px 25px 10px 10px;border:1px solid #c9cec9;border-radius:3px;background:white;color:var(--ink)}#clear-search{position:absolute;right:2px;top:1px;background:transparent;border:0;padding:8px 6px}.search-status{font-size:12px;margin:8px;color:var(--muted)}.search-results{list-style:none;margin:8px 0;padding:0}.search-results li{border-bottom:1px solid var(--rule);padding:12px 7px}.search-results a{display:block;font-size:14px}.search-results p{font-size:12px;margin:5px 0;color:#596168;line-height:1.8;overflow-wrap:anywhere}mark{background:#f9edb3;color:inherit;padding:0 1px}.front-link{display:block;padding:11px 8px;color:var(--ink);font-weight:600}.toc-chapter{border-top:1px solid var(--rule);padding:3px 0}.toc-chapter>summary{font-weight:650;color:#343b3d;padding:9px 5px;list-style:none;display:flex;align-items:baseline;gap:9px}.toc-chapter>summary::after{content:"+";margin-left:auto;color:#888}.toc-chapter[open]>summary::after{content:"−"}.toc-chapter>summary::-webkit-details-marker{display:none}.toc-chapter-number{font-family:Georgia,serif;color:var(--accent);font-size:17px}.toc-chapter ol{list-style:none;padding:0;margin:0 0 9px}.toc-chapter li a{display:flex;gap:9px;padding:7px 9px;color:#454c51;border-left:3px solid transparent;line-height:1.7}.toc-chapter li a:hover{background:#e8eae6;text-decoration:none}.toc-number{width:30px;flex-shrink:0;font-variant-numeric:tabular-nums;color:#727877}.book-sidebar [aria-current=page]{background:#e9dfe0!important;border-left-color:var(--accent)!important;color:#5c1823!important;font-weight:650}.chapter-overview{display:block;margin:0 0 5px;padding:6px 10px 6px 12px;font-size:12px;color:#686f72}.toc-review a,.toc-related a{font-size:12px}.toc-review a{padding-left:15px!important}.toc-back{border-top:1px solid var(--rule);margin-top:7px;padding-top:12px}.toc-back a{display:block;padding:6px 10px}.sidebar-note{font-size:11px;color:#858b8d;padding:20px 8px 0}.sidebar-shade{display:none}
.book-body{margin-left:var(--sidebar-width);padding-top:var(--top)}.book-content{max-width:870px;margin:0 auto;padding:0 45px 40px;min-width:0}.book-content:focus{outline:none}.book-footer{max-width:780px;padding:22px 0 38px;margin:0 auto;border-top:1px solid var(--rule);color:var(--muted);font:12px/1.8 var(--sans)}.page-turn{font-family:var(--sans);display:flex;align-items:flex-start;justify-content:space-between;gap:24px;line-height:1.6}.page-turn a{max-width:47%;display:flex;flex-direction:column;gap:4px;color:#3a606f}.page-turn a[rel=next]{margin-left:auto;text-align:right}.page-turn small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.page-turn.top{padding:18px 0;margin-bottom:24px;border-bottom:1px solid var(--rule);font-size:12px;min-height:65px}.page-turn.top small{display:none}.page-turn.bottom{padding:25px 0 0;margin-top:48px;border-top:1px solid var(--rule);font-size:14px}.breadcrumbs{font-family:var(--sans);display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:30px 0 12px}.section-label{font:12px/1.5 var(--sans);letter-spacing:.1em;color:var(--accent);margin:0 0 10px}.section-header{border-bottom:2px solid var(--accent);padding-bottom:18px;margin:30px 0}.section-header h1{font-size:30px;line-height:1.5;font-weight:700;margin:7px 0 14px}.section-header h1>span{font-family:Georgia,serif;color:var(--accent);font-weight:400;margin-right:8px}.section-intro{font-size:16px;color:#60676a;margin:0;line-height:1.85}.chapter-subtitle{font-size:21px;margin:12px 0 0;color:var(--muted)}.section-tools{display:flex;gap:13px;flex-wrap:wrap;align-items:center;font:12px/1.6 var(--sans);margin:0 0 32px}.section-tools button{font-size:11px;margin-left:auto;padding:4px 8px;border-color:#d6dad6}.lesson-prose p,.chapter-introduction>p{margin:1em 0;text-align:justify;overflow-wrap:break-word}.lesson-prose>h2{font-size:21px;margin:38px 0 17px;line-height:1.65}.section-number{font-family:Georgia,serif;font-weight:400;color:#686f73;margin-right:8px}.permalink{font-size:14px;color:#8b9295;font-family:var(--sans);margin-left:12px;font-weight:400;opacity:.35}.permalink:hover{opacity:1}.book-content h2{font-weight:650;line-height:1.6}.book-content h3{font-size:17px;line-height:1.7}.book-content ul{padding-left:1.6em}.book-content li{margin:.35em 0}math{font-family:"Cambria Math","STIX Two Math",math}math[display=block]{display:block;max-width:100%;overflow-x:auto;padding:14px 0;margin:10px 0}.math.display{overflow-x:auto;display:block}pre{font:13px/1.7 Consolas,"Cascadia Mono",monospace;background:#f3f4f2;padding:18px;overflow-x:auto;border:1px solid var(--rule);border-radius:2px}code{font-family:Consolas,"Cascadia Mono",monospace}.proof-name{font:12px/1.7 var(--sans);overflow-wrap:anywhere;color:var(--muted)}
.statement{background:#f5f4ee;border-left:4px solid #aa9756;margin:34px 0;padding:15px 23px}.statement h3{margin:0 0 10px;color:#655427}.statement p{margin:.8em 0}.knowl{border:1px solid #cbd5db;border-left:3px solid #7394aa;margin:23px 0;border-radius:2px}.knowl>summary{color:#285b7b;background:#f2f6f8;padding:12px 17px;line-height:1.7;font-family:var(--sans);font-size:14px}.knowl>summary span{font-weight:400;color:#586d79;margin-left:12px}.knowl>summary:hover{background:#e9f0f4}.knowl-content{padding:5px 23px 14px;font-size:16px}.knowl-content p{margin:.8em 0}.knowl[open]>summary{border-bottom:1px solid #d7e1e5}.remark{padding:0 20px;border-left:3px solid #b6bdc2;margin:28px 0}.remark h3{margin:0 0 7px;color:#555e65}.remark p{margin:0;font-size:16px}.exercise{border-top:1px solid var(--rule);margin-top:35px;padding-top:16px}.exercise h3{margin:0 0 10px}.exercise>.knowl{margin-top:15px}.solution{border-color:#d6daca;border-left-color:#9aa67b}.solution>summary{background:#f5f7f0;color:#536339}.proof{border-color:#d6cfdc;border-left-color:#9a83a6}.proof>summary{background:#f6f3f8;color:#695375}.original-course{margin-top:35px;border-color:#ddd5ca;border-left-color:#b19a7c}.original-course>summary{background:#f9f7f2;color:#736044}.related-reading{font-size:14px;color:var(--muted);border-top:1px dashed var(--rule);padding-top:15px}.load-video{font-size:14px;background:var(--link);color:white;border-color:var(--link)}.load-video:hover{color:var(--link)}.embed-slot:not(:empty){aspect-ratio:16/9;margin-top:18px}.embed-slot iframe{width:100%;height:100%;border:0}.caption{font:12px/1.85 var(--sans);color:var(--muted)}
.interactive-figure{border:1px solid #c8d3d6;padding:18px 20px;margin:34px 0;background:#fcfdfd}.interactive-figure figcaption{font:15px/1.8 var(--sans);color:#344e5c}.interactive-figure>p{font-size:15px;line-height:1.8;margin:12px 0 17px}.figure-preview{display:block;width:100%;height:auto;margin:10px 0 17px;border:1px solid #e2e7e6}.interactive-controls>summary{background:#e7f0f2;color:#20586b;font:14px/1.7 var(--sans);padding:12px 14px;border:1px solid #cbdcdf}.interactive-figure:has(.interactive-controls[open])>.figure-preview{display:none}.inline-lab{display:block;border:0;width:100%;height:1030px;background:white}.interactive-body{background:white;padding-top:10px}.interactive-body>.caption{padding:0 12px}.animation-details{font:13px/1.8 var(--sans);margin:12px 0}.animation-details>summary{color:var(--link);padding:8px 0}.animation-details video{display:block;width:100%;margin-top:12px;background:#101e31}.page-outline{display:none}
.titlepage{text-align:center;padding:55px 0 45px}.book-kicker{font:12px/1.8 var(--sans);letter-spacing:.12em;color:var(--muted);margin:0 0 30px}.titlepage h1{font-size:47px;letter-spacing:.1em;color:var(--accent);font-weight:600;line-height:1.5;margin:0 0 20px}.book-subtitle{font-size:20px;line-height:1.7;margin:12px 0}.book-edition{font:13px/1.7 Georgia,serif;letter-spacing:.18em;color:#65757c;margin:22px 0}.title-rule{width:85px;border-top:2px solid #b6a16d;margin:30px auto}.book-description{font-size:16px;line-height:2.2;color:#5e676b}.cover-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;align-items:center;margin:32px 0 22px;font:14px/1.8 var(--sans)}.primary-link{display:inline-block;background:var(--accent);color:white;padding:11px 20px;border-radius:2px}.primary-link:hover{background:#5c1823;color:white;text-decoration:none}.edition-note{font:11px/1.8 var(--sans);color:#858b8d;margin-top:25px}.front-section{border-top:1px solid var(--rule);padding:20px 0 28px}.front-section h2{font-size:23px;margin:12px 0 22px}.front-section p{font-size:16px}.chapter-list{list-style:none;margin:0;padding:0}.chapter-list li{margin:0;border-bottom:1px dotted #dedfd9}.chapter-list a{padding:17px 5px;display:grid;grid-template-columns:80px 140px 1fr;align-items:baseline;gap:10px}.chapter-list a:hover{background:#f7f6f2;text-decoration:none}.chapter-list span{font:13px/1.6 var(--sans);color:#7c7370}.chapter-list strong{font-size:18px;color:var(--accent);font-weight:600}.chapter-list small{font-size:13px;color:var(--muted)}.design-credit{font-size:12px!important;color:var(--muted);font-family:var(--sans)}.objectives{background:#f7f7f1;border:1px solid #e0e0d3;padding:17px 23px;margin:30px 0}.objectives h2{font-size:18px;margin:0}.objectives li,.objectives p{font-size:15px}.section-list{padding:0!important;list-style:none;margin:20px 0 32px}.section-list li{margin:0;border-bottom:1px dotted #d8dcda}.section-list a{display:flex;gap:18px;padding:10px 8px;line-height:1.7;font-size:16px}.section-list a:hover{background:#f7f6f2}.section-list a span{min-width:38px;color:#8a6363;font-family:Georgia,serif}.chapter-review{border-top:2px solid #b8a36a;margin-top:45px;padding-top:20px}.chapter-review h2{font-size:22px}.contents-chapter{margin:40px 0}.contents-chapter h2{font-size:23px}
.lab .page-turn{display:none}.lab .section-header{margin-top:40px}.lab-layout{display:block;margin-top:25px}.lab-menu{font-family:var(--sans);display:flex;flex-wrap:wrap;gap:5px 15px;padding-bottom:18px;border-bottom:1px solid var(--rule);font-size:12px}.lab-menu a{padding:4px 8px;border-bottom:2px solid transparent}.lab-menu a[aria-current=true]{color:var(--accent);background:#f3eaeb;border-bottom-color:var(--accent)}.lab-stage{min-width:0}.lab-stage>h2{font-size:24px;margin:28px 0 12px}.lab-stage>#question{font-size:15px}.lab-stage canvas{width:100%;height:auto;display:block;background:#101e31;margin:20px 0 12px}.legend{font:12px/1.8 var(--sans);color:var(--muted)}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 25px;padding:18px 20px;background:#f4f6f4;font:13px/1.7 var(--sans)}.control label{display:flex;justify-content:space-between;gap:10px}.control output{font-variant-numeric:tabular-nums;color:var(--accent)}input[type=range]{width:100%;accent-color:#35738d;margin-top:8px}.actions{display:flex;gap:12px;margin:18px 0;font-size:13px}.actions button:first-child{background:var(--link);color:white;border-color:var(--link)}.actions .secondary{color:#46585e;background:#f4f5f2}.readout{background:#edf4f5;border-left:3px solid #8baab4;font:14px/1.9 var(--sans);padding:15px 18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.lab-note{margin:24px 0;border-left:3px solid #b1a073;padding-left:18px;font-size:14px}.lab-note h3{font-size:15px;margin:0}.lab-note p{margin:8px 0}.lab #lesson-link{font-size:13px}.lab-embedded .book-header,.lab-embedded .reading-toolbar,.lab-embedded .book-sidebar,.lab-embedded .book-footer,.lab-embedded .page-turn,.lab-embedded .lab-intro,.lab-embedded .lab-menu,.lab-embedded .lab-video,.lab-embedded #lesson-link{display:none!important}.lab-embedded body{font-size:15px}.lab-embedded .book-body{margin:0;padding:0}.lab-embedded .book-content{max-width:none;padding:0 10px 10px}.lab-embedded .lab-layout{margin:0}.lab-embedded .lab-stage>h2{font-size:17px;margin:8px 0}.lab-embedded #question{font-size:13px}.lab-embedded .lab-note{margin:15px 0;font-size:13px}.lab-embedded .controls{font-size:12px}.lab-embedded .readout{font-size:13px}
body.contents-hidden .book-sidebar{display:none}body.contents-hidden .book-body{margin-left:0}body.contents-hidden .book-content{max-width:900px}
@media(min-width:1500px){.book-content.lesson{margin-left:6vw;margin-right:250px;max-width:850px}.page-outline{display:block;position:fixed;right:22px;top:165px;width:195px;border-left:1px solid var(--rule);padding-left:19px;font:12px/1.8 var(--sans)}.page-outline h2{font-size:12px;color:var(--muted);margin:0 0 12px}.page-outline a{display:block;margin:9px 0;color:#768086}.page-outline a.active{color:var(--accent);font-weight:600}}
@media(max-width:1050px){:root{--sidebar-width:255px}.book-content{padding-left:30px;padding-right:30px}.book-brand small{display:none}.book-footer{margin:0 30px}.chapter-list a{grid-template-columns:65px 1fr}.chapter-list small{grid-column:2}}
@media(max-width:800px){:root{--top:111px;--sidebar-width:290px}html{scroll-padding-top:130px}.book-header{height:67px;padding:10px 17px}.book-brand>span{font-size:20px;letter-spacing:.02em}.book-header nav{gap:15px;font-size:12px}.reading-toolbar{top:67px;height:44px}#toggle-contents{width:auto;min-width:145px;height:43px;padding:0 16px;font-size:12px}.toolbar-location{font-size:11px;padding:0 14px}#print-page{display:none}.book-sidebar{display:none;width:min(320px,87vw);z-index:50;box-shadow:5px 0 25px #0002}.book-body,body.contents-hidden .book-body{margin-left:0}.book-content{padding:0 21px 25px}.page-turn.top{margin-bottom:16px;padding:13px 0;min-height:54px;font-size:11px}.page-turn.top a{max-width:46%}.book-content h1{font-size:27px}.section-header{margin-top:24px;padding-bottom:17px}.section-label{font-size:11px}.section-intro{font-size:15px}.breadcrumbs{font-size:11px;margin-top:24px}.section-tools{gap:13px;font-size:11px}.section-tools button{margin:0}.lesson-prose{font-size:16px;line-height:2}.lesson-prose>h2{font-size:19px;margin-top:30px}.section-number{font-size:18px}.knowl-content{padding:4px 15px 12px;font-size:15px}.knowl>summary{padding:11px 12px;font-size:13px}.knowl>summary span{margin-left:8px}.statement{padding:14px 17px}.interactive-figure{margin:28px 0;padding:13px 12px}.interactive-figure>p{font-size:14px}.interactive-figure figcaption{font-size:14px}.interactive-controls>summary{font-size:12px;padding:11px}.controls{grid-template-columns:1fr;padding:15px;gap:13px}.lab-embedded .controls{padding:12px}.readout{font-size:13px}.titlepage{padding:35px 0 38px}.titlepage h1{font-size:36px}.book-kicker{font-size:10px;margin-bottom:24px}.book-subtitle{font-size:16px}.book-description{font-size:14px}.cover-actions{font-size:12px;gap:12px}.front-section h2{font-size:21px}.front-section p{font-size:15px}.chapter-list a{grid-template-columns:65px 1fr;padding:13px 4px}.chapter-list strong{font-size:17px}.chapter-list small{font-size:12px}.objectives{padding:15px 18px}.section-list a{font-size:15px;gap:10px}.page-turn.bottom{font-size:12px}.book-footer{margin:0 21px;font-size:11px}.close-contents{display:block}.sidebar-shade{position:fixed;inset:var(--top) 0 0;background:#0005;z-index:40}body.mobile-contents .book-sidebar{display:block}body.mobile-contents .sidebar-shade{display:block}body.mobile-contents{overflow:hidden}body.contents-hidden.mobile-contents .book-sidebar{display:block}.lab-embedded .book-content{padding:0 4px 8px}.lab-embedded .readout{padding:12px}.lab-embedded .lab-stage canvas{margin-top:12px}.lab-embedded .lab-note{padding-left:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{html{scroll-padding:0}body{font-size:11pt;color:#000;line-height:1.65}.book-header,.reading-toolbar,.book-sidebar,.sidebar-shade,.page-turn,.page-outline,.section-tools,.cover-actions,.load-video,.embed-slot,.interactive-controls,.animation-details,.permalink{display:none!important}.book-body{padding:0;margin:0}.book-content,.book-content.lesson{padding:0;max-width:none;margin:0}.book-footer{margin-top:25px}.knowl{break-inside:avoid}.knowl>summary{background:none}.knowl-content{font-size:10pt}.figure-preview{display:block!important;max-width:75%;margin:auto}.interactive-figure{break-inside:avoid;background:none}.section-header{break-after:avoid}.statement{background:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:9pt}.titlepage{padding:40px 0}.book-content h1{font-size:24pt}}
