/* All content selectors are scoped; only the shared shell is a page header. */
.zz-wrap{--paper:#faf7f1;width:min(1080px,calc(100% - 3rem));margin:auto;padding:7.5rem 0 5rem;color:var(--ink)}
.zz-wrap *{box-sizing:border-box}.zz-wrap a{color:var(--green)}
.zz-wrap section,.zz-wrap aside,.zz-wrap details{scroll-margin-top:90px}
.zz-wrap h1{font:400 clamp(2.5rem,6vw,5.2rem)/1.13 var(--serif);letter-spacing:-.035em;margin:1.2rem 0}
.zz-wrap h1.lang-zh,.zz-wrap h1.lang-hant{font-family:var(--reading-cjk,var(--cjk));font-size:clamp(2.1rem,4.7vw,4.2rem);line-height:1.5;letter-spacing:.02em}
.zz-wrap h2{font:400 1.85rem/1.5 var(--serif);margin:2.3rem 0 1rem}
.zz-wrap h3{font:400 1.5rem/1.5 var(--serif);margin:.65rem 0 1.1rem}
[data-lang="zh"] .zz-wrap h2,[data-lang="zh-hant"] .zz-wrap h2,[data-lang="zh"] .zz-wrap h3,[data-lang="zh-hant"] .zz-wrap h3{font-family:var(--reading-cjk,var(--cjk))}
.zz-eyebrow{font:500 .72rem/1.6 var(--sans);color:var(--gold);letter-spacing:.16em}
.zz-deck{font:400 1.35rem/1.8 var(--serif);max-width:850px}.zz-deck.lang-zh,.zz-deck.lang-hant{font-family:var(--reading-cjk,var(--cjk))}
.zz-progress{border-left:3px solid var(--gold);padding:1rem 1.2rem;margin:2rem 0;font:400 .93rem/1.8 var(--sans);background:var(--paper)}
.zz-routes,.zz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0 3rem}
.zz-routes a,.zz-card{display:block;border:1px solid var(--cream-border);padding:1.5rem;text-decoration:none;background:var(--paper);overflow-wrap:anywhere}
.zz-routes a:hover,.zz-card:hover{border-color:var(--gold)}
.zz-routes small{display:block;color:var(--ink-light);font:.84rem/1.8 var(--sans);margin-top:.65rem}
.zz-card small{font:.72rem/1 var(--sans);color:var(--gold)}
.zz-group-nav{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0 3rem}.zz-group-nav a{padding:.6rem .8rem;border:1px solid var(--cream-border);font:.9rem/1.6 var(--sans);text-decoration:none}
.zz-group{border-top:1px solid var(--cream-border);padding-top:1.5rem;margin:2.5rem 0}.zz-group h2{margin-top:.3rem}
.zz-toc{list-style:none;padding:0;margin:0}.zz-toc li{padding:.85rem 0;border-bottom:1px solid var(--cream-border);line-height:1.7;font-size:1.04rem;overflow-wrap:anywhere}
.zz-toc a{text-decoration:none;display:block}.zz-number{display:inline-block;font:.75rem/1 var(--sans);color:var(--gold);min-width:2.7rem}
.zz-toc .zz-pending{color:var(--ink-light)}.zz-pending small{display:block;margin-left:2.7rem;font:.72rem/1.7 var(--sans);color:var(--ink-light)}
.zz-sequence{margin:2.5rem 0}.zz-sequence summary{cursor:pointer;padding:1rem;border:1px solid var(--cream-border)}
.zz-research,.zz-source{margin-top:3rem;padding:1.6rem;border:1px solid var(--cream-border);font:1rem/1.9 var(--serif)}.zz-research h2{margin-top:0}.zz-research ul{padding-left:1.3rem}.zz-research li{margin:.6rem 0}
.zz-siblings,.zz-article-nav{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-top:2rem;font:.85rem/1.8 var(--sans)}
.zz-article-hero,.zz-wrap .essay-body,.zz-source,.zz-article-nav{max-width:780px;margin-left:auto;margin-right:auto}
.zz-article-hero{padding-bottom:2rem;margin-bottom:3rem;border-bottom:1px solid var(--cream-border)}.zz-byline{font:.78rem/1.8 var(--sans);color:var(--ink-light)}
.zz-wrap .essay-body{padding:0}.zz-wrap .essay-body p{font:400 1.25rem/1.85 var(--serif);margin:0 0 1.25rem}.zz-wrap .essay-body.lang-zh p,.zz-wrap .essay-body.lang-hant p{font:400 1.08rem/2.05 var(--reading-cjk,var(--cjk));text-align:left}
.zz-wrap .essay-body h2{font-size:1.6rem;margin:2.7rem 0 1.25rem}.zz-wrap .essay-body blockquote{border-left:2px solid var(--gold);margin:1.5rem 0;padding:.5rem 1.2rem;color:var(--ink-light)}
.zz-search-only{display:none}
.zz-wrap a:focus-visible,.zz-wrap summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:650px){.zz-wrap{width:calc(100% - 2rem);padding-top:6rem}.zz-routes,.zz-grid{grid-template-columns:1fr}.zz-wrap h1{font-size:2.6rem}.zz-wrap h1.lang-zh,.zz-wrap h1.lang-hant{font-size:2.1rem}.zz-wrap .essay-body p{font-size:1.15rem}.zz-wrap .essay-body.lang-zh p,.zz-wrap .essay-body.lang-hant p{font-size:1.05rem}.zz-routes a,.zz-card{padding:1.2rem}.zz-group-nav{gap:.4rem}}
