.citywalk-layer{position:fixed;inset:0;z-index:5;pointer-events:none;user-select:none}.museum-invite{position:absolute;transform:translate(-50%,-135%);border:1px solid #a9c9b3;border-radius:4px;padding:6px 10px;background:#fffffff2;color:#324d3c;pointer-events:auto;font:12px/1.4 'Microsoft YaHei',sans-serif;white-space:nowrap;cursor:pointer;box-shadow:0 2px 12px #264f3210}.museum-invite i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#72b88a;margin-right:6px;box-shadow:0 0 7px #8dcea8}.museum-invite small{display:block;margin-top:3px;color:#78877d;font-size:9px;letter-spacing:1px}.museum-invite:hover{border-color:#679d78;background:#fff}.museum-hover{cursor:pointer!important}.walk-node{position:absolute;width:12px;height:12px;padding:0;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:#7bb68c;color:transparent;font:9px Arial;box-shadow:0 0 0 1px #7bb68c66;pointer-events:auto;cursor:pointer;transition:width .2s,height .2s}.walk-node:hover,.walk-node:focus-visible,.walk-node.is-current{width:27px;height:27px;color:#244b30;background:#d5ebdc;outline:none;z-index:2}.walk-panel,.walk-museum-info{position:fixed;right:30px;top:50%;transform:translateY(-50%);width:350px;background:#fffffff7;border:1px solid #dedfdd;border-radius:5px;z-index:12;color:#292c29;box-shadow:0 8px 35px #2233220a;font-family:'Microsoft YaHei',sans-serif;overflow:hidden}.walk-panel[hidden],.walk-museum-info[hidden],.citywalk-layer[hidden],.walk-node[hidden],.museum-invite[hidden]{display:none}.walk-panel header{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.walk-eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:1.6px;color:#738076}.walk-panel button,.walk-museum-info button{border:0;background:transparent;color:#555;cursor:pointer;font:13px/1.5 inherit;border-radius:3px}.walk-panel header button{font-size:25px;width:30px;height:32px}.walk-photo{height:230px;background:#f0f1ef;position:relative;text-align:center}.walk-photo img{width:100%;height:100%;object-fit:contain;display:block}.walk-image-pages{position:absolute;bottom:9px;right:10px;display:flex;gap:5px}.walk-image-pages button{background:#ffffffed;border:1px solid #ddd;width:25px;height:25px;font:10px Arial}.walk-image-pages button[aria-pressed=true]{background:#345b40;color:white;border-color:#345b40}.walk-image-error{position:absolute;inset:45% 0;font-size:12px;color:#888}.walk-copy{padding:19px 22px 10px}.walk-counter{font:10px Arial;color:#73937c;letter-spacing:2px}.walk-copy h2{font-size:19px;font-weight:500;line-height:1.5;margin:8px 0 11px}.walk-copy p{font-size:13px;line-height:1.95;margin:0;color:#626762}.walk-transport{display:flex;justify-content:space-between;padding:12px 17px}.walk-transport button{min-width:45px;height:32px}.walk-panel button:hover,.walk-panel button:focus-visible,.walk-museum-info button:hover{background:#edf3ee}.walk-panel button:disabled{opacity:.25;cursor:default}.walk-progress{height:2px;background:#eef0ed}.walk-progress i{display:block;height:100%;background:#8fbd9a;transform:scaleX(0);transform-origin:left;transition:transform .1s linear}.walk-panel.is-moving{opacity:1;pointer-events:auto;transition:opacity .45s}.walk-panel:not(.is-moving){opacity:1;transition:opacity .6s}.walk-museum-info{padding:26px}.walk-museum-info small{font-size:11px;color:#77917d}.walk-museum-info h2{font-weight:500;font-size:21px;line-height:1.6;margin:12px 0}.walk-museum-info p{font-size:13px;line-height:1.9;color:#777}.walk-museum-info .walk-start{background:#344f3c;color:white;margin-top:12px;padding:9px 15px}.walk-museum-info .walk-info-close{position:absolute;right:10px;top:8px;font-size:24px}.citywalk-active .story-markers,.citywalk-active .map-focus-marker{visibility:hidden}.citywalk-active .memory-timeline{opacity:.3}.citywalk-active .map-place-labels{opacity:.6}.citywalk-active .walk-node:not(.is-current){opacity:.5}.map-entering .citywalk-layer{visibility:hidden}.walk-panel button:focus-visible,.museum-invite:focus-visible{outline:2px solid #6c9979;outline-offset:3px}@media(max-width:700px){.walk-panel{right:14px;left:14px;top:auto;bottom:113px;transform:none;width:auto;max-height:57vh;overflow-y:auto}.walk-photo{height:160px}.walk-copy{padding:13px 18px 4px}.walk-copy h2{font-size:17px;margin:5px 0}.walk-copy p{font-size:12px;line-height:1.8}.walk-panel header{height:33px}.walk-transport{padding:4px 12px}.walk-museum-info{right:18px;left:18px;top:45%;width:auto}.museum-invite{font-size:10px}.museum-invite small{font-size:8px}}@media(prefers-reduced-motion:reduce){.walk-panel,.walk-node,.walk-progress i{transition:none!important}}
.walk-panel.is-moving{opacity:1;pointer-events:auto}.walk-panel.is-moving .walk-photo,.walk-panel.is-moving .walk-copy p,.walk-panel.is-moving .walk-progress{display:none}.walk-panel.is-moving .walk-copy{padding-top:8px}.walk-panel.is-moving .walk-copy h2{font-size:15px;color:#718278}
/* Route navigation shares the map's paper and sage palette. */
.walk-cursor-trail{position:fixed;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.walk-cursor-trail polyline{fill:none;stroke:#397d52;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.7;filter:drop-shadow(0 0 2px #fff)}
.walk-cursor{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;z-index:6;filter:drop-shadow(0 2px 3px #244b3044)}
.walk-cursor[hidden]{display:none}
.walk-cursor-ring{position:absolute;inset:0;border:2px solid #397d52;border-radius:50%;background:#fffffff0;box-shadow:0 0 0 5px #a9d5b84d}
.walk-cursor-ring:after{content:'';position:absolute;inset:-7px;border:1px solid #66a47b;border-radius:50%;animation:walk-position-pulse 2s ease-out infinite}
.walk-cursor-arrow{position:absolute;inset:5px;transform:rotate(var(--heading,0rad))}
.walk-cursor-arrow svg{width:100%;height:100%;fill:#34784e;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.walk-cursor-label{position:absolute;top:45px;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px/1.6 'Microsoft YaHei',sans-serif;color:#326444;background:#fffffff0;padding:1px 5px;border-radius:2px}
.walk-cursor[data-state=paused] .walk-cursor-ring:after{animation-play-state:paused;opacity:.4}
.walk-cursor[data-state=arrived] .walk-cursor-ring{background:#dceee2}
@keyframes walk-position-pulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.walk-panel{top:22px;transform:none;right:22px;width:330px;max-height:calc(100vh - 145px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d5ca transparent}
.walk-panel header{height:39px;padding:0 15px}.walk-eyebrow{letter-spacing:.8px;font-size:10px}
.walk-navigation{display:flex;align-items:center;gap:10px;padding:2px 16px 7px;border-bottom:1px solid #edf0ec}
.walk-overview{width:116px;height:72px;flex:none;overflow:visible}
.walk-overview-base{fill:none;stroke:#d1d8d1;stroke-width:17;stroke-linejoin:round;stroke-linecap:round}
.walk-overview-done{fill:none;stroke:#619773;stroke-width:17;stroke-linejoin:round;stroke-linecap:round}
.walk-overview-stops circle{fill:#fff;stroke:#9bb4a1;stroke-width:8}.walk-overview-stops circle.is-current{fill:#579269;stroke:#579269}
.walk-overview-cursor{fill:#34784e;stroke:#fff;stroke-width:12}
.walk-location{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.walk-state{color:#3d704c;font-size:12px;line-height:1.4}
.walk-distance{font:10px/1.6 'Microsoft YaHei',sans-serif;color:#757e76;min-height:16px;white-space:nowrap}
.walk-location select{width:100%;min-width:0;height:28px;background:transparent;border:0;border-bottom:1px solid #dce4dd;border-radius:0;color:#4e5f52;font:11px 'Microsoft YaHei',sans-serif;outline-offset:3px;cursor:pointer}
.walk-counter{display:none}.walk-panel .walk-transport{padding:1px 9px 3px;border-bottom:1px solid #edf0ec;position:relative;z-index:2}
.walk-panel .walk-transport button{height:42px;min-width:44px;font-family:'Microsoft YaHei',sans-serif;font-size:13px}
.walk-panel .walk-photo{height:206px}.walk-copy{padding:15px 19px 19px}.walk-copy p{font-size:13px;line-height:1.9}.walk-copy h2{font-size:18px;margin:0 0 10px}
.walk-panel.is-moving .walk-copy h2{font-size:13px;margin:4px 0;color:#6b796e}.walk-panel.is-moving .walk-copy{padding:8px 16px 10px}
.walk-image-pages button{width:32px;height:32px}.walk-panel .walk-image-error{font:12px/1.6 'Microsoft YaHei',sans-serif;inset:40% 10%;width:80%;height:44px}
.walk-panel .walk-image-error[hidden]{display:none}
.citywalk-active .walk-node{opacity:.55}.citywalk-active .walk-node.is-current{opacity:1}
@media(max-width:700px){.walk-panel{top:auto;left:12px;right:12px;bottom:113px;width:auto;max-height:51vh;display:flex;flex-direction:column}.walk-panel[hidden]{display:none}.walk-panel header{flex:none;height:32px}.walk-navigation{padding:0 12px 3px;flex:none}.walk-overview{width:104px;height:50px}.walk-location{gap:1px;display:grid;grid-template-columns:1fr 1fr}.walk-state{font-size:11px}.walk-distance{font-size:9px;grid-column:1/3}.walk-location select{grid-column:2;grid-row:1;height:24px;font-size:10px}.walk-panel .walk-transport{flex:none}.walk-panel .walk-transport button{height:36px}.walk-panel .walk-photo{height:145px;flex:none}.walk-panel .walk-copy{padding:9px 15px 12px}.walk-copy h2{font-size:16px}.walk-copy p{font-size:12px}.walk-panel.is-moving{max-height:220px}.walk-cursor{width:30px;height:30px}.walk-cursor-label{top:39px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.walk-cursor-ring:after{animation:none}.walk-cursor-trail polyline{filter:none}}

.walk-cursor-arrow{transition:transform .16s linear}@media(prefers-reduced-motion:reduce){.walk-cursor-arrow{transition:none}}
/* Keep transport controls stationary, even when the narrative needs scrolling. */
.walk-panel{display:flex;flex-direction:column;overflow:hidden}.walk-panel[hidden]{display:none}.walk-panel header,.walk-panel .walk-navigation,.walk-panel .walk-transport,.walk-panel .walk-photo,.walk-panel .walk-progress{flex-shrink:0}.walk-panel .walk-copy{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.walk-panel .walk-transport button{height:44px}.walk-panel .walk-image-pages button{width:34px;height:34px}
@media(max-width:700px){.walk-panel .walk-transport button{height:44px}.walk-panel .walk-photo{height:120px}.walk-panel .walk-copy{flex-shrink:1}.walk-panel.is-moving .walk-copy{flex-shrink:0}}

.walk-cursor-check{display:none;position:absolute;inset:0;text-align:center;font:600 19px/34px Arial,sans-serif;color:#34784e}.walk-cursor.at-stop .walk-cursor-arrow{display:none}.walk-cursor.at-stop .walk-cursor-check{display:block}@media(max-width:700px){.walk-cursor-check{font-size:17px;line-height:30px}}

/* Keep the previous stop's story on screen while the destination changes. */
.walk-panel{width:clamp(390px,31vw,480px);top:18px;max-height:calc(100dvh - 125px)}
.walk-panel header{height:42px;padding:0 20px}
.walk-panel .walk-photo,.walk-panel.is-moving .walk-photo{display:block;height:clamp(240px,28vh,330px)}
.walk-panel .walk-copy,.walk-panel.is-moving .walk-copy{padding:19px 23px 22px;flex-shrink:1}
.walk-panel .walk-copy h2,.walk-panel.is-moving .walk-copy h2{font-size:22px;line-height:1.55;font-weight:500;margin:7px 0 13px;color:#303630}
.walk-panel .walk-copy p,.walk-panel.is-moving .walk-copy p{display:block;font-size:15px;line-height:1.95;color:#626962;margin:0}
.walk-content-context{font:10px/1.6 'Microsoft YaHei',sans-serif;letter-spacing:.7px;color:#89938b}
.walk-panel.is-moving .walk-content-context{color:#6c8573}
.walk-panel.is-moving .walk-progress{display:block;opacity:0}
.walk-panel .walk-navigation{padding-left:20px;padding-right:20px}
.walk-panel .walk-transport button{font-size:14px}
.walk-panel .walk-photo img{object-fit:contain}
@media(min-width:701px) and (max-height:650px){.walk-panel{max-height:calc(100dvh - 105px);top:12px}.walk-panel .walk-photo,.walk-panel.is-moving .walk-photo{height:200px}.walk-panel .walk-copy,.walk-panel.is-moving .walk-copy{padding:12px 20px 15px}.walk-panel .walk-copy h2,.walk-panel.is-moving .walk-copy h2{font-size:20px}}
@media(max-width:700px){.walk-panel,.walk-panel.is-moving{left:12px;right:12px;top:auto;bottom:113px;width:auto;max-height:55dvh}.walk-panel header{height:32px;padding:0 14px}.walk-panel .walk-navigation{padding:0 12px 3px}.walk-panel .walk-photo,.walk-panel.is-moving .walk-photo{height:clamp(135px,21vh,190px)}.walk-panel .walk-copy,.walk-panel.is-moving .walk-copy{padding:12px 16px 15px;flex-shrink:1}.walk-panel .walk-copy h2,.walk-panel.is-moving .walk-copy h2{font-size:19px;line-height:1.5;margin:5px 0 9px}.walk-panel .walk-copy p,.walk-panel.is-moving .walk-copy p{font-size:14px;line-height:1.85}.walk-content-context{font-size:9px}}

/* The route controls stay anchored; only the shared image/copy are projected. */
.walk-panel:focus,.walk-story-content:focus{outline:none}
.walk-story-slot{display:flex;flex-direction:column;min-height:0;flex:0 1 auto}
.walk-story-content{display:flex;flex-direction:column;min-height:0;flex:0 1 auto;overflow:hidden}
.walk-story-slot[hidden],.walk-story-content[hidden]{display:none}
.walk-panel .walk-story-content .walk-photo{flex-shrink:0}
.walk-panel .walk-story-content .walk-copy{min-height:0;flex-shrink:1}
.walk-panel.has-spotlight{opacity:.45;transition:opacity .5s ease}
.walk-feature-backdrop{position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#ffffffb8;backdrop-filter:blur(3px);z-index:11;opacity:0;pointer-events:none;transition:opacity .6s ease;cursor:default}
.walk-feature-backdrop.is-open{opacity:1;pointer-events:auto}
.walk-story-content.is-spotlight{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:min(620px,calc(100vw - 56px));max-height:calc(100dvh - 48px);z-index:14;overflow-y:auto;background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;scrollbar-width:thin}
.walk-story-content.is-spotlight .walk-photo{height:clamp(240px,46vh,470px);flex-shrink:0;background:transparent;width:100%}
.walk-story-content.is-spotlight .walk-photo img{object-fit:contain;width:100%;height:100%}
.walk-story-content.is-spotlight .walk-copy{padding:22px 3px 3px;overflow:visible;flex-shrink:0;background:transparent;text-align:left}
.walk-story-content.is-spotlight .walk-content-context,.walk-story-content.is-spotlight .walk-counter{display:none}
.walk-story-content.is-spotlight h2{font:500 25px/1.5 'Microsoft YaHei',sans-serif;color:#303630;margin:0 0 13px}
.walk-story-content.is-spotlight p{font:16px/1.95 'Microsoft YaHei',sans-serif;color:#5d665f;margin:0}
.walk-story-content.is-spotlight .walk-image-pages button{width:36px;height:36px}
.walk-story-content.is-flight{pointer-events:none;overflow:hidden!important}
.walk-story-content.is-spotlight .walk-image-error{position:absolute;inset:35% 10% auto;width:80%;min-height:44px;border:0;background:#ffffffeb;font:13px 'Microsoft YaHei',sans-serif;cursor:pointer}
.walk-story-content .walk-image-error[hidden]{display:none}
@media(max-width:700px){.walk-story-content.is-spotlight{width:calc(100vw - 40px);max-height:calc(100dvh - 36px)}.walk-story-content.is-spotlight .walk-photo{height:clamp(200px,42vh,380px)}.walk-story-content.is-spotlight .walk-copy{padding:18px 0 3px}.walk-story-content.is-spotlight h2{font-size:22px;margin-bottom:10px}.walk-story-content.is-spotlight p{font-size:15px;line-height:1.85}.walk-panel.has-spotlight{opacity:.25}}
@media(prefers-reduced-motion:reduce){.walk-feature-backdrop,.walk-panel.has-spotlight{transition:none}.walk-feature-backdrop{backdrop-filter:none}}

.walk-story-content.is-spotlight .walk-image-pages{left:50%;right:auto;bottom:10px;transform:translateX(-50%)}
