
:root{--ink:#202937;--blue:#2065ac;--green:#137b58;--red:#b72f44;--purple:#7849a4;--muted:#566373}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f3f5;color:var(--ink);font:19px/1.85 SimSun,'Songti SC',serif}
a{color:var(--blue);text-underline-offset:4px}h1,h2,h3,.part-title,.label{font-family:KaiTi,STKaiti,serif;font-weight:400;line-height:1.5}
h1{font-size:34px;margin:10px 0 20px}h2{font-size:29px;margin:8px 0 18px}h3{font-size:24px}.label{font-size:17px;color:var(--purple)}
.wrap{max-width:1080px;margin:32px auto;padding:0 22px}.cover,.paper{background:white;border:1px solid #dce2e8;padding:38px 48px;margin-bottom:25px;border-radius:8px}
.paper{scroll-margin-top:16px}.book-title{color:var(--muted);font-size:15px;border-bottom:1px solid #dce2e8;padding-bottom:10px;margin-bottom:14px}
.page-count{float:right}.conditions{padding:12px 17px;border-left:3px solid var(--blue);background:#f5f8fc;margin:18px 0;font-size:18px}
.conditions p{margin:6px 0}.goal{border-left:3px solid var(--red);padding:4px 14px;margin-bottom:24px}.part{margin:20px 0 28px;break-inside:avoid}
.part-title{color:var(--purple);font-size:24px;padding-bottom:7px;border-bottom:1px solid #e5e6ec;margin-bottom:12px}.part-index{display:inline-block;color:var(--blue);margin-right:8px}
.row{margin:10px 0}.text{font-size:18px;line-height:1.9}.arrow{font:18px/1.8 KaiTi,STKaiti,serif;color:var(--muted);padding-left:8px}.arrow:before{content:'↓';color:var(--blue);font:27px/1 serif;margin-right:15px}
.math{font-size:22px;overflow-x:auto;overflow-y:hidden;padding:7px 10px}.katex-display{margin:0;text-align:left}.katex-display>.katex{text-align:left;white-space:nowrap}
.katex .cjk_fallback{font-family:SimSun,'Songti SC',serif}.tone-blue{color:var(--blue)}.tone-green{color:var(--green)}.tone-red{color:var(--red)}.tone-purple{color:var(--purple)}
.math-ring{display:inline-block;border:1.5px solid currentColor;border-radius:999px;padding:4px 8px;margin:0 4px}.sources{margin-top:24px;border-top:1px solid #dce2e8;padding-top:14px;font-size:15px}
.sources summary{cursor:pointer;font-family:KaiTi,serif;font-size:20px;color:var(--blue)}.sources ul{padding-left:20px}.toc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.toc a{display:block;border:1px solid #dce2e8;padding:12px 15px;text-decoration:none;font-size:18px}.toc a:hover{background:#f5f8fc}.muted{color:var(--muted);font-size:16px}
.links{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.back{display:block;margin:18px 0}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:17px}.legend span{border-bottom:2px solid currentColor}
.book .cover{break-after:page}.index-only .toc{grid-template-columns:1fr 1fr}.print-button{border:1px solid #bbc8d6;background:white;color:var(--blue);padding:8px 14px;font:18px KaiTi,serif;cursor:pointer}
@media(max-width:700px){.wrap{margin:12px auto;padding:0 9px}.cover,.paper{padding:23px 18px}h1{font-size:28px}h2{font-size:25px}.part-title{font-size:22px}.math{font-size:20px}.text{font-size:18px}.conditions{font-size:17px}.toc,.index-only .toc{grid-template-columns:1fr}.page-count{float:none;display:block}}
@media print{@page{size:A4;margin:12mm 12mm 14mm}body{background:white;font-size:12pt;line-height:1.6}.wrap{max-width:none;margin:0;padding:0}.cover,.paper{border:0;border-radius:0;margin:0;padding:0;break-after:page}.paper:last-child{break-after:auto}.book-title{font-size:9pt;margin-bottom:7px;padding-bottom:5px}h1{font-size:24pt}h2{font-size:18pt;margin:7px 0 10px}.conditions{font-size:10.5pt;margin:8px 0;padding:5px 10px}.goal{margin:8px 0 14px}.part{margin:12px 0 15px}.part-title{font-size:14pt;margin-bottom:6px;padding-bottom:4px}.row{margin:5px 0}.math{font-size:14pt;padding:5px 7px;overflow:visible}.text{font-size:11.5pt;line-height:1.7}.arrow{font-size:11pt}.arrow:before{font-size:17pt}.sources{font-size:9pt;margin:12px 0 0}.sources summary{font-size:11pt}.sources details:not([open])>ul{display:none}.toc{gap:6px}.toc a{font-size:10pt;padding:5px 8px}.muted{font-size:9pt}.links,.back,.print-button,.screen-only{display:none}.legend{font-size:10pt}a{color:inherit}.katex{white-space:nowrap}}
