
:root{
  --paper:#f8f5ef;--surface:#fffcf7;--ink:#293438;--body:#303538;--muted:#6f7779;
  --gold:#a4772d;--gold-lite:#dfc7a0;--rule:#e2ddd3;--law:#c1531b;--view:#215faa;--tool:#187042;
  --serif:"Noto Serif TC","Source Han Serif TC","Songti TC","PMingLiU",serif;
  --sans:"Microsoft JhengHei","Noto Sans TC","PingFang TC",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans)}
a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
header.site-header{position:sticky;top:0;z-index:10;background:rgba(255,252,247,.96);border-bottom:1px solid var(--rule);backdrop-filter:blur(12px)}
.header-inner{max-width:1240px;min-height:66px;padding:10px 26px;margin:0 auto;display:flex;align-items:center;gap:20px;justify-content:space-between}
.brand{font-family:var(--serif);font-size:1.2rem;font-weight:800;letter-spacing:.08em;text-decoration:none;color:#4e4130;white-space:nowrap}
.brand em{font-style:normal;color:var(--gold)}.head-links{display:flex;gap:18px;align-items:center}.head-links a{font-size:.92rem;color:#536168;text-decoration:none}.head-links a:hover{text-decoration:underline;text-underline-offset:5px}
.top-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:64px;padding:50px 35px 95px}
.article{min-width:0;max-width:780px;width:100%;margin:0 auto}
.chapter-meta{font-size:.84rem;letter-spacing:.15em;color:var(--gold);font-weight:700}
h1.page-title{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);line-height:1.38;font-weight:700;letter-spacing:.035em;color:#9b742f;margin:17px 0 30px}
.mini-line{width:74px;height:2px;background:var(--gold-lite);margin:0 0 45px}
.prose{font-family:var(--sans);font-size:clamp(1.05rem,1.45vw,1.13rem);line-height:2.05;letter-spacing:.018em;color:var(--body);}
.prose p{margin:0 0 .35em;overflow-wrap:anywhere}
.prose p.blockquote{padding:9px 0 9px 21px;margin:15px 0;color:#5a6060;border-left:3px solid var(--gold-lite)}
.prose p.dialogue{margin-left:.75em}
.prose .breather{height:.72em}
.prose figure{margin:39px auto 38px;text-align:center;max-width:100%}
.prose figure img{display:block;max-width:100%;width:auto;height:auto;max-height:900px;object-fit:contain;margin:0 auto;border-radius:7px;border:1px solid #e5e9e8;background:#fff}
.prose figure figcaption{font-family:var(--sans);font-size:.77rem;color:var(--muted);padding:10px 0 0;letter-spacing:.015em}
.prose .end-question{font-family:var(--serif);font-size:1.12rem;color:#7c632e;margin:34px 0 20px;padding:18px 22px;border-left:3px solid var(--gold-lite);background:#fbf5e9}
aside.toc-side{align-self:start;position:sticky;top:96px;max-height:calc(100vh - 124px);overflow:auto;scrollbar-width:thin;border-left:1px solid var(--rule);padding-left:20px}
.side-title{font-size:.8rem;letter-spacing:.12em;color:#977b4b;margin-bottom:14px}
.side-list{list-style:none;margin:0;padding:0}.side-list li{margin:0 0 7px}.side-list a{font-size:.82rem;line-height:1.55;color:#657074;text-decoration:none;display:block;padding:5px 8px;border-radius:6px}
.side-list a:hover,.side-list a.active{color:#704e20;background:#f4ead7}.side-list a.active{font-weight:700}
.chapter-nav{border-top:1px solid var(--rule);margin:70px 0 0;padding:22px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;font-size:.86rem}
.chapter-nav a{text-decoration:none;color:#89632e;padding:10px 0;line-height:1.5}.chapter-nav a:hover{text-decoration:underline;text-underline-offset:5px}.chapter-nav .center{text-align:center}.chapter-nav .right{text-align:right}
.reader-footer{max-width:1240px;margin:0 auto;padding:20px 35px 42px;font-size:.8rem;color:#83837f;border-top:1px solid var(--rule);display:flex;gap:12px;justify-content:space-between}
.hero{max-width:1040px;margin:0 auto;padding:74px 28px 32px;text-align:center}.eyebrow{font-size:.85rem;letter-spacing:.16em;color:#956f36}.hero h1{font-family:var(--serif);font-size:clamp(2.7rem,6vw,4.5rem);font-weight:750;letter-spacing:.13em;color:#785d31;margin:15px 0 10px}.hero .lede{line-height:2.0;color:#657074;font-size:1.02rem;max-width:720px;margin:22px auto}.hero .divider{height:1px;width:82px;background:#a98a4c;margin:36px auto 20px}
.contents{max-width:1040px;margin:0 auto 75px;padding:0 28px}.toc-head{display:flex;gap:20px;justify-content:space-between;align-items:baseline;margin-bottom:26px;padding-bottom:15px;border-bottom:1px solid var(--rule)}
.toc-head h2{font-family:var(--serif);font-size:1.7rem;color:var(--gold);margin:0}.toc-head span{color:#798184;font-size:.85rem}
.toc-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}.chapter-card{display:flex;gap:13px;align-items:baseline;padding:17px 20px;background:#fffcf7;border:1px solid #e8e0d2;text-decoration:none;border-radius:12px;transition:transform .12s ease, box-shadow .12s ease,border-color .12s}
.chapter-card:hover{transform:translateY(-2px);border-color:#ceaa72;box-shadow:0 9px 25px #654c2220}.chapter-number{font-family:var(--serif);color:#9d7b47;font-size:.86rem;font-weight:700;min-width:3.5em}.chapter-name{font-size:1.03rem;line-height:1.55;color:#334048}
.footnote{color:#808b8e;font-size:.86rem;line-height:1.8;margin-top:25px}.card-extra{border-style:dashed;border-color:#c5b798}
.term{border:0;background:transparent;padding:0 1px;display:inline;color:var(--term-color);font-weight:700;cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--term-color),transparent 48%);text-underline-offset:5px}
.term.law{--term-color:var(--law)}.term.view{--term-color:var(--view)}.term.tool{--term-color:var(--tool)}
.term:focus-visible{outline:2px solid #bd994c;outline-offset:3px;border-radius:2px}
.glossary-tip{position:fixed;z-index:51;width:min(356px,calc(100vw - 30px));background:#fffefb;border:1px solid #ded6c9;border-radius:15px;box-shadow:0 12px 38px #19232834;padding:18px 20px;display:none;color:var(--ink);line-height:1.65}
.glossary-tip.open{display:block}.glossary-tip .category{font-size:.78rem;letter-spacing:.05em;font-weight:700}
.glossary-tip .category.law{color:var(--law)}.glossary-tip .category.view{color:var(--view)}.glossary-tip .category.tool{color:var(--tool)}
.glossary-tip .word{font-size:1.25rem;font-weight:760;margin:1px 0 6px}.glossary-tip p{margin:3px 0 8px;font-size:.91rem}.glossary-tip a{color:#865f24;text-decoration:underline;text-underline-offset:4px;font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.glossary-tip button.dismiss{position:absolute;right:10px;top:9px;background:transparent;border:0;color:#797f80;cursor:pointer;font-size:1.15rem;padding:5px 10px}
.appendix-wrap{max-width:1110px;margin:0 auto;padding:52px 35px 75px}.appendix-title{font:700 clamp(1.9rem,4vw,2.65rem) var(--serif);color:#9c752e;margin:12px 0 26px}
.appendix-intro{max-width:790px;line-height:1.95;color:#516066}.appendix-figure{margin:25px 0 40px;max-width:100%;overflow:auto;padding:8px;border:1px solid var(--rule);border-radius:12px;background:white}.appendix-figure img{width:100%;min-width:650px;height:auto;display:block}
.appendix-wrap h2{font:700 1.55rem var(--serif);color:#8d662f;border-bottom:1px solid var(--rule);padding:35px 0 17px}
.appendix-wrap h3{font-size:1.17rem;color:#5b5750;margin:25px 0 13px}
.glossary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.glossary-card{border:1px solid #e4e2db;border-radius:13px;background:#fff;padding:18px 22px;scroll-margin-top:92px}
.glossary-card:target{border-color:#ab864d;box-shadow:0 0 0 3px #e9d7b4}
.glossary-card h4{margin:0 0 9px;color:var(--title-color);font-size:1.2rem}.glossary-card p{font-size:.91rem;line-height:1.8;margin:6px 0;color:#485559}
.glossary-card.law{--title-color:var(--law);border-left:4px solid var(--law)}.glossary-card.view{--title-color:var(--view);border-left:4px solid var(--view)}.glossary-card.tool{--title-color:var(--tool);border-left:4px solid var(--tool)}
.glossary-card small{color:#849093}.appendix-group{margin:28px 0 40px}.back-toc{display:inline-block;text-decoration:none;color:#89612d;font-weight:700;padding:8px 15px;border:1px solid #d5ba8d;border-radius:30px;margin-bottom:10px}.back-toc:hover{background:#faf3e6}
.reading-progress{position:fixed;top:66px;left:0;height:2px;width:0;background:#b28c4f;z-index:15;pointer-events:none;transition:width .1s linear}
@media(max-width:850px){.top-grid{display:block;padding:30px 28px 70px}aside.toc-side{display:none}.reader-footer{padding:20px 28px 34px}.glossary-cards{grid-template-columns:1fr}}
@media(max-width:640px){.head-links{gap:11px}.header-inner{padding:8px 18px;min-height:60px}.brand{font-size:1.02rem}.head-links a{font-size:.84rem}.reading-progress{top:60px}.hero{padding:45px 17px 20px}.contents{padding:0 15px}.toc-grid{grid-template-columns:1fr;gap:9px}.chapter-card{padding:14px 16px}.top-grid{padding:28px 17px 60px}.prose{font-size:1.03rem;line-height:1.96}.prose figure{margin:30px auto}.appendix-wrap{padding:28px 18px}.appendix-figure img{min-width:760px}.chapter-nav{grid-template-columns:1fr 1fr 1fr;font-size:.75rem}.reader-footer{padding:18px 17px}.glossary-tip{bottom:15px!important;top:auto!important;left:15px!important;width:calc(100vw - 30px);max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter-card{transition:none}}


/* V2: Full-book navigation and dark-gold calligraphic hierarchy.
   No fonts are bundled. Local Xingkai/Kaiti preferred, graceful local fallback. */
:root{
 --gold-ink:#815414;
 --gold-calligraphy:#815414;
 --gold-subtitle:#895c1b;
 --xing-font:"華文行楷","STXingkai","FZXingKai-S04S","方正行楷_GBK","文鼎行楷","DFXingKai","AR PL KaitiM Big5","DFKai-SB","BiauKai","標楷體",serif;
 --kai-font:"標楷體","DFKai-SB","BiauKai","KaiTi","Kaiti TC","AR PL KaitiM Big5",serif;
}
/* MAIN: running-hand script, deeply saturated gold */
h1.page-title,.hero h1,.appendix-title{
 font-family:var(--xing-font)!important;
 color:var(--gold-calligraphy)!important;
 font-weight:800!important;
 letter-spacing:.04em;
 text-shadow:.35px 0 currentColor;
}
/* SECONDARY: Kaiti, including quotes/dialogues and index title */
.toc-head h2,.appendix-wrap h2,.appendix-wrap h3,
.prose h2,.prose h3,.prose blockquote,.prose p.blockquote,
.prose p.dialogue,.prose q{
 font-family:var(--kai-font)!important;
 color:var(--gold-subtitle)!important;
 font-weight:600;
}
.prose blockquote,.prose p.blockquote{
 background:#fcf6e9;
 border-left:3px solid #ba9a55;
 padding:12px 18px;
 line-height:1.95;
}
.prose p.dialogue{font-size:1.02em;letter-spacing:.018em}
/* Consistent appendix split layout with chapter pages; fixed right-hand contents */
.top-grid .appendix-wrap{max-width:780px;width:100%;padding:0;margin:0 auto;min-width:0}
.top-grid .appendix-wrap .appendix-intro{max-width:100%}
.top-grid .appendix-wrap .appendix-figure img{min-width:0;width:100%;height:auto}
.top-grid .appendix-wrap .glossary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.top-grid .appendix-wrap .glossary-card{padding:16px 17px}
.top-grid .appendix-wrap .glossary-card h4{font-family:var(--kai-font);font-weight:700}
/* Front page reading progression */
.toc-next{margin:30px 0 0;padding:20px 22px;border-top:1px solid var(--rule);
 display:flex;gap:25px;align-items:center;justify-content:space-between;
 background:linear-gradient(90deg,#faf2e3 0%,#fffcf7 100%);border-radius:12px;}
.toc-next-eyebrow{font-family:var(--kai-font);font-size:1.1rem;color:var(--gold-subtitle);font-weight:700}
.toc-next p{margin:6px 0 0;font-size:.87rem;color:#6f7779;line-height:1.6}
.toc-next-link{font-family:var(--kai-font);font-weight:700;font-size:1.08rem;color:var(--gold-ink);
 text-decoration:none;display:inline-flex;align-items:center;gap:9px;line-height:1.5;
 padding:12px 18px;border:1px solid #b99b62;border-radius:10px;background:#fffefb;
 white-space:normal;max-width:100%;}
.toc-next-link:hover{background:#f4e9d1;box-shadow:0 4px 16px #6d55201f}
.toc-next-link:focus-visible{outline:3px solid #7d5a22;outline-offset:3px}
.mobile-toc{display:none}
@media(max-width:850px){
 .top-grid .appendix-wrap .glossary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-toc{display:block;margin:22px 28px 0;border:1px solid #d9c8a6;border-radius:12px;background:#fffcf7;}
 .mobile-toc>summary{cursor:pointer;list-style:none;font-weight:700;color:var(--gold-ink);
  padding:13px 17px;display:flex;justify-content:space-between;align-items:center;}
 .mobile-toc>summary::-webkit-details-marker{display:none}
 .mobile-toc[open]>summary span{transform:rotate(180deg)}
 .mobile-chapter-list{padding:5px 12px 16px;max-height:50vh;overflow:auto;border-top:1px solid var(--rule)}
 .mobile-chapter-list .side-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 9px}
 .mobile-chapter-list .side-list a{font-size:.86rem}
}
@media(max-width:640px){
 .toc-next{display:block;padding:17px 18px}
 .toc-next-link{display:flex;justify-content:space-between;margin-top:16px;font-size:1rem}
 .mobile-toc{margin:17px 17px 0}
 .mobile-chapter-list .side-list{grid-template-columns:1fr}
 .top-grid .appendix-wrap .glossary-cards{grid-template-columns:1fr}
}
/* Keep the zoomable original diagram on narrow phones instead of forcing tiny text. */
@media(max-width:640px){
 .top-grid .appendix-wrap .appendix-figure img{min-width:760px;width:100%}
}

.chapter-meta{display:none!important}
.appendix-note-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.glossary-card.note h4{color:var(--gold-deep);font-size:1.12rem;margin-bottom:10px}
.glossary-card.note a{word-break:break-all}
.appendix-note-group h2{margin-bottom:18px}

/* V3.2 Appendix B: numbered sections in one comfortable reading column. */
.appendix-publication-group{max-width:800px;margin:28px 0 44px}
.publication-list{list-style:none;counter-reset:publication;display:flex;flex-direction:column;gap:21px;margin:0;padding:0}
.publication-item{counter-increment:publication;position:relative;display:block;width:100%;background:#fffcf7;border:1px solid var(--rule);border-radius:15px;padding:20px 27px 24px 76px;box-shadow:0 4px 20px rgba(74,54,25,.035)}
.publication-item:before{content:counter(publication,decimal-leading-zero);position:absolute;top:24px;left:27px;color:#946318;font-family:var(--serif);font-size:1.18rem;font-weight:800;line-height:1.2}
.appendix-wrap .publication-item h2{border:0;padding:0;margin:0 0 13px;color:#815414;font-size:1.3rem}
.publication-item p{color:#47525a;font-size:1rem;line-height:1.85;overflow-wrap:anywhere;margin:7px 0}
.publication-item strong{color:#4e4840}
.publication-item a{color:#815414;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.publication-item a:hover,.publication-item a:focus-visible{color:#a35b19}
.publication-citation{margin-top:14px!important;padding:11px 15px;border-radius:7px;background:#f6f1e8}
@media(max-width:640px){.publication-item{padding:54px 19px 22px}.publication-item:before{top:18px;left:19px}}
