.intro{padding:40px 0 32px}.intro h1{font-size:clamp(30px,3vw,45px);letter-spacing:1.1px}.intro-copy{letter-spacing:.4px}.travel-stamp{width:172px;height:115px}.travel-stamp b{font-size:19px}.travel-stamp small{font-size:6px;letter-spacing:.8px}.exploration-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#939b86;border-top:1px solid var(--line);padding:14px 0 18px;letter-spacing:.5px}.exploration-meta>span:first-child{color:#6c805f}.geography-shell{background:#edf0e2;isolation:isolate}.geography-shell .map-toolbar>span{color:#577149;background:#fffdf1f0;border:1px solid #dce3d0;border-radius:6px;padding:10px 12px;letter-spacing:.5px;font-size:10px;text-shadow:none}.geography-shell .map-foot{background:#f9faeff0;border-top:1px solid #dde2cd;color:#728164;font-size:9px}.map-foot>div{display:flex;gap:16px}.geography-shell .map-foot button{color:var(--green);font-size:9px}#geo-map{height:500px;width:100%;background-color:#f0f1e3;background-image:radial-gradient(#b4c39a44 .7px,transparent .7px);background-size:7px 7px;font-family:inherit}#geo-map .leaflet-top{top:77px}#geo-map .leaflet-bottom{bottom:31px}#geo-map .leaflet-control-attribution{font-size:8px;background:#fafcf0d9}#geo-map .leaflet-control-zoom{border:1px solid #c8d1bb;box-shadow:0 2px 7px #2e4c3314}#geo-map .leaflet-control-zoom a{background:#fffdf3;color:#71845f;width:26px;height:26px;line-height:26px;font-size:16px}.county-shape{fill:url(#county-texture);filter:drop-shadow(0 3px 4px #627c4c24)}.geography-shell.road-mode .county-shape{fill:#dce6c0;fill-opacity:.08;filter:none}.place-marker{background:#fffdf0;border:1px solid #879d6c;color:#527141;border-radius:50%;display:grid;place-items:center;font:11px Georgia;box-shadow:0 2px 4px #4a62352a}.place-marker.is-selected{background:var(--green);border:3px solid #fffdf0;color:white;font-size:12px;box-shadow:0 0 0 1px #216957,0 3px 8px #365b3750}.geography-shell .leaflet-tooltip.place-tooltip{background:#fffef2;border:1px solid #d7dec7;box-shadow:0 2px 6px #40583315;color:#49633b;padding:6px 9px;font-size:10px;border-radius:5px;white-space:normal;max-width:140px;text-align:center}.place-tooltip:before{border-top-color:#d7dec7!important}.county-label{font:21px "PMingLiU",serif;color:#8a9e6b;letter-spacing:7px;white-space:nowrap;pointer-events:none;text-shadow:0 1px #fff8}.county-label small{font:7px "Segoe UI",sans-serif;display:block;letter-spacing:2px;margin-top:7px}.water-label{font-size:9px;color:#6b9e9e;white-space:nowrap;pointer-events:none;font-weight:500;text-shadow:0 1px white}.north-label{font:11px Georgia;letter-spacing:2px;color:#839673;pointer-events:none}.map-legend{display:flex;gap:17px;flex-wrap:wrap;font-size:9px;color:#8c967f;margin-top:13px}.map-legend>span{display:flex;align-items:center;gap:6px}.map-legend i{display:inline-block;width:6px;height:6px;border-radius:50%}.legend-current{background:var(--green);box-shadow:0 0 0 2px #dee6cc}.legend-past{background:#91a873}.legend-future{background:#d0d8bc}.geo-credit{font-size:8px;line-height:1.8;color:#a0a68f;margin:10px 0 0}.geo-credit a{color:#859974}.exploration-panel{padding-top:10px}.exploration-panel h2{font-size:29px;line-height:1.4;letter-spacing:.5px;margin:12px 0 8px}.place-area{font-size:10px;letter-spacing:.6px;color:#899879;margin:0 0 16px}.exploration-panel>.muted{font-size:12px;line-height:2;margin-bottom:14px;min-height:45px}.current-place-actions{display:flex;gap:20px}.current-place-actions .text-button{font-size:10px}.exploration-panel .route-summary{margin:17px 0 18px;padding:12px 0}.exploration-panel .route-summary strong{font-size:11px}.exploration-panel .route-summary small{font-size:9px}.next-place{margin-top:21px}.next-place .eyebrow{font-size:7px;letter-spacing:1.3px}.next-place>p:first-of-type{font-size:11px;color:#7a886c;margin:10px 0 13px;line-height:1.8}.next-place .primary-button{width:100%;font-size:11px;padding:15px}.next-place .advance-note{line-height:1.8;font-size:9px;margin:9px 0 0}.slow-journal{margin:34px 0 0;border:1px solid #dfe3d2;background:#f0f1e6;border-radius:14px;padding:24px 26px}.slow-journal .section-heading{margin-bottom:19px}.slow-journal h2{font-size:23px}.slow-journal .section-heading .eyebrow{font-size:7px}.journal-stops{display:flex;flex-wrap:wrap;gap:9px}.journal-stop{background:#fffdf3;border:1px solid #dce2ce;border-radius:7px;padding:11px 14px;display:flex;align-items:center;gap:9px;text-align:left}.journal-stop>span{font:10px Georgia;color:#9aab85}.journal-stop>b{font-size:11px;font-weight:500;letter-spacing:.1px}.journal-stop[aria-pressed=true]{background:var(--green);color:#fffdf0;border-color:var(--green)}.journal-stop[aria-pressed=true]>span{color:#c6d6b4}.journal-note{font-size:9px;color:#9da58f;margin:16px 0 0}.stops-section{margin-top:37px}.geo-postcard{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7cb,#f3f1df);position:relative;color:#6f8259;padding:20px;overflow:hidden}.geo-postcard:before,.geo-postcard:after{content:"";position:absolute;width:260px;height:150px;border:1px solid #94ad7630;border-radius:45%;transform:rotate(-26deg);left:-50px;bottom:-45px;box-shadow:0 0 0 14px #a2b88b14,0 0 0 29px #a2b88b13,0 0 0 47px #a2b88b12}.geo-postcard:after{left:auto;right:-170px;top:-40px;transform:rotate(32deg)}.geo-postcard>b{font:22px "PMingLiU",serif;letter-spacing:1px;z-index:1;text-align:center;line-height:1.5}.geo-postcard>small{font-size:8px;letter-spacing:1.1px;color:#9ba889;margin-top:11px;z-index:1}.geo-postcard>.postcard-label{position:absolute;right:10px;bottom:9px;margin:0;font-size:8px;letter-spacing:0}.postcard-coordinates{font:9px Georgia;letter-spacing:1px;margin-top:10px;color:#9daa8a;z-index:1}.memory-placeholder{grid-column:span 2;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px dashed #d4dcc5;border-radius:12px;padding:27px;text-align:center;background:#f0f1e5}.memory-placeholder>span{font-size:30px;color:#9eb28a;margin-bottom:15px}.memory-placeholder h3{font:24px "PMingLiU",serif;font-weight:400;margin:0 0 12px}.memory-placeholder p{font-size:11px;color:#97a087;line-height:2;margin:0}.memory-placeholder small{font-size:8px;letter-spacing:2px;color:#a4ae95;margin-top:20px}.region-note{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.region-emblem{border:1px solid #a5b497;color:#8da07a;border-radius:50%;width:81px;height:101px;flex-shrink:0;display:grid;place-content:center;font:22px/1.2 "PMingLiU",serif;text-align:center;transform:rotate(-7deg)}.region-note .eyebrow{font-size:8px;margin-bottom:12px}.region-note h2{font:24px "PMingLiU",serif;margin:0 0 13px}.region-note p:not(.eyebrow){font-size:11px;color:#919b83;line-height:1.9;max-width:700px;margin:0 0 9px}.region-note #catalog-note{font-size:9px;color:#a0aa90}.geography-shell .map-fallback{bottom:34px;max-width:80%;font-size:9px}.catalog-dialog-note{background:#eff1e3;padding:11px;border-radius:6px}.sources-dialog h3{margin-top:21px}.start-route{opacity:.8}.map-column .map-shell{box-shadow:0 4px 16px #435c2410}.geography-shell.road-mode #map-caption{background:#fffdf0eb}.sources-dialog .photo-credit{font-size:10px}
@media(min-width:1450px){#geo-map{height:550px}.exploration-panel{padding-top:16px}.exploration-panel h2{font-size:32px}.exploration-panel>.muted{font-size:13px;line-height:2.1;margin-top:17px}.exploration-panel .route-summary{margin-top:23px}.next-place{margin-top:27px}}
@media(max-width:1100px){#geo-map{height:510px}.exploration-panel h2{font-size:25px}.exploration-panel>.muted{font-size:11px}.current-place-actions{gap:10px}.current-place-actions .text-button{font-size:9px}.next-place .primary-button{font-size:10px}.geography-shell .map-toolbar>span{font-size:8px;padding:9px 7px}.map-legend{gap:10px;font-size:8px}}
@media(max-width:800px){#geo-map{height:490px}.exploration-panel{padding:22px}.exploration-panel h2{font-size:29px}.exploration-panel>.muted{font-size:12px;min-height:0}.current-place-actions{gap:20px}.current-place-actions .text-button{font-size:11px}.next-place .primary-button{font-size:12px}.next-place{margin-top:20px}.geo-credit{font-size:8px}.slow-journal{margin-top:28px}.memory-placeholder h3{font-size:21px}.memory-placeholder p{font-size:10px}.region-note h2{font-size:23px}}
@media(max-width:520px){.intro{padding:29px 0 25px}.intro h1{font-size:29px;line-height:1.5;max-width:310px;margin-bottom:13px}.intro h1 em{display:block}.intro-copy{font-size:11px}.intro .eyebrow{font-size:7px}.exploration-meta{font-size:8px;padding:10px 0 14px;gap:10px;letter-spacing:0}.exploration-meta>span:last-child{font-size:8px}.journey-top{margin-bottom:10px}.journey-top>p{font-size:8px}#geo-map{height:410px}.geography-shell .map-toolbar{top:11px;left:10px;right:10px;gap:5px}.geography-shell .map-toolbar>span{font-size:8px;padding:9px 6px;max-width:115px;line-height:1.2;letter-spacing:0}.view-switch button{padding:7px 8px;font-size:9px}.geography-shell .map-foot{font-size:7px;min-height:30px;padding:8px 10px;gap:4px}.map-foot>div{gap:10px;flex-shrink:0}.geography-shell .map-foot button{font-size:8px}#geo-map .leaflet-top{top:65px}#geo-map .leaflet-bottom{bottom:30px}#geo-map .leaflet-control-attribution{font-size:6px}.county-label{font-size:18px;letter-spacing:4px}.county-label small{font-size:6px;letter-spacing:1px}.geography-shell .leaflet-tooltip.place-tooltip{font-size:9px;max-width:115px;padding:5px 7px}.map-legend{gap:11px;font-size:8px;margin-top:11px}.map-legend i{width:5px;height:5px}.geo-credit{font-size:7px;line-height:1.8;margin-top:9px}.exploration-panel{padding:20px 18px}.exploration-panel h2{font-size:27px}.place-area{font-size:9px;margin-bottom:12px}.exploration-panel>.muted{font-size:11px;line-height:2;margin-bottom:13px}.current-place-actions .text-button{font-size:10px}.exploration-panel .route-summary{margin-top:15px}.next-place{margin-top:21px}.next-place .eyebrow{font-size:6px}.next-place>p:first-of-type{font-size:11px;margin-top:9px}.next-place .primary-button{font-size:11px}.slow-journal{padding:21px 18px;margin-top:29px}.slow-journal h2{font-size:22px}.slow-journal .section-heading>p{font-size:9px}.journal-stops{gap:7px}.journal-stop{padding:10px 11px;max-width:100%}.journal-stop b{font-size:10px}.journal-stop span{font-size:9px}.journal-note{font-size:8px;line-height:1.7}.memory-placeholder{grid-column:auto;min-height:210px}.memory-placeholder h3{font-size:24px}.memory-placeholder p{font-size:11px}.geo-postcard>b{font-size:24px}.region-note{gap:17px;align-items:start;padding:27px 0}.region-emblem{width:44px;height:68px;font-size:17px}.region-note .eyebrow{font-size:6px;letter-spacing:1px}.region-note h2{font-size:22px;line-height:1.5;margin-bottom:9px}.region-note p:not(.eyebrow){font-size:10px;line-height:1.9}.region-note #catalog-note{font-size:8px;line-height:1.8;display:block}.day-heading .eyebrow{font-size:7px;letter-spacing:1.1px}.day-tag{font-size:8px}.stop-card p{min-height:0}}
.geography-shell .leaflet-tooltip.place-tooltip{white-space:nowrap;max-width:none}.neighbor-label{font-size:10px;letter-spacing:2px;color:#9ba88c;white-space:nowrap;pointer-events:none}.memory-placeholder{grid-column:span var(--placeholder-span,2)}@media(max-width:520px){.memory-placeholder{grid-column:auto}.neighbor-label{font-size:9px;letter-spacing:1px}}
/* The artwork is geographically registered; the real lake and paths remain vector overlays. */
#geo-map .leaflet-terrainArt-pane{pointer-events:none}.art-mode #geo-map{background:#eee9d2}.art-mode .county-shape{filter:none}.art-mode .neighbor-label,.art-mode .county-label{display:none}.art-mode .water-label{background:#fff9dce8;color:#397e81;padding:3px 5px;border-radius:4px;box-shadow:0 2px 5px #365d4130;width:max-content!important;height:auto!important;font-size:9px;transform:translate(12px,-17px);text-shadow:none}.art-mode .north-label{color:#fffde6;text-shadow:0 1px 4px #2e5035}.art-mode .illustrated-lake{fill:url(#sunmoon-water);stroke:#f8e6b3;stroke-width:1.5;filter:drop-shadow(0 1px 2px #315f4f88)}.art-mode .place-marker{border:2px solid #fffceb;background:#5d8250;color:#fff9e9;box-shadow:0 2px 6px #1e402d66}.art-mode .place-marker.is-selected{background:#c77642;border:3px solid #fffceb;box-shadow:0 0 0 1px #c77642,0 3px 8px #365b3770}.art-mode .leaflet-tooltip.place-tooltip{background:#fffbeaeb;border-color:#f4eacb;color:#4b6241;box-shadow:0 2px 7px #26472d35}.geography-shell.art-mode .map-foot{background:#f9f7e8ec}.terrain-postcard{background-image:linear-gradient(0deg,#233f35c7,#2549301c),url('/images/nantou-terrain.png');background-size:100% 100%,280% auto;color:#fff8df;text-shadow:0 1px 4px #294c36}.terrain-postcard:before,.terrain-postcard:after{display:none}.terrain-postcard>b{font-size:24px}.terrain-postcard>small,.terrain-postcard .postcard-coordinates{color:#fff9e5}.terrain-postcard .postcard-label{background:#254a366e;padding:3px 5px;border-radius:3px;font-size:8px}.geography-shell .map-toolbar>span{background:#fffbeaef;border-color:#fff8dd}.art-mode .map-foot>span{color:#6b775b}.art-mode .view-switch{box-shadow:0 3px 10px #254a3626}.art-mode .leaflet-control-zoom a{background:#fffbeaee}#geo-map .leaflet-image-layer{image-rendering:auto}.art-mode .map-legend{color:#71825d}
@media(max-width:520px){.art-mode .water-label{font-size:8px}.art-mode .north-label{font-size:10px}.terrain-postcard>b{font-size:25px}.geography-shell .map-toolbar>span{max-width:115px}.art-mode .map-foot>span{font-size:7px}}

/* Catalog-driven neighborhood preview, separate from saved exploration. */
.local-overview{margin-bottom:20px;padding:18px;border:1px solid var(--line,#9aa88b66);border-radius:22px}
.local-overview h3{margin:0 0 8px}.local-overview>p{font-size:12px;line-height:1.7;opacity:.8}
.local-overview-stops{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.local-stop{display:flex;align-items:center;gap:10px}.local-stop img{width:92px;height:66px;object-fit:cover;border-radius:12px}
.local-stop b{font-size:13px}.local-stop small,.local-leg{display:block;font-size:11px;opacity:.75;margin:4px 0}
.place-marker.is-preview{background:#f6edd7;color:#53634b;border:2px dashed #8b9977}
@media(max-width:500px){.local-overview-stops{grid-template-columns:1fr}.local-stop img{width:105px;height:70px}}

/* Main illustration mode: a composable miniature scene, not a geographic raster zoom. */
#local-art-scene[hidden],#geo-map[hidden]{display:none!important}
.local-scene-mode{background:#e9dfbd!important}
#local-art-scene{padding:78px 12px 62px;background:linear-gradient(#fff6dc22,#fff6dc22),url('/images/local-neighborhood-ground-v2.webp') center/100% 100%;color:#344c3d}
.miniature-stage{position:relative;width:100%;height:calc(var(--scene-height)*5px);min-height:480px}
.scene-paths{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.scene-paths path{fill:none;stroke:#bd884b;stroke-width:1.3;stroke-linecap:round;filter:drop-shadow(0 2px 0 #fff4d9)}
.scene-paths .scene-upcoming{stroke-dasharray:2 2}
.scene-stop{position:absolute;transform:translate(-50%,-35%);width:43%;padding:0;border:0;background:transparent;color:#304e3a;text-align:center;cursor:pointer;z-index:2}
.scene-stop img{width:100%;height:155px;object-fit:cover;border:5px solid #fff4d9;border-radius:47% 47% 25% 25%;box-shadow:0 13px 0 #9b956357,0 19px 20px #5a634044}
.scene-name{display:block;background:#fff8e7f5;border:1px solid #b4b48f;border-radius:14px;padding:7px 8px;margin:12px auto 2px;font-size:13px;line-height:1.4;box-shadow:0 3px 8px #59674833}
.scene-name b{display:inline-grid;place-items:center;background:#6f8357;color:#fff;width:26px;height:26px;border-radius:50%;margin-right:3px}
.scene-stop.is-current .scene-name b{background:#b87542}
.scene-stop small{display:inline-block;background:#fff8e7eb;border-radius:8px;padding:3px 7px;font-size:10px}
.scene-stop:focus-visible{outline:3px solid #a15f32;outline-offset:6px;border-radius:20px}
.scene-caption{font-size:11px;line-height:1.6;margin:0 15px;color:#45563d}
.scene-missing{display:grid;place-items:center;height:155px;background:#ece5c9;border-radius:35%;font-size:14px}
.local-scene-mode .map-foot{background:#fbf4dc!important}
.local-scene-mode .map-foot>span{color:#47563b}
@media(max-width:520px){#local-art-scene{padding:70px 4px 72px}.miniature-stage{height:calc(var(--scene-height)*4.5px);min-height:450px}.scene-stop img{height:125px;border-width:3px}.scene-name{font-size:11px;padding:5px}.scene-name b{width:21px;height:21px}.scene-caption{font-size:10px}.scene-stop small{font-size:9px}}
