/* The map remains the setting; reading happens in a quiet central layer. */
.immersive-map .map-surface{background:#10251f}
.immersive-map .map-surface:after{background:radial-gradient(ellipse at 50% 45%,transparent 28%,#06171188 88%),linear-gradient(0deg,#071a16db,transparent 32%,#071a1644);pointer-events:none}
.immersive-map .field-veil{background:#06130fe6;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity 1.1s ease,visibility 0s 1.1s}
.immersive-map .has-entered .field-veil{opacity:0;visibility:hidden}
.immersive-map .field-surface #map-svg{animation:none;opacity:.38;transition:opacity 1.1s ease}
.immersive-map .field-surface.has-entered #map-svg{opacity:1}
.immersive-map .geo-province.in-scope{fill:#2b4435}
.immersive-map .geo-province:not(.in-scope){fill:#1c3229}
.nanling-region{pointer-events:none}
.nanling-region text{text-anchor:middle;fill:#d4d9be;font-family:AtlasSerif,'Songti SC',serif;font-size:24px;letter-spacing:8px;paint-order:stroke;stroke:#20392e;stroke-width:3px}
.nanling-region .nanling-subtitle{font-size:10px;letter-spacing:1px;fill:#b8c8af;stroke-width:2px}
.immersive-map .field-entry{top:24%;max-width:720px}
.immersive-map .field-entry h1{font-size:clamp(38px,4.3vw,60px)}
.immersive-map .field-begin{min-height:48px;letter-spacing:.12em}
.directory-dialog, #field-page-dialog, #detail-dialog, #compare-dialog, #field-studio-dialog,.footprints-dialog{position:fixed;inset:0;margin:auto;max-height:86dvh;color:#283d33;background:#f4f1e8;border:1px solid #c7c9b9;box-shadow:0 24px 100px #0006}
dialog::backdrop{background:#020e0bd9;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.directory-dialog{width:min(680px,90vw);padding:44px 48px}
.directory-dialog h2{font-size:32px;margin:16px 0}.directory-dialog>p{font-size:14px;color:#566257;line-height:1.9}
.directory-close{position:absolute;top:14px;right:14px;width:44px;height:44px;font-size:25px}
.directory-dialog .field-directory{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;width:auto;margin-top:28px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.directory-dialog .field-directory a{color:#283d33;font-family:AtlasSerif,'Songti SC',serif;font-size:22px;line-height:1.6;padding:20px 0;border-bottom:1px solid #c6c9ba}
.directory-dialog .field-directory a:hover{color:#86543c}
#field-page-dialog{width:min(1180px,94vw);height:86dvh;padding:0;overflow-y:auto}
.chapter-bar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:#f4f1e8;border-bottom:1px solid #c6c9ba}
.chapter-bar button{min-height:44px;font-size:14px}
#field-page-dialog .page{padding:30px 40px 48px}
#field-page-dialog .atlas-return{display:none}
#field-page-dialog .page-heading{margin-bottom:24px}
#field-page-dialog .page-heading h1{font-size:34px}
#field-page-dialog .studio-preview{position:relative}
.reading-chapter{overflow:hidden}
.reading-chapter #map-home{height:100dvh}
.discovery-receipt{display:none!important}
@media(max-width:800px){.directory-dialog{padding:32px 24px}.directory-dialog .field-directory{grid-template-columns:1fr}.directory-dialog .field-directory a{font-size:19px;padding:13px 0}#field-page-dialog{width:96vw;height:90dvh;max-height:90dvh}#field-page-dialog .page{padding:24px 20px}.chapter-bar{padding:8px 16px}.nanling-region .nanling-subtitle{font-size:12px}.immersive-map .field-entry{top:25%}}
@media(prefers-reduced-motion:reduce){.immersive-map .field-veil,.immersive-map .field-surface #map-svg{transition:none!important}}
/* Hidden panels must not remain painted behind a modal or during exit animation. */
.immersive-map:not(.field-search-open) .atlas-sidebar,
.immersive-map .map-surface:not(.selection-open) .field-panel,
.immersive-map:has(dialog[open]) .atlas-sidebar,
.immersive-map:has(dialog[open]) .field-panel{display:none!important;visibility:hidden!important;pointer-events:none!important}
.archive-photo{margin:24px 0 0}
.archive-photo img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#fff}
.archive-photo-caption{font-size:12px;line-height:1.7;color:#566257;margin:8px 0 20px;overflow-wrap:anywhere}
