@import url('./miniature-tokyo.css');
.masthead .wordmark{display:block;width:260px;height:78px;overflow:hidden}
.masthead .wordmark img{display:block;width:184px;height:auto;margin-top:-19px;mix-blend-mode:multiply}
.stay-preview-more{display:block;text-align:center;text-decoration:none}
.stay-preview-more:hover{background:#dfe7cb}
@media(max-width:760px){.masthead .wordmark{width:145px;height:54px}.masthead .wordmark img{width:130px;margin-top:-15px}}
body:after{opacity:.075}#desk{height:calc(100svh - 184px);min-height:620px;background:#f4efdf}#city-map,#sketch-view,#sketch-canvas,#landmark-detail{position:absolute;inset:0}#city-map{transition:opacity .9s ease}#city-map:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f4efdf 0%,#f4efdfed 14%,#f4efdf70 25%,transparent 39%)}#sketch-view{background:radial-gradient(ellipse at 60% 45%,#faf6e8,#f4efdf);visibility:hidden;opacity:0;transform:scale(.96);transition:opacity .95s,transform 1.3s,visibility .95s;pointer-events:none}#sketch-canvas canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#sketch-canvas canvas:active{cursor:grabbing}.intro{top:40px}.eyebrow>span:last-child{background:none;border-radius:0;width:auto;height:auto}.intro p{line-height:2.1}.intro{transition:opacity .5s}.intro .scribble{margin-top:14px}.note{bottom:52px;width:277px}.note p{font-size:12px}.coordinates{font:9px monospace;letter-spacing:1px;color:#9a907e;margin:10px 0 15px}.enter-button{border:1px solid #b86a4f;background:#b9654d;color:#fff8e6;border-radius:3px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;font-size:13px}.enter-button:hover{background:#a95b46}.enter-button:disabled{opacity:.5;cursor:wait}.detail-actions{border-top:1px dashed var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:center}.detail-actions>span{font-size:10px;color:var(--muted)}[hidden]{display:none!important}.view-badge{position:absolute;top:30px;right:37px;padding:10px 14px;border:1px solid #d0c7ae;background:#f8f3e5ed;border-radius:3px;font-size:11px;display:flex;align-items:center;gap:8px;pointer-events:none}.view-badge>span:first-child{width:5px;height:5px;border-radius:50%;background:#88a384}.back-button{position:absolute;z-index:8;top:30px;right:37px;padding:11px 17px;background:#fcf8ea;border:1px solid var(--line);border-radius:3px;font-size:12px}.tools{bottom:80px;right:37px}.interaction-hint{bottom:40px;right:37px;padding:7px 10px;background:#f4efdfdb;border-radius:3px;color:#777c6d}.maplibregl-ctrl-bottom-left{left:355px;bottom:9px}.maplibregl-ctrl-attrib{font:10px/1.8 sans-serif!important;background:#f6f1e4de!important;color:#797e70!important;max-width:90vw}.maplibregl-ctrl-attrib a{color:inherit!important}.maplibregl-ctrl-scale{border:1px solid #8b9382!important;border-top:none!important;background:#f4efdfaa!important;font:10px sans-serif!important;color:#67715f!important}.tower-marker{border:0;background:transparent;padding:0;display:flex;align-items:center;flex-direction:column;width:120px;cursor:pointer}.tower-marker:hover{background:transparent}.tower-marker .tower-icon{width:52px;height:78px;overflow:visible;filter:drop-shadow(0 3px 2px #81785540);transition:transform .25s}.tower-marker:hover .tower-icon{transform:translateY(-5px)}.tower-marker .marker-name{border:1px solid #b1634f;background:#bc624b;color:#fff8e8;padding:7px 13px;box-shadow:2px 3px 0 #a05d3922;border-radius:3px;font-size:13px;white-space:nowrap}.tower-marker .marker-name small{display:block;font:7px/1.6 monospace;letter-spacing:1.4px;color:#f2dbc8}.tower-marker .marker-dot{width:9px;height:9px;border-radius:50%;background:#b9654d;border:2px solid #fff9e8;margin-top:7px;box-shadow:0 0 0 6px #c26d5130}.sketch-caption{position:absolute;bottom:86px;left:62%;transform:translateX(-50%) rotate(-4deg);pointer-events:none;text-align:center;color:#8d8f77}.sketch-caption>span{font-size:22px;letter-spacing:5px}.sketch-caption small{display:block;font-size:10px;letter-spacing:1px;margin-top:8px}.sketch-attribution{position:absolute;right:12px;bottom:10px;font:9px/1.5 sans-serif;color:#94907e}.sketch-attribution a{color:inherit}.explorer-footer{height:98px;margin:0 42px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.chapter{display:flex;align-items:center;gap:13px;font-size:13px}.chapter-number{font:22px Georgia,serif;color:#b36c54;border-right:1px solid var(--line);padding-right:15px}.chapter small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}.view-steps{display:flex;gap:14px;align-items:center;font-size:11px;color:#a3a08e}.view-steps i{letter-spacing:4px;color:#beb6a0}.view-steps .active{color:#b6624b}.view-steps .done{color:#778966}.footer-note{font-size:11px;font-style:italic;color:#8f907e}#map-status{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid var(--line);background:#fff9e9f5;border-radius:4px;z-index:6;max-width:80%;font-size:12px;text-align:center;box-shadow:0 3px 20px #65543210}#retry{margin-left:10px;background:transparent;border:0;text-decoration:underline;color:var(--red)}#transition-status{position:absolute;top:47%;left:55%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;padding:22px 30px;background:#faf6e9ee;border:1px solid #d9ceb4;border-radius:4px;z-index:6;box-shadow:0 8px 35px #635e3715;pointer-events:none;gap:10px;white-space:nowrap;font-size:14px}#transition-status small{font:8px monospace;letter-spacing:3px;color:#9b9580}.tiny-tower{font-size:28px;color:#b9654d}.maplibregl-marker:focus-visible{outline:2px solid #bc5b43;outline-offset:4px}
body[data-view=approaching] .intro{opacity:.25}body[data-view=approaching] .view-badge,body[data-view=sketch] .view-badge{display:none}body[data-view=approaching] .tower-marker{pointer-events:none}body[data-view=sketch] #city-map{opacity:0;pointer-events:none}body[data-view=sketch] #sketch-view{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}body[data-view=sketch] .intro h1 i{font-size:15px}body[data-view=sketch] .intro .scribble{display:none}
/* Tokyo Tower opens as a travel-journal spread with practical visit details. */
#landmark-detail{z-index:4;display:flex;align-items:center;justify-content:center;padding:72px 7% 68px;background:radial-gradient(ellipse at 50% 45%,#f7efd9,#dfcfaa);visibility:hidden;opacity:0;transform:scale(.985);transition:opacity .55s ease,transform .75s ease,visibility .55s;pointer-events:none;overflow:auto}
#landmark-detail:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#75563012 1px,transparent 1px),linear-gradient(#7556300d 1px,transparent 1px);background-size:27px 27px;mix-blend-mode:multiply}
.detail-scroll{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(430px,1.18fr);align-items:stretch;gap:16px;width:min(1240px,100%)}
.detail-art,.detail-sheet{position:relative;margin:0;min-width:0;box-shadow:0 15px 44px #604a2520}
.detail-art{background:linear-gradient(90deg,#9b6d4b 0 12px,#d2ba88 12px calc(100% - 12px),#9b6d4b calc(100% - 12px));padding:25px 25px 54px;transform:rotate(-1.1deg);align-self:stretch;justify-self:stretch;width:100%;max-height:none;display:flex;flex-direction:column;border:1px solid #795238;box-shadow:0 15px 44px #4f321f35,inset 0 0 0 6px #ead9ad66}
.detail-art:before,.detail-art:after{content:'';position:absolute;z-index:3;left:-17px;right:-17px;height:18px;border:1px solid #50301c;border-radius:9px;background:linear-gradient(#b98053,#75482c 42%,#4d2e1b 55%,#97613c);box-shadow:0 5px 8px #46301f42}
.detail-art:before{top:-18px}.detail-art:after{bottom:-18px;box-shadow:0 -3px 7px #46301f35,0 7px 9px #46301f42}
.detail-art img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:2/3;object-fit:contain;object-position:center;filter:saturate(.9) contrast(1.02);border:1px solid #806b4838;background:#e8dcc1}
.detail-art figcaption{position:absolute;left:24px;right:20px;bottom:16px;font:10px/1.5 monospace;letter-spacing:2px;color:#6e664f}
.detail-sheet{align-self:stretch;background:#fbf5e5;padding:42px 48px 35px;transform:rotate(.45deg);border:1px solid #d8c9a9}
.detail-sheet:after{content:'旅';position:absolute;right:38px;top:67px;display:grid;place-items:center;width:47px;height:49px;border:2px solid #b65843aa;color:#b65843;font-size:29px;transform:rotate(7deg);opacity:.72}
.detail-kicker{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #d9cdb5;font:9px monospace;letter-spacing:1.5px;color:#987a61}
.detail-japanese{margin:24px 0 1px;color:#a85c47;font-size:12px;letter-spacing:6px}
.detail-sheet h2{margin:0;font-size:45px;font-weight:400;letter-spacing:6px;color:#3f493f}
.detail-lead{font-size:16px;color:#655f4e;margin:15px 0 10px}
.detail-copy{max-width:650px;margin:0 0 24px;font-size:12px;line-height:2;color:#7d7868}
.visit-facts{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #d8cbb1;border-left:1px solid #d8cbb1}
.visit-facts>div{padding:14px 16px;border-right:1px solid #d8cbb1;border-bottom:1px solid #d8cbb1}
.visit-facts dt{margin-bottom:8px;font:9px monospace;letter-spacing:1.2px;color:#a06550}
.visit-facts dd{margin:0}.visit-facts strong{display:block;font-size:16px;font-weight:400;color:#4e584c}.visit-facts small{display:block;margin-top:5px;font:9px/1.5 sans-serif;color:#918a76}
.detail-note{font-size:9px;line-height:1.7;color:#96907d;margin:15px 0}
.detail-links{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px dashed #d1c2a7;padding-top:15px}.detail-links a{color:#a45542;text-decoration:none;font-size:12px}.detail-links a:hover{text-decoration:underline}.detail-links>span{font:8px monospace;letter-spacing:1px;color:#9a927d}
body[data-view=detail] #city-map{opacity:0;pointer-events:none}body[data-view=detail] #landmark-detail{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}body[data-view=detail] .intro,body[data-view=detail] .note,body[data-view=detail] .tools,body[data-view=detail] .interaction-hint,body[data-view=detail] .view-badge{display:none}
@media(max-width:760px){body[data-view=sketch] .sketch-caption,body[data-view=sketch] .interaction-hint{display:none}}
@media(max-width:900px){#landmark-detail{padding:72px 32px 60px}.detail-scroll{grid-template-columns:minmax(220px,.8fr) minmax(390px,1.2fr)}.detail-sheet{padding:37px 34px 30px}.detail-sheet h2{font-size:38px}.detail-sheet:after{right:25px}}
@media(max-width:1150px){.note{left:30px;width:245px}.maplibregl-ctrl-bottom-left{left:292px}.view-steps{gap:8px}.footer-note{display:none}.intro p{font-size:12px}.intro h1{font-size:49px}.sketch-caption{left:64%}.explorer-footer{margin:0 26px}}
@media(max-width:760px){#desk{height:calc(100svh - 168px);min-height:660px}#city-map:after{background:linear-gradient(180deg,#f4efdf 0%,#f4efdfdc 13%,transparent 33%,transparent 60%,#f4efdf50 78%)}.intro{left:24px;top:22px}.intro h1{font-size:35px}.intro p{display:none}.intro .eyebrow{font-size:9px;letter-spacing:1px}.view-badge{top:22px;right:20px;font-size:9px;padding:7px 9px}.view-badge>span:first-child{display:none}.intro h1 i{font-size:12px}.note{left:23px;bottom:45px;width:calc(100% - 91px);max-width:350px;padding:17px 17px 13px}.note h2{font-size:23px}.note p{font-size:11px;line-height:1.8}.coordinates{font-size:8px;letter-spacing:.3px;margin:8px 0 11px}.enter-button{padding:9px 12px;font-size:12px}.tools{right:15px;bottom:52px}.interaction-hint{bottom:268px;right:50%;transform:translateX(50%);font-size:8px;white-space:nowrap;padding:5px 7px}.maplibregl-ctrl-bottom-left{left:10px;bottom:7px}.maplibregl-ctrl-bottom-right{bottom:3px}.maplibregl-ctrl-attrib{font-size:8px!important;max-width:260px}.tower-marker .tower-icon{width:43px;height:67px}.tower-marker .marker-name{font-size:12px;padding:6px 10px}.back-button{top:25px;right:17px;font-size:10px;padding:8px 10px}.explorer-footer{height:102px;margin:0 20px;flex-wrap:wrap;gap:10px;align-content:center}.chapter{font-size:11px;gap:9px}.chapter small{font-size:9px}.chapter-number{font-size:19px;padding-right:10px}.view-steps{gap:7px;font-size:9px;margin-left:auto}.view-steps i{letter-spacing:1px}.sketch-caption{left:52%;bottom:253px}.sketch-caption>span{font-size:16px}.sketch-caption small{font-size:8px}.sketch-attribution{font-size:7px;bottom:10px;left:12px;right:12px;text-align:center}#transition-status{left:50%;top:40%;font-size:12px;padding:18px 22px}#map-status{font-size:11px;bottom:275px;max-width:90%;width:max-content}body[data-view=sketch] .interaction-hint{bottom:221px}body[data-view=sketch] .note{bottom:44px}body[data-view=sketch] .intro h1 i{font-size:11px}}
@media(max-width:760px){#landmark-detail{display:block;padding:94px 34px 64px}.detail-scroll{display:block;width:100%}.detail-art{height:auto;max-height:none;padding:20px 20px 47px;transform:rotate(-.7deg)}.detail-art:before,.detail-art:after{left:-12px;right:-12px;height:16px}.detail-art:before{top:-17px}.detail-art:after{bottom:-17px}.detail-art img{height:auto;object-position:center}.detail-art figcaption{left:25px;bottom:14px;font-size:8px}.detail-sheet{margin:38px -12px 0;padding:31px 22px 26px;transform:rotate(.25deg)}.detail-sheet:after{width:38px;height:40px;right:21px;top:55px;font-size:23px}.detail-kicker{font-size:7px}.detail-japanese{margin-top:20px;font-size:10px}.detail-sheet h2{font-size:34px}.detail-lead{font-size:14px}.detail-copy{font-size:11px}.visit-facts{grid-template-columns:1fr}.detail-links{align-items:flex-start;flex-direction:column}.back-button{z-index:9}body[data-view=detail] .explorer-footer{display:none}body[data-view=detail] #desk{height:calc(100svh - 66px)}}
/* Tokyo stays crisp; a translucent paper wash softens the surrounding map. */
#city-map:not(.boundary-ready) .maplibregl-canvas{opacity:0}
.stays-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #a4b092;border-radius:3px;background:#e7ebd9;padding:11px 12px;margin-top:15px;font-size:12px;color:#607452}.stays-button:hover{background:#dce4c7}.stays-button span{font:10px sans-serif;letter-spacing:.5px}
.landmark-detail-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #ba765e;border-radius:3px;background:#f3e2cf;padding:11px 12px;margin-top:13px;font-size:12px;color:#a65340}.landmark-detail-button:hover{background:#ecd6c0}.landmark-detail-button span{font:10px sans-serif}
#stays-dialog{position:fixed;inset:0 0 0 auto;width:430px;max-width:100vw;height:100svh;max-height:100svh;margin:0;padding:0;border:0;border-left:1px solid #cfc6af;color:var(--ink);background:#f7f2e3;box-shadow:-12px 0 60px #4f51332a;overflow:auto;overscroll-behavior:contain}#stays-dialog::backdrop{background:#474c3435;backdrop-filter:blur(2px)}.stays-header{position:sticky;top:0;z-index:2;padding:29px 27px 20px;background:#f7f2e3f5;border-bottom:1px solid var(--line)}.stays-eyebrow{font:9px monospace;letter-spacing:2px;color:#9a907b}.stays-header h2{font-size:27px;font-weight:400;margin:12px 0 9px}.stays-header p{font-size:11px;color:var(--muted);margin:0}#close-stays{position:absolute;top:21px;right:20px;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;background:transparent;font:23px serif;display:grid;place-items:center}.stays-content{padding:20px 25px 28px}.stay-dates{margin-bottom:16px}.stay-dates>p:first-child{display:flex;justify-content:space-between;margin:0 0 12px;font-size:12px}.stay-dates p>span{font-size:10px;color:var(--muted)}.stay-date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 61px;gap:8px}.stay-date-fields label{font-size:10px;color:#868370;display:flex;flex-direction:column;gap:7px;min-width:0}.stay-date-fields input,.stay-date-fields select{font:11px sans-serif;color:#555e49;border:1px solid #d4ccb8;border-radius:3px;padding:9px 6px;background:#fffbef;width:100%;min-width:0;min-height:35px}.stay-date-fields input:focus-visible,.stay-date-fields select:focus-visible{outline:2px solid #a4b092;outline-offset:2px}.stays-distance-note{font-size:10px;line-height:1.8;color:#9a927e;margin-bottom:14px}#stay-error{font-size:11px;line-height:1.6;color:#b45740;padding:9px 10px;background:#f3e3d8;border-radius:3px;margin:10px 0 0}.stay-card{margin-bottom:18px;border:1px solid #ddd3bd;background:#fffbed;border-radius:5px;overflow:hidden;box-shadow:1px 3px 6px #695e3910}.stay-image{height:147px;position:relative;background:repeating-linear-gradient(45deg,#e5e6d4,#e5e6d4 1px,#f2eedc 1px,#f2eedc 7px)}.stay-image img{width:100%;height:100%;object-fit:cover;display:block}.stay-image-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:var(--muted)}.stay-distance{position:absolute;left:11px;bottom:10px;background:#fcf8eaed;border:1px solid #fff5df;padding:5px 8px;border-radius:3px;font-size:10px;color:#657452}.stay-card-body{padding:15px 16px 16px}.stay-area{font-size:10px;letter-spacing:.7px;color:#98917b}.stay-card h3{font-size:18px;font-weight:400;margin:7px 0 8px}.stay-facts{font:10px/1.7 sans-serif;color:#7c826d}.stay-facts.capacity-exceeded{color:#b66048}.stay-summary{font-size:11px;line-height:1.8;color:#8b8877;margin:8px 0 14px}.stay-booking{display:block;border:1px solid #b2bd9e;border-radius:3px;padding:10px 12px;text-align:center;background:#e9eddc;color:#5e7450;text-decoration:none;font-size:12px}.stay-booking:hover{background:#dfe7cb}.stay-booking[aria-disabled=true]{background:#efe9db;border-color:#d6cdb9;color:#a09278;cursor:not-allowed}.stay-availability-note{font-size:10px;line-height:1.9;color:#99917c;margin:18px 0 13px}.host-link{font-size:12px;color:#8b7458;text-decoration:none;display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding-top:16px}.host-link:hover{text-decoration:underline}.stay-retry{padding:8px 12px;border:1px solid var(--line);background:#fff9e8;border-radius:3px}
@media(max-width:760px){#stays-dialog{inset:auto 0 0;width:100%;height:88svh;max-height:88svh;border:1px solid #d8cfb9;border-bottom:0;border-radius:14px 14px 0 0}.stays-header{padding:24px 23px 17px}.stays-header:before{content:'';position:absolute;top:8px;left:calc(50% - 17px);width:34px;height:3px;border-radius:4px;background:#c9c2ad}.stays-header h2{font-size:24px}.stays-content{padding:19px 22px 28px}.stay-image{height:155px}.stay-date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 57px;gap:7px}.stay-date-fields input{font-size:10px;padding:8px 4px}.stay-card-body{padding:13px 15px}.stays-button{margin-top:11px;padding:10px 11px;font-size:11px}body[data-view=sketch] .note p{display:none}body[data-view=sketch] .note .coordinates{margin-bottom:10px}.stays-distance-note{font-size:9px}}

.view-badge>span:first-child{background:#b77959}

/* Hand-drawn pins keep a dot at the exact map coordinate; leaders separate nearby labels. */
.header-actions{display:flex;align-items:center;gap:20px}.home-return{padding:9px 12px;border:1px solid #d0c7ae;border-radius:3px;background:#fbf6e9;color:#756c5b;text-decoration:none;font-size:11px;white-space:nowrap}.home-return:hover{background:#efe5d1;color:#a35b47}.home-return:focus-visible{outline:2px solid #b77959;outline-offset:3px}.stays-switch{display:flex;align-items:center;gap:8px;border:0;padding:9px 0;background:none;font-size:12px;white-space:nowrap;color:#6b765d}.switch-track{width:31px;height:18px;border:1px solid #bdbba7;border-radius:20px;background:#e1dfd0;position:relative;transition:background .2s}.switch-track:after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;background:#fff9e9;border-radius:50%;box-shadow:0 1px 3px #62604435;transition:transform .2s}.stays-switch[aria-checked=true] .switch-track{background:#82986e;border-color:#738963}.stays-switch[aria-checked=true] .switch-track:after{transform:translateX(13px)}.stays-switch:disabled{opacity:.45}.stays-switch:focus-visible{outline:2px solid #8a9d74;outline-offset:4px}
#landmark-tabs{display:flex;gap:6px;margin:13px 0 9px}#landmark-tabs button{flex:1;padding:7px 4px;font-size:11px;border:1px solid #d5c8ae;border-radius:3px;background:#f8f2e1;color:#83765f}#landmark-tabs button[aria-current=true]{background:#eee0c8;color:#a36048;border-color:#ba9679}#landmark-tabs button:disabled{opacity:.5}.intro .scribble{display:none}
.landmark-anchor{width:0;height:0;--pin-x:0px;--pin-y:0px;z-index:2}.pin-leader{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}.pin-leader line{stroke:var(--pin-color);stroke-width:1.15;stroke-dasharray:3 2}.location-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--pin-color);border:2px solid #fff8e7;box-shadow:0 0 0 4px #bd865123;pointer-events:none}.landmark-marker{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,calc(-100% - 9px));border:0;padding:0;background:transparent;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--pin-color)}.landmark-marker:focus-visible{outline:2px solid var(--pin-color);outline-offset:5px}.landmark-icon{width:44px;height:66px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(.7px 1.2px .6px #6e644324);transition:transform .2s ease}.landmark-marker:hover .landmark-icon{transform:translateY(-3px)}.landmark-marker .marker-name{display:block;white-space:nowrap;color:#fff8e9;background:var(--pin-color);border:1px solid #fff6df88;border-radius:3px;padding:6px 9px;box-shadow:2px 3px 0 #8a72521a;font-size:12px}.landmark-marker small{display:block;font:7px/1.7 monospace;letter-spacing:.5px}.landmark-marker:disabled{cursor:default}
.stay-marker{z-index:1;position:relative;display:grid;place-items:center;min-width:74px;height:32px;padding:0 10px;border:1px solid #718763;border-radius:17px;background:#fffbed;color:#526647;box-shadow:1px 3px 8px #32442f42;cursor:pointer;transform-origin:center;white-space:nowrap;font:600 11px/1 sans-serif}.stay-marker:after{content:"";position:absolute;left:calc(50% - 5px);bottom:-6px;width:9px;height:9px;background:#fffbed;border-right:1px solid #718763;border-bottom:1px solid #718763;transform:rotate(45deg)}.stay-price-label{position:relative;z-index:1}.stay-marker:hover{background:#eef2e3;z-index:3;transform:translate(-50%,calc(-100% - 9px)) scale(1.04)!important}.stay-card.selected{border-color:#82976c;box-shadow:0 0 0 2px #aab99566}.stay-card{scroll-margin-top:160px}.stay-card:focus{outline:none}.stay-secondary{display:block;margin-top:8px;text-align:center;color:#7c765f;font-size:10px;text-decoration:underline;text-underline-offset:3px}.stay-secondary[hidden]{display:none}
.maplibregl-popup.stay-preview-popup{z-index:8;max-width:270px!important}.stay-preview-popup .maplibregl-popup-content{padding:0;border:1px solid #b9ad94;border-radius:7px;background:#fffbed;box-shadow:0 13px 35px #4f49352f;overflow:hidden}.stay-preview-popup .maplibregl-popup-tip{border-top-color:#fffbed}.stay-preview-popup .maplibregl-popup-close-button{z-index:2;right:5px;top:5px;width:25px;height:25px;border-radius:50%;background:#fffbeddd;color:#60594d;font-size:19px}.stay-preview-image{width:100%;height:112px;object-fit:cover;display:block;background:#e9e5d6}.stay-preview-body{padding:12px 14px 14px}.stay-preview-area{font:9px/1.5 monospace;letter-spacing:.7px;color:#8f8877}.stay-preview-body h3{margin:5px 0 7px;font:400 17px/1.3 serif;color:#4f5143}.stay-preview-summary{margin:0;font:10px/1.65 sans-serif;color:#777867}.stay-preview-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid #e2dbc9;font:9px/1.4 sans-serif;color:#89826f}.stay-preview-more{width:100%;margin-top:10px;padding:9px 10px;border:1px solid #879b76;border-radius:3px;background:#e9eddc;color:#566b4b;font:11px sans-serif;cursor:pointer}
.stay-preview-units{margin-top:10px;border:1px solid #aebc9d;border-radius:4px;background:#f0f2e5}.stay-preview-units summary{padding:10px 11px;cursor:pointer;font:11px sans-serif;color:#566b4b;list-style-position:inside}.stay-preview-units[open] summary{border-bottom:1px solid #d4dcc6}.stay-preview-unit-links{padding:5px 8px 8px}.stay-preview-unit-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;border-bottom:1px dashed #d8d7c6;color:#555f4d;text-decoration:none}.stay-preview-unit-links a:last-child{border-bottom:0}.stay-preview-unit-links span{display:flex;flex-direction:column;gap:2px}.stay-preview-unit-links b{font:600 11px sans-serif}.stay-preview-unit-links small{font:9px sans-serif;color:#8d8b7a}.stay-preview-unit-links strong{white-space:nowrap;font:600 9px sans-serif;color:#6b805d}.stay-preview-unit-links a:hover strong{text-decoration:underline}
@media(max-width:1150px){.header-actions{gap:12px}.edition{display:none}}
@media(max-width:760px){.header-actions{gap:7px}.home-return{padding:7px 8px;font-size:9px}.header-actions .investment-link{display:none}.stays-switch{font-size:0;gap:0}.stays-switch .switch-track{display:block}.header-actions .export-button{display:none}.wordmark-en{display:none}.landmark-icon{width:32px;height:48px}.landmark-marker .marker-name{font-size:11px;padding:5px 7px}.landmark-marker small{display:none}.stay-marker{min-width:65px;height:30px;padding:0 8px;font-size:10px}body[data-view=overview] .note p{display:none}#landmark-tabs{margin:11px 0 7px}#landmark-tabs button{font-size:10px;padding:8px 2px}.stay-card{scroll-margin-top:145px}}
.stay-anchor{width:0;height:0;z-index:1;--pin-color:#718763;--pin-x:0px;--pin-y:0px}.stay-anchor .stay-marker{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,calc(-100% - 7px))}.stay-anchor .location-dot{width:6px;height:6px;left:-3px;top:-3px;box-shadow:0 0 0 3px #85986925}
@media(max-width:760px){.stays-switch{font-size:11px}.landmark-marker{min-height:44px}.stay-marker{min-height:44px}}
/* Visible pins and their coordinate dots are controls, independent of map dragging. */
.landmark-marker,.stay-marker,.pin-location{pointer-events:auto;touch-action:manipulation}
.pin-location{position:absolute;left:-12px;top:-12px;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}
.pin-location .location-dot{left:50%;top:50%;transform:translate(-50%,-50%)}
.pin-location:focus-visible{outline:2px solid var(--pin-color);outline-offset:2px}
.pin-location:disabled{cursor:default}
/* Keep geographic positioning when the shared button:active rule runs. */
.landmark-marker:active{transform:translate(-50%,calc(-100% - 9px))}
.stay-anchor .stay-marker:active{transform:translate(-50%,calc(-100% - 7px))}
.pin-location:active{transform:none}

/* The travel map uses Shirley's mother-and-daughter story as its pointer. */
#city-map{cursor:grab}#city-map:active{cursor:grabbing}#city-map button,#city-map a{cursor:pointer}
#landmark-tabs{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;justify-content:flex-start}
#landmark-tabs button{flex:0 0 auto;min-width:72px}

/* Compact map-only presentation when embedded in the booking homepage. */
body.embedded .masthead,body.embedded .explorer-footer,body.embedded .intro,body.embedded .note,body.embedded .view-badge,body.embedded .interaction-hint{display:none}
body.embedded #desk{height:100svh;min-height:0}
body.embedded #city-map:after{display:none}
body.embedded .maplibregl-ctrl-bottom-left{left:12px;bottom:7px}
body.embedded .tools{right:15px;bottom:38px}
body.embedded .landmark-icon{width:30px;height:45px}
body.embedded .landmark-marker .marker-name{font-size:10px;padding:4px 6px}
body.embedded .landmark-marker small{display:none}
body.embedded #map-status{bottom:18px}

/* Square logo supplied for the current brand. */
.masthead .wordmark{width:88px;height:78px}.masthead .wordmark img{width:78px;height:78px;margin:0 0 0 5px;object-fit:contain;transform:scale(1.42)}
@media(max-width:760px){.masthead .wordmark{width:66px;height:58px}.masthead .wordmark img{width:58px;height:58px;margin:0 0 0 4px;transform:scale(1.42)}}
.map-stays-control{position:absolute;z-index:8;top:30px;right:37px;padding:9px 12px;border:1px solid #d0c7ae;border-radius:3px;background:#fffaf0ee;box-shadow:0 4px 14px #5b4b2b1a}
body:not([data-view=overview]) .map-stays-control,body.embedded .map-stays-control{display:none}
body[data-view=overview] .view-badge{right:210px}
@media(max-width:760px){.map-stays-control{top:244px;right:20px;padding:7px 9px}body[data-view=overview] .view-badge{display:none}}
#landmark-stays{position:absolute;z-index:7;top:84px;right:36px;width:284px;max-height:min(62vh,610px);overflow:auto;padding:17px;border:1px solid #d7c9ae;border-radius:5px;background:#fffaf0f2;box-shadow:0 10px 35px #5b4b2b24;color:#544d42}#landmark-stays h2{margin:0 0 12px;font:22px/1.2 Georgia,serif}#landmark-stays label{display:block;margin-bottom:5px;font-size:11px}#nearby-landmark{width:100%;padding:8px;border:1px solid #cfc2a8;border-radius:3px;background:#fffdf6;color:#514b3e}#nearby-note{font-size:10px;line-height:1.5;color:#77766b}#nearby-stay-list{margin:10px 0 0;padding:0;list-style:none}#nearby-stay-list li{border-top:1px solid #e0d7c6}#nearby-stay-list a{display:block;padding:9px 2px;color:#514b3e;text-decoration:none;font-size:12px}#nearby-stay-list a:hover{text-decoration:underline}#nearby-stay-list small{display:block;margin-top:3px;color:#8a745b;font-size:10px}body:not([data-view=overview]) #landmark-stays,body.embedded #landmark-stays{display:none}
#landmark-stays summary{display:none}
@media(max-width:760px){#landmark-stays{top:200px;right:10px;width:min(210px,52vw);max-height:205px;padding:10px}#landmark-stays summary{display:list-item;cursor:pointer;font-size:11px}#landmark-stays h2{display:none}#landmark-stays label,#nearby-note{font-size:9px}#nearby-stay-list a{font-size:10px;padding:6px 2px}}
#landmark-stays{width:380px;max-height:min(72vh,690px)}#nearby-stay-list{display:grid;gap:10px}#nearby-stay-list .nearby-stay-card{border:1px solid #e4d9c5;border-radius:5px;overflow:hidden;background:#fffdf7}#nearby-stay-list .nearby-stay-link{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:0;color:#514b3e;text-decoration:none}#nearby-stay-list .nearby-stay-link:hover{background:#f5efdf;text-decoration:none}.nearby-stay-photo{display:block;min-height:112px;background:#e9e2d2}.nearby-stay-photo img{display:block;width:100%;height:100%;object-fit:cover}.nearby-stay-content{display:flex;flex-direction:column;min-width:0;padding:9px 9px 9px 0}.nearby-stay-area{color:#8c816f;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nearby-stay-content strong{margin:4px 0 3px;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.nearby-stay-facts{color:#77766b;font-size:10px}.nearby-stay-bottom{display:flex;justify-content:space-between;align-items:end;gap:5px;margin-top:auto;padding-top:7px;color:#9b6b51;font-size:10px}.nearby-stay-bottom b{color:#566b4f;text-align:right;font-size:11px;white-space:nowrap}body[data-view=sketch] #landmark-stays,body[data-view=detail] #landmark-stays{display:block}body[data-view=approaching] #landmark-stays,body.embedded #landmark-stays{display:none!important}body[data-view=detail] #landmark-stays{width:190px}body[data-view=detail] #landmark-stays[open]{width:380px}body[data-view=detail] #landmark-stays summary{display:list-item;cursor:pointer}body[data-view=detail] #landmark-stays h2{display:none}
@media(max-width:760px){#landmark-stays{top:200px;right:10px;width:min(320px,calc(100vw - 20px));max-height:55vh}#landmark-stays:not([open]){width:190px}#nearby-stay-list .nearby-stay-link{grid-template-columns:86px minmax(0,1fr);gap:8px}.nearby-stay-photo{min-height:100px}.nearby-stay-content{padding:7px 7px 7px 0}.nearby-stay-content strong{font-size:11px}.nearby-stay-area,.nearby-stay-facts,.nearby-stay-bottom{font-size:9px}.nearby-stay-bottom b{font-size:9px}body[data-view=detail] #landmark-stays{top:72px;right:12px}body[data-view=detail] #landmark-stays[open]{width:min(320px,calc(100vw - 20px))}}
body[data-view=sketch] .explorer-footer{display:none}
body:not(.embedded)[data-view=sketch] .masthead + #desk{height:calc(100svh - 88px)}
@media(max-width:900px){body:not(.embedded)[data-view=sketch] .masthead + #desk{height:calc(100svh - 70px)}}
.sketch-attribution{z-index:9;right:14px;bottom:12px;color:#756e5c}
.sketch-attribution summary{display:grid;place-items:center;width:28px;height:28px;list-style:none;border:1px solid #cfc4aa;border-radius:50%;background:#fffaf0eb;box-shadow:0 2px 8px #5b4b2b24;cursor:pointer;font:16px/1 sans-serif}
.sketch-attribution summary::-webkit-details-marker{display:none}
.sketch-attribution-credits{position:absolute;right:0;bottom:36px;width:min(310px,calc(100vw - 28px));padding:10px 12px;border:1px solid #cfc4aa;border-radius:4px;background:#fffaf0f2;box-shadow:0 5px 18px #5b4b2b24;text-align:left;font:10px/1.5 sans-serif}
.nearby-stay-photo{position:relative;display:grid;place-items:center;color:#8d8273;font-size:10px;text-align:center}.nearby-stay-photo img{position:absolute;inset:0}

/* Give the map itself room on phones; keep the selected stop easy to reach. */
@media(max-width:760px){
  body:not(.embedded)[data-view=overview] .masthead + #desk,
  body:not(.embedded)[data-view=sketch] .masthead + #desk,
  body:not(.embedded)[data-view=detail] .masthead + #desk{height:calc(100svh - 70px);min-height:540px}
  .explorer-footer{display:none}
  .intro{top:20px;left:18px;max-width:260px}
  .intro .eyebrow,.intro .scribble,.intro h1 i{display:none}
  .intro h1{margin:0;font-size:28px;line-height:1.12;letter-spacing:.01em}
  #city-map:after{background:linear-gradient(180deg,#f4efdf 0%,#f4efdfcf 10%,transparent 27%,transparent 74%,#f4efdf55 100%)}
  #landmark-stays,body[data-view=detail] #landmark-stays{top:105px;right:12px;width:150px;max-height:min(48vh,370px);padding:9px 11px}
  #landmark-stays:not([open]){width:150px}
  #landmark-stays[open],body[data-view=detail] #landmark-stays[open]{width:min(310px,calc(100vw - 24px))}
  .map-stays-control{top:150px;right:12px}
  .note,body[data-view=sketch] .note{left:16px;bottom:18px;width:calc(100% - 80px);padding:13px 14px 12px}
  .note h2{margin:5px 0 6px;font-size:21px}
  .note p,.note .coordinates{display:none}
  #landmark-tabs{margin:7px 0 5px}
  #landmark-tabs button{padding:6px 2px}
  .enter-button{padding:8px 10px}
  .tools{right:10px;bottom:25px}
  .interaction-hint{display:none}
  #map-status{bottom:210px}
  .maplibregl-ctrl-bottom-left{bottom:4px}
  .landmark-marker .marker-name{display:none}
  .landmark-marker.is-selected .marker-name,.landmark-marker:focus-visible .marker-name{display:block}
}
