/* Designer content-area styles (scoped to .dsec) */
.dsec{--col:760px;--fs:18.5px;--g:16px;max-width:var(--col);margin:0 auto;padding:44px 0 52px;position:relative;border-bottom:1px solid #c9a45c40;font:400 var(--fs)/1.9 "Noto Serif TC","BookSupp",serif;color:#2b231d;text-align:left;writing-mode:horizontal-tb}
.dsec h2{font-size:24px;font-weight:900;letter-spacing:.3em;margin:0 0 24px;line-height:1.5;color:#2b231d}
.dsec h2 small{font-size:16px;font-weight:400;letter-spacing:.08em;color:#6b5d50}
.dsec .dcov{font-size:40px;letter-spacing:.5em;text-align:center;margin:24px 0 8px}.dsec .dcovd{text-align:center;letter-spacing:.2em;color:#6b5d50;margin:0}
.dsec .prose p{margin:0 0 1em;text-indent:2em;text-align:justify}.dsec .prose .sig{text-align:right;text-indent:0;margin-top:1.6em}
.dsec .list p{margin:0;white-space:pre}
.dsec .grid{display:grid;gap:28px var(--g)}.dsec .g2{grid-template-columns:1fr 1fr}.dsec .g1{max-width:480px;margin:0 auto}
.dsec figure{margin:0}.dsec .ph{aspect-ratio:3/2;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px #0000001a,0 4px 12px -6px #0000003a;background:#d6cec4}
.dsec .ph img{width:100%;height:100%;object-fit:cover;display:block;max-width:none;max-height:none}
.dsec .map .ph{aspect-ratio:auto}.dsec .map img{height:auto}
.dsec .solo{grid-column:1/-1;width:calc(50% - var(--g)/2);justify-self:center}
.dsec figcaption{font-size:15px;letter-spacing:.1em;color:#3d332b;text-align:center;margin-top:8px;line-height:1.7}
.dsec .dfolio{position:absolute;right:0;bottom:14px;font-size:12px;color:#9a8b7c;letter-spacing:.1em}
@media(max-width:820px){.dsec{--fs:17px;padding:32px 0 44px}.dsec h2{font-size:20px}.dsec .g2{gap:20px 10px}.dsec figcaption{font-size:13px;letter-spacing:.04em}.dsec .solo{width:100%}.dsec .list p{font-size:14.5px}}
@media(max-width:420px){.dsec .g2{grid-template-columns:1fr}}
.dsec{scroll-margin-top:var(--stick,72px)}
/* Header aligned to current tree site (mock-v4-g1617/index.html): flat #e2dcd5 header, toolbar-style pill button */
.site-header{background:#e2dcd5!important;background-image:none!important}
.site-header .langtg{background:transparent!important;border:1px solid #2a2622!important;color:#1a1a1a!important;box-shadow:none!important;font-family:BrushKai,"Segoe UI","PingFang TC",sans-serif!important;font-weight:700;font-size:12.8px!important;height:28px!important}

@media (hover:hover) and (pointer:fine){.site-header .langtg:hover{background:#d6cec3!important;border-color:#1a1a1a!important}}
@media(max-width:820px){.site-header .langtg{font-size:11.5px!important;height:24px!important}}
/* navfont variant: horizontal serif sidebar per Bill's reference */
@media(min-width:901px){
:root,html,body{--rail-w:var(--nav-w,320px)!important}
.sidein{align-items:stretch!important;padding:28px 0 20px!important}
.nav{width:100%!important;align-items:stretch!important;justify-content:flex-start!important;overflow-y:auto!important;padding:0 20px 0 32px}
.nav a{justify-content:flex-start!important;text-align:left!important;width:auto!important;padding:0!important;border:0!important;background:none!important;font:400 15.5px/2.2 "Noto Serif TC","Noto Serif CJK TC","BookSupp",serif!important;color:#2a2622!important;letter-spacing:.08em!important;white-space:nowrap!important}
.nav a .lbl{max-width:none!important;white-space:nowrap!important;line-height:2.2!important;background:none!important;color:inherit!important;padding:0!important;font:inherit!important;letter-spacing:inherit!important}

@media (hover:hover) and (pointer:fine){.nav a:hover{color:#8f4a42!important}}
.nav a.on{color:#8f4a42!important;font-weight:600!important;letter-spacing:.5em!important;background:none!important;filter:none!important}
.nav a.on .lbl,.nav a.on .zh{background:none!important;color:#8f4a42!important;filter:none!important;box-shadow:none!important;border:0!important}
}
@media(max-width:900px){
.mtop a,.mtop button,.mt{font-family:"Noto Serif TC","Noto Serif CJK TC","BookSupp",serif!important;color:#2a2622;letter-spacing:.08em}
.mtop .on,.mtop a.on{color:#8f4a42!important}
.mdrop a{font:400 16px/2.2 "Noto Serif TC","Noto Serif CJK TC","BookSupp",serif!important;color:#2a2622!important;letter-spacing:.08em!important}
.mdrop a.on{color:#8f4a42!important;letter-spacing:.3em!important;background:none!important}
}
/* navfont v2: 240px rail, wrapping with hanging indent */
@media(min-width:901px){
:root,html,body{--rail-w:240px!important}
.nav{padding:0 14px 0 22px!important}
.nav a{white-space:normal!important;line-height:1.5!important;padding:.35em 0!important}
.nav a .lbl{display:block!important;white-space:normal!important;line-height:1.5!important;padding-left:1em!important;text-indent:-1em!important}
}
/* sliding pill language switch */
.site-header .langtg{all:unset;box-sizing:border-box;margin-left:auto;display:inline-flex!important;align-items:center;gap:8px;height:28px!important;cursor:pointer;font:600 13.5px/1 "Noto Serif TC","Noto Serif CJK TC","BookSupp",serif!important;background:none!important;border:0!important}
.site-header .langtg>span.lz,.site-header .langtg>span.le{all:unset;color:#a39a90;letter-spacing:.06em;transition:color .2s}
html:not([data-lang=en]) .site-header .langtg .lz,html[data-lang=en] .site-header .langtg .le{color:#2a2622!important;background:none!important}
.lt-track{position:relative;display:block;width:48px;height:24px;border-radius:999px;border:1px solid #2a2622b3;background:#d9d1c7;box-shadow:inset 0 1.5px 3px #00000030,inset 0 -1px 0 #ffffff80;box-sizing:border-box}
.lt-knob{position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffdf8,#f1e9dc 70%,#e4d9c9);box-shadow:0 1px 3px #0000004d,0 0 0 .5px #00000026;transition:transform .2s ease}
.lt-seal{position:absolute;top:50%;width:14px;height:14px;margin-top:-7px;right:5px;border-radius:2px;background:#8f4a42;color:#f3ece2;font:700 9.5px/14px "Noto Serif TC","Noto Serif CJK TC",serif;text-align:center;transition:right .2s ease,left .2s ease}
html[data-lang=en] .lt-knob{transform:translateX(24px)}
html[data-lang=en] .lt-seal{right:29px}
.site-header .langtg:focus-visible .lt-track{outline:2px solid #8f4a42;outline-offset:2px}

@media (hover:hover) and (pointer:fine){.site-header .langtg:hover .lt-track{border-color:#2a2622}}
@media(max-width:820px){.site-header .langtg{height:24px!important;gap:6px;font-size:12px!important}.lt-track{width:42px;height:22px}.lt-knob{width:18px;height:18px}html[data-lang=en] .lt-knob{transform:translateX(20px)}.lt-seal{width:12px;height:12px;margin-top:-6px;font-size:8.5px;line-height:12px;right:4px}html[data-lang=en] .lt-seal{right:25px}}
@media(prefers-reduced-motion:reduce){.lt-knob,.lt-seal{transition:none}}
.site-header .langtg .lt-track,.site-header .langtg .lt-track span{padding:0!important;color:inherit}
.site-header .langtg .lt-knob{border-radius:50%!important;background:radial-gradient(circle at 35% 30%,#fffdf8,#f1e9dc 70%,#e4d9c9)!important}
.site-header .langtg .lt-seal{border-radius:2px!important;background:#8f4a42!important;color:#f3ece2!important}
.site-header .langtg .lt-track{border-radius:999px!important}
/* === toggle v3: flag pill (reference-faithful) === */
.site-header .langtg{gap:10px!important}
.site-header .langtg>span.le{font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;font-weight:500!important;font-size:13px!important;letter-spacing:.01em!important}
.site-header .langtg>span.lz{font-size:14px!important;font-weight:700!important;letter-spacing:.04em!important}
.site-header .langtg .lt-track{width:56px!important;height:28px!important;border:0!important;background:#ebe6e0!important;overflow:hidden;box-shadow:inset 2px 2px 4px #0000002e,inset -2px -2px 4px #ffffffb3,0 0 0 2px #f4f0eb,0 2px 6px #00000014!important}
.site-header .langtg .lt-flag{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:999px;transition:opacity .2s ease}
.site-header .langtg .lt-us{opacity:0}
html[data-lang=en] .site-header .langtg .lt-us{opacity:1}
html[data-lang=en] .site-header .langtg .lt-roc{opacity:0}
.site-header .langtg .lt-track::after{content:"";position:absolute;inset:0;border-radius:999px;box-shadow:inset 1.5px 1.5px 3px #00000040;pointer-events:none}
.site-header .langtg .lt-knob{z-index:2;top:2px!important;left:2px!important;width:24px!important;height:24px!important;background:radial-gradient(circle at 40% 35%,#fff,#f6f6f6 60%,#e9e9e9)!important;box-shadow:0 2px 5px #00000047,0 0 0 .5px #0000001f!important}
html[data-lang=en] .site-header .langtg .lt-knob{transform:translateX(28px)!important}
@media(max-width:820px){.site-header .langtg{gap:7px!important}.site-header .langtg .lt-track{width:46px!important;height:23px!important}.site-header .langtg .lt-knob{width:19px!important;height:19px!important}html[data-lang=en] .site-header .langtg .lt-knob{transform:translateX(23px)!important}.site-header .langtg>span.lz{font-size:12.5px!important}.site-header .langtg>span.le{font-size:11.5px!important}}

/* === nav v3: calm serif list === */
@media(min-width:901px){
.sidein{border-right:1px solid #2a26221f!important;padding:30px 0 40px!important}
.sidein::before{display:none!important}
.nav{padding:0 16px 0 26px!important;gap:0!important}
.nav a{position:relative;font-size:15px!important;letter-spacing:.06em!important;padding:6px 0 6px 0!important;line-height:1.5!important;color:#3a332d!important}
.nav a .lbl{padding-left:1.1em!important;text-indent:-1.1em!important}
.nav a.on{letter-spacing:.06em!important;font-weight:600!important;color:#8f4a42!important}
.nav a.on::before{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#8f4a42}

@media (hover:hover) and (pointer:fine){.nav a:hover{color:#8f4a42!important}}
.nav a.grp{margin-top:14px}
.nav a.grp::after{content:"";position:absolute;left:0;top:-7px;width:28px;height:1px;background:#8f4a4255}
.nav .ndv{display:flex;align-items:center;gap:8px;margin:16px 0 4px;color:#8f4a42;font:600 12px/1.5 "Noto Serif TC","Noto Serif CJK TC",serif;letter-spacing:.3em}
.nav .ndv::after{content:"";flex:1;height:1px;background:#8f4a4240}
}
@media(min-width:901px){html body .side .sidein::before,html body .side .sidein::after{content:none!important;display:none!important;background:none!important}}
/* flag sits beside the knob (reference): ROC on the right when 中文, US on the left when English; cantons stay visible */
.site-header .langtg .lt-flag{transition:opacity .2s ease,left .2s ease,right .2s ease}
.site-header .langtg .lt-roc{left:14px!important;right:0!important;width:auto!important;border-radius:0 999px 999px 0}
.site-header .langtg .lt-us{left:0!important;right:14px!important;width:auto!important;border-radius:999px 0 0 999px}
@media(min-width:901px){html body .side .sidein{box-shadow:inset -1px 0 0 #2a262259!important;border-right:0!important}}
/* header: exact match to current tree (mock-v4-g1617) metrics */
.site-header h1{gap:.6rem!important}
.site-header h1 .home{display:inline-flex;align-items:center;gap:.6rem}
.site-header .title-text{line-height:34.04px!important}
@media(max-width:700px){.site-header{padding-left:.6rem!important;padding-right:.6rem!important}.site-header h1,.site-header h1 .home{gap:.35rem!important}.site-header .title-text{line-height:22.08px!important}}
@media(min-width:701px){.site-header{min-height:62.1875px}}
@media(max-width:700px){:root{--hd-h:43.78px!important}}
@media(max-width:700px){.site-header h1{height:30px;line-height:22.08px}.site-header h1 .home{height:30px}}
/* ===== v6: whole-book sections (pp.11–191) ===== */
.dsec h3{font-size:20px;font-weight:900;letter-spacing:.12em;margin:1.6em 0 .7em;line-height:1.6;color:#2b231d}
.dsec h2 .pgm,.dsec h3 .pgm{font-weight:400}
.dsec.dsx>p{margin:0 0 1em;text-indent:2em;text-align:justify}
.dsec.dsx>p.rec,.dsec.dsx>p.one{text-indent:0;text-align:left}
.dsec.dsx>p.rec .zh{white-space:pre-wrap}
.dsec .pgm{font-size:11px;color:#9a8670;letter-spacing:.05em;margin-right:.4em;text-indent:0;display:inline-block;vertical-align:.12em;scroll-margin-top:var(--stick,72px)}
.dsec p.pgline{margin:0 0 6px;text-indent:0!important}
.dsec .alias{display:block;height:0;scroll-margin-top:var(--stick,72px)}
.dsec .grid{margin:12px 0 28px}
.dsec .g3{grid-template-columns:repeat(3,1fr)}
.dsec .ph.po{aspect-ratio:3/4}
.dsec .ph.po img{object-position:50% 20%}
.dsec .scanw{max-width:560px}
.dsec .gcap{margin:-12px 0 24px;text-align:center;font-size:15px;letter-spacing:.06em;color:#3d332b;line-height:1.7}
.dsec .gcap p{margin:0}
.dsec .bcw{overflow-x:auto;margin:8px 0 12px;display:flex;justify-content:center}
.dsec .bchart{display:block;width:min(100%,calc(var(--vw) * .68px));height:auto;max-width:none;min-height:0;flex:none}
.dsec .bpoem{text-align:center;margin:8px 0 16px}.dsec .bpoem p{margin:0;text-indent:0}
.dsec .cnote{text-align:center;font-size:12.5px;color:#9a8b7c;text-indent:0!important;margin:0 0 12px}
.dsec .tbw{overflow-x:auto;margin:8px 0 20px}.dsec table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5;background:#fbf6ea}
.dsec th,.dsec td{border:1px solid #8a7a6a66;padding:5px 7px;text-align:center}.dsec th{background:#e2d6c2}
.dsec .todo{text-align:center;color:#8f4a42aa;font-weight:700;letter-spacing:.3em;text-indent:0!important}
.dsec .q{color:#8f4a42;font-size:.68em;font-weight:700;vertical-align:.25em;margin:0 1px;letter-spacing:0;font-family:Georgia,serif}
.dsec .todo-en{color:#9a8b7c;font-size:.85em}
.dsec .lst-en{margin:8px 0 0;font-family:Georgia,serif}
html[data-lang=en] .dsec{font-family:Georgia,"Noto Serif TC","BookSupp",serif;letter-spacing:0}
html[data-lang=en] .dsec h2,html[data-lang=en] .dsec h3{letter-spacing:.02em}
html[data-lang=en] .dsec.dsx>p,html[data-lang=en] .dsec .prose p{text-indent:0;text-align:left}
html[data-lang=en] .dsec figcaption,html[data-lang=en] .dsec .gcap{letter-spacing:0;font-family:Georgia,"Noto Serif TC","BookSupp",serif}
@media(max-width:820px){.dsec h3{font-size:18px}.dsec .g3{grid-template-columns:1fr 1fr;gap:16px 10px}.dsec .bchart{width:calc(var(--vw) * .6px);max-width:none}.dsec .bcw{justify-content:flex-start;direction:rtl}.dsec .bcw>svg{direction:ltr}.dsec table{font-size:12.5px}}
.dsec .pga{display:block;height:0;scroll-margin-top:calc(var(--hh,60px) + 16px)}
html[data-lang=en] .dsec .draftnote{display:block;margin:18px auto 0;max-width:560px;padding:10px 14px;border:1px dashed #8f4a42;color:#8f4a42;font:italic 15px/1.6 Georgia,"Noto Serif TC",serif;text-align:center}html[data-lang=zh] .dsec .draftnote{display:none}
