*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 "Noto Sans CJK SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:#a34b25}
a:focus-visible,summary:focus-visible{outline:3px solid #c27743;outline-offset:5px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{line-height:1.4;text-wrap:pretty}
h1{font-size:clamp(1.9rem,3.2vw,3rem);font-weight:720}
h2{font-size:1.5rem}
h3{font-size:1.08rem}
.wrap{width:min(1140px,calc(100% - 3rem));margin-inline:auto}
.skip{position:fixed;top:-5rem;left:1rem;padding:.5rem 1rem;background:#fff;z-index:20}
.skip:focus{top:1rem}
.mast{border-top:4px solid #ad5830;border-bottom:1px solid #d1d5cb;background:#fbfaf6}
.mast>.wrap{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.brand{font-size:1.75rem;font-weight:800;letter-spacing:.02em;text-decoration:none}
.mast nav{display:flex;gap:1.8rem;flex-wrap:wrap}
.mast nav a{font-size:.91rem;text-decoration:none}
.mast nav a[aria-current=page]{border-bottom:2px solid #a34b25;color:#a34b25}
.opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem;align-items:center;background:#20383a;color:#f9f7ed;padding:2.5rem;margin-top:2rem}
.opening-copy,.featured,.copy{min-width:0}
.kicker,.section-number{font-size:.76rem;font-weight:650;letter-spacing:.1em;color:#98502c;margin-bottom:.75rem}
.opening .kicker{color:#e6b68f}
.opening h1{font-size:clamp(1.9rem,3.2vw,2.8rem);margin-bottom:1.2rem}
.opening h1 span{display:block;font-size:.45em;font-weight:550;letter-spacing:.18em;color:#d7c6ac;margin-bottom:1rem}
.deck{font-size:1rem;line-height:1.95;color:#e4e9dd}
.opening-note{color:#c1cfbf;font-size:.8rem;margin:1.4rem 0 0}
.primary-link{display:inline-block;border:1px solid #a34b25;background:#e6c7a6;padding:.65rem 1rem;color:#253435;font-size:.9rem;text-decoration:none}
.primary-link span{margin-left:1.5rem}
.opening .primary-link{margin-top:.45rem;border-color:#e6c7a6}
.featured{border-top:1px solid #68807a;padding-top:.8rem}
.featured .kicker{font-size:.71rem;margin-bottom:.65rem}
.featured .card-link{display:block;text-decoration:none}
.feature-media{margin:0}
.feature-media img{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto;background:#152a2c}
.feature-media figcaption{font-size:.73rem;line-height:1.6;color:#bdc9bf;margin-block:.65rem .9rem}
.featured h2{font-size:1.15rem;color:#f8f2df;margin-bottom:.7rem}
.featured .summary{font-size:.84rem;color:#d2dccd;line-height:1.75;margin-bottom:0}
.start-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #cbd1c5;margin-block:0 3rem;background:#e9eddf}
.start-links a{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.2rem;text-decoration:none;border-right:1px solid #cbd1c5}
.start-links a:last-child{border-right:0}
.start-links strong{font-size:.95rem}
.start-links span{font-size:.74rem;white-space:nowrap;color:#5f6f62}
.band{margin-block:2.7rem 3.2rem}
.index-section{border-top:1px solid #c8cdbf;padding-top:1.7rem}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:1rem}
.section-top h2{font-size:1.43rem;margin-bottom:.6rem}
.section-top>a{flex-shrink:0;font-size:.82rem;margin-bottom:.7rem}
.section-number{font-size:.69rem;margin-bottom:.35rem}
.section-lead{font-size:.89rem;color:#647064;max-width:54rem;margin-bottom:1.4rem}
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.entry{min-width:0;border:1px solid #d0d4c8;background:#fffdf7;padding-bottom:1rem}
.card-link{display:block;text-decoration:none}
.thumb{display:block;overflow:hidden;background:#dce3d5}
.thumb img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.copy{padding:1rem 1rem 0}
.meta{font-size:.73rem;line-height:1.6;color:#836047;margin-bottom:.45rem}
.entry h2,.entry h3{font-size:1.04rem;line-height:1.6;margin-bottom:0}
.entry .summary{font-size:.83rem;line-height:1.75;color:#5d6a60;margin: .8rem 1rem 0}
.index-section .entries{grid-template-columns:repeat(2,minmax(0,1fr))}
.index-section .card-link{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start}
.index-section .thumb img{aspect-ratio:4/3;height:auto}
.index-section .copy{padding:.8rem 1rem 0}
.index-section .entry{padding-bottom:.9rem}
.index-section .entry .summary{margin-top:.75rem}
.entry.portrait .thumb img{object-fit:contain;background:#233a3b}
.index-section:nth-child(2) .entry{background:#f8f0e1}
.index-section:nth-child(4) .entry{background:#edf0e4}
.practice-note{display:grid;grid-template-columns:1fr 2fr;gap:.4rem 2rem;background:#e2e8d8;border-left:4px solid #ac5d32;padding:1.7rem 2rem;margin-block:3rem}
.practice-note .kicker{grid-column:1/-1}
.practice-note h2{font-size:1.35rem}
.practice-note p:not(.kicker){font-size:.93rem;line-height:1.9;margin-bottom:.7rem}
.practice-note>a{grid-column:2;font-size:.84rem}
.faq{max-width:60rem;border-top:1px solid #c8cdbf;padding-top:1.8rem}
.faq h2{font-size:1.4rem}
.faq details{padding:1rem 0;border-bottom:1px solid #d1d7c8}
.faq summary{cursor:pointer;font-size:.96rem;font-weight:600}
.faq details p{font-size:.89rem;color:#596a5e;line-height:1.85;margin: .9rem 0 .3rem;max-width:50rem}
.footer{margin-top:4rem;background:#20383a;color:#edf0df;padding-block:2.2rem}
.footer-links{display:flex;gap:.6rem 1.3rem;flex-wrap:wrap;margin-bottom:1rem}
.footer-links a{font-size:.82rem}
.footer p{font-size:.76rem;color:#c5cfbf;margin-bottom:.4rem}
.footer a:hover{color:#efc09a}
.page-head{max-width:57rem;padding-block:2.3rem 1.5rem}
.page-head h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1rem}
.page-head>.lead{font-size:1rem;color:#596a5e}
.crumb{font-size:.78rem;line-height:1.8;color:#727b6a;margin-bottom:1.3rem;overflow-wrap:anywhere}
.crumb a{text-decoration:none}
.article-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:1rem 2.7rem;align-items:start;padding-block:2.2rem 1.6rem;border-bottom:1px solid #ccd2c2}
.article-intro>.crumb{grid-column:1/-1;margin-bottom:.15rem}
.article-heading{min-width:0}
.article-heading h1{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1.1rem}
.article-heading .lead{font-size:1.02rem;color:#596a5e;line-height:1.9}
.exercise-note{font-size:.79rem;background:#e8ecdd;padding:.75rem .9rem;color:#59664e;border-left:2px solid #a96a42}
.article-media{margin:0;background:#e4e8db;padding:.6rem}
.article-media img{width:100%;height:auto;max-height:520px;object-fit:contain}
.article-media figcaption{font-size:.75rem;line-height:1.75;color:#5d6b59;margin:.7rem .2rem .2rem}
.reading{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:3rem;align-items:start;margin-top:2rem;max-width:68rem}
.toc{font-size:.81rem;border-block:1px solid #c7d0b9;padding:1rem 0}
.toc p{font-size:.75rem;color:#90502b;margin-bottom:.5rem}
.toc ol{padding-left:1.3rem;margin:0}
.toc li+li{margin-top:.5rem}
.toc a{text-decoration:none}
.prose{max-width:46rem;min-width:0}
.prose p{line-height:1.95;margin-bottom:1.2rem;overflow-wrap:anywhere}
.prose section{margin-bottom:2.3rem}
.prose h2{font-size:1.35rem;margin-bottom:1rem}
.reading>.prose:only-child{grid-column:1/-1;max-width:47rem;margin-inline:auto}
.sources{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid #c7cdbd}
.sources h2{font-size:1rem}
.sources p,.sources ul{font-size:.8rem;color:#68755e}
.sources ul{padding-left:1.3rem}
.sources li{margin-bottom:.55rem;overflow-wrap:anywhere}
.related{border-top:1px solid #c7cdbd;padding-top:1.8rem}
.related .entries{grid-template-columns:repeat(2,minmax(0,1fr));max-width:56rem}
.support-prose{max-width:50rem}
.map-group{margin-block:1.5rem 2rem}
.map-group h2{font-size:1.2rem}
.map-group ul{padding-left:1.4rem}
.map-group li{font-size:.93rem;margin-bottom:.6rem}
@media(max-width:900px){.opening{padding:1.7rem;gap:2rem}.opening h1{font-size:2rem}.mast nav{gap:1rem}.start-links a{padding:.8rem}.start-links{grid-template-columns:repeat(2,minmax(0,1fr))}.start-links a:nth-child(2){border-right:0}.start-links a:nth-child(-n+2){border-bottom:1px solid #cbd1c5}.index-section .card-link{grid-template-columns:110px minmax(0,1fr)}.index-section .copy{padding:.55rem .8rem 0}.entries{gap:1rem}.article-intro{gap:1rem 1.8rem}.reading{grid-template-columns:11rem minmax(0,1fr);gap:1.8rem}}
@media(max-width:650px){.wrap{width:calc(100% - 2rem)}.mast>.wrap{display:block;min-height:0;padding-block:.95rem .8rem}.brand{font-size:1.5rem}.mast nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;margin-top:.65rem}.mast nav a{font-size:.77rem}.opening{grid-template-columns:minmax(0,1fr);padding:1.2rem;gap:1.8rem;margin-top:1.3rem}.opening h1{font-size:1.8rem}.opening h1 span{font-size:.5em}.deck{font-size:.94rem}.opening-note{font-size:.75rem}.featured h2{font-size:1.08rem}.featured .summary{font-size:.82rem}.feature-media figcaption{font-size:.72rem}.start-links{margin-bottom:2rem}.start-links a{padding:.8rem .7rem}.start-links strong{font-size:.86rem}.start-links span{font-size:.69rem}.band{margin-block:1.9rem 2.6rem}.section-top{align-items:center;gap:.7rem}.section-top h2{font-size:1.18rem}.section-top>a{font-size:.72rem;max-width:5.7rem;margin-bottom:0}.section-number{font-size:.67rem}.section-lead{font-size:.85rem}.entries,.index-section .entries,.related .entries{grid-template-columns:minmax(0,1fr)}.index-section .card-link{grid-template-columns:120px minmax(0,1fr)}.index-section .entry h3{font-size:1rem}.index-section .entry .summary{font-size:.82rem}.copy{padding:1rem 1rem 0}.practice-note{display:block;padding:1.25rem;margin-block:2rem}.practice-note h2{font-size:1.2rem}.practice-note p:not(.kicker){font-size:.88rem}.faq h2{font-size:1.25rem}.faq summary{font-size:.9rem}.faq details p{font-size:.85rem}.footer{margin-top:2.6rem}.footer-links{gap:.65rem 1rem}.page-head{padding-top:1.8rem}.article-intro{display:block;padding-top:1.8rem}.article-heading h1{font-size:1.75rem}.article-heading .lead{font-size:.96rem}.article-media{margin-top:1.5rem}.reading{display:block;margin-top:1.5rem}.toc{margin-bottom:1.8rem;max-width:100%}.prose{width:100%;max-width:100%}.prose h2{font-size:1.24rem}.prose p{font-size:.98rem}.article-media img{max-height:440px}.related h2{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
