/* A shared, quiet frame for the map and photographic destination views. */
:root{--ink:#234b40;--muted:#67756d;--line:#234b4024;--glass:#fbfaf6fa;--ice:#315d4d;--gold:#96794e;color-scheme:light}
body{font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.topbar{top:0;left:0;right:0;height:72px;padding:0 28px;gap:30px;border:0;border-bottom:1px solid #234b4018;border-radius:0;background:#fbfaf6f7;box-shadow:none;backdrop-filter:blur(16px);pointer-events:auto}
.brand{gap:10px}.brand-symbol{width:32px;height:36px;border-radius:0;background:none;box-shadow:none;color:#315346}.brand-symbol svg{width:31px}.brand-name{font-size:21px;letter-spacing:2px;font-weight:500}.brand-name small{font-family:inherit;font-size:10px;letter-spacing:1px;margin-top:5px;color:#7a8178}
.scene-heading{position:static;display:flex;align-items:center;gap:10px;min-width:0;padding-left:26px;border-color:#234b4022}.scene-kicker{font-size:12px;letter-spacing:0;margin:0;color:#7b827b;white-space:nowrap}.scene-heading h1{font-family:inherit;font-size:15px;letter-spacing:0;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-heading p{display:none}
.top-actions{gap:8px}.nav-action{height:40px;padding:0 13px;border:0;border-radius:8px;font-size:13px;letter-spacing:0;background:transparent;color:#385347}.nav-action:hover,.nav-action[aria-expanded=true]{background:#edf0e8;border-color:transparent}.icon-action{width:40px;padding:0}.action-chevron{margin-left:0}.top-actions .home-link{font-size:13px}
.glass-panel{background:var(--glass);border:1px solid #e5e5db;border-radius:8px;box-shadow:0 8px 28px #122d2214;backdrop-filter:blur(14px)}
.destination-panel,.info-card{left:24px;right:auto;top:88px;bottom:auto;width:330px;max-height:calc(100dvh - 194px);border-radius:8px;padding:24px;z-index:11;scrollbar-color:#b4bbae transparent}.destination-panel{padding-bottom:0}.panel-heading{font-size:18px;letter-spacing:0;min-height:34px}.panel-count{font-size:12px;margin-top:3px}.panel-close{display:grid;place-items:center;width:36px;height:36px;background:none;border-radius:8px;color:#667569;font-size:24px}.panel-close:hover{background:#edf0e8}.destination-search{border-radius:8px;background:#f0f1ea;border:1px solid #e1e4d9;margin-top:18px;height:46px}.destination-search input{font-size:15px}.panel-caption,.panel-bottom-note{font-size:12px}.city-item{padding:13px 10px;font-size:15px;border-radius:6px}.city-meta{font-size:12px}.city-item:hover{background:#edf0e7}.city-item.active{background:#e6ece1;box-shadow:inset 2px 0 #557258}
.detail-back{display:inline-flex;align-items:center;gap:6px;background:none;font-size:12px;color:#6b7c6d;padding:0;min-height:32px;margin:0 36px 10px 0}.detail-back:hover{color:#214f3e}.detail-eyebrow{font-size:12px;letter-spacing:0;margin-bottom:8px}.detail-title{font-size:28px;letter-spacing:1px;font-weight:400}.detail-desc,.spot-desc{font-size:14px;line-height:1.85}.spot-name{font-size:16px}.spot-category{font-size:11px;padding:3px 6px;border:0;background:#eee9dc;color:#84704d;border-radius:4px}.spot-actions{gap:10px}.spot-fly{font-size:12px;min-height:40px;border-radius:8px}.source-link{font-size:12px;text-decoration:underline;text-underline-offset:3px}.detail-footnote{font-size:11px;line-height:1.7;color:#7b8277}.info-card button.close{width:36px;height:36px;top:16px;right:16px;border-radius:8px;background:transparent;font-size:23px}
.map-tool-menu,.map-layer-menu{position:absolute;bottom:48px;z-index:7;color:#355144}.map-tool-menu{left:24px}.map-layer-menu{left:150px}.map-tool-menu>summary,.map-layer-menu>summary{display:flex;gap:18px;align-items:center;list-style:none;min-height:44px;padding:0 14px;border:1px solid #e3e6dc;border-radius:8px;background:#fbfaf6f5;font-size:13px;cursor:pointer;box-shadow:0 4px 14px #142c2110}.map-tool-menu summary::-webkit-details-marker,.map-layer-menu summary::-webkit-details-marker{display:none}.map-tool-menu[open]>summary,.map-layer-menu[open]>summary{background:#e9eee3}.map-tool-menu[open]>summary span,.map-layer-menu[open]>summary span{transform:rotate(45deg)}
.map-tools{position:absolute;left:0;right:auto;bottom:54px;top:auto}.tool-group{flex-direction:row;padding:4px;gap:1px;border-radius:8px;align-items:center}.map-tool{width:42px;height:42px;border-radius:6px}.tool-divider{width:1px;height:24px;margin:0 3px}.map-layers{left:0;right:auto;top:auto;bottom:54px;padding:6px;display:flex;border-radius:8px;width:max-content}.map-layers .layer-button{font-size:12px;min-height:40px;padding:8px 10px}.map-layers .layer-button span{display:inline}
.featured-section{top:88px;bottom:auto;left:auto;right:24px;width:510px;max-width:calc(100vw - 48px);padding:20px;background:#fbfaf6f9;border:1px solid #e4e6db;border-radius:8px;box-shadow:0 8px 28px #122d2214;z-index:11}.featured-heading{font-size:14px;letter-spacing:0;color:#526b59;text-shadow:none}.featured-subheading{display:none}.featured-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feature-card{border:1px solid #e3e6dc;border-radius:6px;box-shadow:none;background:#f0f2e9;min-height:100px;padding:16px}.feature-card:hover{background:#e7eddf;border-color:#c8d2c1;transform:none}.feature-category{font-size:11px;letter-spacing:0;color:#8a795a;margin-bottom:8px}.feature-title{font-size:16px;font-weight:400;letter-spacing:0;margin-bottom:5px}.feature-location{font-size:12px}
.scene-footer{left:26px;right:26px;bottom:18px;z-index:6}.data-status{font-size:11px;letter-spacing:0}.footer-meta{gap:15px}.footer-meta output{font-size:11px}.footer-meta button{font-size:12px}.cesium-viewer .cesium-widget-credits{font-size:10px}.map-vignette{background:linear-gradient(180deg,#102c321f 0,transparent 30%,transparent 72%,#0a202c66 100%)}.toast{bottom:108px;font-size:14px;padding:12px 20px;border-radius:8px;max-width:min(460px,calc(100vw - 40px))}.info-dialog{border-radius:10px;background:#fbfaf6;padding:28px}.info-dialog p,.info-dialog li{font-size:15px;line-height:1.9}.info-dialog h2{font-size:28px;font-weight:400}.info-dialog h3{font-size:18px}.dialog-top{font-size:13px}.dialog-top button{width:36px;height:36px}
.scene-photo-active .scene-heading,.scene-photo-active .map-tool-menu,.scene-photo-active .map-layer-menu{display:none}
@media(max-width:1100px){.topbar{gap:20px;padding-inline:22px}.scene-heading{padding-left:20px}.scene-kicker{display:none}.scene-heading h1{font-size:14px}.brand-name small{display:none}}
@media(max-width:760px){
 .topbar{height:64px;padding:0 16px;gap:10px}.brand{gap:7px}.brand-symbol{display:grid;width:26px;height:30px}.brand-symbol svg{width:27px}.brand-name{font-size:19px;letter-spacing:1px}.brand-name small,.scene-heading{display:none}.top-actions{gap:2px}.nav-action{font-size:12px;min-height:40px;padding:0 9px}.top-actions .home-link{font-size:12px}.home-link span{display:none}.nav-action svg{width:15px}.icon-action{width:34px;padding:0}#featuredToggle{display:none}.action-chevron{display:none}
 .destination-panel,.info-card{top:76px;left:12px;right:12px;bottom:auto;width:auto;max-height:calc(100dvh - 194px);padding:20px}.destination-panel{padding-bottom:0}.destination-search input{font-size:16px}.panel-heading{font-size:17px}.city-item{font-size:15px}.city-meta{font-size:12px}.detail-title{font-size:26px}.spot-name{font-size:16px}.spot-desc,.detail-desc{font-size:14px}.source-link{font-size:12px}.spot-fly{font-size:12px;padding:8px 13px}
 .map-tool-menu,.map-layer-menu{bottom:116px}.map-tool-menu{left:12px}.map-layer-menu{left:140px}.map-tools{left:0;right:auto;bottom:54px}.map-layers{left:0;bottom:54px}.tool-group{flex-direction:row}.map-tool{width:42px;height:42px}.map-tool-menu>summary,.map-layer-menu>summary{font-size:13px;min-height:44px}.map-layers .layer-button{font-size:12px}.map-layers .layer-button span{display:inline}.map-layers .layer-button svg{display:none}
 .scene-footer{left:14px;right:14px;bottom:98px;gap:6px}.data-status{font-size:10px;gap:6px}.data-status>span:nth-child(2),.footer-meta output{display:none}.footer-meta button{font-size:11px}.footer-meta button svg{width:12px}.featured-section{top:76px;left:12px;right:12px;width:auto;max-width:none}.feature-title{font-size:16px}.feature-location{font-size:12px}.feature-category{font-size:11px}.toast{left:12px;right:12px;bottom:170px;transform:none;max-width:none;font-size:13px}.info-dialog{padding:22px}.info-dialog h2{font-size:25px}.info-dialog p,.info-dialog li{font-size:14px}.info-dialog h3{font-size:17px}.dialog-top{font-size:12px}
}
@media(max-width:370px){.topbar{padding-inline:12px}.brand-symbol{display:none}.brand-name{font-size:18px}.nav-action{padding-inline:7px}.map-layer-menu{left:134px}}
@media(prefers-reduced-motion:reduce){.destination-panel,.info-card{animation:none}}
