@font-face{font-family:'Travel WenKai';src:url('assets/fonts/wenkai.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/serif.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/sans.ttf') format('truetype');font-weight:400;font-display:swap}
/* The WenKai source lacks 薖 in 木增's book title; use the existing licensed serif glyph. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+8596}
:root{--paper:#f7f3e9;--ink:#243e37;--muted:#65756b;--jade:#64897d;--line:#243e372b;--ochre:#ae8052;--serif:'Travel Serif','Songti SC',serif;--display:'Travel WenKai','STKaiti',var(--serif);--sans:'Travel Sans','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--reading-bar,30px)}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.85 var(--serif)}body:before{content:'';position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:3px solid #a86639;outline-offset:5px}button{border:0}button:disabled{cursor:default}button:hover{filter:brightness(.96)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:20px;z-index:20;padding:10px;background:var(--ink);color:white}.skip-link:focus{top:0}.topbar{max-width:1440px;margin:auto;padding:24px 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.wordmark{font:600 27px Georgia,serif;text-decoration:none;letter-spacing:-1px}.wordmark span{display:block;margin-top:7px;font:10px var(--sans);letter-spacing:4px}.topbar nav{display:flex;gap:28px;font:13px var(--sans)}.topbar nav a{text-decoration:none}.topbar nav a:hover{color:var(--ochre)}main{max-width:1440px;margin:auto;min-height:65vh;padding:0 4%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.4}h1{font-size:clamp(42px,5.2vw,76px);letter-spacing:.06em}h2{font-size:36px}h3{font-size:26px}p{margin-bottom:18px}.eyebrow{font:11px/1.6 var(--sans);letter-spacing:3px;color:var(--muted)}.muted{color:var(--muted)}.hero-intro{display:flex;justify-content:space-between;align-items:end;padding:52px 0 34px;gap:25px}.hero-intro .eyebrow{margin-bottom:12px}.hero-intro>p{margin:0 0 9px;color:var(--muted);font-size:16px;max-width:290px}.seal{display:inline-grid;place-items:center;vertical-align:middle;background:#ab5741;color:var(--paper);font:15px/1.2 var(--display);letter-spacing:0;padding:10px 6px;border-radius:3px;margin-left:18px;writing-mode:vertical-rl}.atlas-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:590px}.map-panel{position:relative;background:radial-gradient(ellipse at 55% 50%,#dfe9df66,transparent 65%);padding:24px 24px 15px 0}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;font:12px var(--sans)}.map-toolbar select{max-width:180px;background:transparent;border:1px solid var(--line);padding:9px;font-size:13px}.map-toolbar button,.text-button{background:none;text-decoration:underline;text-underline-offset:5px;padding:8px 0;font:13px var(--sans)}.map-svg{width:100%;height:auto;display:block;overflow:visible;margin:12px 0 0}.province{fill:#c5d4bf;stroke:var(--paper);stroke-width:.9;cursor:pointer;transition:fill .2s}.province:nth-child(3n){fill:#d8dcc4}.province:nth-child(5n){fill:#bdcfc4}.province:hover,.province:focus-visible{fill:#99b3a1;stroke:var(--ink);stroke-width:1.5;outline:none}.province.selected{fill:#64897d;stroke:var(--ink);stroke-width:1.2}.map-label{font:12px var(--sans);fill:#435d51;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}.city-pin{cursor:pointer;outline:none}.city-pin .halo{fill:#ae80522b;stroke:#ae80527a}.city-pin .dot{fill:#ae6845;stroke:var(--paper);stroke-width:2}.city-pin:focus-visible .halo,.city-pin:hover .halo{stroke:var(--ink);stroke-width:3}.city-pin text{font:600 17px var(--display);fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4}.map-note{font:11px/1.7 var(--sans);color:var(--muted);margin-top:8px}.map-note a{color:inherit}.inset-label{font:10px var(--sans);fill:var(--muted)}.sidebar{border-left:1px solid var(--line);padding:28px 0 25px 28px;align-self:stretch}.sidebar h2{font-size:27px}.sidebar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sidebar-title span{font:11px var(--sans);color:var(--muted)}.search-label{display:block;font:12px var(--sans);margin-bottom:9px}.search-wrap{display:flex;border:1px solid var(--line);align-items:center;background:#fff5}.search-wrap span{padding-left:15px;font-size:23px}.search-wrap input{background:none;border:0;min-width:0;width:100%;padding:11px 12px;font:14px var(--sans);border-radius:0}.filter-pills{display:flex;gap:9px;margin:16px 0 22px}.filter-pills button{font:13px var(--sans);background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 18px}.filter-pills button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.region-status{font:12px var(--sans);color:var(--muted);margin-bottom:15px;min-height:20px}.art{position:relative;overflow:hidden;background-color:#e5e8d9;aspect-ratio:1.5;border-radius:2px}.scene-0{background-position:0 0}.scene-1{background-position:50% 0}.scene-2{background-position:100% 0}.scene-3{background-position:0 100%}.scene-4{background-position:50% 100%}.scene-5{background-position:100% 100%}.art-label{position:absolute;right:10px;bottom:9px;padding:3px 7px;background:#f7f3e9d9;color:#4d5d50;border-radius:2px;font:10px var(--sans);letter-spacing:.08em}.destination-card{display:block;width:100%;text-align:left;background:none;padding:0;border:1px solid transparent;border-radius:2px;text-decoration:none;color:inherit}.destination-card[aria-pressed=true]{border-color:var(--jade);background:#e6ece280}.destination-card .art{margin-bottom:13px}.destination-card .card-copy{padding:0 12px 14px}.destination-card h3{font-size:34px;margin:3px 0}.destination-card p{font-size:15px;color:var(--muted);margin-bottom:12px}.destination-card .preview-link{font:12px var(--sans);text-decoration:underline;text-underline-offset:5px}.preview-actions{padding:0 13px 14px;background:#e6ece280;border:1px solid var(--jade);border-top:0;margin-top:-1px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:12px 22px;font:14px var(--sans);color:var(--paper);background:var(--ink);text-decoration:none}.preview-actions .primary-link{width:100%}.empty{padding:38px 18px;border:1px dashed var(--line);text-align:center}.empty h3{margin-bottom:12px}.empty p{font-size:15px;color:var(--muted)}.quiet-note{padding:25px 0 0;margin:0;color:var(--muted);font-size:13px;line-height:1.9}.mobile-switch{display:none}.atlas-after{display:flex;justify-content:space-between;gap:35px;padding:26px 0 15px}.atlas-after p{font-size:14px;color:var(--muted);max-width:650px}.atlas-after .eyebrow{white-space:nowrap}.breadcrumbs{display:flex;gap:15px;align-items:center;padding:30px 0 15px;font:12px var(--sans);color:var(--muted)}.breadcrumbs a{text-decoration:none}.city-hero{display:grid;grid-template-columns:.8fr 1.4fr;gap:40px;align-items:center;padding:25px 0 45px}.city-hero h1{font-size:100px;letter-spacing:.18em;margin:8px 0 12px}.city-hero .lede{font-family:var(--display);font-size:27px;color:var(--ink)}.city-hero .city-copy>p:not(.eyebrow):not(.lede){max-width:330px;font-size:16px;color:var(--muted)}.city-hero .art{aspect-ratio:1.35}.chapter-nav{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:0;z-index:7;background:var(--paper);border-block:1px solid var(--line);margin-bottom:55px}.chapter-nav a{display:flex;align-items:center;gap:20px;text-decoration:none;padding:24px 22px;border-right:1px solid var(--line)}.chapter-nav a:first-child{padding-left:0}.chapter-nav a:last-child{border:0}.chapter-nav .number{font:italic 22px Georgia,serif;color:var(--ochre)}.chapter-nav strong{font:30px var(--display);font-weight:400}.chapter-nav small{display:block;margin-top:6px;font:12px var(--sans);color:var(--muted)}.chapter-nav a:hover,.chapter-nav a[aria-current=true]{background:#dce6db66}.chapter{margin-bottom:70px;scroll-margin-top:12px}.chapter-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:25px;border-bottom:1px solid var(--line);padding-bottom:18px;gap:15px}.chapter-header h2{display:inline;font-size:40px;margin-right:22px}.chapter-header p{font-size:14px;margin:0;color:var(--muted)}.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.story-grid.culture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-card{text-decoration:none;display:block}.story-card .art{transition:filter .2s,transform .3s}.story-card:hover .art{filter:saturate(1.1);transform:translateY(-3px)}.story-card .card-meta{margin:17px 0 7px;font:11px var(--sans);color:var(--muted);letter-spacing:1px}.story-card h3{font-size:27px;margin-bottom:10px}.story-card p{font-size:15px;color:var(--muted);margin-bottom:10px}.story-card .read-link{font:12px var(--sans);border-bottom:1px solid var(--line);padding-bottom:4px}.article-header{text-align:center;padding:35px 0 30px;max-width:900px;margin:auto}.article-header h1{font-size:clamp(36px,4.3vw,61px);margin:16px 0}.article-header .dek{color:var(--muted);font-size:17px;margin:18px auto;max-width:650px}.article-header .meta{font:12px var(--sans);color:var(--muted)}.article-hero{max-width:1000px;margin:0 auto}.article-hero .art{aspect-ratio:1.5}.article-hero figcaption{font:11px var(--sans);color:var(--muted);padding:10px 0;text-align:right}.prose{max-width:720px;margin:32px auto 60px}.prose>p{line-height:2.1;margin-bottom:32px}.prose h2{font-size:31px;margin:40px 0 22px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 40px}.detail-item{border-top:2px solid var(--jade);padding:15px 0}.detail-item .eyebrow{color:var(--ochre)}.detail-item h3{font-size:25px;margin:10px 0}.detail-item p{font-size:15px;color:var(--muted);margin:0}.observe{padding:24px 27px;background:#e7ecdf;border-left:3px solid var(--jade);margin:30px 0}.observe h2{margin:0 0 12px;font-size:26px}.observe p{font-size:16px;margin:0}.family{margin:30px 0;border-block:1px solid var(--line);padding:20px 0}.family summary{cursor:pointer;font-family:var(--display);font-size:23px;line-height:1.6}.family p{padding:18px 0 0;margin:0;font-size:16px}.source-list{font:12px/1.9 var(--sans);color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:35px}.source-list ul{padding-left:20px}.related{max-width:1000px;margin:0 auto 40px;border-top:1px solid var(--line);padding-top:30px}.related h2{font-size:28px;margin-bottom:22px}.related .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related .art{aspect-ratio:1.8}.article-return{display:block;text-align:center;margin:40px auto;font:14px var(--sans)}.footer{max-width:1440px;padding:32px 4%;margin:45px auto 0;display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);font:12px/1.9 var(--sans);color:var(--muted)}.footer p{margin:6px 0}.footer>div p{font-family:var(--display);font-size:20px;color:var(--ink)}.footer>a{align-self:center}.loading{padding:80px 0;text-align:center}.error-page{padding:80px 0}.gallery-intro{max-width:750px;padding:50px 0 30px}.gallery-grid{display:grid;gap:55px}.gallery-grid figure{border-top:1px solid var(--line);padding-top:25px}.gallery-grid img{display:block;width:100%;height:auto;margin-top:15px;border:1px solid var(--line)}.gallery-grid figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.gallery-grid h2{font-size:28px}.gallery-grid p{font-size:14px;color:var(--muted);max-width:600px}.gallery-grid a{font:12px var(--sans)}
@media(min-width:1600px){.map-panel{padding-top:38px}.map-svg{margin-top:30px}}
@media(max-width:1000px){.atlas-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.map-panel{align-self:center}.hero-intro>p{font-size:14px;max-width:230px}.culture-grid.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-hero h1{font-size:76px}.chapter-nav a{padding:20px 12px;gap:12px}.chapter-nav strong{font-size:27px}.chapter-nav small{font-size:11px}.filter-pills{gap:5px}.filter-pills button{padding:8px 14px}}
@media(max-width:720px){body{font-size:18px}.topbar{padding:19px 5%;gap:10px}.wordmark{font-size:23px}.wordmark span{font-size:8px;letter-spacing:2px}.topbar nav{gap:14px;font-size:11px}.topbar nav a:nth-child(2){display:none}main{padding:0 5%}.hero-intro{display:block;padding:32px 0 24px}.hero-intro h1{font-size:38px;letter-spacing:.025em}.hero-intro .seal{font-size:12px;margin-left:9px;padding:7px 4px}.hero-intro>p{max-width:none;margin:14px 0 0;font-size:14px}.hero-intro .eyebrow{font-size:10px}.mobile-switch{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--line);width:100%}.mobile-switch button{flex:1;background:transparent;padding:10px;font:13px var(--sans)}.mobile-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.atlas-layout{display:flex;flex-direction:column;min-height:0;border-top:0}.atlas-layout[data-mobile=list] .map-panel{display:none}.map-panel{width:100%;padding:0 0 18px}.map-svg{margin:10px 0}.map-toolbar{font-size:11px}.map-toolbar select{max-width:150px;font-size:12px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:22px 0 28px;width:100%}.sidebar-title{margin-bottom:18px}.destination-card .art{aspect-ratio:1.6}.destination-card .card-copy{padding:0 15px 15px}.destination-card h3{font-size:34px}.filter-pills{gap:9px}.filter-pills button{padding:9px 20px}.quiet-note{font-size:12px;padding-top:20px}.atlas-after{display:block;padding-top:20px}.atlas-after .eyebrow{margin-bottom:10px}.atlas-after p{font-size:13px}.city-hero{grid-template-columns:1fr;gap:20px;padding-top:20px;padding-bottom:30px}.city-hero h1{font-size:72px;margin:5px 0}.city-hero .lede{font-size:25px;margin-bottom:12px}.city-hero .city-copy>p:not(.eyebrow):not(.lede){max-width:none;font-size:15px}.city-hero .art{aspect-ratio:1.35}.chapter-nav{margin-bottom:38px}.chapter-nav a{display:block;padding:15px 9px}.chapter-nav .number{font-size:14px;display:block;margin-bottom:6px}.chapter-nav strong{font-size:26px}.chapter-nav small{display:none}.chapter-header{align-items:start}.chapter-header h2{font-size:34px;margin-right:10px}.chapter-header .eyebrow{font-size:9px;letter-spacing:1px}.chapter-header p{font-size:12px;max-width:135px;padding-top:8px}.story-grid,.culture-grid.story-grid{grid-template-columns:1fr;gap:32px}.chapter{margin-bottom:45px}.story-card h3{font-size:26px}.breadcrumbs{font-size:11px;gap:10px;padding:23px 0 10px}.article-header{padding:26px 0 22px}.article-header h1{font-size:35px}.article-header .dek{font-size:15px}.article-header .eyebrow{font-size:10px;letter-spacing:1.5px}.article-header .meta{font-size:11px}.article-hero .art{aspect-ratio:1.25}.article-hero figcaption{text-align:left;line-height:1.8}.prose{margin-top:24px}.prose h2{font-size:28px}.detail-grid{grid-template-columns:1fr;gap:12px}.detail-item{display:grid;grid-template-columns:28px 70px 1fr;gap:10px;padding:14px 0}.detail-item h3{font-size:23px;margin:0}.detail-item .eyebrow{padding-top:7px}.detail-item p{font-size:15px}.observe{padding:20px}.observe h2{font-size:24px}.family summary{font-size:21px}.related .story-grid{grid-template-columns:1fr}.footer{display:block;padding:27px 5%;margin-top:25px}.footer>p{margin:20px 0}.gallery-intro h1{font-size:35px}.gallery-grid figcaption{display:block}.gallery-grid h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.art:before{content:'';position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;transform:translateY(-50%);background-image:url('https://readforfun-img.chunyangwen.com/travel-in-china/assets/692246137f50a03d/chengdu-scenes.png');background-size:300% 200%;background-position:inherit}
.art-label{z-index:1}
.tea-diagram{display:block;width:100%;height:84px;stroke:var(--jade);stroke-width:2;fill:#eff0e5;margin:8px auto 14px}
@media(max-width:720px){.tea-diagram{grid-column:1/-1;height:90px;max-width:180px;margin:0 auto 10px}}
/* Programmatic route focus should announce the title without a selection box. */
h1[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}
.skip-link{clip-path:inset(50%)}.skip-link:focus{clip-path:none}
.geography-panel{border-block:1px solid var(--line);padding:24px 0 20px;margin:0 0 30px;background:linear-gradient(100deg,#dce7d844,transparent 75%)}
.fact-header{display:flex;justify-content:space-between;gap:25px;align-items:center}.fact-header h2{font-size:28px;margin-top:5px}.coverage-note{font:12px/1.9 var(--sans);color:var(--muted);text-align:right;margin:0}.coverage-note strong{font-weight:600;color:var(--ink)}
.fact-numbers{display:flex;gap:0;margin:22px 0;flex-wrap:wrap}.fact-numbers>div{min-width:115px;flex:1;display:flex;flex-direction:column-reverse;padding:0 25px;border-left:1px solid var(--line)}.fact-numbers>div:first-child{padding-left:0;border:0}.fact-numbers dd{font:42px/1.2 Georgia,var(--serif);color:var(--ink);margin:0 0 8px}.fact-numbers dt{font:12px/1.6 var(--sans);color:var(--muted)}.fact-explanation{font-size:14px;max-width:900px;margin:0 0 12px;color:var(--muted)}.fact-source,.division-directory{font:12px/1.9 var(--sans);color:var(--muted)}.fact-source summary,.division-directory summary{cursor:pointer;padding:5px 0}.fact-source p{margin:10px 0 0}.division-directory{margin:10px 0}.county-links{display:flex;gap:9px;flex-wrap:wrap;padding:15px 0}.county-links a{border:1px solid var(--line);padding:7px 13px;text-decoration:none;border-radius:2px;background:#fff4}.county-links a:hover{background:#dce6db}.division-directory p{margin:0 0 10px}.county-filter{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#e4ebdf;padding:15px 20px;font:14px/1.8 var(--sans);margin:0 0 24px}.county-filter p{margin:0}.place-scope{position:sticky;top:0;z-index:8;background:#f7f3e9f2;border-bottom:1px solid var(--line);padding:4px 0 8px;margin:0 0 6px}.place-scope .county-filter{margin:0}.place-pills{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:10px 0 2px;scrollbar-width:thin}.place-pills a{flex:none;border:1px solid var(--line);padding:6px 12px;text-decoration:none;border-radius:30px;background:#fff6;font:13px var(--sans);white-space:nowrap}.place-pills a[aria-current=true],.county-links a[aria-current=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.has-place-scope .chapter-nav{top:var(--place-scope-offset,0px)}
.culture-library{padding:24px 0 36px;margin-bottom:25px;border-bottom:1px solid var(--line)}.culture-intro h3{font-size:30px;margin:8px 0 10px}.culture-intro>p:last-child{font-size:15px;color:var(--muted)}.culture-tabs{display:flex;gap:12px;margin:22px 0}.culture-tabs button{background:transparent;border:1px solid var(--line);padding:9px 20px;border-radius:30px;font:13px var(--sans)}.culture-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.poem-grid,.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.poem-card{padding:25px 23px;background:#eeeade80;border:1px solid var(--line);min-width:0}.poem-card h3{font-size:25px;margin:10px 0 18px}.poem-card blockquote{margin:0 0 20px;padding:0;font:21px/2.1 var(--display)}.poem-card blockquote span{display:block}.poem-card>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}.poem-card .eyebrow{font-size:10px;letter-spacing:1px}.relation-label{display:block;font:11px var(--sans);color:var(--ochre);margin:14px 0 17px}.poem-card .read-link{font:12px var(--sans)}.library-label{font-size:25px;margin:25px 0 18px}.person-card{display:block;padding:24px 0;border-block:1px solid var(--line);text-decoration:none}.person-card h3{font-size:32px;margin:8px 0 10px}.person-card>p{font-size:14px;color:var(--muted)}.person-card .person-place{font:12px var(--sans);color:var(--ochre)}.person-card .eyebrow{font-size:10px;letter-spacing:1px}.person-card:hover h3{color:var(--ochre)}.person-card .read-link{font:12px var(--sans)}.culture-footnote{font:12px/1.9 var(--sans);color:var(--muted);margin:23px 0 0}.article-culture .poem-card{margin-bottom:24px}.article-culture .poem-card blockquote{font-size:24px}.poem-note{padding-top:14px;border-top:1px solid var(--line)}.person-context{padding:20px 0;margin:25px 0;border-block:1px solid var(--line)}.person-context h3{font-size:26px;margin:8px 0 12px}.person-context p{font-size:16px;margin:0}.scene-6{background-position:0 50%}.scene-7{background-position:50% 50%}.scene-8{background-position:100% 50%}.culture-art:before{background-image:url('https://readforfun-img.chunyangwen.com/travel-in-china/assets/56a99d4f2af00cab/chengdu-culture.png');background-size:300% 100%;aspect-ratio:1}
@media(max-width:1000px){.poem-grid{grid-template-columns:1fr}.poem-card blockquote{font-size:24px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.geography-panel{padding:21px 0;margin-bottom:25px}.fact-header{display:block}.fact-header h2{font-size:25px}.coverage-note{text-align:left;margin-top:10px;font-size:11px}.coverage-note br{display:none}.coverage-note br:after{content:' · '}.fact-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.fact-numbers>div{min-width:0;padding:0 15px}.fact-numbers>div:nth-child(odd){border-left:0;padding-left:0}.fact-numbers dd{font-size:37px}.fact-explanation{font-size:13px}.fact-source,.division-directory{font-size:11px}.county-links a{padding:8px 12px;font-size:12px}.county-filter{display:block;font-size:13px}.county-filter a{display:inline-block;margin-top:8px}.culture-intro h3{font-size:27px}.culture-intro>p:last-child{font-size:14px}.poem-grid,.people-grid{grid-template-columns:1fr}.poem-card{padding:22px 18px}.poem-card blockquote,.article-culture .poem-card blockquote{font-size:20px}.poem-card h3{font-size:24px}.poem-card .eyebrow{font-size:10px}.culture-tabs{gap:9px}.culture-tabs button{padding:9px 16px}.person-card h3{font-size:30px}}
.fact-path{display:flex;gap:12px;align-items:center;font:11px var(--sans);color:var(--muted);margin-bottom:20px}.fact-path a{text-decoration:none}.fact-path a:hover{text-decoration:underline}
.fact-date{font:11px/1.8 var(--sans);color:var(--muted);margin:8px 0}
/* A living atlas: quiet place names, fine leaders, and a single passing letter. */
.map-toolbar{min-height:38px;flex-wrap:wrap}.map-caption{font:16px var(--display);letter-spacing:.08em}.map-controls{display:flex;align-items:center;gap:16px}.map-controls button{font:11px var(--sans);text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0}.map-controls button[aria-pressed=true]{color:#985a36}
#map-content{position:relative;isolation:isolate}.map-svg{margin:8px 0 0}.map-label{font:11px var(--sans);fill:#526c5d;stroke-width:3px}.province-name{cursor:pointer}.province-name:hover text,.province-name:focus-visible text{fill:#8e492d;stroke-width:5px}.map-city{cursor:pointer;outline:none}.city-leader{fill:none;stroke:#718776;stroke-width:.6;opacity:.65;pointer-events:none}.map-city .dot{fill:#6b8373;stroke:var(--paper);stroke-width:1.3}.map-city .city-target{fill:transparent;stroke:transparent}.map-city .city-name{font:13px var(--display);fill:#243e37;stroke:var(--paper);stroke-width:3px;paint-order:stroke;pointer-events:none}.map-city:hover .city-target,.map-city:focus-visible .city-target,.map-city[aria-pressed=true] .city-target{fill:#faf7ef;stroke:#64897d;stroke-width:1}.map-city:hover .city-name,.map-city:focus-visible .city-name{fill:#8e492d}.map-city.is-discovered .dot{fill:#ae6845}.city-pin text{font-size:13px;stroke-width:3px}
.map-legend{display:flex;gap:18px;justify-content:space-between;margin:4px 0 12px;font:11px/1.7 var(--sans);color:var(--muted)}.map-legend span:first-child{color:#64816e;white-space:nowrap}
@media(max-width:1000px) and (min-width:721px){.atlas-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.map-controls{gap:10px}}
@media(max-width:720px){.map-toolbar{gap:8px}.map-caption{font-size:14px}.map-controls{gap:13px}.map-legend{font-size:10px;gap:8px}.map-viewport{overflow-x:auto;overscroll-behavior-x:contain}#map-content{min-width:600px;min-height:420px}.map-svg{width:100%}.map-note{font-size:10px}.map-panel:after{content:'左右滑动地图，查看每一个地名';display:block;font:10px/1.7 var(--sans);color:var(--muted)}}
@media(prefers-reduced-motion:reduce){.province{transition:none}}
.province-target{fill:transparent}.province-leader{fill:none;stroke:#7c8f79;stroke-width:.5;stroke-dasharray:2 3;opacity:.55;pointer-events:none}.province-name:hover .province-target,.province-name:focus-visible .province-target{fill:#fcfaf3;stroke:#64897d;stroke-width:1}
/* Explicit per-asset layout: new destinations do not inherit Chengdu's scenes. */
.art-sheet{background-image:none;background-position:var(--scene-position)}
.art-sheet:before{background-image:var(--scene-url);background-position:var(--scene-position);background-size:var(--scene-size);aspect-ratio:var(--scene-ratio)}
.destination-card+.destination-card,.preview-actions+.destination-card{margin-top:28px}
.region-directory{border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:28px}
.region-directory h2{font-size:28px;margin:8px 0 14px}
.region-directory>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:860px}
@media(max-width:720px){.region-directory h2{font-size:25px}.region-directory>p:not(.eyebrow){font-size:14px}}
.province-directory{margin:38px 0 65px;padding-top:24px;border-top:1px solid var(--line)}
.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}
.directory-heading h2{font-size:38px;margin-top:8px}.directory-heading>p{font:12px/1.9 var(--sans);text-align:right;color:var(--muted)}
.directory-intro{max-width:850px;font-size:15px;color:var(--muted)}
.prefecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:25px}
.prefecture-card{padding:24px;border:1px solid var(--line);background:#faf8ef77;min-width:0}
.prefecture-card.is-expanded{border-top:3px solid var(--jade);background:#e6ece266}
.prefecture-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.prefecture-meta .eyebrow{font-size:10px;letter-spacing:1px}.coverage-badge{font:10px/1.6 var(--sans);color:#71563c;background:#eee5d5;padding:3px 7px}
.prefecture-card h3{font-size:35px;margin:15px 0 1px}.prefecture-type{font:11px/1.8 var(--sans);letter-spacing:.04em}
.prefecture-card p,.prefecture-card li{font-size:14px;line-height:1.9;color:var(--muted)}.prefecture-card ul{padding-left:18px;margin:15px 0 24px}
.prefecture-card .prefecture-places{font:11px/1.9 var(--sans)}.prefecture-card .read-link{font:13px var(--sans);display:inline-block;margin-bottom:10px}
.coverage-wait{font:12px var(--sans)}.directory-next{border-top:1px solid var(--line);margin-top:18px;padding-top:10px;font:12px/1.8 var(--sans)}.directory-next summary{cursor:pointer}.directory-next p{font-size:12px;margin:12px 0 0}
.city-reading-guide{margin:38px 0 55px;border-top:1px solid var(--line);padding-top:30px}.city-reading-guide>h2{font-size:34px;margin:8px 0 25px}
.reading-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.reading-guide-grid>article{padding:20px 0;border-top:1px solid var(--line)}
.reading-guide-grid h3{font-size:27px;margin:7px 0 12px}.reading-guide-grid p{font-size:15px;color:var(--muted)}.reading-guide-grid article>div{display:flex;gap:12px 20px;flex-wrap:wrap;font:12px/1.8 var(--sans)}
.city-remaining{font:13px/1.9 var(--sans);color:var(--muted);border-block:1px solid var(--line);padding:14px 0;margin-top:22px}.city-remaining summary{cursor:pointer}.city-remaining p{margin:13px 0 0}
.story-section>p{line-height:2.1;margin-bottom:28px}.breadcrumbs{flex-wrap:wrap}
@media(max-width:1050px){.prefecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.directory-heading{display:block}.directory-heading h2{font-size:31px}.directory-heading>p{text-align:left;margin-top:13px}.prefecture-grid,.reading-guide-grid{grid-template-columns:1fr}.prefecture-card{padding:21px}.directory-intro{font-size:14px}.city-reading-guide>h2{font-size:29px}.province-directory{margin-bottom:38px}.story-section h2{font-size:27px}}

/* Preserve the complete square scene in the reading view, including tall towers. */
.article-hero .art-sheet{aspect-ratio:var(--scene-ratio);max-width:760px;margin-inline:auto}

/* Long administrative place names remain readable within the city hero on phones. */
.city-hero h1.long-place-name{font-size:clamp(36px,5vw,62px);letter-spacing:.03em}

/* SVG focus follows the geographic shape or label, never the group's bounding box. */
.map-svg [role=button]:focus{outline:none}
.province:focus-visible{stroke:#a86639;stroke-width:2;vector-effect:non-scaling-stroke}
.province-name:focus-visible .province-target,.map-city:focus-visible .city-target{fill:#fcfaf3;stroke:#a86639;stroke-width:2;vector-effect:non-scaling-stroke}

/* Text-led reading diagrams: native page content, no raster media dependency. */
.reading-diagram{display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:clamp(20px,5vw,52px);background:#e9eee6;color:#25483e;min-height:280px;aspect-ratio:auto;border:1px solid #b8c8b6;box-sizing:border-box}
.reading-diagram ol{list-style:none;counter-reset:reading-step;margin:0;padding:0;display:grid;gap:0}
.reading-diagram li{counter-increment:reading-step;display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid #b8c8b6;font-size:clamp(18px,2.4vw,27px);line-height:1.5;font-family:var(--display)}
.reading-diagram li::before{content:'0' counter(reading-step);font:12px/1.5 sans-serif;color:#7d573c;letter-spacing:.1em;flex-shrink:0}
.diagram-note{font-size:12px;letter-spacing:.12em;color:#526658}
.story-card .reading-diagram{min-height:260px;padding:24px;gap:1rem}
.story-card .reading-diagram li{font-size:20px}
.article-hero .reading-diagram{max-width:820px;margin:auto;min-height:330px}
.direct-city-card>.read-link{display:block;margin:1rem 0}
.direct-city-card>a{overflow-wrap:anywhere}
@media(max-width:440px){.reading-diagram{min-height:260px;padding:20px}.reading-diagram li{font-size:20px}.reading-diagram .eyebrow{font-size:10px;letter-spacing:.08em}}
.reading-diagram::before{display:none}
.article-hero .reading-diagram,.related .reading-diagram{width:100%;min-width:0;aspect-ratio:auto}

/* Yangzhou additions retain the shared fonts and their existing glyphs. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/yangzhou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60E8,U+6177,U+637A,U+797A,U+7B0F,U+8C25,U+8FE2}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/yangzhou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60E8,U+6177,U+637A,U+797A,U+7B0F,U+8C25,U+8FE2}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/yangzhou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60E8,U+6177,U+637A,U+797A,U+7B0F,U+8C25,U+8FE2}

/* Nanjing supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/nanjing-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5B09,U+5BC2,U+5BDE,U+5C60,U+60BC,U+60E7,U+60E9,U+6212,U+62A0,U+6740,U+6B89,U+6DA9,U+6EA7,U+70CF,U+72AF,U+75DB,U+7763,U+7F5A,U+80AB,U+822B,U+832D,U+84BF,U+8A8A,U+8A93,U+8D6B,U+8E72,U+90BA,U+9187,U+96A7,U+970F,U+97E6,U+982D,U+984C}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/nanjing-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5B09,U+5BC2,U+5BDE,U+5C60,U+60BC,U+60E7,U+60E9,U+6212,U+62A0,U+6740,U+6B89,U+6DA9,U+6EA7,U+70CF,U+72AF,U+75DB,U+7763,U+7F5A,U+80AB,U+822B,U+832D,U+84BF,U+8A8A,U+8A93,U+8D6B,U+8E72,U+90BA,U+9187,U+96A7,U+970F,U+97E6,U+982D,U+984C}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/nanjing-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5B09,U+5BC2,U+5BDE,U+5C60,U+60BC,U+60E7,U+60E9,U+6212,U+62A0,U+6740,U+6B89,U+6DA9,U+6EA7,U+70CF,U+72AF,U+75DB,U+7763,U+7F5A,U+80AB,U+822B,U+832D,U+84BF,U+8A8A,U+8A93,U+8D6B,U+8E72,U+90BA,U+9187,U+96A7,U+970F,U+97E6,U+982D,U+984C}

/* Quanzhou: additional glyphs, preserving existing city font ranges. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/quanzhou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FA3,U+5021,U+5077,U+5080,U+5121,U+5760,U+60EB,U+68A7,U+75B2,U+7901,U+7977,U+7CBD,U+828B,U+85AA,U+85AF,U+87F3,U+8D3D,U+8DBE,U+917E,U+9888,U+9E4F,U+7B4F,U+86CE}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/quanzhou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FA3,U+5021,U+5077,U+5080,U+5121,U+5760,U+60EB,U+68A7,U+75B2,U+7901,U+7977,U+7CBD,U+828B,U+85AA,U+85AF,U+87F3,U+8D3D,U+8DBE,U+917E,U+9888,U+9E4F,U+7B4F,U+86CE}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/quanzhou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FA3,U+5021,U+5077,U+5080,U+5121,U+5760,U+60EB,U+68A7,U+75B2,U+7901,U+7977,U+7CBD,U+828B,U+85AA,U+85AF,U+87F3,U+8D3D,U+8DBE,U+917E,U+9888,U+9E4F,U+7B4F,U+86CE}


/* Hangzhou supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hangzhou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F1E,U+4FF6,U+5544,U+580D,U+5AC2,U+5BB8,U+5F8C,U+604B,U+618E,U+6296,U+62D2,U+649E,U+6726,U+6867,U+6A13,U+6CC4,U+6CE0,U+6D8C,U+6DF9,U+6EDF,U+6F4B,U+6FDB,U+73AB,U+742E,U+7470,U+7D76,U+7F2B,U+80AA,U+80E7,U+83BA,U+85D3,U+8D3E,U+8DEA,U+8F7C,U+9038,U+9322,U+94A4,U+94F2,U+9560,U+98F2,U+9E6B}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hangzhou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F1E,U+4FF6,U+5544,U+580D,U+5AC2,U+5BB8,U+5F8C,U+604B,U+618E,U+6296,U+62D2,U+649E,U+6726,U+6867,U+6A13,U+6CC4,U+6CE0,U+6D8C,U+6DF9,U+6EDF,U+6F4B,U+6FDB,U+73AB,U+742E,U+7470,U+7D76,U+7F2B,U+80AA,U+80E7,U+83BA,U+85D3,U+8D3E,U+8DEA,U+8F7C,U+9038,U+9322,U+94A4,U+94F2,U+9560,U+98F2,U+9E6B}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hangzhou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F1E,U+4FF6,U+5544,U+580D,U+5AC2,U+5BB8,U+5F8C,U+604B,U+618E,U+6296,U+62D2,U+649E,U+6726,U+6867,U+6A13,U+6CC4,U+6CE0,U+6D8C,U+6DF9,U+6EDF,U+6F4B,U+6FDB,U+73AB,U+742E,U+7470,U+7D76,U+7F2B,U+80AA,U+80E7,U+83BA,U+85D3,U+8D3E,U+8DEA,U+8F7C,U+9038,U+9322,U+94A4,U+94F2,U+9560,U+98F2,U+9E6B}


/* Keep the map's own geometry independent of a growing destination list. */
@media(min-width:721px){.atlas-layout>.map-panel{align-self:start}}


/* Luoyang supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/luoyang-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FED,U+5043,U+51FD,U+53E9,U+58D1,U+5C51,U+5C61,U+5C65,U+5D2D,U+5E54,U+607A,U+60C6,U+6566,U+6643,U+683E,U+6A59,U+6C5D,U+700D,U+754F,U+76D7,U+7F11,U+82B9,U+835F,U+83E9,U+884D,U+88AD,U+9099,U+982B,U+98A2,U+9994}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/luoyang-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FED,U+5043,U+51FD,U+53E9,U+58D1,U+5C51,U+5C61,U+5C65,U+5D2D,U+5E54,U+607A,U+60C6,U+6566,U+6643,U+683E,U+6A59,U+6C5D,U+700D,U+754F,U+76D7,U+7F11,U+82B9,U+835F,U+83E9,U+884D,U+88AD,U+9099,U+982B,U+98A2,U+9994}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/luoyang-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FED,U+5043,U+51FD,U+53E9,U+58D1,U+5C51,U+5C61,U+5C65,U+5D2D,U+5E54,U+607A,U+60C6,U+6566,U+6643,U+683E,U+6A59,U+6C5D,U+700D,U+754F,U+76D7,U+7F11,U+82B9,U+835F,U+83E9,U+884D,U+88AD,U+9099,U+982B,U+98A2,U+9994}

/* Guangzhou supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/guangzhou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E27,U+566A,U+595A,U+5BE1,U+5ED6,U+5F13,U+680A,U+6995,U+69AD,U+6A71,U+7117,U+7172,U+73B2,U+73D1,U+74E2,U+771C,U+7A14,U+7C98,U+7CCD,U+80E5,U+82AD,U+839E,U+8549,U+8C49,U+8D9F,U+9753,U+9877,U+9E4E}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/guangzhou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E27,U+566A,U+595A,U+5BE1,U+5ED6,U+5F13,U+680A,U+6995,U+69AD,U+6A71,U+7117,U+7172,U+73B2,U+73D1,U+74E2,U+771C,U+7A14,U+7C98,U+7CCD,U+80E5,U+82AD,U+839E,U+8549,U+8C49,U+8D9F,U+9753,U+9877,U+9E4E}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/guangzhou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E27,U+566A,U+595A,U+5BE1,U+5ED6,U+5F13,U+680A,U+6995,U+69AD,U+6A71,U+7117,U+7172,U+73B2,U+73D1,U+74E2,U+771C,U+7A14,U+7C98,U+7CCD,U+80E5,U+82AD,U+839E,U+8549,U+8C49,U+8D9F,U+9753,U+9877,U+9E4E}




/* Shaoxing font supplement */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/shaoxing-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA8,U+4FA0,U+5077,U+51C4,U+5225,U+53A6,U+54A8,U+5632,U+5712,U+587E,U+5922,U+59E5,U+5A25,U+5C61,U+5C65,U+5C99,U+5D4A,U+5F9E,U+6028,U+6232,U+6562,U+6656,U+6805,U+6862,U+68D5,U+69A7,U+6B20,U+6CC4,U+6D74,U+6E2D,U+6E4D,U+701B,U+7235,U+742C,U+747E,U+75B2,U+76F2,U+7779,U+7950,U+798A,U+7A86,U+7AFA,U+7C95,U+7CDF,U+7E22,U+7FB2,U+8019,U+8038,U+8231,U+8237,U+8244,U+82CB,U+8334,U+862D,U+8821,U+89DE,U+8D8B,U+8DF8,U+904A,U+9497,U+962E,U+998F}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/shaoxing-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA8,U+4FA0,U+5077,U+51C4,U+5225,U+53A6,U+54A8,U+5632,U+5712,U+587E,U+5922,U+59E5,U+5A25,U+5C61,U+5C65,U+5C99,U+5D4A,U+5F9E,U+6028,U+6232,U+6562,U+6656,U+6805,U+6862,U+68D5,U+69A7,U+6B20,U+6CC4,U+6D74,U+6E2D,U+6E4D,U+701B,U+7235,U+742C,U+747E,U+75B2,U+76F2,U+7779,U+7950,U+798A,U+7A86,U+7AFA,U+7C95,U+7CDF,U+7E22,U+7FB2,U+8019,U+8038,U+8231,U+8237,U+8244,U+82CB,U+8334,U+862D,U+8821,U+89DE,U+8D8B,U+8DF8,U+904A,U+9497,U+962E,U+998F}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/shaoxing-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA8,U+4FA0,U+5077,U+51C4,U+5225,U+53A6,U+54A8,U+5632,U+5712,U+587E,U+5922,U+59E5,U+5A25,U+5C61,U+5C65,U+5C99,U+5D4A,U+5F9E,U+6028,U+6232,U+6562,U+6656,U+6805,U+6862,U+68D5,U+69A7,U+6B20,U+6CC4,U+6D74,U+6E2D,U+6E4D,U+701B,U+7235,U+742C,U+747E,U+75B2,U+76F2,U+7779,U+7950,U+798A,U+7A86,U+7AFA,U+7C95,U+7CDF,U+7E22,U+7FB2,U+8019,U+8038,U+8231,U+8237,U+8244,U+82CB,U+8334,U+862D,U+8821,U+89DE,U+8D8B,U+8DF8,U+904A,U+9497,U+962E,U+998F}

/* Yunnan completion: independent glyph supplements preserve parallel city work. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/yunnan-completion-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E19,U+4F8F,U+54E6,U+5A74,U+621B,U+62ED,U+67CA,U+690E,U+6B87,U+6D12,U+6F36,U+6F5E,U+70B3,U+7459,U+7A1E,U+7B19,U+80A4,U+82F4,U+8304,U+83C1,U+8881,U+8882,U+88D8,U+8F9F,U+90C1,U+94C3,U+9CDD}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/yunnan-completion-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E19,U+4F8F,U+54E6,U+5A74,U+621B,U+62ED,U+67CA,U+690E,U+6B87,U+6D12,U+6F36,U+6F5E,U+70B3,U+7459,U+7A1E,U+7B19,U+80A4,U+82F4,U+8304,U+83C1,U+8881,U+8882,U+88D8,U+8F9F,U+90C1,U+94C3,U+9CDD}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/yunnan-completion-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E19,U+4F8F,U+54E6,U+5A74,U+621B,U+62ED,U+67CA,U+690E,U+6B87,U+6D12,U+6F36,U+6F5E,U+70B3,U+7459,U+7A1E,U+7B19,U+80A4,U+82F4,U+8304,U+83C1,U+8881,U+8882,U+88D8,U+8F9F,U+90C1,U+94C3,U+9CDD}

/* Changsha supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/changsha-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2163,U+2167,U+4E11,U+4F2B,U+4FDF,U+516E,U+5241,U+5288,U+52FF,U+5566,U+55E3,U+55E6,U+5C48,U+5E1B,U+601C,U+60DF,U+6124,U+620A,U+620C,U+63BA,U+64C2,U+6795,U+683B,U+6A0A,U+6A58,U+6C68,U+6CA9,U+7130,U+7168,U+73C0,U+7425,U+754B,U+8017,U+8ABC,U+8BAB,U+8C2D,U+8CC8,U+8CE6,U+904E,U+9537,U+9577,U+9706,U+97F6,U+9B05,U+9D69}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/changsha-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2163,U+2167,U+4E11,U+4F2B,U+4FDF,U+516E,U+5241,U+5288,U+52FF,U+5566,U+55E3,U+55E6,U+5C48,U+5E1B,U+601C,U+60DF,U+6124,U+620A,U+620C,U+63BA,U+64C2,U+6795,U+683B,U+6A0A,U+6A58,U+6C68,U+6CA9,U+7130,U+7168,U+73C0,U+7425,U+754B,U+8017,U+8ABC,U+8BAB,U+8C2D,U+8CC8,U+8CE6,U+904E,U+9537,U+9577,U+9706,U+97F6,U+9B05,U+9D69}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/changsha-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2163,U+2167,U+4E11,U+4F2B,U+4FDF,U+516E,U+5241,U+5288,U+52FF,U+5566,U+55E3,U+55E6,U+5C48,U+5E1B,U+601C,U+60DF,U+6124,U+620A,U+620C,U+63BA,U+64C2,U+6795,U+683B,U+6A0A,U+6A58,U+6C68,U+6CA9,U+7130,U+7168,U+73C0,U+7425,U+754B,U+8017,U+8ABC,U+8BAB,U+8C2D,U+8CC8,U+8CE6,U+904E,U+9537,U+9577,U+9706,U+97F6,U+9B05,U+9D69}


/* Leshan supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/leshan-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+525C,U+6363,U+64BC,U+6C90,U+6CAB,U+6CEE,U+728D,U+7315,U+7FD8,U+809A,U+80F8,U+819D,U+8568,U+8D1E,U+8DF7,U+9704,U+9AFB}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/leshan-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+525C,U+6363,U+64BC,U+6C90,U+6CAB,U+6CEE,U+728D,U+7315,U+7FD8,U+809A,U+80F8,U+819D,U+8568,U+8D1E,U+8DF7,U+9704,U+9AFB}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/leshan-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+525C,U+6363,U+64BC,U+6C90,U+6CAB,U+6CEE,U+728D,U+7315,U+7FD8,U+809A,U+80F8,U+819D,U+8568,U+8D1E,U+8DF7,U+9704,U+9AFB}




/* Fuzhou font supplement */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/fuzhou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F2C,U+5021,U+5077,U+5241,U+5E87,U+6124,U+61D2,U+6289,U+62D7,U+6376,U+6619,U+680E,U+6813,U+6862,U+6995,U+6A1F,U+6C5D,U+7168,U+76D7,U+7AA8,U+7BB8,U+7CDF,U+7EBB,U+7F58,U+80E5,U+828B,U+8309,U+8386,U+8389,U+83B9,U+8446,U+85AF,U+86CE,U+8FF8,U+903B,U+94B9,U+94D9,U+94F2,U+9968,U+9984}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/fuzhou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F2C,U+5021,U+5077,U+5241,U+5E87,U+6124,U+61D2,U+6289,U+62D7,U+6376,U+6619,U+680E,U+6813,U+6862,U+6995,U+6A1F,U+6C5D,U+7168,U+76D7,U+7AA8,U+7BB8,U+7CDF,U+7EBB,U+7F58,U+80E5,U+828B,U+8309,U+8386,U+8389,U+83B9,U+8446,U+85AF,U+86CE,U+8FF8,U+903B,U+94B9,U+94D9,U+94F2,U+9968,U+9984}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/fuzhou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F2C,U+5021,U+5077,U+5241,U+5E87,U+6124,U+61D2,U+6289,U+62D7,U+6376,U+6619,U+680E,U+6813,U+6862,U+6995,U+6A1F,U+6C5D,U+7168,U+76D7,U+7AA8,U+7BB8,U+7CDF,U+7EBB,U+7F58,U+80E5,U+828B,U+8309,U+8386,U+8389,U+83B9,U+8446,U+85AF,U+86CE,U+8FF8,U+903B,U+94B9,U+94D9,U+94F2,U+9968,U+9984}


/* Kaifeng supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/kaifeng-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+5026,U+51C4,U+52FF,U+564E,U+5760,U+582A,U+5978,U+5E91,U+604B,U+645E,U+665F,U+678B,U+6795,U+6886,U+68B5,U+6A59,U+6D52,U+72F8,U+732B,U+7409,U+75B2,U+7950,U+79A7,U+7D6E,U+7EF7,U+7FB2,U+803D,U+80F8,U+85AF,U+8749,U+8912,U+8BBC,U+8E3D,U+903B,U+94C3,U+94E1,U+94F2,U+9716,U+972D,U+996F,U+9E4C,U+9E51}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/kaifeng-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+5026,U+51C4,U+52FF,U+564E,U+5760,U+582A,U+5978,U+5E91,U+604B,U+645E,U+665F,U+678B,U+6795,U+6886,U+68B5,U+6A59,U+6D52,U+72F8,U+732B,U+7409,U+75B2,U+7950,U+79A7,U+7D6E,U+7EF7,U+7FB2,U+803D,U+80F8,U+85AF,U+8749,U+8912,U+8BBC,U+8E3D,U+903B,U+94C3,U+94E1,U+94F2,U+9716,U+972D,U+996F,U+9E4C,U+9E51}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/kaifeng-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+5026,U+51C4,U+52FF,U+564E,U+5760,U+582A,U+5978,U+5E91,U+604B,U+645E,U+665F,U+678B,U+6795,U+6886,U+68B5,U+6A59,U+6D52,U+72F8,U+732B,U+7409,U+75B2,U+7950,U+79A7,U+7D6E,U+7EF7,U+7FB2,U+803D,U+80F8,U+85AF,U+8749,U+8912,U+8BBC,U+8E3D,U+903B,U+94C3,U+94E1,U+94F2,U+9716,U+972D,U+996F,U+9E4C,U+9E51}


/* Foshan supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/foshan-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F83,U+4FA0,U+566A,U+587E,U+5A9B,U+5C48,U+5C65,U+6020,U+61C8,U+62F3,U+649E,U+6656,U+68D5,U+69AD,U+6A35,U+6D8C,U+6DD1,U+6ED8,U+6FD1,U+7728,U+7FF0,U+8017,U+8235,U+83A8,U+853C,U+85AF,U+86EE,U+89DE,U+8C14,U+8D3E,U+8F9F,U+90B8,U+9176,U+956C,U+9704,U+9881,U+9972,U+9CAE}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/foshan-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F83,U+4FA0,U+566A,U+587E,U+5A9B,U+5C48,U+5C65,U+6020,U+61C8,U+62F3,U+649E,U+6656,U+68D5,U+69AD,U+6A35,U+6D8C,U+6DD1,U+6ED8,U+6FD1,U+7728,U+7FF0,U+8017,U+8235,U+83A8,U+853C,U+85AF,U+86EE,U+89DE,U+8C14,U+8D3E,U+8F9F,U+90B8,U+9176,U+956C,U+9704,U+9881,U+9972,U+9CAE}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/foshan-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F83,U+4FA0,U+566A,U+587E,U+5A9B,U+5C48,U+5C65,U+6020,U+61C8,U+62F3,U+649E,U+6656,U+68D5,U+69AD,U+6A35,U+6D8C,U+6DD1,U+6ED8,U+6FD1,U+7728,U+7FF0,U+8017,U+8235,U+83A8,U+853C,U+85AF,U+86EE,U+89DE,U+8C14,U+8D3E,U+8F9F,U+90B8,U+9176,U+956C,U+9704,U+9881,U+9972,U+9CAE}

/* Shantou supplemental glyphs preserve all shared and concurrent city subsets. */


/* Ningbo supplemental glyphs; existing shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/ningbo-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2460,U+2461,U+3014,U+3015,U+5238,U+5323,U+5366,U+536F,U+5375,U+548E,U+609F,U+6666,U+6690,U+66D9,U+6831,U+6D9F,U+6F8D,U+712F,U+723F,U+764C,U+7678,U+78B6,U+7B94,U+7FE1,U+801C,U+827F,U+857B,U+8C2B,U+911E,U+952F,U+9550,U+9C9E,U+9F51}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/ningbo-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2460,U+2461,U+3014,U+3015,U+5238,U+5323,U+5366,U+536F,U+5375,U+548E,U+609F,U+6666,U+6690,U+66D9,U+6831,U+6D9F,U+6F8D,U+712F,U+723F,U+764C,U+7678,U+78B6,U+7B94,U+7FE1,U+801C,U+827F,U+857B,U+8C2B,U+911E,U+952F,U+9550,U+9C9E,U+9F51}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/ningbo-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2460,U+2461,U+3014,U+3015,U+5238,U+5323,U+5366,U+536F,U+5375,U+548E,U+609F,U+6666,U+6690,U+66D9,U+6831,U+6D9F,U+6F8D,U+712F,U+723F,U+764C,U+7678,U+78B6,U+7B94,U+7FE1,U+801C,U+827F,U+857B,U+8C2B,U+911E,U+952F,U+9550,U+9C9E,U+9F51}

/* Shantou supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/shantou-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2160,U+5857,U+5BEE,U+6984,U+6A44,U+7487,U+78CB,U+7910,U+80D6,U+86B5,U+9A77,U+9EC9}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/shantou-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2160,U+5857,U+5BEE,U+6984,U+6A44,U+7487,U+78CB,U+7910,U+80D6,U+86B5,U+9A77,U+9EC9}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/shantou-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+2160,U+5857,U+5BEE,U+6984,U+6A44,U+7487,U+78CB,U+7910,U+80D6,U+86B5,U+9A77,U+9EC9}

/* Lhasa supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/lhasa-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5492,U+55B1,U+5676,U+6BD2,U+7266,U+72FC,U+78D5,U+795B,U+7CCC,U+7EDB,U+8543,U+8654,U+8FE6,U+96EF}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/lhasa-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5492,U+55B1,U+5676,U+6BD2,U+7266,U+72FC,U+78D5,U+795B,U+7CCC,U+7EDB,U+8543,U+8654,U+8FE6,U+96EF}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/lhasa-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5492,U+55B1,U+5676,U+6BD2,U+7266,U+72FC,U+78D5,U+795B,U+7CCC,U+7EDB,U+8543,U+8654,U+8FE6,U+96EF}

/* Datong supplemental glyphs; preserve shared and parallel city faces. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/datong-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F0E,U+4FFA,U+60D1,U+640B,U+66DC,U+6963,U+6BE1,U+7199,U+73EA,U+7682,U+7737,U+77AD,U+7C9F,U+851A,U+857E,U+85E9,U+8FED,U+98A4,U+9ECD}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/datong-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F0E,U+4FFA,U+60D1,U+640B,U+66DC,U+6963,U+6BE1,U+7199,U+73EA,U+7682,U+7737,U+77AD,U+7C9F,U+851A,U+857E,U+85E9,U+8FED,U+98A4,U+9ECD}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/datong-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F0E,U+4FFA,U+60D1,U+640B,U+66DC,U+6963,U+6BE1,U+7199,U+73EA,U+7682,U+7737,U+77AD,U+7C9F,U+851A,U+857E,U+85E9,U+8FED,U+98A4,U+9ECD}

/* Wuhan supplemental glyphs preserve all shared and concurrent city subsets. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/wuhan-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA5,U+5475,U+5D14,U+5EE3,U+63B8,U+6684,U+67AA,U+6A31,U+73C8,U+73DE,U+785A,U+78B3,U+7A37,U+8230,U+840B,U+86C7,U+8DB8,U+9131,U+9865,U+9980,U+9C82,U+9DB4,U+9E49,U+9E66,U+9EC3}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/wuhan-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA5,U+5475,U+5D14,U+5EE3,U+63B8,U+6684,U+67AA,U+6A31,U+73C8,U+73DE,U+785A,U+78B3,U+7A37,U+8230,U+840B,U+857E,U+86C7,U+8DB8,U+9131,U+9865,U+9980,U+9C82,U+9DB4,U+9E49,U+9E66,U+9EC3}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/wuhan-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EA5,U+5475,U+5D14,U+5EE3,U+63B8,U+6684,U+67AA,U+6A31,U+73C8,U+73DE,U+785A,U+78B3,U+7A37,U+8230,U+840B,U+86C7,U+8DB8,U+9131,U+9865,U+9980,U+9C82,U+9DB4,U+9E49,U+9E66,U+9EC3}

/* Browse places below the map; small illustrations keep the directory scannable. */
.atlas-layout{display:flex;flex-direction:column;min-height:0}
.atlas-layout>.map-panel{width:100%;padding:20px 0;align-self:stretch}
.map-viewport{max-width:860px;margin-inline:auto}
.sidebar{width:100%;border-left:0;border-top:1px solid var(--line);padding:28px 0}
.sidebar .search-wrap{max-width:480px}
#destination-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}
#destination-results>.empty{grid-column:1/-1}
.destination-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--line);align-items:start}
.destination-card .art{width:88px;height:88px;aspect-ratio:1;margin:0}
.destination-card .card-copy{padding:0;min-width:0}
.destination-card h3{font-size:25px;line-height:1.4;margin:4px 0 7px}
.destination-card h3 .muted{display:none}
.destination-card .eyebrow{font-size:9px;letter-spacing:.06em}
.destination-card p{font-size:13px;line-height:1.7;margin-bottom:9px}
.destination-card p br{display:none}
.destination-card .preview-link{font-size:11px;line-height:1.8}
.destination-card .art-label,.atlas-place .art-label,.story-card .art-label{display:none}
.atlas-directory{margin:24px 0 30px}
.atlas-directory .directory-heading{align-items:center;margin-bottom:18px;gap:16px}
.atlas-directory h2{font-size:28px;margin:5px 0}
.atlas-directory .directory-heading p{font-size:12px}
.atlas-place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.atlas-place{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);text-decoration:none;min-width:0;background:#fff7}
.atlas-place:hover{border-color:var(--jade);background:#e6ece280}
.atlas-place .art,.place-mark{flex:0 0 48px;width:48px;height:48px;aspect-ratio:1;margin:0;border-radius:3px}
.place-mark{display:grid;place-items:center;background:#e6ece2;color:var(--muted);font:12px var(--display)}
.place-copy{min-width:0;display:grid;gap:5px}
.place-copy strong{font:18px/1.4 var(--display);overflow-wrap:anywhere}
.place-copy small{font:11px/1.5 var(--sans);color:var(--muted)}
.atlas-place.is-pending{background:transparent}
.directory-source{font:11px/1.9 var(--sans);color:var(--muted);margin:14px 0 0}
.quiet-note{padding-top:18px}
.city-hero{grid-template-columns:minmax(0,1fr) 240px;gap:30px;padding:22px 0 28px}
.city-hero h1{font-size:66px}
.city-hero .art{width:240px;max-height:190px;aspect-ratio:1.4}
.city-hero .city-copy>p:not(.eyebrow):not(.lede){max-width:650px}
.chapter-nav{margin-bottom:28px}
.city-reading-guide{margin:24px 0 32px;border-block:1px solid var(--line);padding:16px 0}
.city-reading-guide>summary{font:20px/1.5 var(--display);cursor:pointer}
.city-reading-guide[open]>summary{margin-bottom:20px}
.reading-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.reading-guide-grid h3{font-size:23px}
.county-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.county-links a{margin:0;padding:9px 10px;text-align:center}
.story-grid,.story-grid.culture-grid,.related .story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.story-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid var(--line);padding-top:16px;min-width:0}
.story-card>.art{width:88px;height:88px;aspect-ratio:1}
.story-copy{min-width:0}
.story-card .card-meta{font-size:10px;letter-spacing:0;line-height:1.7;margin:0 0 5px}
.story-card h3{font-size:22px;line-height:1.5;margin-bottom:8px}
.story-card p{font-size:13px;line-height:1.8;margin-bottom:8px}
.story-card .read-link{font-size:11px;line-height:1.8}
.story-copy>p:not(.card-meta){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.story-card .reading-diagram{min-height:0;padding:8px;gap:4px}
.story-card .reading-diagram .eyebrow,.story-card .reading-diagram .diagram-note{display:none}
.story-card .reading-diagram li{font-size:10px}
.prefecture-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.prefecture-card{padding:18px}
.prefecture-card h3{font-size:27px}
@media(max-width:1100px){
 #destination-results,.story-grid,.story-grid.culture-grid,.related .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-place-grid,.prefecture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .county-links{grid-template-columns:repeat(4,minmax(0,1fr))}
 .reading-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .atlas-layout>.map-panel{padding:12px 0}
 .sidebar{padding:22px 0}
 .atlas-place-grid,.prefecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-place{padding:10px;gap:8px}
 .atlas-place .art,.place-mark{flex-basis:36px;width:36px;height:36px}
 .place-copy strong{font-size:17px}
 .place-copy small{font-size:10px}
 .atlas-directory .directory-heading{display:block}
 .atlas-directory h2{font-size:25px}
 #destination-results,.story-grid,.story-grid.culture-grid,.related .story-grid{grid-template-columns:1fr;gap:12px}
 .destination-card{grid-template-columns:72px minmax(0,1fr);gap:13px;padding:14px 0}
 .destination-card .art{width:72px;height:72px}
 .destination-card h3{font-size:25px}
 .city-hero{grid-template-columns:minmax(0,1fr) 88px;gap:14px;padding:20px 0}
 .city-hero h1{font-size:48px;letter-spacing:.06em}
 .city-hero .lede{font-size:21px}
 .city-hero .art{width:88px;height:100px;aspect-ratio:auto}
 .city-copy .eyebrow{overflow-wrap:anywhere;font-size:9px}
 .city-hero .city-copy>p:not(.eyebrow):not(.lede){font-size:13px}
 .county-links{grid-template-columns:repeat(3,minmax(0,1fr))}
 .reading-guide-grid{grid-template-columns:1fr}
 .story-card{grid-template-columns:72px minmax(0,1fr);gap:13px;padding:14px 0}
 .story-card>.art{width:72px;height:72px}
 .story-card h3{font-size:22px}
 .chapter{margin-bottom:30px}
 .prefecture-card{padding:12px}
 .prefecture-card h3{font-size:24px}
 .prefecture-meta{display:block}
 .prefecture-card p,.prefecture-card li{font-size:12px}
 .prefecture-card .eyebrow{overflow-wrap:anywhere;letter-spacing:.04em}
}

/* Heilongjiang supplemental glyphs; existing shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hlj-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FD8,U+502D,U+5146,U+51EF,U+5398,U+53A9,U+54B1,U+54E8,U+54FA,U+561F,U+565C,U+57A9,U+58D5,U+59CA,U+5F29,U+5F7B,U+6252,U+625B,U+6320,U+6402,U+641E,U+6854,U+6934,U+699B,U+6D3D,U+6D93,U+6DD8,U+7184,U+7198,U+72B8,U+72CD,U+73A5,U+73A6,U+73F2,U+7477,U+75A4,U+778E,U+7825,U+782C,U+783A,U+79F8,U+7A79,U+7AED,U+7B90,U+7EC0,U+82AC,U+835A,U+83F2,U+846D,U+84B9,U+8877,U+8BB7,U+8DE4,U+8EBA,U+9005,U+9082,U+96CF,U+988C,U+9CC7,U+9CDE}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hlj-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FD8,U+502D,U+5146,U+51EF,U+5398,U+53A9,U+54B1,U+54E8,U+54FA,U+561F,U+565C,U+57A9,U+58D5,U+59CA,U+5F29,U+5F7B,U+6252,U+625B,U+6320,U+6402,U+641E,U+6854,U+6934,U+699B,U+6D3D,U+6D93,U+6DD8,U+7184,U+7198,U+72B8,U+72CD,U+73A5,U+73A6,U+73F2,U+7477,U+75A4,U+778E,U+7825,U+782C,U+783A,U+79F8,U+7A79,U+7AED,U+7B90,U+7EC0,U+82AC,U+835A,U+83F2,U+846D,U+84B9,U+8877,U+8BB7,U+8DE4,U+8EBA,U+9005,U+9082,U+96CF,U+988C,U+9CC7,U+9CDE}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hlj-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FD8,U+502D,U+5146,U+51EF,U+5398,U+53A9,U+54B1,U+54E8,U+54FA,U+561F,U+565C,U+57A9,U+58D5,U+59CA,U+5F29,U+5F7B,U+6252,U+625B,U+6320,U+6402,U+641E,U+6854,U+6934,U+699B,U+6D3D,U+6D93,U+6DD8,U+7184,U+7198,U+72B8,U+72CD,U+73A5,U+73A6,U+73F2,U+7477,U+75A4,U+778E,U+7825,U+782C,U+783A,U+79F8,U+7A79,U+7AED,U+7B90,U+7EC0,U+82AC,U+835A,U+83F2,U+846D,U+84B9,U+8877,U+8BB7,U+8DE4,U+8EBA,U+9005,U+9082,U+96CF,U+988C,U+9CC7,U+9CDE}


/* Jilin narrow-screen introduction: keep text and illustration at a readable width. */
@media(max-width:420px){.city-hero[data-province="220000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="220000"] .art{width:100%;height:180px;max-height:none;aspect-ratio:auto}.city-hero[data-province="220000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}}

/* Liaoning supplemental glyphs; existing shared fonts preserved. */

/* Liaoning supplemental glyphs; existing shared fonts preserved. */





/* Liaoning supplemental glyphs; existing shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/ln-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4ED7,U+4F5A,U+4FCF,U+53ED,U+5450,U+5522,U+5768,U+5BB0,U+5CAB,U+5E96,U+6254,U+638F,U+6756,U+6809,U+71E7,U+7455,U+75B5,U+7823,U+7889,U+8662,U+86AC,U+86C4,U+86E4,U+8707,U+870A,U+8772,U+87FE,U+9003,U+90DD,U+93D6,U+95FE,U+9987,U+9A74,U+9C85,U+9C8D,U+9CCD,U+9E3B,U+9E6C}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/ln-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4ED7,U+4F5A,U+4FCF,U+53ED,U+5450,U+5522,U+5768,U+5BB0,U+5CAB,U+5E96,U+6254,U+638F,U+6756,U+6809,U+71E7,U+7455,U+75B5,U+7823,U+7889,U+8662,U+86AC,U+86C4,U+86E4,U+8707,U+870A,U+8772,U+87FE,U+9003,U+90DD,U+93D6,U+95FE,U+9987,U+9A74,U+9C85,U+9C8D,U+9CCD,U+9E3B,U+9E6C}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/ln-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4ED7,U+4F5A,U+4FCF,U+53ED,U+5450,U+5522,U+5768,U+5BB0,U+5CAB,U+5E96,U+6254,U+638F,U+6756,U+6809,U+71E7,U+7455,U+75B5,U+7823,U+7889,U+8662,U+86AC,U+86C4,U+86E4,U+8707,U+870A,U+8772,U+87FE,U+9003,U+90DD,U+93D6,U+95FE,U+9987,U+9A74,U+9C85,U+9C8D,U+9CCD,U+9E3B,U+9E6C}

/* Inner Mongolia: long prefecture names remain readable on narrow phones. */
@media(max-width:420px){.city-hero[data-province="150000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="150000"] h1{font-size:44px;letter-spacing:.03em}.city-hero[data-province="150000"] .art{width:100%;height:180px;max-height:none;aspect-ratio:auto}.city-hero[data-province="150000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}}






@font-face{font-family:'Travel WenKai';src:url('assets/fonts/imc-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+50DA,U+6248,U+6396,U+69BB,U+6BD3,U+7237,U+8475,U+8862}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/imc-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+50DA,U+6248,U+6396,U+69BB,U+6BD3,U+7237,U+8475,U+8862}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/imc-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+50DA,U+6248,U+6396,U+69BB,U+6BD3,U+7237,U+8475,U+8862}

/* Jilin supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/jl-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5080,U+5121,U+51C7,U+56CA,U+57C3,U+58D1,U+5C65,U+5E91,U+5F13,U+62BC,U+6376,U+63B7,U+6566,U+6986,U+6A2F,U+6CA6,U+6CC4,U+6D2E,U+6DD8,U+6EA5,U+6FDB,U+70E8,U+7199,U+72F1,U+72FC,U+73F2,U+782C,U+78D0,U+79F8,U+7AA8,U+7F09,U+8017,U+8230,U+832C,U+85AF,U+86DF,U+889C,U+8D1E,U+8FDD,U+903B,U+9668,U+977A,U+97A8,U+9888,U+9972,U+9978,U+9979,U+9A79}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/jl-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5080,U+5121,U+51C7,U+56CA,U+57C3,U+58D1,U+5C65,U+5E91,U+5F13,U+62BC,U+6376,U+63B7,U+6566,U+6986,U+6A2F,U+6CA6,U+6CC4,U+6D2E,U+6DD8,U+6EA5,U+6FDB,U+70E8,U+7199,U+72F1,U+72FC,U+73F2,U+782C,U+78D0,U+79F8,U+7AA8,U+7F09,U+8017,U+8230,U+832C,U+85AF,U+86DF,U+889C,U+8D1E,U+8FDD,U+903B,U+9668,U+977A,U+97A8,U+9888,U+9972,U+9978,U+9979,U+9A79}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/jl-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5080,U+5121,U+51C7,U+56CA,U+57C3,U+58D1,U+5C65,U+5E91,U+5F13,U+62BC,U+6376,U+63B7,U+6566,U+6986,U+6A2F,U+6CA6,U+6CC4,U+6D2E,U+6DD8,U+6EA5,U+6FDB,U+70E8,U+7199,U+72F1,U+72FC,U+73F2,U+782C,U+78D0,U+79F8,U+7AA8,U+7F09,U+8017,U+8230,U+832C,U+85AF,U+86DF,U+889C,U+8D1E,U+8FDD,U+903B,U+9668,U+977A,U+97A8,U+9888,U+9972,U+9978,U+9979,U+9A79}

/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */


/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */

/* Liaoning supplemental glyphs; existing shared fonts preserved. */


/* Liaoning supplemental glyphs; existing shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hb-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E15,U+543C,U+5A32,U+5ACC,U+6600,U+6628,U+664F,U+6872,U+6924,U+6D9E,U+6DBF,U+6E25,U+6EE6,U+72D0,U+72DD,U+7504,U+7EFE,U+7F79,U+853A,U+85C1,U+87AD,U+8DCC,U+90AF,U+90F8,U+948A,U+949E,U+9649,U+9A85}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hb-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E15,U+543C,U+5A32,U+5ACC,U+6600,U+6628,U+664F,U+6872,U+6924,U+6D9E,U+6DBF,U+6E25,U+6EE6,U+72D0,U+72DD,U+7504,U+7EFE,U+7F79,U+853A,U+85C1,U+87AD,U+8DCC,U+90AF,U+90F8,U+948A,U+949E,U+9649,U+9A85}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hb-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E15,U+543C,U+5A32,U+5ACC,U+6600,U+6628,U+664F,U+6872,U+6924,U+6D9E,U+6DBF,U+6E25,U+6EE6,U+72D0,U+72DD,U+7504,U+7EFE,U+7F79,U+853A,U+85C1,U+87AD,U+8DCC,U+90AF,U+90F8,U+948A,U+949E,U+9649,U+9A85}

/* Shaanxi supplemental glyphs; every existing font face preserved. */

/* Ningxia supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/nx-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+545C,U+54C7,U+589F,U+660A,U+672D,U+67B8,U+7CB1,U+808B,U+80BA,U+8D5D,U+938F,U+951A,U+997D,U+9993}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/nx-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+545C,U+54C7,U+589F,U+660A,U+672D,U+67B8,U+7CB1,U+808B,U+80BA,U+8D5D,U+938F,U+951A,U+997D,U+9993}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/nx-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+545C,U+54C7,U+589F,U+660A,U+672D,U+67B8,U+7CB1,U+808B,U+80BA,U+8D5D,U+938F,U+951A,U+997D,U+9993}

/* Shaanxi city introductions remain readable at narrow mobile widths. */
@media(max-width:420px){.city-hero[data-province="610000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="610000"] .art{width:100%;height:180px;max-height:none;aspect-ratio:auto}.city-hero[data-province="610000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}}


/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */

/* Shaanxi supplemental glyphs; every existing font face preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/sx-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+A,U+3016,U+3017,U+527A,U+58FA,U+5CC1,U+6332,U+6467,U+65BC,U+65EC,U+67DE,U+68E3,U+6C82,U+6DEC,U+718A,U+72B7,U+7C9D,U+8155,U+84FC,U+8E05,U+8F95,U+9088,U+9965,U+997F,U+9B03,U+9E6E}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/sx-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+A,U+3016,U+3017,U+527A,U+58FA,U+5CC1,U+6332,U+6467,U+65BC,U+65EC,U+67DE,U+68E3,U+6C82,U+6DEC,U+718A,U+72B7,U+7C9D,U+8155,U+84FC,U+8E05,U+8F95,U+9088,U+9965,U+997F,U+9B03,U+9E6E}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/sx-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+A,U+3016,U+3017,U+527A,U+58FA,U+5CC1,U+6332,U+6467,U+65BC,U+65EC,U+67DE,U+68E3,U+6C82,U+6DEC,U+718A,U+72B7,U+7C9D,U+8155,U+84FC,U+8E05,U+8F95,U+9088,U+9965,U+997F,U+9B03,U+9E6E}


/* Qinghai supplemental glyphs: independent subsets, shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/qh-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5462,U+59D0,U+5C3F,U+6C2F,U+6D04,U+6DE6,U+70EC,U+7845,U+7BF1,U+7EDA,U+831C,U+8C26,U+8D29,U+9499,U+94A0,U+94BE}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/qh-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5462,U+59D0,U+5C3F,U+6C2F,U+6D04,U+6DE6,U+70EC,U+7845,U+7BF1,U+7EDA,U+831C,U+8C26,U+8D29,U+9499,U+94A0,U+94BE}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/qh-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5462,U+59D0,U+5C3F,U+6C2F,U+6D04,U+6DE6,U+70EC,U+7845,U+7BF1,U+7EDA,U+831C,U+8C26,U+8D29,U+9499,U+94A0,U+94BE}


/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */



/* Xizang supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/xz-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60F9,U+6C06,U+6C07,U+6EDE,U+783B,U+8036,U+82EF,U+8F99,U+96CD}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/xz-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60F9,U+6C06,U+6C07,U+6EDE,U+783B,U+8036,U+82EF,U+8F99,U+96CD}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/xz-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+60F9,U+6C06,U+6C07,U+6EDE,U+783B,U+8036,U+82EF,U+8F99,U+96CD}


/* Xinjiang completion supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/xjc-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FE9,U+5564,U+5EB8,U+65E8,U+6DB8,U+6EA2,U+707F,U+70C3,U+7410,U+751A,U+7978,U+803B,U+8098,U+82DF,U+9600,U+98D9}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/xjc-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FE9,U+5564,U+5EB8,U+65E8,U+6DB8,U+6EA2,U+707F,U+70C3,U+7410,U+751A,U+7978,U+803B,U+8098,U+82DF,U+9600,U+98D9}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/xjc-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4FE9,U+5564,U+5EB8,U+65E8,U+6DB8,U+6EA2,U+707F,U+70C3,U+7410,U+751A,U+7978,U+803B,U+8098,U+82DF,U+9600,U+98D9}

/* Gansu supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/gs-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E5E,U+4F63,U+5077,U+51FD,U+5323,U+5366,U+5375,U+5389,U+5471,U+54FA,U+57C3,U+586C,U+58D1,U+59CA,U+5C15,U+5C65,U+5CD2,U+5D06,U+5DC5,U+5F7B,U+6028,U+62BB,U+6363,U+6396,U+6566,U+6577,U+6795,U+68FA,U+6901,U+6984,U+6986,U+69C3,U+6A0A,U+6A44,U+6A59,U+6BD2,U+6BD7,U+6BE1,U+6D2E,U+6D85,U+6E2D,U+6E5F,U+6F33,U+7078,U+70B3,U+7110,U+7130,U+71E7,U+7237,U+7266,U+73AB,U+73B2,U+7455,U+7470,U+7480,U+75B5,U+7682,U+76D7,U+77AD,U+783E,U+78A5,U+7A1E,U+7A8B,U+7B93,U+7C9F,U+7CBD,U+7CC1,U+7CCC,U+7EAB,U+7F28,U+7F94,U+7FB2,U+7FD5,U+7FF0,U+8017,U+80F8,U+81FC,U+828B,U+832F,U+8543,U+8559,U+8587,U+85AF,U+85DC,U+8912,U+8C27,U+8FED,U+915D,U+9185,U+92AE,U+94C3,U+954D,U+96C7,U+976C,U+9798,U+97A0,U+996F,U+9972,U+9978,U+9979,U+9993,U+9A74,U+9A8A,U+9B03,U+9E4F}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/gs-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E5E,U+4F63,U+5077,U+51FD,U+5323,U+5366,U+5375,U+5389,U+5471,U+54FA,U+57C3,U+586C,U+58D1,U+59CA,U+5C15,U+5C65,U+5CD2,U+5D06,U+5DC5,U+5F7B,U+6028,U+62BB,U+6363,U+6396,U+6566,U+6577,U+6795,U+68FA,U+6901,U+6984,U+6986,U+69C3,U+6A0A,U+6A44,U+6A59,U+6BD2,U+6BD7,U+6BE1,U+6D2E,U+6D85,U+6E2D,U+6E5F,U+6F33,U+7078,U+70B3,U+7110,U+7130,U+71E7,U+7237,U+7266,U+73AB,U+73B2,U+7455,U+7470,U+7480,U+75B5,U+7682,U+76D7,U+77AD,U+783E,U+78A5,U+7A1E,U+7A8B,U+7B93,U+7C9F,U+7CBD,U+7CC1,U+7CCC,U+7EAB,U+7F28,U+7F94,U+7FB2,U+7FD5,U+7FF0,U+8017,U+80F8,U+81FC,U+828B,U+832F,U+8543,U+8559,U+8587,U+85AF,U+85DC,U+8912,U+8C27,U+8FED,U+915D,U+9185,U+92AE,U+94C3,U+954D,U+96C7,U+976C,U+9798,U+97A0,U+996F,U+9972,U+9978,U+9979,U+9993,U+9A74,U+9A8A,U+9B03,U+9E4F}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/gs-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E5E,U+4F63,U+5077,U+51FD,U+5323,U+5366,U+5375,U+5389,U+5471,U+54FA,U+57C3,U+586C,U+58D1,U+59CA,U+5C15,U+5C65,U+5CD2,U+5D06,U+5DC5,U+5F7B,U+6028,U+62BB,U+6363,U+6396,U+6566,U+6577,U+6795,U+68FA,U+6901,U+6984,U+6986,U+69C3,U+6A0A,U+6A44,U+6A59,U+6BD2,U+6BD7,U+6BE1,U+6D2E,U+6D85,U+6E2D,U+6E5F,U+6F33,U+7078,U+70B3,U+7110,U+7130,U+71E7,U+7237,U+7266,U+73AB,U+73B2,U+7455,U+7470,U+7480,U+75B5,U+7682,U+76D7,U+77AD,U+783E,U+78A5,U+7A1E,U+7A8B,U+7B93,U+7C9F,U+7CBD,U+7CC1,U+7CCC,U+7EAB,U+7F28,U+7F94,U+7FB2,U+7FD5,U+7FF0,U+8017,U+80F8,U+81FC,U+828B,U+832F,U+8543,U+8559,U+8587,U+85AF,U+85DC,U+8912,U+8C27,U+8FED,U+915D,U+9185,U+92AE,U+94C3,U+954D,U+96C7,U+976C,U+9798,U+97A0,U+996F,U+9972,U+9978,U+9979,U+9993,U+9A74,U+9A8A,U+9B03,U+9E4F}

/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */

/* Henan: give the full local lead and illustration room on narrow screens. */
@media(max-width:420px){.city-hero[data-province="410000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="410000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="410000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="410000"] .lede{font-size:21px}}

/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */



/* Anhui completion glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/ahc-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5F08,U+606C,U+68F9,U+6F29,U+6F2A,U+757F,U+8C82,U+8FE4,U+9036,U+914A,U+9169}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/ahc-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5F08,U+606C,U+68F9,U+6F29,U+6F2A,U+757F,U+8C82,U+8FE4,U+9036,U+914A,U+9169}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/ahc-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5F08,U+606C,U+68F9,U+6F29,U+6F2A,U+757F,U+8C82,U+8FE4,U+9036,U+914A,U+9169}

/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */






/* Shandong city introductions need a readable column on narrow phones. */
@media(max-width:420px){.city-hero[data-province="370000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="370000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="370000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="370000"] .lede{font-size:21px}}



/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */

/* Henan supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hn-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F3E,U+5211,U+530D,U+5495,U+5795,U+5846,U+5C88,U+5D24,U+5D56,U+611A,U+621A,U+6BB7,U+6CCC,U+6D35,U+6D39,U+6D49,U+6DC5,U+6DC7,U+6E0E,U+6E11,U+6E5B,U+6F2F,U+6FEE,U+7118,U+7398,U+76C9,U+7762,U+7CB9,U+7F9E,U+80EF,U+8191,U+8206,U+8C23,U+8D4A,U+8F75,U+8FB1,U+900D,U+90CF,U+90FE,U+9122,U+948E,U+94A7,U+950C,U+965F,U+987C,U+9896,U+989B}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hn-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F3E,U+5211,U+530D,U+5495,U+5795,U+5846,U+5C88,U+5D24,U+5D56,U+611A,U+621A,U+6BB7,U+6CCC,U+6D35,U+6D39,U+6D49,U+6DC5,U+6DC7,U+6E0E,U+6E11,U+6E5B,U+6F2F,U+6FEE,U+7118,U+7398,U+76C9,U+7762,U+7CB9,U+7F9E,U+80EF,U+8191,U+8206,U+8C23,U+8D4A,U+8F75,U+8FB1,U+900D,U+90CF,U+90FE,U+9122,U+948E,U+94A7,U+950C,U+965F,U+987C,U+9896,U+989B}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hn-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F3E,U+5211,U+530D,U+5495,U+5795,U+5846,U+5C88,U+5D24,U+5D56,U+611A,U+621A,U+6BB7,U+6CCC,U+6D35,U+6D39,U+6D49,U+6DC5,U+6DC7,U+6E0E,U+6E11,U+6E5B,U+6F2F,U+6FEE,U+7118,U+7398,U+76C9,U+7762,U+7CB9,U+7F9E,U+80EF,U+8191,U+8206,U+8C23,U+8D4A,U+8F75,U+8FB1,U+900D,U+90CF,U+90FE,U+9122,U+948E,U+94A7,U+950C,U+965F,U+987C,U+9896,U+989B}

/* Shandong supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/sd-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5156,U+52F0,U+55D2,U+5ADA,U+5CC4,U+5D02,U+5D2E,U+6251,U+6641,U+6710,U+67FD,U+6939,U+6B3A,U+6C4A,U+6CAD,U+6DC4,U+6ED5,U+750F,U+7726,U+7A8D,U+80C0,U+82EB,U+830C,U+8392,U+8398,U+83CF,U+8703,U+8D36,U+8DB5,U+8E74,U+8FAB,U+9095,U+90B9,U+90D3,U+90EF,U+9104,U+91BA,U+9A97,U+9CD7}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/sd-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5156,U+52F0,U+55D2,U+5ADA,U+5CC4,U+5D02,U+5D2E,U+6251,U+6641,U+6710,U+67FD,U+6939,U+6B3A,U+6C4A,U+6CAD,U+6DC4,U+6ED5,U+750F,U+7726,U+7A8D,U+80C0,U+82EB,U+830C,U+8392,U+8398,U+83CF,U+8703,U+8D36,U+8DB5,U+8E74,U+8FAB,U+9095,U+90B9,U+90D3,U+90EF,U+9104,U+91BA,U+9A97,U+9CD7}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/sd-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5156,U+52F0,U+55D2,U+5ADA,U+5CC4,U+5D02,U+5D2E,U+6251,U+6641,U+6710,U+67FD,U+6939,U+6B3A,U+6C4A,U+6CAD,U+6DC4,U+6ED5,U+750F,U+7726,U+7A8D,U+80C0,U+82EB,U+830C,U+8392,U+8398,U+83CF,U+8703,U+8D36,U+8DB5,U+8E74,U+8FAB,U+9095,U+90B9,U+90D3,U+90EF,U+9104,U+91BA,U+9A97,U+9CD7}

/* Jiangsu supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/jiangsu-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+515C,U+5289,U+5FCD,U+622C,U+6EB1,U+76F1,U+7719,U+80ED,U+821C,U+8223,U+86CF,U+88B1,U+8B07,U+8D63,U+90B3,U+98A8,U+9963,U+9AA5,U+9F0B}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/jiangsu-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+515C,U+5289,U+5FCD,U+622C,U+6EB1,U+76F1,U+7719,U+80ED,U+821C,U+8223,U+86CF,U+88B1,U+8B07,U+8D63,U+90B3,U+98A8,U+9963,U+9AA5,U+9F0B}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/jiangsu-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+515C,U+5289,U+5FCD,U+622C,U+6EB1,U+76F1,U+7719,U+80ED,U+821C,U+8223,U+86CF,U+88B1,U+8B07,U+8D63,U+90B3,U+98A8,U+9963,U+9AA5,U+9F0B}



/* Shanxi supplemental glyphs; all existing shared and concurrent faces preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/shx-wenkai-rare.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+6C56}
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/shx-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EDD,U+572A,U+5769,U+57A2,U+57DD,U+598D,U+59D7,U+59E3,U+5A04,U+5C9A,U+5CA2,U+5CD9,U+5FFB,U+6016,U+61D1,U+620E,U+621F,U+62BF,U+6607,U+6627,U+6635,U+66E6,U+6775,U+6829,U+6832,U+6833,U+68D8,U+693D,U+6B6A,U+6C7E,U+6D0E,U+6D94,U+6DA4,U+6E6B,U+70AB,U+70E6,U+711A,U+7252,U+7317,U+73AE,U+74A8,U+777F,U+77F8,U+7850,U+7856,U+789B,U+78C9,U+795A,U+7F30,U+82AE,U+8314,U+8385,U+840C,U+85B9,U+874E,U+91AE,U+96B0,U+9738,U+9785,U+97AD,U+98A0,U+9E3E}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/shx-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EDD,U+572A,U+5769,U+57A2,U+57DD,U+598D,U+59D7,U+59E3,U+5A04,U+5C9A,U+5CA2,U+5CD9,U+5FFB,U+6016,U+61D1,U+620E,U+621F,U+62BF,U+6607,U+6627,U+6635,U+66E6,U+6775,U+6829,U+6832,U+6833,U+68D8,U+693D,U+6B6A,U+6C56,U+6C7E,U+6D0E,U+6D94,U+6DA4,U+6E6B,U+70AB,U+70E6,U+711A,U+7252,U+7317,U+73AE,U+74A8,U+777F,U+77F8,U+7850,U+7856,U+789B,U+78C9,U+795A,U+7F30,U+82AE,U+8314,U+8385,U+840C,U+85B9,U+874E,U+91AE,U+96B0,U+9738,U+9785,U+97AD,U+98A0,U+9E3E}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/shx-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EDD,U+572A,U+5769,U+57A2,U+57DD,U+598D,U+59D7,U+59E3,U+5A04,U+5C9A,U+5CA2,U+5CD9,U+5FFB,U+6016,U+61D1,U+620E,U+621F,U+62BF,U+6607,U+6627,U+6635,U+66E6,U+6775,U+6829,U+6832,U+6833,U+68D8,U+693D,U+6B6A,U+6C56,U+6C7E,U+6D0E,U+6D94,U+6DA4,U+6E6B,U+70AB,U+70E6,U+711A,U+7252,U+7317,U+73AE,U+74A8,U+777F,U+77F8,U+7850,U+7856,U+789B,U+78C9,U+795A,U+7F30,U+82AE,U+8314,U+8385,U+840C,U+85B9,U+874E,U+91AE,U+96B0,U+9738,U+9785,U+97AD,U+98A0,U+9E3E}



/* Shanxi article titles: balance short final lines without changing other destinations. */
main:has(> .breadcrumbs a[href="#/shanxi"]) .article-header h1{text-wrap:balance}

/* Hubei introductions: keep the place narrative and illustration readable on phones. */
main:has(> .breadcrumbs a[href="#/hubei"]) .article-header h1{text-wrap:balance}
@media(max-width:420px){.city-hero[data-province="420000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="420000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="420000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="420000"] .lede{font-size:21px}}

/* Hubei supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hub-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F88,U+4F97,U+55EC,U+57AD,U+57B8,U+5962,U+5A07,U+5B0C,U+5C98,U+60FA,U+6387,U+6A79,U+6C48,U+6C94,U+6D60,U+6DA2,U+72C8,U+7307,U+745F,U+74A0,U+7784,U+79ED,U+7A98,U+7B75,U+7EB6,U+7F4D,U+7FA1,U+7FA8,U+8072,U+807D,U+8263,U+833C,U+838A,U+8449,U+84D1,U+8572,U+85E0,U+8607,U+8616,U+87AF,U+87E0,U+8983,U+8EAC,U+8EFE,U+90E7,U+9179,U+9615,U+96E2,U+97B5,U+9A37,U+9A9A,U+9C9F,U+9CCA}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hub-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F88,U+4F97,U+55EC,U+57AD,U+57B8,U+5962,U+5A07,U+5B0C,U+5C98,U+60FA,U+6387,U+6A79,U+6C48,U+6C94,U+6D60,U+6DA2,U+72C8,U+7307,U+745F,U+74A0,U+7784,U+79ED,U+7A98,U+7B75,U+7EB6,U+7F4D,U+7FA1,U+7FA8,U+8072,U+807D,U+8263,U+833C,U+838A,U+8449,U+84D1,U+8572,U+85E0,U+8607,U+8616,U+87AF,U+87E0,U+8983,U+8EAC,U+8EFE,U+90E7,U+9179,U+9615,U+96E2,U+97B5,U+9A37,U+9A9A,U+9C9F,U+9CCA}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hub-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F88,U+4F97,U+55EC,U+57AD,U+57B8,U+5962,U+5A07,U+5B0C,U+5C98,U+60FA,U+6387,U+6A79,U+6C48,U+6C94,U+6D60,U+6DA2,U+72C8,U+7307,U+745F,U+74A0,U+7784,U+79ED,U+7A98,U+7B75,U+7EB6,U+7F4D,U+7FA1,U+7FA8,U+8072,U+807D,U+8263,U+833C,U+838A,U+8449,U+84D1,U+8572,U+85E0,U+8607,U+8616,U+87AF,U+87E0,U+8983,U+8EAC,U+8EFE,U+90E7,U+9179,U+9615,U+96E2,U+97B5,U+9A37,U+9A9A,U+9C9F,U+9CCA}

/* Guangdong phone introductions preserve room for the place and its illustration. */
main:has(> .breadcrumbs a[href="#/guangdong"]) .article-header h1{text-wrap:balance}
@media(max-width:420px){.city-hero[data-province="440000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="440000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="440000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="440000"] .lede{font-size:21px}}

/* Guizhou supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/gz-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EE1,U+4F6C,U+5189,U+51FC,U+5BA0,U+5C9C,U+686B,U+6C5E,U+6E44,U+6FE1,U+79C9,U+858F,U+86DB,U+8718,U+8A79,U+8C1F,U+8D41,U+8F70,U+9074,U+9621}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/gz-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EE1,U+4F6C,U+5189,U+51FC,U+5BA0,U+5C9C,U+686B,U+6C5E,U+6E44,U+6FE1,U+79C9,U+858F,U+86DB,U+8718,U+8A79,U+8C1F,U+8D41,U+8F70,U+9074,U+9621}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/gz-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EE1,U+4F6C,U+5189,U+51FC,U+5BA0,U+5C9C,U+686B,U+6C5E,U+6E44,U+6FE1,U+79C9,U+858F,U+86DB,U+8718,U+8A79,U+8C1F,U+8D41,U+8F70,U+9074,U+9621}


/* 贵州：窄屏把地方主线与封面分行，保留文字宽度。 */
@media(max-width:420px){.city-hero[data-province="520000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="520000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="520000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="520000"] .lede{font-size:21px}}

/* Jiangxi supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/jx-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+507F,U+575F,U+5EBE,U+6291,U+6C70,U+6CF7,U+6D54,U+6E74,U+6FC2,U+726F,U+78F7,U+7BC1,U+8037,U+80D9,U+8110,U+8317,U+86D9,U+8713,U+873B,U+87D2,U+8A69,U+8C15,U+8E1D,U+90E6,U+95A3,U+9E5C}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/jx-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+507F,U+575F,U+5EBE,U+6291,U+6C70,U+6CF7,U+6D54,U+6E74,U+6FC2,U+726F,U+78F7,U+7BC1,U+8037,U+80D9,U+8110,U+8317,U+86D9,U+8713,U+873B,U+87D2,U+8A69,U+8C15,U+8E1D,U+90E6,U+95A3,U+9E5C}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/jx-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+507F,U+575F,U+5EBE,U+6291,U+6C70,U+6CF7,U+6D54,U+6E74,U+6FC2,U+726F,U+78F7,U+7BC1,U+8037,U+80D9,U+8110,U+8317,U+86D9,U+8713,U+873B,U+87D2,U+8A69,U+8C15,U+8E1D,U+90E6,U+95A3,U+9E5C}

/* Jiangxi: keep long city leads readable on narrow phones. */
@media(max-width:420px){.city-hero[data-province="360000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="360000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="360000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="360000"] .lede{font-size:21px}}

/* Fujian: readable province/city introductions and balanced article titles. */
main:has(> .breadcrumbs a[href="#/fujian"]) .article-header h1{text-wrap:balance}
@media(max-width:420px){.city-hero[data-province="350000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="350000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="350000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="350000"] .lede{font-size:21px}}

/* Guangxi supplemental glyphs. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/gx-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EEB,U+4FAE,U+5029,U+520D,U+5440,U+554A,U+5583,U+55DC,U+576D,U+5773,U+578C,U+5D45,U+60A8,U+627C,U+65A4,U+65A7,U+67D1,U+6960,U+6CD3,U+6DA0,U+6F13,U+6F47,U+72C4,U+73CA,U+745A,U+758D,U+7BA9,U+7C15,U+7EC5,U+7F0E,U+837C,U+8693,U+86AF,U+88E4,U+8BC2,U+94E7}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/gx-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EEB,U+4FAE,U+5029,U+520D,U+5440,U+554A,U+5583,U+55DC,U+576D,U+5773,U+578C,U+5D45,U+60A8,U+627C,U+65A4,U+65A7,U+67D1,U+6960,U+6CD3,U+6DA0,U+6F13,U+6F47,U+72C4,U+73CA,U+745A,U+758D,U+7BA9,U+7C15,U+7EC5,U+7F0E,U+837C,U+8693,U+86AF,U+88E4,U+8BC2,U+94E7}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/gx-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4EEB,U+4FAE,U+5029,U+520D,U+5440,U+554A,U+5583,U+55DC,U+576D,U+5773,U+578C,U+5D45,U+60A8,U+627C,U+65A4,U+65A7,U+67D1,U+6960,U+6CD3,U+6DA0,U+6F13,U+6F47,U+72C4,U+73CA,U+745A,U+758D,U+7BA9,U+7C15,U+7EC5,U+7F0E,U+837C,U+8693,U+86AF,U+88E4,U+8BC2,U+94E7}



/* Hainan glyph supplement; existing provincial rules retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hai-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F36,U+510B,U+53DF,U+54E9,U+5C4E,U+5C50,U+6593,U+6874,U+6930,U+6994,U+69DF,U+6A61,U+6E9F,U+6F5F,U+6FEC,U+7238,U+73E5,U+7817,U+78F2,U+7B20,U+7CAA,U+8214,U+8339,U+8BF2,U+8C41,U+94E8}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hai-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F36,U+510B,U+53DF,U+54E9,U+5C4E,U+5C50,U+6593,U+6874,U+6930,U+6994,U+69DF,U+6A61,U+6E9F,U+6F5F,U+6FEC,U+7238,U+73E5,U+7817,U+78F2,U+7B20,U+7CAA,U+8214,U+8339,U+8BF2,U+8C41,U+94E8}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hai-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F36,U+510B,U+53DF,U+54E9,U+5C4E,U+5C50,U+6593,U+6874,U+6930,U+6994,U+69DF,U+6A61,U+6E9F,U+6F5F,U+6FEC,U+7238,U+73E5,U+7817,U+78F2,U+7B20,U+7CAA,U+8214,U+8339,U+8BF2,U+8C41,U+94E8}

/* Hunan supplemental glyphs; existing fonts preserved. */

/* Fujian supplemental glyphs; shared font rules retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/fj-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5395,U+58C5,U+5C2A,U+5C79,U+5D9D,U+5E61,U+5E9A,U+67DA,U+709D,U+71CE,U+74EF,U+8297,U+82AF,U+82DC,U+8815,U+94B0,U+951B,U+9CCC}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/fj-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5395,U+58C5,U+5C2A,U+5C79,U+5D9D,U+5E61,U+5E9A,U+67DA,U+709D,U+71CE,U+74EF,U+8297,U+82AF,U+82DC,U+8815,U+94B0,U+951B,U+9CCC}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/fj-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5395,U+58C5,U+5C2A,U+5C79,U+5D9D,U+5E61,U+5E9A,U+67DA,U+709D,U+71CE,U+74EF,U+8297,U+82AF,U+82DC,U+8815,U+94B0,U+951B,U+9CCC}


/* Hainan mobile cover and long autonomous-county names. */
@media(max-width:420px){.city-hero[data-province="460000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="460000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="460000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="460000"] .lede{font-size:21px}}

/* Hunan: keep the local introduction readable on narrow screens. */
main:has(> .breadcrumbs a[href="#/hunan"]) .article-header h1{text-wrap:balance}
@media(max-width:420px){.city-hero[data-province="430000"]{grid-template-columns:minmax(0,1fr);gap:16px}.city-hero[data-province="430000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}.city-hero[data-province="430000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}.city-hero[data-province="430000"] .lede{font-size:21px}}

/* Jiangxi: balance long reading titles without changing other destinations. */
main:has(> .breadcrumbs a[href="#/jiangxi"]) .article-header h1,main:has(.city-hero[data-province="360000"]) .geography-panel h2,main:has(.city-hero[data-province="360000"]) .region-directory h2,main:has(.city-hero[data-province="360000"]) .directory-heading h2{text-wrap:balance}
@media(max-width:420px){.city-hero[data-province="430000"] .lede{text-wrap:balance}}

/* Hunan supplemental glyphs; existing fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hun-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+3D72,U+4FE8,U+5201,U+54C9,U+55DF,U+566B,U+577C,U+5CFF,U+5D00,U+5D41,U+5DB7,U+6021,U+6538,U+66F0,U+696B,U+6D0C,U+6D23,U+6D6F,U+6D95,U+6E0C,U+6E86,U+6F38,U+6FA7,U+72AC,U+73EE,U+7B28,U+8012,U+82BE,U+8367,U+837B,U+83BD,U+8A18,U+90F4,U+91B4,U+9267,U+94B4,U+9511,U+967D,U+96C9,U+9AEB}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hun-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+3D72,U+4FE8,U+5201,U+54C9,U+55DF,U+566B,U+577C,U+5CFF,U+5D00,U+5D41,U+5DB7,U+6021,U+6538,U+66F0,U+696B,U+6D0C,U+6D23,U+6D6F,U+6D95,U+6E0C,U+6E86,U+6F38,U+6FA7,U+72AC,U+73EE,U+7B28,U+8012,U+82BE,U+8367,U+837B,U+83BD,U+8A18,U+90F4,U+91B4,U+9267,U+94B4,U+9511,U+967D,U+96C9,U+9AEB}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hun-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+3D72,U+4FE8,U+5201,U+54C9,U+55DF,U+566B,U+577C,U+5CFF,U+5D00,U+5D41,U+5DB7,U+6021,U+6538,U+66F0,U+696B,U+6D0C,U+6D23,U+6D6F,U+6D95,U+6E0C,U+6E86,U+6F38,U+6FA7,U+72AC,U+73EE,U+7B28,U+8012,U+82BE,U+8367,U+837B,U+83BD,U+8A18,U+90F4,U+91B4,U+9267,U+94B4,U+9511,U+967D,U+96C9,U+9AEB}
main:has(> .breadcrumbs a[href="#/hunan"]) .prose h2,main:has(.city-hero[data-province="430000"]) h2{text-wrap:balance}

/* Keep actor and puppet heads visible in landscape card crops. */
.story-card .art-sheet[style*="hai-lingao-puppet.webp"]:before{top:0;transform:none}

/* Zhejiang reading typography; confined to this provincial family. */
.city-hero[data-province="330000"] .lede{text-wrap:balance}
main:has(> .breadcrumbs a[href="#/zhejiang"]) .article-header h1,main:has(> .breadcrumbs a[href="#/zhejiang"]) .prose h2,main:has(.city-hero[data-province="330000"]) h2,main:has(.city-hero[data-province="330000"]) .story-card h3{text-wrap:balance}
@media(max-width:480px){main:has(> .breadcrumbs a[href="#/zhejiang"]) .detail-item{grid-template-columns:28px minmax(0,1fr)}main:has(> .breadcrumbs a[href="#/zhejiang"]) .detail-item>.eyebrow{grid-row:1/3}main:has(> .breadcrumbs a[href="#/zhejiang"]) .detail-item h3{grid-column:2;font-size:23px}main:has(> .breadcrumbs a[href="#/zhejiang"]) .detail-item p{grid-column:2;margin:0}}


/* Zhejiang supplemental glyphs BEGIN */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/zj-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E0F,U+5233,U+57ED,U+5A9E,U+5AD8,U+5CAC,U+5EFF,U+6512,U+6D19,U+740F,U+76A4,U+7A95,U+7B45,U+7BAC,U+7F22,U+7F2A,U+8018,U+8511,U+8517,U+8BC3,U+8D3B,U+9713,U+9857,U+99A8,U+9CB5,U+9E26}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/zj-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E0F,U+5233,U+57ED,U+5A9E,U+5AD8,U+5CAC,U+5EFF,U+6512,U+6D19,U+740F,U+76A4,U+7A95,U+7B45,U+7BAC,U+7F22,U+7F2A,U+8018,U+8511,U+8517,U+8BC3,U+8D3B,U+9713,U+9857,U+99A8,U+9CB5,U+9E26}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/zj-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E0F,U+5233,U+57ED,U+5A9E,U+5AD8,U+5CAC,U+5EFF,U+6512,U+6D19,U+740F,U+76A4,U+7A95,U+7B45,U+7BAC,U+7F22,U+7F2A,U+8018,U+8511,U+8517,U+8BC3,U+8D3B,U+9713,U+9857,U+99A8,U+9CB5,U+9E26}
/* Zhejiang supplemental glyphs END */

/* Guangdong supplemental glyphs; local WOFF2 subsets, CSS-range and cmap intersection audited. */
/* Macao supplemental glyphs; all existing provincial subsets retained. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/mo-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5287,U+5412,U+56DA,U+5ABD,U+5CF6,U+60F0,U+6488,U+659F,U+6C39,U+71C8,U+74B0,U+76DE,U+7CB5,U+8169,U+8774,U+8D4C,U+9580,U+9CD5}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/mo-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5287,U+5412,U+56DA,U+5ABD,U+5CF6,U+60F0,U+6488,U+659F,U+6C39,U+71C8,U+74B0,U+76DE,U+7CB5,U+8169,U+8774,U+8D4C,U+9580,U+9CD5}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/mo-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5287,U+5412,U+56DA,U+5ABD,U+5CF6,U+60F0,U+6488,U+659F,U+6C39,U+71C8,U+74B0,U+76DE,U+7CB5,U+8169,U+8774,U+8D4C,U+9580,U+9CD5}


/* Macao: geographic entries and reading titles retain complete words on narrow screens. */
main:has(> .breadcrumbs a[href="#/macao"]) .article-header h1,
main:has(> .breadcrumbs a[href="#/macao"]) .prose h2,
main:has(.city-hero[data-province="820000"]) h2,
main:has(.city-hero[data-province="820000"]) .story-card h3,
.city-hero[data-province="820000"] .lede{text-wrap:balance}
@media(max-width:700px){
 .city-hero[data-province="820000"]{grid-template-columns:minmax(0,1fr);gap:16px}
 .city-hero[data-province="820000"] .art{width:100%;height:auto;max-height:none;aspect-ratio:1.8}
 .city-hero[data-province="820000"] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}
 .city-hero[data-province="820000"] .lede{font-size:21px}
}

@font-face{font-family:'Travel WenKai';src:url('assets/fonts/gd-wenkai.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+4E52,U+4E53,U+4E55,U+4EC3,U+5048,U+51BC,U+5556,U+572D,U+57D7,U+5944,U+5F6A,U+67A8,U+683F,U+6D48,U+6D70,U+70AC,U+70DB,U+7391,U+7478,U+7634,U+786B,U+78A3,U+7B5C,U+7B7C,U+7C84,U+7F34,U+8165,U+830F,U+8E2F,U+8E85,U+9CA9}
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/gd-wenkai-rare.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+37A7,U+7C7A}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/gd-serif.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+37A7,U+4E52,U+4E53,U+4E55,U+4EC3,U+5048,U+51BC,U+5556,U+572D,U+57D7,U+5944,U+5F6A,U+67A8,U+683F,U+6D48,U+6D70,U+70AC,U+70DB,U+7391,U+7478,U+7634,U+786B,U+78A3,U+7B5C,U+7B7C,U+7C7A,U+7C84,U+7F34,U+8165,U+830F,U+8E2F,U+8E85,U+9CA9}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/gd-sans.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+37A7,U+4E52,U+4E53,U+4E55,U+4EC3,U+5048,U+51BC,U+5556,U+572D,U+57D7,U+5944,U+5F6A,U+67A8,U+683F,U+6D48,U+6D70,U+70AC,U+70DB,U+7391,U+7478,U+7634,U+786B,U+78A3,U+7B5C,U+7B7C,U+7C7A,U+7C84,U+7F34,U+8165,U+830F,U+8E2F,U+8E85,U+9CA9}


/* Guangdong directory titles and full reading lists need one column on phones. */
@media(max-width:720px){main:has(.city-hero[data-province="440000"]) .province-directory .prefecture-grid{grid-template-columns:minmax(0,1fr)}}

/* Shanghai completion: add only previously unregistered glyphs. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/shc-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+532E,U+53FD,U+7B03,U+7CA2}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/shc-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+532E,U+53FD,U+7B03,U+7CA2}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/shc-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+532E,U+53FD,U+7B03,U+7CA2}



/* Shanghai reading: keep short observation labels together on narrow screens. */
main:has(> .breadcrumbs a[href="#/shanghai"]) .article-header h1,
main:has(> .breadcrumbs a[href="#/shanghai"]) .prose h2{text-wrap:balance}
@media(max-width:480px){
 main:has(> .breadcrumbs a[href="#/shanghai"]) .detail-item{grid-template-columns:28px minmax(0,1fr)}
 main:has(> .breadcrumbs a[href="#/shanghai"]) .detail-item>.eyebrow{grid-row:1/3}
 main:has(> .breadcrumbs a[href="#/shanghai"]) .detail-item h3{grid-column:2;font-size:23px}
 main:has(> .breadcrumbs a[href="#/shanghai"]) .detail-item p{grid-column:2;margin:0}
}



/* Beijing reading: balanced headings retain readable lines on narrow screens. */
main:has(> .breadcrumbs a[href="#/beijing"]) .article-header h1,
main:has(> .breadcrumbs a[href="#/beijing"]) .prose h2{text-wrap:balance}

/* Tianjin municipality: keep its cover readable and headings balanced on small screens. */
main:has(> .breadcrumbs a[href="#/tianjin"]) .article-header h1,
main:has(> .breadcrumbs a[href="#/tianjin"]) .prose h2,
.city-hero[data-province="120000"] .lede{text-wrap:balance}
@media(max-width:640px){
 .city-hero[data-province="120000"]{grid-template-columns:1fr}
 .city-hero[data-province="120000"]>.art{width:100%;height:auto;aspect-ratio:1.4;max-height:none}
 main:has(> .breadcrumbs a[href="#/tianjin"]) .prose .story-section h2{float:none;width:auto;margin-right:0}
}

/* Chongqing supplemental glyphs. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/cq26-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+6877,U+6ED3,U+7A92,U+7BA8,U+8403}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/cq26-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+6877,U+6ED3,U+7A92,U+7BA8,U+8403}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/cq26-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+6877,U+6ED3,U+7A92,U+7BA8,U+8403}

/* Hong Kong supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/hk-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E2B,U+5009,U+51EB,U+5275,U+52D5,U+5340,U+55C7,U+5674,U+570D,U+57D7,U+5834,U+5871,U+58C7,U+5B78,U+5BAE,U+5BF6,U+5C07,U+5C08,U+5DBA,U+5DBC,U+5E2B,U+5E79,U+5EDF,U+5EE0,U+5F91,U+6176,U+6230,U+6524,U+6642,U+6703,U+6771,U+68DF,U+694A,U+6A02,U+6A23,U+6A39,U+6A4B,U+6A94,U+6AC3,U+6B16,U+6B77,U+6DE8,U+6DFA,U+6F54,U+6FD5,U+6FF1,U+7063,U+75C7,U+767C,U+78BC,U+78DA,U+78E1,U+79AA,U+7AA9,U+7B72,U+7CE7,U+7D00,U+7D05,U+7D17,U+7D71,U+7D93,U+7E9C,U+7F5F,U+7F85,U+8056,U+8137,U+81FA,U+820A,U+8216,U+8218,U+8343,U+842C,U+84EE,U+85DD,U+865B,U+8853,U+88DD,U+89BD,U+8A08,U+8A2D,U+8A31,U+8B5A,U+8B70,U+8B77,U+8C50,U+8CA2,U+8CA8,U+8CA9,U+8CBF,U+8CC7,U+8CFC,U+8CFD,U+8E8D,U+8ECA,U+8ECD,U+8FB2,U+9054,U+908A,U+90A8,U+9109,U+9127,U+91AB,U+9215,U+9285,U+9326,U+9418,U+9435,U+947C,U+958B,U+9593,U+96FB,U+9748,U+9802,U+9824,U+9858,U+9928,U+9952,U+99AC,U+9B5A,U+9B6F,U+9BC9,U+9C97,U+9CE7,U+9D28,U+9E7D,U+9F8D}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/hk-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E2B,U+5009,U+51EB,U+5275,U+52D5,U+5340,U+55C7,U+5674,U+570D,U+57D7,U+5834,U+5871,U+58C7,U+5B78,U+5BAE,U+5BF6,U+5C07,U+5C08,U+5DBA,U+5DBC,U+5E2B,U+5E79,U+5EDF,U+5EE0,U+5F91,U+6176,U+6230,U+6524,U+6642,U+6703,U+6771,U+68DF,U+694A,U+6A02,U+6A23,U+6A39,U+6A4B,U+6A94,U+6AC3,U+6B16,U+6B77,U+6DE8,U+6DFA,U+6F54,U+6FD5,U+6FF1,U+7063,U+75C7,U+767C,U+78BC,U+78DA,U+78E1,U+79AA,U+7AA9,U+7B72,U+7CE7,U+7D00,U+7D05,U+7D17,U+7D71,U+7D93,U+7E9C,U+7F5F,U+7F85,U+8056,U+8137,U+81FA,U+820A,U+8216,U+8218,U+8343,U+842C,U+84EE,U+85DD,U+865B,U+8853,U+88DD,U+89BD,U+8A08,U+8A2D,U+8A31,U+8B5A,U+8B70,U+8B77,U+8C50,U+8CA2,U+8CA8,U+8CA9,U+8CBF,U+8CC7,U+8CFC,U+8CFD,U+8E8D,U+8ECA,U+8ECD,U+8FB2,U+9054,U+908A,U+90A8,U+9109,U+9127,U+91AB,U+9215,U+9285,U+9326,U+9418,U+9435,U+947C,U+958B,U+9593,U+96FB,U+9748,U+9802,U+9824,U+9858,U+9928,U+9952,U+99AC,U+9B5A,U+9B6F,U+9BC9,U+9C97,U+9CE7,U+9D28,U+9E7D,U+9F8D}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/hk-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E2B,U+5009,U+51EB,U+5275,U+52D5,U+5340,U+55C7,U+5674,U+570D,U+57D7,U+5834,U+5871,U+58C7,U+5B78,U+5BAE,U+5BF6,U+5C07,U+5C08,U+5DBA,U+5DBC,U+5E2B,U+5E79,U+5EDF,U+5EE0,U+5F91,U+6176,U+6230,U+6524,U+6642,U+6703,U+6771,U+68DF,U+694A,U+6A02,U+6A23,U+6A39,U+6A4B,U+6A94,U+6AC3,U+6B16,U+6B77,U+6DE8,U+6DFA,U+6F54,U+6FD5,U+6FF1,U+7063,U+75C7,U+767C,U+78BC,U+78DA,U+78E1,U+79AA,U+7AA9,U+7B72,U+7CE7,U+7D00,U+7D05,U+7D17,U+7D71,U+7D93,U+7E9C,U+7F5F,U+7F85,U+8056,U+8137,U+81FA,U+820A,U+8216,U+8218,U+8343,U+842C,U+84EE,U+85DD,U+865B,U+8853,U+88DD,U+89BD,U+8A08,U+8A2D,U+8A31,U+8B5A,U+8B70,U+8B77,U+8C50,U+8CA2,U+8CA8,U+8CA9,U+8CBF,U+8CC7,U+8CFC,U+8CFD,U+8E8D,U+8ECA,U+8ECD,U+8FB2,U+9054,U+908A,U+90A8,U+9109,U+9127,U+91AB,U+9215,U+9285,U+9326,U+9418,U+9435,U+947C,U+958B,U+9593,U+96FB,U+9748,U+9802,U+9824,U+9858,U+9928,U+9952,U+99AC,U+9B5A,U+9B6F,U+9BC9,U+9C97,U+9CE7,U+9D28,U+9E7D,U+9F8D}

/* Beijing 20261020 supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/bj20-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5055,U+5955,U+6966,U+7099,U+73C5,U+7738,U+7EF1,U+8024,U+8A22,U+96CC,U+9774,U+9B23,U+9E44}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/bj20-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5055,U+5955,U+6966,U+7099,U+73C5,U+7738,U+7EF1,U+8024,U+8A22,U+96CC,U+9774,U+9B23,U+9E44}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/bj20-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5055,U+5955,U+6966,U+7099,U+73C5,U+7738,U+7EF1,U+8024,U+8A22,U+96CC,U+9774,U+9B23,U+9E44}


/* Tianjin 20261020 supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/tj26-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5092,U+54B3,U+5FAD,U+75F0,U+7F7E,U+82DB,U+8F87,U+9684}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/tj26-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5092,U+54B3,U+5FAD,U+75F0,U+7F7E,U+82DB,U+8F87,U+9684}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/tj26-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+5092,U+54B3,U+5FAD,U+75F0,U+7F7E,U+82DB,U+8F87,U+9684}

/* Chongqing: give the city introduction and illustration their own mobile rows. */
main:has(> .breadcrumbs a[href="#/chongqing"]) .article-header h1,
main:has(> .breadcrumbs a[href="#/chongqing"]) .prose h2,
.city-hero[data-province="500000"] .city-copy p{text-wrap:balance}
.city-hero[data-province="500000"]>.art{height:auto;max-height:none;aspect-ratio:1}
@media(max-width:600px){
 .city-hero[data-province="500000"]{grid-template-columns:minmax(0,1fr);gap:24px}
 .city-hero[data-province="500000"]>.art{width:100%;max-width:none}
}

/* Taiwan supplemental glyphs; existing shared fonts preserved. */

/* Sichuan supplemental glyphs */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/sc-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+4F1E,U+50F0,U+5151,U+5288,U+52FF,U+5768,U+59E3,U+5A55,U+5B56,U+5C48,U+5D1B,U+5F13,U+6006,U+6332,U+6562,U+660A,U+6643,U+678B,U+67E0,U+6829,U+68FA,U+690E,U+6A0A,U+6AAC,U+6B20,U+6BD2,U+6BD7,U+6C76,U+6C90,U+6D35,U+6D95,U+6DD1,U+6DE6,U+6EA2,U+7130,U+718A,U+7199,U+71CA,U+7266,U+728D,U+732B,U+73D9,U+777F,U+783B,U+7889,U+78B3,U+7A1E,U+7A79,U+7ABF,U+7BB4,U+7C98,U+7C9F,U+7CB1,U+7EF7,U+7F0E,U+7F2B,U+8017,U+8038,U+8098,U+80A4,U+82F4,U+8327,U+8365,U+84E5,U+853A,U+8607,U+8C2D,U+8D1E,U+8D3E,U+8EFE,U+8F7C,U+8F90,U+8F99,U+8F9F,U+90A1,U+90DD,U+91DC,U+9371,U+9499,U+94C3,U+94C5,U+951A,U+952F,U+955B,U+9606,U+9888,U+9972,U+998F,U+9C8A}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/sc-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+4F1E,U+50F0,U+5151,U+5288,U+52FF,U+5768,U+59E3,U+5A55,U+5B56,U+5C48,U+5D1B,U+5F13,U+6006,U+6332,U+6562,U+660A,U+6643,U+678B,U+67E0,U+6829,U+68FA,U+690E,U+6A0A,U+6AAC,U+6B20,U+6BD2,U+6BD7,U+6C76,U+6C90,U+6D35,U+6D95,U+6DD1,U+6DE6,U+6EA2,U+7130,U+718A,U+7199,U+71CA,U+7266,U+728D,U+732B,U+73D9,U+777F,U+783B,U+7889,U+78B3,U+7A1E,U+7A79,U+7ABF,U+7BB4,U+7C98,U+7C9F,U+7CB1,U+7EF7,U+7F0E,U+7F2B,U+8017,U+8038,U+8098,U+80A4,U+82F4,U+8327,U+8365,U+84E5,U+853A,U+8607,U+8C2D,U+8D1E,U+8D3E,U+8EFE,U+8F7C,U+8F90,U+8F99,U+8F9F,U+90A1,U+90DD,U+91DC,U+9371,U+9499,U+94C3,U+94C5,U+951A,U+952F,U+955B,U+9606,U+9888,U+9972,U+998F,U+9C8A}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/sc-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4E08,U+4F1E,U+50F0,U+5151,U+5288,U+52FF,U+5768,U+59E3,U+5A55,U+5B56,U+5C48,U+5D1B,U+5F13,U+6006,U+6332,U+6562,U+660A,U+6643,U+678B,U+67E0,U+6829,U+68FA,U+690E,U+6A0A,U+6AAC,U+6B20,U+6BD2,U+6BD7,U+6C76,U+6C90,U+6D35,U+6D95,U+6DD1,U+6DE6,U+6EA2,U+7130,U+718A,U+7199,U+71CA,U+7266,U+728D,U+732B,U+73D9,U+777F,U+783B,U+7889,U+78B3,U+7A1E,U+7A79,U+7ABF,U+7BB4,U+7C98,U+7C9F,U+7CB1,U+7EF7,U+7F0E,U+7F2B,U+8017,U+8038,U+8098,U+80A4,U+82F4,U+8327,U+8365,U+84E5,U+853A,U+8607,U+8C2D,U+8D1E,U+8D3E,U+8EFE,U+8F7C,U+8F90,U+8F99,U+8F9F,U+90A1,U+90DD,U+91DC,U+9371,U+9499,U+94C3,U+94C5,U+951A,U+952F,U+955B,U+9606,U+9888,U+9972,U+998F,U+9C8A}

/* Keep map choices and their results together. */
#atlas-sheet{display:none}
@media(min-width:721px){
 .atlas-layout{scroll-margin-top:20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:30px;align-items:start}
 .atlas-layout>.map-panel{position:sticky;top:20px;align-self:start;min-width:0}
 .atlas-layout>.sidebar{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;border-top:0;border-left:1px solid var(--line);padding:20px 0 20px 24px;min-width:0}
 .atlas-layout #destination-results{grid-template-columns:1fr;gap:0}
 .atlas-layout .atlas-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-layout .directory-heading{display:block}
 .atlas-layout .atlas-directory h2{font-size:25px}
 .atlas-layout .map-toolbar{flex-wrap:wrap;gap:12px}
 .atlas-layout .map-controls{flex-wrap:wrap}
}
@media(max-width:720px){
 #atlas-sheet[open]{display:flex;flex-direction:column;position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:78dvh;margin:0;padding:0;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -12px 50px #163b3326;overflow:hidden}
 #atlas-sheet::backdrop{background:#173c3355}
 body:has(#atlas-sheet[open]){overflow:hidden}
 .sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 5%;border-bottom:1px solid var(--line);flex-shrink:0}
 .sheet-header h2{margin:0;font:23px var(--display)}
 .sheet-close{background:transparent;color:var(--ink);font:13px var(--sans);min-height:44px;padding:8px 0 8px 12px;white-space:nowrap}
 .sheet-close span{font-size:23px;margin-left:8px;vertical-align:middle}
 .sheet-content{overflow-y:auto;overscroll-behavior:contain;padding:0 5% max(20px,env(safe-area-inset-bottom));min-height:0}
 #atlas-sheet .sidebar{border:0;padding-top:18px}
 #atlas-sheet .sidebar-title{display:none}
 #atlas-sheet .atlas-directory{margin-top:18px}
 #atlas-sheet .atlas-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #atlas-sheet .atlas-place{min-width:0}
}

/* Taiwan supplemental glyphs; existing shared fonts preserved. */

/* Illustrated travel atlas: quiet paper, jade washes and permanent landmark vignettes. */
.atlas-layout>.map-panel{background:radial-gradient(ellipse at 18% 48%,#b4c8ad20,transparent 60%),#f5f1e5;border:1px solid #84978838;border-radius:22px;padding:22px 20px 18px;box-shadow:inset 0 0 45px #b1a57b0d}
.map-toolbar{padding:0 8px 14px;border-bottom:1px solid #84978830}
.map-caption{font:20px/1.5 var(--display);letter-spacing:.1em}
.map-svg{display:block;width:100%;margin:12px 0 0;overflow:visible}
.atlas-land .province{fill:url(#atlas-jade);stroke:#faf7ec;stroke-width:1.1;stroke-linejoin:round}
.atlas-land{filter:url(#atlas-watercolour)}
.atlas-land .province:hover,.atlas-land .province:focus-visible{fill:#9db9a2;stroke:#496f60;stroke-width:1.5}
.atlas-land .province.selected{fill:#648d79;stroke:#fcf7df;stroke-width:1.8}
.atlas-vignette{opacity:.94}
.province-name .map-label{font:13px var(--display);fill:#26483e;stroke:#f5f1e5;stroke-width:2.5px;paint-order:stroke}
.province-leader{stroke:#7b9687;opacity:.42;stroke-width:.65}
.map-city .city-name{font-size:12px;stroke-width:3px}
.map-city .dot{r:2.5;fill:#9b674b}
.city-leader{opacity:.4}
.map-legend{margin:12px 6px 4px;padding-top:12px;border-top:1px solid #84978830;gap:12px;flex-wrap:wrap}
.map-note{margin:8px 6px 0}
@media(min-width:1001px){.atlas-layout{grid-template-columns:minmax(0,1fr) 340px;gap:26px}.atlas-layout>.sidebar{padding-left:20px}.atlas-layout .atlas-place-grid{grid-template-columns:1fr}}
@media(min-width:721px) and (max-width:1000px){.atlas-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.atlas-layout>.map-panel{padding:16px 8px}.map-caption{font-size:17px}.atlas-layout .atlas-place-grid{grid-template-columns:1fr}}

/* Images belong to the story: ample hero art and rounded, readable previews. */
.art:not(.reading-diagram){border-radius:14px;overflow:hidden;isolation:isolate}
.city-hero[data-province]{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);padding:28px 0 44px;align-items:center}
.city-hero[data-province]>.art{width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:4/3;border-radius:24px;box-shadow:0 10px 28px #344c3d10}
.city-hero .city-copy{min-width:0}
.city-hero .city-copy>p:not(.eyebrow):not(.lede){max-width:600px}
.story-grid,.story-grid.culture-grid,.related .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 36px}
.story-card{grid-template-columns:clamp(124px,11vw,160px) minmax(0,1fr);gap:20px;padding-top:20px}
.story-card>.art{width:100%;height:auto;aspect-ratio:1;max-height:none;border-radius:16px}
.story-card h3{font-size:25px;line-height:1.5}
.story-card p{font-size:14px}
.story-card .card-meta{font-size:11px;margin:0 0 8px}
.story-card .read-link{display:inline-block;margin-top:6px;font-size:12px}
.art-label{border-radius:7px;font-size:9px}
.story-card .art-label,.atlas-place .art-label{display:none}
.destination-card .art{border-radius:12px}
.atlas-place .art{border-radius:10px}
@media(max-width:720px){
 .atlas-layout>.map-panel{padding:16px 8px;border-radius:18px}
 .map-toolbar{padding-inline:6px;gap:12px}.map-caption{font-size:18px}
 .map-legend{font-size:10px}.map-note{font-size:10px}
 .city-hero[data-province]{grid-template-columns:minmax(0,1fr);gap:22px;padding:20px 0 32px}
 .city-hero[data-province]>.art{width:100%;height:auto;max-height:none;aspect-ratio:4/3;border-radius:20px}
 .city-hero[data-province] .city-copy>p:not(.eyebrow):not(.lede){font-size:15px}
 .story-grid,.story-grid.culture-grid,.related .story-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .story-card{grid-template-columns:116px minmax(0,1fr);gap:16px;padding-top:18px}
 .story-card h3{font-size:23px}.story-card p{font-size:13px}.story-card>.art{border-radius:14px}
}
@media(max-width:360px){.story-card{grid-template-columns:96px minmax(0,1fr);gap:12px}.story-card h3{font-size:21px}.city-hero[data-province] h1{font-size:44px}}
/* National view gives province names room; city names appear when exploring a place. */
.map-city:not(.is-municipality):not(.is-active):not(:hover):not(:focus) .city-name,.map-city:not(.is-municipality):not(.is-active):not(:hover):not(:focus) .city-leader{opacity:0}
.map-city:hover .city-name,.map-city:focus .city-name{opacity:1}
.map-city.is-active .city-target{fill:#faf7ef;stroke:#64897d;stroke-width:.7}

/* Taiwan supplemental glyphs; existing shared fonts preserved. */
@font-face{font-family:'Travel WenKai';src:url('assets/fonts/tw-wenkai.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F86,U+5167,U+52E2,U+5351,U+5433,U+5477,U+54BE,U+54E1,U+55F2,U+575C,U+5775,U+57D5,U+57E4,U+5811,U+586D,U+5879,U+58E2,U+58EF,U+58FD,U+5BE7,U+5CA1,U+5CFD,U+5D01,U+5D0E,U+5D19,U+5DD2,U+5EAB,U+5F35,U+5F4C,U+5FA9,U+6046,U+6055,U+611B,U+64FA,U+669D,U+68F2,U+69AE,U+6A6B,U+6B09,U+6B78,U+6BBC,U+6D38,U+6E32,U+6EFF,U+6FC1,U+6FC3,U+6FE4,U+70DB,U+71DF,U+7345,U+737B,U+746A,U+7887,U+7B4A,U+7B4D,U+7C84,U+7CEC,U+7CF6,U+7D0B,U+7D50,U+7DA0,U+7DB1,U+7E23,U+7FA9,U+8173,U+8208,U+823A,U+824B,U+828E,U+83BF,U+83EF,U+83F8,U+8423,U+8606,U+8671,U+88E1,U+8C79,U+8D96,U+8F1D,U+8FFA,U+9023,U+9112,U+912D,U+932B,U+937E,U+93AE,U+93E2,U+9673,U+96D9,U+96F2,U+9727,U+9C94,U+9CB7,U+9CE5,U+9CF3,U+9DAF,U+9EB8,U+9F9C}
@font-face{font-family:'Travel Serif';src:url('assets/fonts/tw-serif.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F86,U+5167,U+52E2,U+5351,U+5433,U+5477,U+54BE,U+54E1,U+55F2,U+575C,U+5775,U+57D5,U+57E4,U+5811,U+586D,U+5879,U+58E2,U+58EF,U+58FD,U+5BE7,U+5CA1,U+5CFD,U+5D01,U+5D0E,U+5D19,U+5DD2,U+5EAB,U+5F35,U+5F4C,U+5FA9,U+6046,U+6055,U+611B,U+64FA,U+669D,U+68F2,U+69AE,U+6A6B,U+6B09,U+6B78,U+6BBC,U+6D38,U+6E32,U+6EFF,U+6FC1,U+6FC3,U+6FE4,U+70DB,U+71DF,U+7345,U+737B,U+746A,U+7887,U+7B4A,U+7B4D,U+7C84,U+7CEC,U+7CF6,U+7D0B,U+7D50,U+7DA0,U+7DB1,U+7E23,U+7FA9,U+8173,U+8208,U+823A,U+824B,U+828E,U+83BF,U+83EF,U+83F8,U+8423,U+8606,U+8671,U+88E1,U+8C79,U+8D96,U+8F1D,U+8FFA,U+9023,U+9112,U+912D,U+932B,U+937E,U+93AE,U+93E2,U+9673,U+96D9,U+96F2,U+9727,U+9C94,U+9CB7,U+9CE5,U+9CF3,U+9DAF,U+9EB8,U+9F9C}
@font-face{font-family:'Travel Sans';src:url('assets/fonts/tw-sans.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+4F86,U+5167,U+52E2,U+5351,U+5433,U+5477,U+54BE,U+54E1,U+55F2,U+575C,U+5775,U+57D5,U+57E4,U+5811,U+586D,U+5879,U+58E2,U+58EF,U+58FD,U+5BE7,U+5CA1,U+5CFD,U+5D01,U+5D0E,U+5D19,U+5DD2,U+5EAB,U+5F35,U+5F4C,U+5FA9,U+6046,U+6055,U+611B,U+64FA,U+669D,U+68F2,U+69AE,U+6A6B,U+6B09,U+6B78,U+6BBC,U+6D38,U+6E32,U+6EFF,U+6FC1,U+6FC3,U+6FE4,U+70DB,U+71DF,U+7345,U+737B,U+746A,U+7887,U+7B4A,U+7B4D,U+7C84,U+7CEC,U+7CF6,U+7D0B,U+7D50,U+7DA0,U+7DB1,U+7E23,U+7FA9,U+8173,U+8208,U+823A,U+824B,U+828E,U+83BF,U+83EF,U+83F8,U+8423,U+8606,U+8671,U+88E1,U+8C79,U+8D96,U+8F1D,U+8FFA,U+9023,U+9112,U+912D,U+932B,U+937E,U+93AE,U+93E2,U+9673,U+96D9,U+96F2,U+9727,U+9C94,U+9CB7,U+9CE5,U+9CF3,U+9DAF,U+9EB8,U+9F9C}

/* Whole story cards are the reading links; retain a clear keyboard focus. */
.story-card:focus-visible{outline:2px solid var(--jade);outline-offset:6px;border-radius:16px}
@media(max-width:720px){.topbar nav a:nth-child(2){display:inline}}

/* Abbreviations sit with provincial names, never imply a city abbreviation. */
.place-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}
.province-abbreviation{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;font:12px/1.6 var(--sans);letter-spacing:0;color:var(--muted);white-space:nowrap}
.province-abbreviation strong{font:20px/1.4 var(--display);color:#955d45;font-weight:400}
.place-title>.province-abbreviation{border:1px solid #a76e4a40;border-radius:8px;padding:5px 10px}
.destination-card h3 .province-abbreviation{margin-left:10px;font-size:10px}
.destination-card h3 .province-abbreviation strong{font-size:17px}
.fact-path{flex-wrap:wrap}
.fact-path .province-abbreviation{font-size:10px;gap:4px}
.fact-path .province-abbreviation strong{font-size:15px}
@media(max-width:720px){.place-title{gap:8px 12px}.place-title>.province-abbreviation{padding:3px 8px}.place-title>.province-abbreviation strong{font-size:19px}}

/* Geographic names and abbreviations share one readable label. */
.map-abbreviation{font:10px var(--sans);fill:#82583f;stroke:var(--paper);stroke-width:2px;paint-order:stroke}

/* Person and poem previews share the whole-card reading interaction. */
a.poem-card{display:block;color:inherit;text-decoration:none}
a.poem-card:hover{border-color:var(--jade)}
a.poem-card:focus-visible,.person-card:focus-visible{outline:2px solid var(--jade);outline-offset:5px}

/* Long provincial directories and observation text share the same mobile layout. */
@media(max-width:720px){
 .province-directory .prefecture-grid,.region-directory .prefecture-grid{grid-template-columns:minmax(0,1fr)}
 .prefecture-card{padding:20px}
 .prefecture-card p,.prefecture-card li{font-size:14px}
}
@media(max-width:480px){
 .detail-item{grid-template-columns:28px minmax(0,1fr)}
 .detail-item>.eyebrow{grid-row:1/3}
 .detail-item h3{grid-column:2}
 .detail-item p{grid-column:2;margin:0}
}
