:root{--ink:#213e35;--green:#246654;--paper:#fafbf7;--muted:#7f8d82;--line:#e8ece4;--orange:#d38b58;--nav:72px}*{box-sizing:border-box}html,body{margin:0!important;width:100%;height:100%;overflow:hidden!important;background:#e6ece2!important;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d5a978;outline-offset:3px}svg{width:22px;height:22px;flex-shrink:0}a{color:var(--green)}#guide-app{position:fixed;inset:0;z-index:3;pointer-events:none}#guide-app button,#guide-app input,#guide-app select,#guide-app a,#guide-app main,#guide-app nav,#dialog-host{pointer-events:auto}#map-viewport{position:fixed;inset:0 0 28vh;pointer-events:auto;touch-action:none;overflow:hidden;background:#e6ece2}#GameDiv,#Cocos3dGameContainer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;transform:none!important}#GameCanvas{width:100%!important;height:100%!important;display:block!important;outline:0}#map-labels{position:absolute;inset:0;pointer-events:none;z-index:2}.map-poi{position:absolute;left:0;top:0;font-size:11px;line-height:24px;border:1px solid #fff9;background:#fafbf5ef;color:#355f4c;padding:0 8px 0 16px;border-radius:6px;box-shadow:0 2px 6px #233b3020;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}.map-poi:before{content:'';width:5px;height:5px;background:#39755f;border-radius:50%;position:absolute;left:6px;top:9px}.map-poi:hover{background:white;color:#123d30;z-index:5}#map-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#e6ece2;pointer-events:none}#map-loading strong{font-size:18px;letter-spacing:3px}#map-loading>span:not(.loader-mark){font-size:12px;color:var(--muted)}.loader-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid #91a992;margin-bottom:8px}.loader-mark svg{width:35px;height:35px}.loading-line{width:130px;height:2px;background:#cfd8ca;margin-top:10px}.loading-line i{display:block;width:12%;height:2px;background:var(--green);transition:width .2s}.guide-header{position:fixed;top:calc(18px + env(safe-area-inset-top));left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:10}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand-symbol{width:39px;height:43px;border:1px solid #749985;border-radius:18px 18px 4px 4px;display:grid;place-items:center;background:#eef3e9cc}.brand-symbol svg{width:24px;height:24px}.brand strong{font-size:22px;letter-spacing:3px;font-family:'Songti SC','STSong',serif;font-weight:600;display:block}.brand small{display:block;font-size:7px;letter-spacing:1.15px;margin-top:4px;color:#697e6c}.edition{font-size:10px;letter-spacing:1px;color:#728776;display:none}.icon-btn{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d5dfd0;background:#f7faf2d9;border-radius:50%}.icon-btn svg{width:19px;height:19px}.search-zone{position:fixed;top:calc(80px + env(safe-area-inset-top));left:18px;right:18px;z-index:10}.search-box{display:flex;align-items:center;background:#fffffff2;border:1px solid #e0e7d9;border-radius:13px;box-shadow:0 5px 15px #5873440b;height:46px;padding:0 13px;gap:10px;pointer-events:auto}.search-box>svg{color:#7c9180;width:18px}.search-box input{background:none;border:0;outline:0!important;width:100%;min-width:0;height:44px;font-size:14px;color:#304d3d}.search-box input::placeholder{color:#9aa699}.search-box button{display:grid;place-items:center;width:25px;height:30px}.search-box button[hidden]{display:none}.search-box button svg{width:16px}.category-row{display:flex;gap:7px;overflow-x:auto;padding:11px 0 12px;scrollbar-width:none;pointer-events:auto}.category-chip{flex-shrink:0;font-size:11px;padding:8px 13px;border:1px solid #d6dfd1;background:#f9fbf4eb;border-radius:20px;color:#62735e;line-height:1}.category-chip.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 2px 5px #235a381a}.map-tools{position:fixed;right:17px;top:calc(190px + env(safe-area-inset-top));z-index:9;display:flex;flex-direction:column;gap:7px}.map-tools button{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#fafcf5ee;border:1px solid #d9e2d2;box-shadow:0 3px 8px #334d2310;font-size:19px}.map-tools button:first-child{font-size:12px;font-weight:600}.map-tools svg{width:18px;height:18px}.map-caption{position:fixed;left:17px;bottom:35vh;z-index:4;font-size:9px;color:#789177}.map-caption small{display:block;font-size:7px;margin-top:5px;color:#879785}.content-panel{position:fixed;left:0;right:0;top:66vh;bottom:calc(var(--nav) + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;background:var(--paper);box-shadow:0 -12px 35px #44543712;z-index:11;display:flex;flex-direction:column;transition:top .2s}.content-panel.detail-open,.content-panel.route-open{top:43vh}.sheet-grip{width:33px;height:4px;border-radius:4px;background:#dbe2d6;margin:9px auto 6px;flex-shrink:0}.panel-scroll{padding:9px 22px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d9e3d3 transparent;-webkit-overflow-scrolling:touch}.eyebrow{font-size:8px;font-weight:600;letter-spacing:1.8px;color:#869981}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:3px}h1,h2,h3,p{margin:0}.list-heading h1,.section-heading h1{font-size:23px;font-weight:500;letter-spacing:1px;line-height:1.6;margin-top:3px;font-family:'Songti SC','STSong',serif}.count-pill{white-space:nowrap;font-size:10px;background:#eef1e8;color:#748369;border-radius:20px;padding:7px 9px}.intro-line,.section-heading>p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:4px;margin-bottom:18px}.poi-card{position:relative;border-bottom:1px solid var(--line);padding:11px 0}.poi-main{display:flex;align-items:center;text-align:left;gap:13px;width:100%;padding:0 30px 0 0;min-height:71px}.poi-symbol{width:53px;height:59px;border-radius:14px;background:color-mix(in srgb,var(--poi-color) 10%,#f6f7ef);color:var(--poi-color);display:grid;place-items:center;flex-shrink:0}.poi-symbol svg{width:27px;height:27px}.poi-copy{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}.poi-title{font-size:15px;font-weight:600;color:#2b493b}.poi-subtitle{font-size:9px;color:#97a18e}.poi-summary{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7e8a7a;line-height:1.5;max-width:100%}.card-arrow{display:none}.favorite-btn{display:grid;place-items:center;position:absolute;right:-5px;top:18px;width:34px;height:34px;color:#b5bfae;border-radius:50%}.favorite-btn svg{width:17px;height:17px}.favorite-btn.saved{color:#cc8b61}.favorite-btn.saved svg{fill:#cc8b6124}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav) + env(safe-area-inset-bottom));padding:9px 20px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-top:1px solid var(--line);z-index:12;box-shadow:0 -4px 10px #ffffff8c}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#9ba596;font-size:10px}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{color:var(--green);font-weight:600}.bottom-nav button.active:after{content:'';width:3px;height:3px;border-radius:50%;background:var(--green);position:absolute;bottom:7px}.section-heading{margin:4px 0 18px}.list-title{font-size:14px;font-weight:500;margin:24px 0 6px}.quick-services{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-services button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:17px 5px;background:#f0f3e9;border-radius:13px}.quick-services svg{color:#698669;width:24px;height:24px}.quick-services span{font-size:12px}.quick-services small{font-size:9px;color:#929f89}.service-tip{margin-top:20px;background:#edf1e6;border-radius:13px;padding:17px}.service-tip strong{font-size:13px;font-weight:500}.service-tip p{font-size:11px;line-height:1.9;color:#86947e;margin:7px 0}.text-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--green);padding:6px 0}.text-btn svg{width:15px;height:15px}.empty-state{text-align:center;padding:35px 15px}.empty-state>svg{width:30px;height:30px;color:#a4b698;margin-bottom:14px}.empty-state h2{font-size:16px;font-weight:500}.empty-state p{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0}.detail-heading{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;min-height:34px}.detail-heading .favorite-btn{top:0;right:0}.detail-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;background:color-mix(in srgb,var(--poi-color) 11%,#fafbf5);padding:22px 20px;margin-bottom:17px;min-height:133px}.detail-hero h1{font-size:26px;letter-spacing:2px;line-height:1.6;font-family:'Songti SC','STSong',serif;font-weight:500;margin:5px 0}.detail-hero p{max-width:85%;font-size:12px;line-height:1.9;color:#6f826b}.hero-line-art{position:absolute;z-index:-1;right:-10px;bottom:-16px;opacity:.13;color:var(--poi-color)}.hero-line-art svg{width:120px;height:120px;stroke-width:.6}.detail-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-bottom:26px}.primary-btn,.secondary-btn{border-radius:11px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;font-size:12px}.primary-btn{background:var(--green);color:#fff}.secondary-btn{border:1px solid #dce4d6;background:#f7f9f1;color:#62795e}.primary-btn svg,.secondary-btn svg{width:17px;height:17px}.description h2{font-size:14px;font-weight:500;margin-bottom:13px}.description p{font-size:13px;line-height:2.05;color:#73806b;margin-bottom:12px;word-break:break-word}.visit-note{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.visit-note h3{font-size:13px;font-weight:500;margin-bottom:10px}.visit-note p{font-size:11px;line-height:1.9;color:#86947c;margin:5px 0}.subtle{color:#9ba590!important;font-size:10px!important}.phone-link{display:inline-flex;gap:5px;align-items:center;font-size:12px;margin:9px 0;text-decoration:none}.phone-link svg{width:15px;height:15px}.source-note{border-top:1px solid var(--line);padding-top:12px;margin-top:18px;font-size:10px;color:#9aa48f;line-height:1.9}.source-note summary{cursor:pointer;pointer-events:auto}.source-note p{margin-top:7px}#route-form{display:grid;gap:13px}#route-form label{display:grid;gap:7px;font-size:11px;color:#7c8a72}#route-form select{appearance:auto;width:100%;height:44px;border:1px solid #dfe6d7;background:#f5f7ee;border-radius:9px;padding:0 10px;color:#4c6347;font-size:13px}#route-form label.check-row{display:flex;align-items:center;gap:7px;font-size:11px}input[type=checkbox]{accent-color:var(--green)}.route-note{font-size:10px;line-height:1.8;color:#96a18c;margin-top:12px}.route-summary{margin-top:15px;padding:15px;border-radius:13px;background:#f4ecde;display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#a97748}.route-summary strong{font-size:21px}.route-summary span{font-size:12px;align-self:center}.route-summary small{grid-column:1/-1;font-size:10px}.route-warning{font-size:12px;line-height:1.9;margin-top:15px;padding:15px;background:#f7efde;border-radius:10px;color:#9a825d}.route-presets{margin-top:26px}.route-presets h2{font-size:14px;font-weight:500;margin-bottom:12px}.route-presets button{display:flex;width:100%;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);text-align:left}.route-index{font:italic 27px Georgia,serif;color:#a6b197}.route-presets button>span:nth-child(2){flex:1;display:grid;gap:6px}.route-presets strong{font-size:14px;font-weight:500}.route-presets small{font-size:10px;color:#97a18c}.route-presets svg{width:18px;color:#a6b499}#guide-toast{position:fixed;left:50%;bottom:calc(var(--nav) + 30px);transform:translate(-50%,10px);opacity:0;max-width:min(88vw,440px);width:max-content;padding:12px 19px;background:#284c3cec;color:#fff;border-radius:13px;font-size:12px;line-height:1.7;z-index:40;pointer-events:none;transition:.2s}#guide-toast.visible{opacity:1;transform:translate(-50%,0)}.dialog-backdrop{position:fixed;inset:0;background:#203a2f66;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.guide-dialog{position:relative;background:var(--paper);border-radius:22px;width:460px;max-width:100%;max-height:84vh;overflow:auto;padding:30px 25px}.guide-dialog>.icon-btn{position:absolute;right:17px;top:15px}.guide-dialog h1{font-family:'Songti SC',serif;font-size:24px;font-weight:500;margin:13px 0 20px}.guide-dialog h2{font-size:13px;font-weight:500;margin:21px 0 8px}.guide-dialog p{font-size:12px;line-height:1.95;color:#7c8e75}.guide-dialog .subtle{margin-top:20px}
@media(min-width:760px){:root{--sidebar:390px;--nav:78px}#map-viewport{left:var(--sidebar);bottom:0}.guide-header{left:25px;right:auto;width:340px;top:26px}.guide-header .about-btn{background:transparent}.search-zone{left:24px;right:auto;width:342px;top:98px}.content-panel{top:205px;left:0;right:auto;width:var(--sidebar);bottom:var(--nav);border-radius:0;box-shadow:none;border-right:1px solid #dce5d7}.content-panel.detail-open,.content-panel.route-open{top:190px}.sheet-grip{display:none}.panel-scroll{padding:17px 25px 25px}.bottom-nav{right:auto;width:var(--sidebar);padding-left:18px;padding-right:18px;border-right:1px solid #dce5d7}.map-tools{right:27px;top:30px;gap:10px}.map-tools button{width:42px;height:42px;border-radius:12px}.map-caption{left:calc(var(--sidebar) + 27px);bottom:25px;font-size:11px}.map-caption small{font-size:9px}.guide-header:before{content:'';position:fixed;z-index:-1;inset:0 auto 0 0;width:var(--sidebar);background:var(--paper);border-right:1px solid #dce5d7}.map-poi{font-size:12px;line-height:27px}.map-poi:before{top:11px}.brand strong{font-size:25px}.list-heading h1{font-size:24px}.poi-main{min-height:80px}.poi-card{padding:14px 0}.favorite-btn{top:25px}.detail-heading .favorite-btn{top:0}.poi-summary{font-size:11px}#guide-toast{left:calc(50% + 195px);bottom:28px}.dialog-backdrop{padding-left:410px}.guide-dialog{padding:35px}.search-box{box-shadow:none}}
@media(max-height:670px) and (max-width:759px){.content-panel{top:63vh}.content-panel.detail-open,.content-panel.route-open{top:37vh}.map-caption{bottom:38vh}.guide-header{top:12px}.search-zone{top:70px}.map-tools{top:180px}.map-tools button{width:30px;height:30px}.panel-scroll{padding-top:4px}.list-heading h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.user-position{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px;border-radius:50%;background:#528dd3;border:3px solid white;box-shadow:0 0 0 7px #528dd32b;z-index:3;pointer-events:none}
@media(max-width:759px){#guide-app.detail-view .search-zone,#guide-app.route-view .search-zone{display:none}#guide-app.detail-view #map-viewport,#guide-app.route-view #map-viewport{bottom:57vh}#guide-app.detail-view .map-tools,#guide-app.route-view .map-tools{top:90px}#guide-app.detail-view .map-caption,#guide-app.route-view .map-caption{display:none}}
.sheet-grip{display:block;width:64px;height:24px;margin:0 auto;background:transparent;border:0;padding:0;position:relative}.sheet-grip:after{content:'';position:absolute;left:18px;right:18px;top:9px;height:4px;border-radius:4px;background:#d7ded1}@media(min-width:760px){.sheet-grip{display:none}}@media(max-width:759px){.list-expanded .content-panel{top:40vh}.list-expanded .panel-scroll{height:calc(100% - 24px)}}
@media(max-width:759px){#guide-app.list-expanded .map-tools{display:none}}
/* Quiet atmospheric veil above the model and below the interactive labels. */
#map-viewport{cursor:grab}#map-viewport.dragging{cursor:grabbing}
#map-viewport:after{content:'';position:absolute;inset:-10%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 32% 42%,rgba(246,249,240,.12),transparent 46%),radial-gradient(ellipse at 72% 65%,rgba(236,244,234,.14),transparent 42%);animation:mist-drift 24s ease-in-out infinite alternate;will-change:transform}
@keyframes mist-drift{from{transform:translate(-1.5%,-.5%)}to{transform:translate(1.5%,1%)}}
.map-poi{transition:opacity .18s ease,background .15s ease;animation:poi-appear .25s ease both}
@keyframes poi-appear{from{opacity:0}to{opacity:1}}
@media(max-width:759px){#map-viewport{transition:bottom .48s cubic-bezier(.22,.68,.25,1)}.content-panel{transition:top .4s cubic-bezier(.22,.68,.25,1)}}
@media(prefers-reduced-motion:reduce){#map-viewport:after{animation:none}.map-poi{animation:none}#map-viewport,.content-panel{transition:none}}

/* POI photographs are local, sized and loaded on demand. */
.poi-thumbnail{width:64px;height:64px;flex:0 0 64px;object-fit:cover;border-radius:12px;background:#e4eae3}.poi-gallery{margin:0 0 16px}.gallery-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;border-radius:16px}.gallery-photo{position:relative;padding:0;border:0;flex:0 0 100%;overflow:hidden;border-radius:16px;scroll-snap-align:center;background:#e4eae3;aspect-ratio:3/2;cursor:zoom-in}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.gallery-photo span{position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:20px;color:white;background:#18372bc9;font-size:11px}.gallery-hint{font-size:11px;color:#7b867d;margin:7px 2px}.image-unavailable{object-fit:contain!important;background:#e4eae3;color:#65756b;font-size:12px}.photo-dialog{border:0;border-radius:20px;background:#f8faf5;color:#263e32;width:min(920px,94vw);max-height:92dvh;padding:22px;box-sizing:border-box;overflow:auto}.photo-dialog::backdrop{background:#14251dda;backdrop-filter:blur(9px)}.photo-dialog h2{margin:0 45px 18px 0;font-size:20px}.photo-dialog h2 small{font-size:12px;font-weight:400;color:#748277}.photo-close{position:absolute;right:12px;top:12px}.photo-full{height:min(58dvh,650px);display:flex;align-items:center;justify-content:center;background:#e8eee7;border-radius:12px;overflow:hidden}.photo-full img{max-width:100%;max-height:100%;object-fit:contain}.photo-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.photo-dialog p{font-size:13px;line-height:1.6;margin-bottom:0}.photo-credit,.photo-credit a{font-size:11px!important;color:#607568}.photo-dialog[open]{animation:photo-open .2s ease-out}@keyframes photo-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.photo-dialog[open]{animation:none}}@media(max-width:759px){.photo-dialog{padding:16px;width:94vw}.photo-full{height:48dvh}}
@media(max-width:759px){.detail-hero{padding:14px 16px;min-height:0;margin-bottom:12px}.detail-hero h1{font-size:23px;margin:3px 0}.detail-hero p{margin:5px 0 0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.detail-hero .hero-line-art{opacity:.1}.gallery-photo{aspect-ratio:16/9}}

/* Clear controls remain reachable on the short mobile detail map. */
#map-viewport{touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}
.map-tools button{width:44px;height:44px;min-width:44px;font-size:16px}.map-tools button#tilt-button,.map-tools button#mode-button{font-size:12px}
.compass-needle{display:flex;flex-direction:column;align-items:center;line-height:15px;font-size:22px;color:#537a65}.compass-needle small{font-size:10px;line-height:12px}
.economy-effects:after{animation:none!important}
.controls-dialog{border:0;border-radius:20px;background:#f8faf5;color:#263e32;width:min(440px,90vw);max-height:85dvh;padding:24px;box-sizing:border-box;overflow:auto}.controls-dialog::backdrop{background:#14251dbb}.controls-dialog h2{font-size:21px;padding-right:24px;margin-bottom:20px}.controls-dialog p{font-size:15px;line-height:1.8;margin:14px 0}.controls-close{position:absolute;right:12px;top:12px}.controls-dialog label{display:grid;gap:10px;font-size:14px;margin-top:20px}.controls-dialog select{width:100%;min-height:44px;background:#edf2e9;border:1px solid #cad6c7;border-radius:8px;padding:8px;color:inherit}
@media(max-width:759px){.map-tools{display:grid;grid-template-columns:44px 44px;gap:5px;right:10px;top:178px}#guide-app.detail-view .map-tools,#guide-app.route-view .map-tools{top:76px;gap:3px}.map-caption{max-width:230px}}

/* 2026 visitor-first guide: generous type, quiet map, one decision per row. */
:root{--ink:#183c32;--green:#185f4d;--paper:#fbfcf9;--muted:#596c60;--line:#dce5dd;--nav:80px}
#guide-app{font-size:1rem}.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:48px;padding:8px;background:#fbfcf9f2;border:1px solid #cad8cf;border-radius:14px;font-size:.875rem}.brand strong{font-size:1.4rem;letter-spacing:2px}.brand small{font-size:.75rem;letter-spacing:2px}.brand-symbol{width:35px}.guide-header{left:16px;right:16px;top:calc(12px + env(safe-area-inset-top))}.search-zone{top:calc(78px + env(safe-area-inset-top))}.search-zone[hidden],.advanced-tools[hidden]{display:none!important}.search-box,.search-box input{min-height:52px;font-size:1rem}.search-box button{width:44px;height:44px;flex-shrink:0}.category-row{display:none}
.map-tools{top:calc(90px + env(safe-area-inset-top));right:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.map-tools button{width:48px;height:48px;font-size:.875rem;border-radius:14px;background:#fbfcf9f2;color:var(--ink)}.map-tools #locate-button{height:58px;gap:0;font-size:.75rem}.advanced-tools{display:grid;grid-template-columns:48px 48px;gap:8px;padding:8px;border-radius:18px;background:#eff4edf2;box-shadow:0 8px 28px #203b3025}.map-tools button#tilt-button,.map-tools button#mode-button{font-size:.875rem}.map-caption{left:16px;bottom:44vh;font-size:.75rem}.map-caption>span{display:none}.map-caption small{font-size:.75rem;color:#415d4b;max-width:220px}.map-poi{min-height:44px;font-size:.875rem;line-height:1.3;max-width:180px;padding:8px 10px 8px 18px;display:flex;align-items:center;white-space:normal;text-align:left}.map-poi[hidden]{display:none}.map-poi:before{top:calc(50% - 2px)}
.content-panel{top:58vh;border-radius:26px 26px 0 0;box-shadow:0 -8px 30px #294a3714}.panel-scroll{padding:4px 20px 28px}.sheet-grip{width:130px;height:48px;min-height:48px;margin:0 auto;font-size:.75rem;color:#526d5b;padding-top:10px}.sheet-grip:after{left:49px;right:49px;top:7px}.list-heading h1,.section-heading h1{font-size:1.65rem;letter-spacing:.5px;line-height:1.45;font-weight:600}.eyebrow{font-size:.75rem;letter-spacing:1px;color:#526d5b}.intro-line,.section-heading>p{font-size:1rem;color:var(--muted);line-height:1.75;margin:10px 0 16px}.poi-card{padding:14px 0}.poi-main{min-height:90px;gap:12px;padding-right:44px}.poi-title{font-size:1.125rem;line-height:1.45}.poi-subtitle{font-size:.75rem;color:#526957;line-height:1.6}.poi-summary{font-size:.875rem;color:#586b5e;line-height:1.6;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.poi-thumbnail{width:68px;height:82px;flex-basis:68px;border-radius:18px 18px 6px 6px}.favorite-btn{width:48px;height:48px;top:20px;right:-8px;color:#697f6f}.favorite-btn svg{width:23px;height:23px}.bottom-nav{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:4px}.bottom-nav button{min-height:56px;font-size:.875rem;color:#536c5e;gap:5px}.bottom-nav button.active{background:#e6f0e8;border-radius:15px}.bottom-nav button.active:after{display:none}.bottom-nav button svg{width:23px;height:23px}
.primary-btn,.secondary-btn{min-height:52px;font-size:1rem;padding:12px 16px;border-radius:14px;font-weight:500}.secondary-btn{color:#244e3c;border-color:#c9d8cc}.primary-btn svg,.secondary-btn svg{width:21px;height:21px}.text-btn{font-size:.875rem;min-height:48px;gap:8px;padding:10px 4px}.text-btn svg{width:20px;height:20px}.full-width{width:100%;margin-top:18px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem;color:#586b5e}.icon-btn{width:48px;height:48px;flex-shrink:0}.icon-btn svg{width:23px;height:23px}
.service-choices{display:flex;flex-direction:column}.service-choices>button{display:flex;align-items:center;gap:16px;text-align:left;padding:17px 0;border-bottom:1px solid var(--line);width:100%;min-height:88px}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#e8f0e7;color:#2c654d}.service-icon svg{width:26px;height:26px}.service-choices>button>span:nth-child(2){flex:1;display:grid;gap:6px}.service-choices strong{font-size:1.125rem;font-weight:500}.service-choices small{font-size:.875rem;color:var(--muted)}.service-tip{padding:20px;margin-top:24px}.service-tip strong{font-size:1.125rem}.service-tip p{font-size:1rem;color:var(--muted)}.service-tip .text-btn{margin-right:12px}
.detail-heading{min-height:48px}.detail-hero{padding:20px;min-height:0}.detail-hero h1{font-size:1.9rem;line-height:1.5}.detail-hero p{font-size:1rem;line-height:1.8;display:block;max-width:100%}.detail-actions{position:sticky;top:-4px;background:var(--paper);padding:10px 0;z-index:2;margin-bottom:18px}.description h2,.visit-note h3,.nearby-section h2{font-size:1.125rem;font-weight:600}.description p,.visit-note p{font-size:1rem;color:#435e4e;line-height:1.95}.gallery-hint,.gallery-photo span{font-size:.75rem;color:#526957}.gallery-photo span{color:#fff}.subtle{font-size:.875rem!important;color:#5c7160!important}.source-note{font-size:.875rem;color:#526957}.source-note summary,.expanded-intro summary,.tour-stops summary{min-height:52px;cursor:pointer;pointer-events:auto;padding:14px 0;font-size:1rem;font-weight:500}.expanded-intro{border-block:1px solid var(--line);margin:20px 0}.phone-link{font-size:1rem;min-height:48px}.nearby-section{margin:24px 0}.nearby-section>p{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:8px}.nearby-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 0;width:100%;text-align:left;border-bottom:1px solid var(--line)}.nearby-row>span{display:flex;align-items:center;gap:10px;font-size:1rem}.nearby-row small{font-size:.875rem;white-space:nowrap;color:var(--muted)}.tour-return{width:100%;margin-bottom:16px}
.tour-choice{display:flex;width:100%;align-items:flex-start;gap:14px;text-align:left;border-bottom:1px solid var(--line);padding:24px 0;min-height:135px}.tour-number{font:italic 2rem Georgia,serif;color:#a87942}.tour-choice>span:nth-child(2){flex:1}.tour-choice strong{font-size:1.25rem;font-family:'Songti SC',serif;display:block}.tour-choice small{font-size:.875rem;color:#466650;display:block;margin:9px 0}.tour-choice p{font-size:1rem;color:var(--muted);line-height:1.7}.tour-choice>svg{margin-top:6px;width:20px}.tour-stats{display:flex;flex-wrap:wrap;gap:10px 18px;padding:16px 0;border-block:1px solid var(--line)}.tour-stats strong{font-size:1.5rem}.tour-stats span{font-size:1rem;align-self:center}.current-stop{padding:24px 20px;margin-top:22px;background:#e9f1e8;border-radius:22px}.current-stop h2{font-size:1.5rem;margin:12px 0}.current-stop p{font-size:1rem;line-height:1.8;color:#48624f}.tour-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.tour-stops{margin-top:18px}.tour-stops ol{padding:0;list-style:none}.tour-stops li button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:58px;font-size:1rem;border-bottom:1px solid var(--line);padding:12px 8px}.tour-stops li button span{font-size:.875rem;color:#687e69}.tour-stops li button[aria-current]{background:#e4eee3;border-radius:12px}
#route-form{gap:16px}.place-choice{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;background:#eff4ec;border:1px solid #ccdacb;border-radius:16px;padding:18px;min-height:92px}.place-choice small{font-size:.875rem;color:#59725d}.place-choice strong{font-size:1.125rem;grid-column:1;font-weight:500}.place-choice svg{grid-column:2;grid-row:1/3;align-self:center}#route-form label.check-row{font-size:1rem;min-height:48px;line-height:1.6;gap:12px}input[type=checkbox]{width:24px;height:24px;flex-shrink:0}.route-note,.route-warning{font-size:.875rem;line-height:1.85;color:#596d5d}.route-summary{background:#f4eedf;color:#745020;padding:20px}.route-summary span{font-size:1rem}.route-summary small{font-size:.875rem;line-height:1.8}
.choice-dialog{border:1px solid #cfddd0;border-radius:24px;background:var(--paper);color:var(--ink);padding:20px;width:min(480px,calc(100vw - 24px));max-height:88dvh;overflow:auto}.choice-dialog::backdrop{background:#142f24aa;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-heading h2{font-size:1.375rem}.choice-dialog p{font-size:1rem;line-height:1.85;margin:12px 0}.category-choices button{display:flex;align-items:center;gap:16px;width:100%;min-height:60px;border-bottom:1px solid var(--line);font-size:1rem;text-align:left}.category-choices button span{flex:1}.picker-filter{display:grid;gap:8px;margin:18px 0;font-size:.875rem}.picker-filter input,.picker-filter select{width:100%;min-height:52px;padding:12px;border:1px solid #c8d7cb;border-radius:12px;background:#fff;color:var(--ink);font-size:1rem}.picker-place{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:72px;padding:14px 4px;text-align:left;border-bottom:1px solid var(--line)}.picker-place strong{font-size:1.125rem;font-weight:500}.picker-place small{font-size:.875rem;color:var(--muted)}.empty-state h2{font-size:1.125rem}.empty-state p{font-size:1rem}.guide-dialog h2{font-size:1.125rem}.guide-dialog p{font-size:1rem;color:#435e4e}#guide-toast{font-size:1rem}.photo-dialog p{font-size:1rem}.photo-credit,.photo-credit a{font-size:.875rem!important}
#guide-app.large-type .poi-title,#guide-app.large-type .description p,#guide-app.large-type .visit-note p,#guide-app.large-type .current-stop p,#guide-app.large-type .tour-choice p,#guide-app.large-type .primary-btn,#guide-app.large-type .secondary-btn,#guide-app.large-type .choice-dialog p{font-size:1.25rem}#guide-app.large-type .poi-summary,#guide-app.large-type .route-note,#guide-app.large-type .service-choices small,#guide-app.large-type .bottom-nav button,#guide-app.large-type .poi-subtitle{font-size:1rem}
@media(max-width:759px){#map-viewport{bottom:42vh}#guide-app.detail-view .map-tools,#guide-app.route-view .map-tools{top:calc(82px + env(safe-area-inset-top))}.content-panel.detail-open,.content-panel.route-open{top:40vh}#guide-app.detail-view #map-viewport,#guide-app.route-view #map-viewport{bottom:60vh}#guide-app.list-expanded .content-panel{top:40vh}.advanced-tools{position:absolute;right:56px;top:0}.brand{gap:7px}.map-caption{display:none}.photo-full{height:42dvh}}
@media(min-width:760px){:root{--sidebar:410px}.guide-header{left:22px;width:366px;right:auto;top:20px}.search-zone{left:20px;width:370px;right:auto;top:90px}.content-panel,.content-panel.detail-open,.content-panel.route-open{top:104px;bottom:var(--nav);border-radius:0}.guide-header:before{width:var(--sidebar)}.panel-scroll{padding:16px 24px 28px}.sheet-grip{display:none}.map-tools{top:28px;right:28px}.map-caption{bottom:25px}.dialog-backdrop{padding-left:430px}#guide-toast{left:calc(50% + 205px)}#guide-app:has(.search-zone:not([hidden])) .content-panel{top:158px}}
@media(max-width:359px){.brand-symbol{display:none}.brand strong{font-size:1.25rem}.header-actions{gap:4px}.panel-scroll{padding-inline:14px}.poi-thumbnail{width:54px;flex-basis:54px}.poi-main{gap:9px}.bottom-nav{gap:0;padding-inline:3px}}
@media(max-height:600px) and (max-width:759px){.content-panel{top:48vh}.content-panel.detail-open,.content-panel.route-open{top:36vh}#guide-app.detail-view #map-viewport,#guide-app.route-view #map-viewport{bottom:64vh}.guide-header{top:8px}.map-tools{top:82px}.content-panel .sheet-grip{height:40px;min-height:40px}.list-expanded .content-panel{top:30vh!important}}

@media(max-height:600px) and (max-width:759px){#guide-app .map-tools{flex-direction:row;top:76px;gap:6px}#guide-app .advanced-tools{top:64px;right:0}.map-tools #locate-button{height:48px}.map-tools #locate-button svg{display:none}}
/* Shared navigation rhythm: sheet, viewport and content travel together. */
.motion-ghost,.motion-ghost *{pointer-events:none!important;user-select:none!important}.motion-ghost{contain:paint;box-sizing:border-box}
#guide-app .content-panel{transition:top .55s cubic-bezier(.22,.68,.25,1),border-radius .4s ease}
#guide-app #map-viewport{transition:bottom .55s cubic-bezier(.22,.68,.25,1)}
.bottom-nav button{transition:background-color .3s ease,color .3s ease,transform .2s ease}.bottom-nav button:active{transform:scale(.96)}
.choice-dialog[open]::backdrop,.photo-dialog[open]::backdrop{animation:backdrop-in .28s ease both}@keyframes backdrop-in{from{background-color:transparent}to{background-color:#142f24aa}}
@media(prefers-reduced-motion:reduce){#guide-app .content-panel,#guide-app #map-viewport{transition-duration:.18s}.bottom-nav button:active{transform:none}}
@media(prefers-reduced-motion:reduce){#guide-app .content-panel{transition:top .18s ease!important}#guide-app #map-viewport{transition:bottom .18s ease!important}}

/* Landscape journal: ink, warm paper, and a restrained brass accent. */
:root{--paper:#faf8f1;--ink:#193f36;--green:#195648;--muted:#5d6b61;--line:#dedfd2}
#guide-app{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
.brand strong,.list-heading h1,.section-heading h1,.detail-hero h1,.current-stop h2,.tour-choice strong{font-family:'Songti SC','Noto Serif CJK SC','STSong',serif;font-weight:600}
.brand-symbol{background:#204d40;color:#f1e6c8;border-radius:50% 50% 42% 42%;width:38px;height:44px;padding:8px;box-sizing:border-box}
.brand strong{letter-spacing:.12em}.brand small{letter-spacing:.18em;color:#677669;margin-top:4px}
.header-actions button{background:#faf8f1eb;border-color:#cbd3c7;box-shadow:0 3px 12px #24453408}
.content-panel{background:var(--paper);border-top:1px solid #ffffffbd;box-shadow:0 -12px 38px #274b391a}
.panel-scroll{padding-inline:24px;scrollbar-width:thin;scrollbar-color:#bdc8b9 transparent}
.list-heading{padding-top:5px}.eyebrow{display:block;font-size:.75rem;line-height:1.6;letter-spacing:.12em;color:#7c6d47;font-weight:500}
.list-heading h1,.section-heading h1{font-size:1.85rem;line-height:1.45;letter-spacing:.035em;margin:8px 0 0;text-wrap:balance}
.intro-line{font-size:.9375rem;line-height:1.85;margin:10px 0 24px;text-align:left}
.poi-card{border-color:var(--line);padding:18px 0}.poi-title{font-weight:600;letter-spacing:.025em}.poi-copy{min-width:0}.poi-subtitle{margin-top:5px;letter-spacing:.035em}.poi-summary{margin-top:5px;line-height:1.75}.poi-thumbnail{border-radius:26px 26px 8px 8px;box-shadow:0 4px 14px #213d3012}.poi-main{text-align:left}.card-arrow{display:none}
.curated-places>.poi-card:first-child{position:relative;isolation:isolate;border:0;border-radius:26px 26px 12px 12px;overflow:hidden;background:#234b3e;margin:0 0 12px;padding:0;box-shadow:0 12px 24px #1c423619}
.curated-places>.poi-card:first-child .poi-main{display:flex;align-items:flex-end;min-height:250px;padding:110px 24px 24px;width:100%;position:relative;background:linear-gradient(180deg,#16392d00 12%,#102e25df 100%)}
.curated-places>.poi-card:first-child .poi-thumbnail{position:absolute;inset:0;z-index:-1;width:100%;height:100%;border-radius:0;object-fit:cover}
.curated-places>.poi-card:first-child .poi-symbol{display:none}.curated-places>.poi-card:first-child .poi-title{font:600 1.8rem/1.4 'Songti SC','STSong',serif;letter-spacing:.08em;color:#fff8e7}.curated-places>.poi-card:first-child .poi-subtitle{color:#e1d9bd}.curated-places>.poi-card:first-child .poi-summary{color:#f1f1e3;font-size:.875rem;line-height:1.8;margin-top:9px}.curated-places>.poi-card:first-child .favorite-btn{top:12px;right:12px;background:#173a2c80;border:1px solid #ffffff50;border-radius:50%;color:#fff4da}
.detail-hero{position:relative;background:linear-gradient(135deg,#244f42,#173e35);border-radius:24px 24px 8px 8px;padding:28px 24px;margin:8px 0 16px;overflow:hidden;color:#fff6dd}
.detail-hero:before{content:'';position:absolute;right:-48px;top:-65px;width:220px;height:220px;border:1px solid #e0c98725;border-radius:50%;pointer-events:none}.detail-hero .eyebrow{color:#d9c697}.detail-hero h1{font-size:2.15rem;letter-spacing:.065em;line-height:1.35;margin:12px 0}.detail-hero p{color:#e1e9dc;font-size:.9375rem;line-height:1.9;text-align:left}.detail-hero .hero-line-art{opacity:.075;color:#eee6bb}
.gallery-strip,.gallery-photo{border-radius:8px 8px 20px 20px}.gallery-photo{aspect-ratio:16/10}.gallery-hint{line-height:1.65;margin:9px 0 0}.detail-actions{gap:12px;padding-block:12px;background:var(--paper)}
.primary-btn{background:linear-gradient(135deg,#28614d,#174c3f);box-shadow:0 5px 12px #1e4b3915;color:#fffbed;border:1px solid #174c3f}.secondary-btn{background:#ffffff55;border:1px solid #cbd3c1}.primary-btn:active,.secondary-btn:active{transform:translateY(1px)}
.description h2,.nearby-section h2,.visit-note h3{display:flex;align-items:center;gap:10px;letter-spacing:.04em;margin:26px 0 14px}.description h2:before,.nearby-section h2:before,.visit-note h3:before{content:'';width:3px;height:16px;background:#ac8e52;border-radius:2px;flex:none}
.description p,.visit-note p{margin:0 0 16px;text-align:left;text-indent:0;line-height:1.95;letter-spacing:.015em;overflow-wrap:anywhere}.visit-note{border:1px solid #dedfd2;background:#f1f0e5;border-radius:16px;padding:0 20px 8px}.visit-note h3{margin-top:20px}.source-note{margin-top:22px;line-height:1.8}.description,.nearby-section{padding-inline:0}
.tour-choice{margin-top:14px;padding:24px 20px;border:1px solid #dde0d2;border-radius:22px;background:linear-gradient(125deg,#fffdf7,#edf1e6);box-shadow:0 5px 18px #29473106}.tour-number{font-size:2.5rem;line-height:1;color:#9b8150}.tour-choice strong{line-height:1.45;letter-spacing:.035em}.tour-choice small{font-variant-numeric:tabular-nums;color:#77653d;line-height:1.7}.tour-choice p{margin-bottom:0;font-size:.9375rem;line-height:1.85}.tour-stats{margin-top:20px;border-color:#cdd7c7}.tour-stats strong{font-family:Georgia,serif;font-weight:400;font-size:2rem;color:#8b6f3c}.current-stop{background:linear-gradient(145deg,#e8eedf,#f3f3e8);border:1px solid #d6dfca;box-shadow:inset 0 1px #fff}.current-stop h2{letter-spacing:.045em}
.service-icon{background:#e8ebdc;border:1px solid #d8dfcd;border-radius:50% 50% 16px 16px;color:#3a654f}.service-choices>button{padding-block:20px}.service-tip{border:1px solid #e0d9c3;border-radius:18px;background:#f2efdf}.bottom-nav{background:#faf8f1f5;border-top:1px solid #dce1d3}.bottom-nav button.active{color:#faf5dd;background:#234f40;box-shadow:0 4px 10px #224f401c}.bottom-nav button.active svg{color:#e6d49b}
.map-poi{background:#faf8f1ed;border:1px solid #e9eddf;box-shadow:0 4px 14px #24473924;border-radius:8px 14px 14px 0}.map-poi.selected{background:#214e3e;color:#fff7d5;border-color:#cbb679;box-shadow:0 0 0 4px #d5be6e32,0 8px 24px #173c3730}.map-poi.selected:before{background:#f2d181;box-shadow:0 0 9px #f2d181}.map-tools button{background:#faf8f1f0;box-shadow:0 4px 16px #29493416;border:1px solid #dde4d3}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ad8c43;outline-offset:3px}button{transition:background-color .25s ease,box-shadow .25s ease,color .25s ease}
@media(min-width:760px){:root{--sidebar:440px}.guide-header{width:392px;left:24px}.search-zone{width:392px;left:24px}.panel-scroll{padding:18px 28px 32px}.curated-places>.poi-card:first-child .poi-main{min-height:276px}#guide-toast{left:calc(50% + 220px)}}
@media(max-width:759px){.list-heading h1{font-size:1.7rem}.panel-scroll{padding-inline:22px}.curated-places>.poi-card:first-child .poi-main{min-height:226px}.detail-hero{padding:24px 22px}.detail-hero h1{font-size:1.95rem}.tour-choice{padding:22px 16px;gap:12px}}
@media(max-width:359px){.panel-scroll{padding-inline:16px}.list-heading h1{font-size:1.5rem}.curated-places>.poi-card:first-child .poi-main{padding-inline:20px}.tour-choice{gap:10px;padding-inline:14px}}

/* Visitor collections belong to the landscape journal, with four clear doors. */
.theme-portals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px}.theme-portal{position:relative;display:flex;align-items:flex-start;gap:9px;min-width:0;min-height:148px;text-align:left;padding:18px 14px;border:1px solid #dbdfcf;border-radius:18px;background:#eef1e3;color:var(--ink)}.theme-portal>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.theme-portal small{font-size:.6875rem;line-height:1.7;letter-spacing:.025em;color:#68725a}.theme-portal strong{font:600 1.25rem/1.5 'Songti SC','STSong',serif;margin:8px 0}.theme-portal em{font-size:.75rem;font-style:normal;color:#5d6b61}.theme-portal>svg{position:absolute;bottom:15px;right:12px;width:17px;height:17px}.theme-portal-icon{display:flex;margin-top:2px;color:#6c7952}.theme-portal-icon svg{width:18px;height:18px}.theme-flowers{background:linear-gradient(135deg,#f4e9df,#faf5e8)}.theme-business{background:linear-gradient(135deg,#e9ecdb,#f4f4e8)}.theme-spaces{background:linear-gradient(135deg,#dfeae2,#f1f5eb)}.theme-family{background:linear-gradient(135deg,#eee7d7,#faf1df)}.theme-heading{padding:22px;border:1px solid #dedfcd;border-radius:20px;margin-bottom:20px}.theme-heading h1{margin-top:9px}.theme-heading>p{margin-bottom:0;line-height:1.85;font-size:.9375rem}.theme-filter{display:grid;gap:10px;font-size:.875rem;color:#5c6a5e;margin:22px 0 18px}.theme-filter select{width:100%;min-height:50px;padding:10px 14px;color:var(--ink);background:#fffdf5;border:1px solid #cbd5c5;border-radius:12px;font:inherit;font-size:1rem}.theme-list-count{font-size:.8125rem;line-height:1.8;color:#6a735f;padding-bottom:10px;border-bottom:1px solid var(--line)}.experience-badge{display:block;width:fit-content;max-width:100%;font-size:.6875rem;line-height:1.7;padding:3px 8px;margin-top:9px;border-radius:6px;background:#ececde;color:#5b653d;overflow-wrap:anywhere}.theme-service-link{display:flex;align-items:center;gap:10px;min-height:64px;width:100%;text-align:left;border:1px solid #d3dcc8;border-radius:15px;background:#eef1e2;margin:22px 0 10px;padding:14px;font-size:.9375rem;line-height:1.6}.theme-service-link svg{width:20px;height:20px;flex:none}.theme-service-link svg:last-child{margin-left:auto}.experience-facts{margin:12px 0 24px;border:1px solid #dedfce;border-radius:18px;background:#f1f1e6;padding:4px 18px 16px}.experience-facts dl{margin:0}.experience-facts dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid #dce0d0;font-size:.875rem;line-height:1.85}.experience-facts dt{color:#687259}.experience-facts dd{margin:0;color:#294c3c;overflow-wrap:anywhere}.experience-status{font-size:.875rem;color:#795d2c;background:#e9dfc6;border-radius:9px;padding:10px 12px;margin:14px 0 0;line-height:1.7}.theme-footnote{font-size:.75rem;line-height:1.85;color:#66715e;margin:15px 0 0}.experience-locations{margin-top:22px}.experience-locations h2{font-size:1rem;margin:0 0 10px}.experience-locations p{font-size:.8125rem;line-height:1.85;color:#66715e}.experience-locations>div{display:flex;gap:8px;flex-wrap:wrap}.experience-locations button{font-size:.875rem;min-height:46px;padding:10px 14px}.experience-locations button[aria-pressed=true]{background:#285942;color:#fff7da;border-color:#285942}#guide-app.large-type .experience-facts dl>div{font-size:1.0625rem}#guide-app.large-type .theme-portal strong{font-size:1.4rem}#guide-app.large-type .experience-badge{font-size:.875rem}
@media(max-width:359px){.theme-portals{gap:8px}.theme-portal{padding:14px 10px;min-height:148px;gap:5px}.theme-portal-icon{display:none}.experience-facts dl>div{grid-template-columns:76px minmax(0,1fr);gap:10px}}
.related-themes .nearby-row{align-items:flex-start}.related-themes .nearby-row>span{min-width:0;line-height:1.7;align-items:flex-start}.related-themes .nearby-row>span svg{flex:none;margin-top:4px}.related-themes .nearby-row small{white-space:normal;text-align:right;max-width:76px;line-height:1.8;flex:none}
/* Search stays above the sheet, including detail/route screens and small phones. */
#guide-app.search-open .search-zone:not([hidden]){display:block!important;z-index:22}
#guide-app.search-open .guide-header{z-index:23}
@media(max-width:759px){#guide-app.search-open .content-panel{top:calc(148px + env(safe-area-inset-top));max-height:calc(100dvh - 148px - var(--nav) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}#guide-app.search-open .sheet-grip{display:none}#guide-app.search-open .panel-scroll{padding-top:18px}#guide-app.search-open .map-tools{display:none}}
/* Original park mascot, used without recoloring or changing its proportions. */
.loading-mascot{width:96px;height:148px;object-fit:contain;filter:drop-shadow(0 8px 10px #284f3020);animation:shanwa-arrive .6s ease both}
.mascot-welcome{display:flex;align-items:center;gap:16px;padding:12px 0 20px;margin:4px 0 6px}.mascot-welcome>img{width:62px;height:96px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 7px #29543516)}.mascot-welcome p{display:grid;gap:8px;min-width:0}.mascot-welcome strong{font-size:1rem;font-weight:500;letter-spacing:.04em}.mascot-welcome p>span{font-size:.875rem;line-height:1.85;color:var(--muted)}
@keyframes shanwa-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.loading-mascot{animation:none}}

/* Isolate the guide from Cocos' body{text-align:center} and align all reading surfaces. */
#guide-app,.motion-ghost{--panel-gutter:22px;text-align:left;text-indent:0}
.panel-scroll{padding-inline:var(--panel-gutter,22px);min-height:0;flex:1}
.list-heading{display:block;margin:0;padding:0}
.list-heading>div{width:100%;min-width:0}
.list-heading .eyebrow,.section-heading .eyebrow,.detail-hero .eyebrow{margin:0;padding:0;text-align:left;text-indent:0}
.list-heading h1,.section-heading h1{margin:8px 0 0;text-align:left;text-indent:0;text-wrap:wrap}
.section-heading{margin:0 0 20px}
.section-heading>p{margin:10px 0 0}
.mascot-welcome{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;align-items:center;margin:16px 0 24px;padding:0}
.mascot-welcome>img{width:56px;height:86px;display:block}
.mascot-welcome p{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0;text-align:left;text-indent:0}
.mascot-welcome strong,.mascot-welcome p>span{display:block;width:100%;margin:0;padding:0;text-align:left;text-indent:0}
.mascot-welcome strong{line-height:1.6}.mascot-welcome p>span{line-height:1.75}
.poi-copy{gap:4px;text-align:left}.poi-subtitle,.poi-summary{margin:0}
.theme-portals{align-items:stretch;margin-bottom:24px}.theme-portal{display:grid;grid-template-columns:18px minmax(0,1fr);align-content:start;gap:10px;min-height:132px;padding:16px 12px 32px}
.theme-portal>span:nth-child(2){align-items:flex-start}.theme-portal small,.theme-portal strong,.theme-portal em{width:100%;text-align:left}.theme-portal strong{margin:6px 0}
.detail-hero,.description,.visit-note,.nearby-section,.current-stop,.tour-choice,.experience-facts,.choice-dialog,.photo-dialog,.controls-dialog{ text-align:left;text-indent:0}
.description p,.visit-note p,.current-stop p{margin:0 0 14px}
.detail-heading{margin:0 0 8px}.detail-heading .text-btn{padding-left:0}
.sheet-grip,.empty-state,#map-loading,.bottom-nav button,.primary-btn,.secondary-btn{text-align:center}
.sheet-grip{margin:0 auto 8px}.theme-heading{margin-bottom:20px}
@media(min-width:760px){#guide-app,.motion-ghost{--panel-gutter:28px}.panel-scroll{padding-top:20px}}
@media(max-width:359px){#guide-app,.motion-ghost{--panel-gutter:16px}.mascot-welcome{column-gap:12px;grid-template-columns:48px minmax(0,1fr)}.mascot-welcome>img{width:48px;height:74px}.theme-portal{grid-template-columns:minmax(0,1fr)}.theme-portal-icon{display:none}}
