/* A quiet, readable shell around the existing map and live guide. */
:root{--ink:#173b39;--muted:#566f6c;--line:#203f3924;--glass:#f8f8f2f5;--ice:#2f665e;--gold:#956f36;color-scheme:light}
button,input,dialog,textarea,select{color-scheme:light}.map-vignette{background:linear-gradient(180deg,#07191b44,transparent 25%,transparent 75%,#081b1d88)}
.topbar{top:18px;left:24px;right:24px;height:76px;padding:0 22px;background:#fafbf6f5;border:1px solid #ffffffb0;box-shadow:0 12px 40px #061d2222;border-radius:16px;gap:26px;backdrop-filter:blur(20px)}
.brand-symbol{background:#e3ece4;border:0;color:#365d52;width:40px;height:40px}.brand-name{color:#173e36;font-size:22px;letter-spacing:2px;font-family:"STSong","Songti SC","SimSun",serif;font-weight:600}.brand-name small{font-family:Arial,sans-serif;font-size:8px;letter-spacing:1.4px;color:#627c70}.scene-heading{padding-left:24px;border-color:#1c473520}.scene-kicker{font-size:10px;color:#6e8778;letter-spacing:1px;margin-bottom:5px}.scene-heading h1{font-size:18px;letter-spacing:.5px;font-weight:500;color:#173f37}.scene-heading p{font-size:11px;color:#637c71;margin-top:4px}.nav-action{font-size:13px;height:40px;background:transparent;color:#315449;border:1px solid #294b3525;backdrop-filter:none;border-radius:30px;padding-inline:17px}.nav-action:hover,.nav-action[aria-expanded=true]{background:#e5eee5;border-color:#37644e55}.nav-action.home-link{border:0}.action-chevron{color:#4b705c}.icon-action{width:40px;padding:0}.top-actions{gap:7px}.glass-panel{background:var(--glass);border-color:#fff9;box-shadow:0 14px 55px #061e2030;color:var(--ink)}
.destination-panel{left:24px;top:112px;width:310px;padding:22px 19px 0;border-radius:15px;max-height:calc(100dvh - 210px)}.panel-heading{font-size:16px;color:#203f35;letter-spacing:.5px}.panel-count,.panel-caption{font-size:11px;color:#718475}.destination-search{background:#e9eee7;border-color:#d0dacd;height:45px;border-radius:9px}.destination-search svg{stroke:#54745e}.destination-search input{font-size:14px;color:#173c31}.destination-search input::placeholder{color:#78887a}.city-item{font-size:14px;color:#31503f;padding:12px 10px}.city-meta{font-size:11px;color:#718470}.city-item:hover{background:#e4ecdf}.city-item.active,.city-item.selected,.city-item[aria-pressed=true]{color:#164830;background:#e4eddf;box-shadow:inset 2px 0 #44765a}.city-item.active .city-meta{color:#53765a}.panel-bottom-note{font-size:10px;color:#6b806d;padding-block:16px}.tiny-dot{background:#668e6e}
.info-card{left:24px;right:auto;top:112px;width:340px;padding:28px;border-radius:15px;max-height:calc(100dvh - 210px)}.detail-eyebrow{font-size:11px;color:#698272;letter-spacing:1px}.detail-title{font-family:"STSong","Songti SC","SimSun",serif;color:#214333;font-size:31px}.detail-desc,.spot-desc{color:#5d7563;font-size:14px;line-height:1.85}.spot-name{font-size:17px;color:#254c37}.spot-category{font-size:11px;color:#896a36;background:#ece4d4;border-color:#d8c59e}.spot-fly{font-size:12px;color:#fff;background:#2a5743;border-color:#2a5743;padding:9px 12px;border-radius:6px}.spot-fly:hover{background:#40745c}.source-link{font-size:11px;color:#657b65}.info-card button.close,.info-card .close-button{background:#e3eada;color:#486c4d;width:29px;height:29px}.spot-item{border-color:#536f3f22;padding:18px 0}
.map-tools{left:24px;right:auto;bottom:118px}.tool-group{border-radius:14px;padding:5px;gap:3px}.map-tool{color:#315840;width:40px;height:40px;border-radius:9px}.map-tool:hover{background:#dfe9d6}.tool-divider{background:#294d3722}.map-layers{left:24px;bottom:54px;border-radius:30px;padding:5px 10px}.layer-button{font-size:12px;color:#7b8c78;padding:9px 10px}.layer-button.active,.layer-button[aria-pressed=true]{color:#315d40}.layer-button.active i,.layer-button[aria-pressed=true] i{background:#49794a;box-shadow:none}
.featured-section{bottom:112px;left:94px;right:360px}.featured-heading{color:#fff;font-size:13px;text-shadow:0 2px 10px #000}.featured-subheading{color:#e2eee7;font-size:9px}.featured-places{gap:8px}.feature-card{background:#f7f8f2f0;border-color:#fff9;box-shadow:0 8px 22px #0002;padding:18px 16px;border-radius:12px;min-height:110px}.feature-card:hover{background:#fff;border-color:#fff}.feature-card:before{display:none}.feature-card:after{color:#496d4b}.feature-category{font-size:10px;color:#8c744c}.feature-title{font-size:16px;color:#274b35;letter-spacing:.2px}.feature-location{font-size:11px;color:#617c62}.feature-card.active,.feature-card.selected{border-color:#c9af70}
.scene-footer{left:27px;right:28px;bottom:17px;gap:15px}.data-status{font-size:10px;gap:14px;color:#ecf5ed;text-shadow:0 1px 4px #000}.footer-meta output{font-size:10px;color:#e5f0e7;text-shadow:0 1px 4px #000}.footer-meta button{font-size:11px;color:#f4faf3}.cesium-viewer .cesium-widget-credits{font-size:9px}.toast{font-size:14px;line-height:1.7;color:#244d38;border-radius:12px;bottom:130px}.info-dialog{background:#f6f7f0;color:#31513e;border-color:#fff;padding:30px;border-radius:16px}.info-dialog h2,.info-dialog h3,.dialog-top{color:#294c3b}.info-dialog p,.info-dialog li{font-size:14px;color:#5a705e}.info-dialog a{color:#2c674b}.dialog-top button{color:#335a42}.loading-screen{background:radial-gradient(ellipse at 50% 35%,#254a47,#0a272d 70%)}
.ai-guide,.ai-guide.has-host-panel{position:fixed;left:auto;right:24px;top:auto;bottom:51px;width:290px;z-index:12}.ai-guide.expanded,.ai-guide.expanded.has-host-panel{width:380px;left:auto;right:24px;top:auto;bottom:51px}.ai-guide-shell{background:#fbfcf7f7;border:1px solid #fff;border-radius:18px;box-shadow:0 18px 65px #021d2633;color:#244537;backdrop-filter:blur(22px)}.ai-guide-summary{padding:12px 38px 10px 6px;min-height:94px}.ai-avatar{width:77px;height:82px;flex-shrink:0;filter:saturate(.65)}.ai-guide-name{color:#224c38;font-size:20px;font-family:"STSong","Songti SC","SimSun",serif}.ai-guide-name small{color:#627b61;background:#e4eddd;border-color:#bbcdb0;font-size:9px}.ai-guide-eyebrow{font-size:9px;letter-spacing:.7px;color:#71826e}.ai-guide-state-line,.ai-guide-config-compact{color:#567259;font-size:11px;line-height:1.5}.ai-guide-config-compact{display:none}.ai-guide-open{font-size:12px!important;color:#355f46!important;margin-top:8px}.ai-guide-expand{background:#e6eddf;color:#3a6248!important;width:28px;height:28px;top:14px;right:12px}.ai-guide-greeting{color:#5d735b;font-size:13px;line-height:1.75;padding:0 18px 15px}.ai-guide:not(.expanded) .ai-guide-greeting,.ai-guide:not(.expanded) .xiaoyi-mode-tabs,.ai-guide:not(.expanded) .guide-realtime-entry #guideRealtimeHint,.ai-guide:not(.expanded) .guide-realtime-status{display:none}.guide-realtime-entry{margin:0 12px 12px;padding:0;border:0;background:none}.guide-realtime-actions #guideRealtimeStart{background:#285542;color:#f4faf3;border:0;border-radius:10px;min-height:46px;font-size:13px}.guide-realtime-actions #guideRealtimeStart:hover:not(:disabled){background:#3b7056}.guide-realtime-actions #guideRealtimeEnd{color:#765547;background:#f0e1d6;border-color:#dec7b4;border-radius:10px}.guide-realtime-status{color:#4f7156;font-size:12px}.guide-realtime-status #guideRealtimeRefresh{color:#486c4b;background:#e0e9da}.guide-realtime-entry #guideRealtimeHint{font-size:11px;color:#73816c}.guide-realtime-entry[data-phase=failed] .guide-realtime-status{color:#926c35}.xiaoyi-mode-tabs{padding:0 12px 12px;gap:8px}.xiaoyi-mode-tabs button,.ai-guide:not(.expanded) .xiaoyi-mode-tabs button{font-size:13px;color:#5c755f;background:#edf0e8;border-color:#dae2d1;border-radius:8px;padding:10px}.xiaoyi-mode-tabs button.active{background:#e1ecdb;border-color:#afc7a5;color:#254e37}.xiaoyi-mode-tabs small,.xiaoyi-mode-tabs button.active small{font-size:9px;color:#7a9072}.ai-guide.expanded .ai-guide-shell{max-height:calc(100dvh - 165px);overflow:auto}.ai-guide.expanded .ai-guide-body{max-height:310px;overflow:auto}.ai-guide-messages{max-height:230px;min-height:110px}.ai-guide-config{background:#eaf0e3;border-color:#d5dfc9;padding:13px 17px}.ai-guide-config strong{color:#446242;font-size:13px}.ai-guide-config p{color:#70816a;font-size:12px}.ai-guide-recheck{color:#5f7954!important;background:#dce7d2}.ai-guide-toolbar-title{font-size:11px;color:#708467}.ai-guide-toolbar-actions button{color:#5d7855!important;font-size:11px}.ai-guide-message-bubble{font-size:14px;color:#385b40;background:#e5eee0;border-color:#ccddc0}.ai-guide-message.user .ai-guide-message-bubble{color:#fff;background:#3c674d}.ai-guide-message-label{color:#78906c;font-size:10px}.ai-guide-welcome h3{color:#3d6242;font-size:18px}.ai-guide-welcome p{font-size:13px;color:#73866b}.ai-guide-examples{border-color:#d9e4cd}.ai-guide-examples-label{font-size:10px;color:#67815f}.ai-guide-example{font-size:11px!important;color:#54764a!important;border-color:#c9d9bf!important;background:#edf3e7}.ai-guide-input-wrap{background:#fff;border-color:#c5d6ba;padding:12px;border-radius:10px}.ai-guide textarea{color:#264c30;font-size:14px;line-height:1.6}.ai-guide textarea::placeholder{color:#809178}.ai-guide-mic{color:#688559!important}.ai-guide-send{color:#fff!important;background:#3d6c45;font-size:12px!important;padding:8px 12px}.ai-guide-cancel{color:#795e43!important;background:#eee3d4}.ai-guide-character-count,.ai-guide-voice-note,.ai-guide-privacy{color:#7c8c70;font-size:10px}.ai-guide-greeting{color:#57704d}.ai-guide-settings-link{color:#3f7144;border-color:#b4cba5}
.xiaoyi-realtime-voice{border-color:#d7e3cd;padding:14px 16px;max-height:300px!important}.voice-service-kicker{font-size:9px;color:#71886a}.voice-service-line strong{font-size:14px;color:#3d603c}.voice-service-line button{background:#e6eedf;border-color:#c8dabe;color:#4a7543}.voice-connection-note{font-size:12px;color:#708166}.voice-language-row{border-color:#d1dfc6}.voice-language-row label{color:#69805f;font-size:12px}.voice-language-row select{font-size:13px;color:#375c33;background:#fff;border-color:#bccfb0;padding:8px}.voice-call-actions button{font-size:12px;color:#56744b;background:#e8f0e2;border-color:#c3d6b8;padding:9px}.voice-call-actions #voiceStart{background:#3c6b40;color:#fff;border-color:#3c6b40}.voice-call-actions #voiceEnd{color:#886c54;background:#eee4d6}.voice-session-line,.voice-session-line #voiceDuration{color:#65815a;font-size:11px}.voice-captions{background:#f3f7ee;border-color:#d2dfc8}.voice-empty-caption{font-size:12px;color:#778c6b}.voice-caption p,.voice-caption.user p{font-size:14px;color:#41643c}.voice-caption span,.voice-caption-tools,.voice-privacy-note{font-size:10px;color:#7b8e70}.voice-caption-tools button{color:#678759}.voice-call-notice{background:#f4ebda;border-color:#ddccaa;color:#8d733d;font-size:12px}
.tourism-info-card,.voice-captions .tourism-info-card{background:#e9f0e1;border-color:#c8d9ba;color:#4f7041}.tourism-info-name,.tourism-info-item-title{color:#365c31}.tourism-info-summary,.tourism-info-item-summary,.tourism-info-detail dd{color:#5a774c}.tourism-info-source-link{color:#3b6e37}.tourism-info-topic,.tourism-info-season,.tourism-info-time,.tourism-info-published,.tourism-info-detail dt{color:#76886a}.tourism-info-status{border-color:#acc79a;color:#527c40}
@media(max-width:1100px){.topbar{gap:15px}.scene-heading{padding-left:15px}.scene-heading p{display:none}.scene-kicker{display:none}.scene-heading h1{font-size:15px}.nav-action{padding-inline:12px;font-size:12px}.featured-section{right:340px;left:88px}.featured-places{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{min-height:96px}}
@media(max-width:760px){.topbar{top:12px;left:12px;right:12px;height:65px;padding:0 14px;border-radius:13px}.brand-name{font-size:19px}.brand-symbol{width:33px;height:33px}.brand-name small{font-size:6px}.scene-heading{display:none}.top-actions{gap:5px}.nav-action{height:36px;padding-inline:11px;font-size:12px}.home-link{font-size:0}.home-link span{font-size:17px}.icon-action{width:33px;padding:0}#featuredToggle{display:none}.destination-panel{top:91px;left:12px;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 300px)}.info-card{top:91px;left:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 325px)}.map-tools{left:12px;bottom:210px}.map-tool{width:34px;height:34px}.map-layers{left:12px;bottom:160px;padding:4px}.layer-button{font-size:11px;padding:8px}.scene-footer{left:14px;right:14px;bottom:15px}.footer-meta output,.data-status>span:nth-child(2){display:none}.data-status{font-size:9px}.featured-section{left:62px;right:12px;bottom:210px}.ai-guide,.ai-guide.has-host-panel{right:12px;left:auto;bottom:45px;top:auto;width:242px}.ai-guide-summary{min-height:77px;padding:6px 35px 5px 2px}.ai-avatar{width:62px!important;height:68px!important}.ai-guide-name{font-size:18px!important}.ai-guide-eyebrow{font-size:8px!important}.ai-guide-state-line{font-size:10px!important}.ai-guide:not(.expanded) .ai-guide-open{margin-top:4px;font-size:11px!important}.ai-guide:not(.expanded) .ai-guide-greeting{display:none}.ai-guide.expanded,.ai-guide.expanded.has-host-panel{left:12px;right:12px;top:auto;bottom:40px;width:auto;max-width:390px}.ai-guide.expanded .ai-guide-shell{max-height:calc(100dvh - 133px)}.ai-guide.expanded .ai-guide-body{max-height:260px}.ai-guide.expanded .ai-guide-name{font-size:20px!important}.ai-guide textarea{font-size:16px}.ai-guide-message-bubble{font-size:14px}.ai-guide.expanded .ai-guide-greeting{font-size:13px}.guide-realtime-actions #guideRealtimeStart{min-height:42px}.xiaoyi-realtime-voice{max-height:260px!important}}
@media(max-width:390px){.brand-symbol{display:none}.brand-name{font-size:18px}.topbar{padding-inline:12px}.nav-action{padding-inline:9px}.top-actions{gap:4px}.ai-guide,.ai-guide.has-host-panel{width:225px}}
/* Reserve a clear control strip beneath destination details. */
@media(min-width:761px){
 .info-card,.destination-panel{bottom:auto;max-height:calc(100dvh - 240px)}
 .map-tools{bottom:54px}.tool-group{flex-direction:row;align-items:center}.tool-divider{width:1px;height:24px;margin:0 3px}
 .map-layers{left:292px;bottom:54px}.featured-section{bottom:130px}
}
@media(min-width:761px) and (max-width:1000px){.map-layers .layer-button span{display:none}.map-layers .layer-button{padding:10px}.map-layers{left:270px}}
@media(max-width:760px){
 .info-card,.destination-panel{left:72px;right:auto;bottom:auto;width:calc(100vw - 84px);max-height:calc(100dvh - 315px)}
 .map-tools{left:12px;right:auto;bottom:200px}.tool-group{flex-direction:column}
 .map-layers{left:12px;bottom:64px;flex-direction:column;width:46px;padding:4px;border-radius:13px}
 .map-layers .layer-button{width:38px;height:43px;padding:8px;justify-content:center}.map-layers .layer-button span,.map-layers .layer-button i{display:none}
 .map-layers .layer-button svg{width:21px;height:21px}.map-layers .layer-divider{height:1px;width:24px;margin:3px 0}
}
@media(max-width:760px){
 .info-card,.destination-panel{max-height:calc(100dvh - 340px)}
 .ai-guide,.ai-guide.has-host-panel{bottom:66px}.ai-guide.expanded,.ai-guide.expanded.has-host-panel{bottom:64px}
 .map-layers{bottom:88px}.scene-footer{bottom:38px}
 .cesium-viewer .cesium-widget-credits{font-size:8px;line-height:10px;max-width:calc(100% - 12px)}
}
/* Approved personal portrait; speech state is shown around the still image. */
.ai-guide .ai-avatar-photo{display:block!important;position:relative;flex:none;width:78px!important;height:96px!important;margin:0 9px 0 8px;overflow:hidden;border-radius:12px;filter:none;box-shadow:0 0 0 1px #d0d8ce;transition:box-shadow .2s}
.ai-guide .ai-avatar-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ai-guide.expanded .ai-avatar-photo{width:94px!important;height:116px!important;margin-top:4px;margin-bottom:4px}
.ai-guide[data-state=listening] .ai-avatar-photo{box-shadow:0 0 0 3px #74a58a}
.ai-guide[data-state=speaking] .ai-avatar-photo{box-shadow:0 0 0 3px #b89b5b}
@media(max-width:760px){.ai-guide .ai-avatar-photo{width:65px!important;height:82px!important;margin:3px 7px 3px 8px}.ai-guide.expanded .ai-avatar-photo{width:84px!important;height:104px!important}.ai-guide.has-host-panel:not(.expanded) .ai-guide-summary{padding-left:2px}}

/* Keep domestic base-map recovery readable within the light map shell. */
.map-recovery{color:#4b5f3f;background:#faf9edf7;border-color:#dccca0}.map-recovery button{color:#f5f8ee;background:#3c624c;border-color:#3c624c}.scene-photo-active .map-recovery{display:none}
@media(max-width:760px){.experience:has(#baseMapButton:not([hidden])) .map-tools{bottom:248px}}
