.region-map{margin-block:70px 90px;--map-land:#eeece2;--map-water:#dbe8e4;--map-line:#b0c8c0;--map-ink:#29493f;--map-accent:#a6563e}
.region-map-coastline{fill:none;stroke:var(--map-line);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}
.region-map-hunRiver,.region-map-taiziRiver{fill:none;stroke:var(--map-line);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.region-map-backlink{display:inline-flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);margin:12px 18px 12px 0;line-height:1.6}.region-map-backlink:hover{color:var(--rust)}.region-map-backlink svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1;flex-shrink:0}
.region-map-provenance{font-size:9px;line-height:1.7;text-align:end;color:#858e80;margin-top:10px}.region-map-provenance a:hover{text-decoration:underline}
.region-map-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:30px}.region-map-heading .eyebrow{margin-bottom:12px}.region-map-heading h2{font-size:clamp(32px,3.5vw,47px)}.region-map-heading>p{max-width:370px;font-size:13px;color:var(--text);line-height:1.85}
.region-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:stretch;border:1px solid #d4d8cd;background:#f1f0e8}.region-map-frame{position:relative;overflow:hidden;min-width:0;background:var(--map-water);direction:ltr}.region-map-canvas{display:block;width:100%;height:100%;aspect-ratio:5/4;min-height:420px;max-height:680px;touch-action:pan-y;user-select:none;cursor:default}.region-map.is-zoomed .region-map-canvas{touch-action:none;cursor:grab}.region-map.is-dragging .region-map-canvas{cursor:grabbing}.region-map-water{fill:var(--map-water)}.region-map-land{fill:var(--map-land);stroke:none;fill-rule:evenodd}.region-map-lakes{fill:var(--map-water);stroke:var(--map-line);stroke-width:.7;fill-rule:evenodd}.region-map-rivers,.region-map-canals{fill:none;stroke:var(--map-line);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.region-map-canals{stroke-width:1.1}
.region-map-location{position:absolute;top:23px;left:24px;z-index:1;color:#778276;font-size:10px;letter-spacing:.13em;text-transform:uppercase;pointer-events:none}.region-map-controls{position:absolute;right:17px;top:17px;z-index:2;display:flex;gap:1px;box-shadow:0 2px 10px #29493f0d}.region-map-controls[hidden]{display:none}.region-map-controls button{background:#fbfaf5ed;border:1px solid #d4d8cd;min-width:40px;min-height:42px;font-size:23px;cursor:pointer;line-height:1}.region-map-controls button:disabled{opacity:.45;cursor:default}.region-map-controls button:hover:not(:disabled){background:#fff}.region-map-controls .region-map-reset{font-size:10px;padding:8px 12px;max-width:150px;line-height:1.5}.region-map-controls button:focus-visible{outline-offset:1px}
.region-map-context text{font:italic 13px var(--serif);fill:#6a8b85;text-anchor:middle;paint-order:stroke;stroke:#dbe8e4;stroke-width:4px;stroke-linejoin:round}.region-map-context .city-label{font:11px var(--sans);fill:#8b9285;stroke:var(--map-land);letter-spacing:.03em}.region-map-context .water-label{letter-spacing:.06em}
.region-map-marker{color:var(--map-ink);outline:none;cursor:pointer}.region-map-marker .marker-hit{fill:transparent}.region-map-marker .marker-halo{fill:var(--map-accent);opacity:0}.region-map-marker .marker-dot{fill:var(--map-accent);stroke:#fcfaf2;stroke-width:2}.region-map-marker .marker-name{font:500 12px var(--sans);fill:var(--map-ink);paint-order:stroke;stroke:var(--map-land);stroke-width:5px;stroke-linejoin:round;pointer-events:auto}.region-map-marker.marker-city .marker-name{font-size:14px;font-weight:650}.region-map-marker:hover .marker-halo,.region-map-marker:focus-visible .marker-halo,.region-map-marker.is-selected .marker-halo{opacity:.14}.region-map-marker:focus-visible .marker-dot{stroke:var(--map-ink);stroke-width:3}.region-map-marker.is-selected .marker-name{fill:var(--map-accent)}.region-map-marker .marker-leader{display:none;fill:none;stroke:#bda58b;stroke-width:1}.region-map-marker.marker-detail{display:none}.region-map.is-zoomed .region-map-marker.marker-detail{display:inline}.region-map.is-zoomed .region-map-marker.marker-city{display:none}
.marker-wuzhen .marker-name{text-anchor:end}.marker-lingyin-temple .marker-name,.marker-jiaxing-yuehe .marker-name{text-anchor:end}.region-map.is-zoomed .marker-west-lake .marker-leader,.region-map.is-zoomed .marker-qiantang-river .marker-leader,.region-map.is-zoomed .marker-jiaxing-south-lake .marker-leader{display:block}
.region-map-compass{position:absolute;left:24px;bottom:46px;display:grid;text-align:center;gap:3px;font-size:9px;color:#7c887d;pointer-events:none}.region-map-compass>span{font-size:23px}.region-map-note{position:absolute;left:24px;right:120px;bottom:17px;font-size:9px;line-height:1.6;color:#7d8e83;pointer-events:none}.region-map-scale{position:absolute;bottom:20px;right:22px;text-align:center;color:#75877e;pointer-events:none}.region-map-scale>span{display:block;width:90px;height:5px;border:1px solid #7e9185;border-top:0}.region-map-scale small{font-size:9px}
.region-map-detail{padding:26px;background:#f9f8f2;border-inline-start:1px solid #d4d8cd;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.region-map-card figure>a{display:block;aspect-ratio:4/3;overflow:hidden;background:#dde3d8}.region-map-card img{width:100%;height:100%;object-fit:cover}.region-map-card figcaption:empty{display:none}.region-map-card figcaption{font-size:8px;line-height:1.6;color:#778377;margin-top:7px;overflow-wrap:anywhere}.region-map-card figcaption .photo-credit{font-size:8px}.region-map-card-kind{margin:23px 0 10px;font-size:9px;letter-spacing:.06em;color:var(--rust)}.region-map-card-kind span{color:#818b80}.region-map-card h3{font-size:34px;letter-spacing:-.035em;line-height:1.2;margin-bottom:13px;overflow-wrap:anywhere}.region-map-card-copy>p:not(.region-map-card-kind){font-size:12px;line-height:1.9;color:var(--text)}.region-map-card .text-link{margin-top:23px;font-size:11px;gap:14px;line-height:1.5}.region-map-hint{display:flex;gap:12px;border-top:1px solid var(--rule);padding-top:20px;margin-top:26px;color:#7f887b}.region-map-hint>span{font-size:21px;line-height:1.2}.region-map-hint p{font-size:10px;line-height:1.8}
.region-map-index{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule);padding:24px 0;gap:32px}.region-map-index-group{display:flex;align-items:baseline;gap:22px;min-width:0}.region-map-city-link{font:20px var(--serif);white-space:nowrap}.region-map-city-link>span{font:12px var(--sans);color:var(--rust);margin-inline-start:5px}.region-map-index-group>div{display:flex;gap:8px 19px;flex-wrap:wrap;align-items:baseline}.region-map-index-group>div>a{font-size:11px;color:#6d7a6c;line-height:1.8}.region-map-index a:hover{color:var(--rust)}.region-map-index a.is-selected{text-decoration:underline;text-underline-offset:5px;color:var(--rust)}
[dir=rtl] .region-map-heading .eyebrow,[dir=rtl] .region-map-card-kind{letter-spacing:0}[dir=rtl] .region-map-context text{direction:rtl;unicode-bidi:plaintext}[dir=rtl] .region-map-location{direction:rtl;letter-spacing:0}[dir=rtl] .region-map-note{direction:rtl;text-align:left}.region-map [hidden]{display:none!important}
@media(min-width:1350px){.region-map-layout{grid-template-columns:minmax(0,1fr) 315px}.region-map-detail{padding:32px}}
@media(max-width:1000px){.region-map-layout{grid-template-columns:minmax(0,1fr) 250px}.region-map-detail{padding:21px}.region-map-canvas{min-height:450px}.region-map-index-group{display:block}.region-map-index-group>div{margin-top:12px}.region-map-heading>p{max-width:300px}}
@media(max-width:720px){.region-map{margin-block:45px 60px}.region-map-heading{display:block;margin-bottom:23px}.region-map-heading>p{margin-top:17px;max-width:100%;font-size:12px}.region-map-layout{grid-template-columns:minmax(0,1fr)}.region-map-canvas{min-height:0;height:auto;aspect-ratio:5/4}.region-map-location{top:17px;left:16px;font-size:8px;max-width:135px;line-height:1.6}.region-map-controls{top:12px;right:12px}.region-map-controls button{min-width:37px;min-height:40px}.region-map-controls .region-map-reset{max-width:110px;font-size:9px;padding-inline:8px}.region-map-compass{left:15px;bottom:36px}.region-map-note{left:15px;bottom:10px;right:110px;font-size:8px}.region-map-scale{right:15px;bottom:13px}.region-map-detail{border-inline-start:0;border-top:1px solid #d4d8cd;padding:20px}.region-map-card{display:grid;grid-template-columns:95px minmax(0,1fr);gap:20px}.region-map-card figure>a{aspect-ratio:3/4}.region-map-card-kind{margin:0 0 6px;font-size:8px}.region-map-card h3{font-size:27px;margin-bottom:8px}.region-map-card-copy>p:not(.region-map-card-kind){font-size:11px;line-height:1.75}.region-map-card .text-link{margin-top:14px;font-size:10px}.region-map-hint{margin-top:18px;padding-top:12px;gap:8px}.region-map-hint>span{font-size:16px}.region-map-hint p{font-size:9px}.region-map-index{gap:24px;padding-block:20px}.region-map-city-link{font-size:19px}.region-map-index-group>div{gap:7px 12px}.region-map-index-group>div>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.region-map *{scroll-behavior:auto!important;transition:none!important}}
.region-map.is-zoomed .marker-china-tea-museum .marker-leader,.region-map.is-zoomed .marker-china-national-silk-museum .marker-leader{display:block}

/* A quiet, shared entry; geography appears only when a reader asks for it. */
.header-tools{display:flex;align-items:center;gap:18px;flex-shrink:0}.region-map-toggle,.region-map-prompt{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;color:var(--muted);font:11px/1.6 var(--sans);padding:8px 0;cursor:pointer;white-space:nowrap}.region-map-toggle{color:var(--ink)}.region-map-toggle:hover,.region-map-prompt:hover{color:var(--rust)}.region-map-toggle svg,.region-map-prompt svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1;flex:none}.region-map-city-prompt{margin-block:0 25px}.region-map-article-prompt{margin-top:-18px;margin-bottom:18px}.region-map-prompt{font-size:11px;color:#7a857a}.region-map-open{overflow:hidden;scrollbar-gutter:stable}
.region-map-dialog{width:min(820px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:25px;border:1px solid #d6d8cd;background:var(--paper);color:var(--ink);box-shadow:0 20px 85px #203b3433;overflow:auto;overscroll-behavior:contain}.region-map-dialog::backdrop{background:#20332c55}.region-map-close{position:absolute;inset-inline-end:13px;top:10px;width:34px;height:34px;display:grid;place-items:center;border:0;background:none;color:var(--muted);font:28px/1 var(--sans);cursor:pointer}.region-map-close:hover{color:var(--rust)}.region-map-dialog .region-map{width:100%;margin:0}.region-map-dialog .region-map-heading{margin-bottom:18px;padding-inline-end:35px;display:block}.region-map-dialog .region-map-heading .eyebrow,.region-map-dialog .region-map-heading>p{display:none}.region-map-dialog .region-map-heading h2{font-size:29px;line-height:1.3}.region-map-dialog .region-map-layout{grid-template-columns:minmax(0,1fr) 205px}.region-map-dialog .region-map-canvas{height:auto;min-height:0;max-height:none;aspect-ratio:5/4}.region-map-dialog .region-map-detail{padding:18px}.region-map-dialog .region-map-card figure>a{aspect-ratio:1.6}.region-map-dialog .region-map-card-kind{margin:16px 0 8px}.region-map-dialog .region-map-card h3{font-size:27px}.region-map-dialog .region-map-card-copy>p:not(.region-map-card-kind){font-size:11px;line-height:1.8}.region-map-dialog .region-map-card .text-link{margin-top:17px;font-size:10px}.region-map-dialog .region-map-hint{display:none}.region-map-dialog .region-map-index{padding:17px 0;gap:20px}.region-map-dialog .region-map-index-group{display:block}.region-map-dialog .region-map-city-link{font-size:18px}.region-map-dialog .region-map-index-group>div{margin-top:9px;gap:5px 13px}.region-map-dialog .region-map-index-group>div>a{font-size:10px}.region-map-dialog .region-map-provenance{font-size:8px;margin-top:8px}.region-map-dialog .region-map-location{left:16px;top:18px;font-size:8px}.region-map-dialog .region-map-controls{right:12px;top:12px}.region-map-dialog .region-map-controls button{min-width:35px;min-height:38px}.region-map-dialog .region-map-controls .region-map-reset{max-width:100px;font-size:9px;padding-inline:8px}.region-map-dialog .region-map-note{left:15px;bottom:11px;font-size:8px}.region-map-dialog .region-map-compass{left:15px;bottom:35px}.region-map-dialog .region-map-scale{right:15px;bottom:13px}
@media(max-width:1050px){.site-header>.main-nav{gap:20px;font-size:11px}.header-tools{gap:13px}}
@media(max-width:760px){.site-header{gap:12px}.header-tools{gap:13px}.header-tools .language-picker{margin-inline:0}.region-map-toggle{font-size:10px;gap:5px}.region-map-toggle svg{width:15px}.region-map-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:18px}.region-map-dialog .region-map-heading h2{font-size:25px}.region-map-dialog .region-map-layout{grid-template-columns:minmax(0,1fr)}.region-map-dialog .region-map-detail{padding:14px}.region-map-dialog .region-map-card{grid-template-columns:75px minmax(0,1fr);gap:16px}.region-map-dialog .region-map-card figure>a{aspect-ratio:3/4}.region-map-dialog .region-map-card-kind{margin:0 0 6px}.region-map-dialog .region-map-card h3{font-size:24px;margin-bottom:8px}.region-map-dialog .region-map-card .text-link{margin-top:12px}.region-map-dialog .region-map-index{padding-block:14px}.region-map-article-prompt{margin-top:-12px;margin-bottom:15px}}
@media(max-width:420px){.region-map-toggle>span{display:none}.region-map-toggle{width:28px;height:32px}.region-map-toggle svg{width:18px;height:18px}.header-tools{gap:10px}.site-header .wordmark{font-size:26px;gap:5px}.site-header .wordmark>svg{width:18px;height:18px}.header-tools .mobile-menu>summary{font-size:11px}.header-tools .language-picker>summary{font-size:10px}.region-map-dialog .region-map-index-group>div>a{font-size:9px}}
@media(max-width:420px){html[lang^=zh] .region-map-toggle{width:auto;gap:5px}html[lang^=zh] .region-map-toggle>span{display:inline}}
@media(max-width:360px){.site-header .wordmark{font-size:23px}.site-header .wordmark>svg{display:none}.header-tools{gap:8px}}

.region-map-city-picker{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--muted);font:11px/1.5 var(--sans)}
.region-map-city-picker select{min-width:0;max-width:70%;padding:7px 30px 7px 10px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit}
.region-map-dialog .region-map-index{grid-template-columns:minmax(0,1fr)}
.region-map-card:not(:has(figure)){display:block}
.more-articles{margin-block:30px 55px;padding-block:18px;border-block:1px solid var(--rule)}
.region-map-marker .marker-halo,.region-map-marker .marker-leader{pointer-events:none}
@media(max-width:420px){.region-map-dialog [data-map-region="guangdong"] .region-map-card{display:block}.region-map-dialog [data-map-region="guangdong"] .region-map-card figure>a{aspect-ratio:1.6}.region-map-dialog [data-map-region="guangdong"] .region-map-card-kind{margin-top:16px}}
@media(max-width:420px){[data-map-region="guizhou"] .region-map-card{display:block}[data-map-region="guizhou"] .region-map-card figure>a{aspect-ratio:1.6}[data-map-region="guizhou"] .region-map-card-kind{margin-top:16px}}
[data-map-region="jilin"].is-zoomed .region-map-marker.marker-city{display:inline}
[data-map-region="jilin"] .region-map-unlocated-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin-block:12px 24px}
[data-map-region="jilin"] .region-map-unlocated-index>a{display:block;min-width:0;padding-block:5px;border-top:1px solid var(--rule);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:720px){[data-map-region="jilin"] .region-map-unlocated-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}}
@media(max-width:420px){[data-map-region="jilin"] .region-map-unlocated-index>a{font-size:10px}}
