#landscapeMap{width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:0}
#landscapeMap .dialog-head{gap:16px}
#landscapeMap .dialog-head button{min-width:44px;min-height:44px}
#landscapeLocation{font-size:12px;margin:12px 0 4px}
#landscapeDescription{font-size:12px;line-height:1.55;color:var(--muted,#a7b4ad);margin:0 0 12px;min-height:19px}
.landscape-map{height:254px;position:relative;background:var(--bg,#050908);border:1px solid #66796e66;margin:12px 0}
.landscape-map svg{width:100%;height:100%;position:absolute;inset:0;fill:none;stroke:#708779;stroke-width:1.2}
.landscape-map .map-land{fill:#70877914}.landscape-map .map-pool{fill:#73b5b522;stroke:#73b5b577}.landscape-map .map-prism{fill:#c5dedb19;stroke:#adc7bf}.landscape-map .map-route{stroke:#97fce488;stroke-width:3}.landscape-map .map-planting{fill:#72966820;stroke:none}
.landscape-map button{position:absolute;transform:translate(-50%,-50%);padding:0;width:44px;height:44px;min-height:44px;background:var(--bg,#050908);border:1px solid #849b8e;color:var(--fg,#e7eee9);font:11px var(--font-interface);border-radius:0}
.landscape-map button:hover,.landscape-map button[aria-pressed=true]{border-color:var(--mint,#97fce4);color:var(--mint,#97fce4);box-shadow:inset 0 0 0 1px currentColor}
.landscape-destinations{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#66796e55;border:1px solid #66796e55}
.landscape-destinations button{text-align:left;min-height:60px;display:flex;gap:12px;align-items:center;padding:12px;background:var(--bg,#050908);color:var(--fg,#e7eee9);font:12px var(--font-interface)}
.landscape-destinations button>span{color:var(--muted,#a7b4ad);font-size:10px}
.landscape-destinations button:hover,.landscape-destinations button[aria-pressed=true]{color:var(--mint,#97fce4);background:#72966815}
.landscape-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.landscape-actions button,#landscapeTour button{padding:10px 12px;border:1px solid currentColor;min-height:44px}
.landscape-actions button{width:100%;font:12px var(--font-interface)}
#landscapeMap .muted{font-size:11px;line-height:1.6;margin:12px 0 0}
#landscapeTour{position:fixed;z-index:25;top:110px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg,#050806);border:1px solid #556b60;max-width:calc(100% - 24px);font-size:12px}
#landscapeTour[hidden]{display:none}#tourStop{min-width:120px}
.hotspot.landscape-hotspot{min-width:44px;width:44px;height:44px;padding:0;justify-content:center;gap:0;letter-spacing:.5px}
.hotspot.landscape-hotspot:before{display:none}
.hotspot.landscape-hotspot .landscape-marker-index{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #9cb5a8;background:#06100ed9;font-size:10px;color:#dfe9e3}
.hotspot.landscape-hotspot .landscape-marker-name{display:none;position:absolute;left:42px;top:5px;padding:8px 10px;background:#07100fee;color:#dfe9e3;border:1px solid #758e8055;font-size:11px;letter-spacing:0;pointer-events:none}
.hotspot.landscape-hotspot[data-side=left] .landscape-marker-name{left:auto;right:42px}
.landscape-hotspot:hover .landscape-marker-name,.landscape-hotspot:focus-visible .landscape-marker-name,.landscape-hotspot[aria-pressed=true] .landscape-marker-name{display:block}
.landscape-hotspot[aria-pressed=true] .landscape-marker-index{color:#97fce4;border-color:#97fce4}
:root[data-theme] .landscape-hotspot :is(.landscape-marker-index,.landscape-marker-name){background:color-mix(in srgb,var(--bg) 92%,transparent);color:var(--fg);border:1px solid color-mix(in srgb,var(--fg) 45%,transparent);min-height:0}
:root[data-theme] .landscape-hotspot .landscape-marker-index{min-height:28px}
:root[data-theme] .landscape-hotspot[aria-pressed=true] .landscape-marker-index{color:var(--mint);border-color:var(--mint)}
.landscape-map .map-route{stroke:var(--mint);opacity:.55}
.landscape-hotspot:focus-visible,.landscape-map button:focus-visible,.landscape-destinations button:focus-visible{outline:2px solid var(--mint,#97fce4);outline-offset:3px}
@media(max-width:600px){#landscapeMap{padding:16px}#landscapeTour{top:82px;flex-wrap:wrap;justify-content:center;width:calc(100% - 32px)}#tourStop{width:100%;text-align:center}.tools{flex-wrap:wrap}.landscape-destinations button{font-size:11px;gap:8px;padding:10px;min-height:56px}.landscape-map{height:230px}}
@media(max-height:550px){.landscape-map{height:210px}#landscapeTour{top:66px}}
#arrivalWelcome{position:fixed;right:32px;bottom:calc(var(--footer-height,65px) + 90px);z-index:6;width:310px;padding:18px;background:color-mix(in srgb,var(--bg) 92%,transparent);border-left:2px solid #97fce4;color:var(--fg)}
#arrivalWelcome>p{font:11px/1.6 var(--font-interface);color:var(--muted)}#arrivalWelcome>p:first-child{font-size:9px;letter-spacing:.12em}
#arrivalWelcome h2{font:22px/1.2 var(--font-interface);margin:10px 0}#arrivalWelcome div,#arrivalWelcome nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
#arrivalWelcome button{min-height:44px;padding:8px 10px;border:1px solid var(--line);font:10px var(--font-interface);border-radius:0}#arrivalWelcome [data-arrival-enter]{color:#97fce4}#arrivalWelcome [aria-pressed=true]{border-color:#97fce4}
.in-interior #arrivalWelcome,.still #arrivalWelcome{display:none}
@media(max-width:700px){#arrivalWelcome{right:12px;bottom:calc(var(--footer-height,65px) + 100px);width:245px;padding:12px}#arrivalWelcome h2{font-size:18px}#arrivalWelcome>p:not(:first-child){display:none}}
@media(max-height:580px){#arrivalWelcome{width:260px;bottom:80px;padding:12px}#arrivalWelcome>p{display:none}}
/* Keep the architecture unobstructed: one compact, transparent arrival row. */
#arrivalWelcome{width:auto;max-width:calc(100vw - 32px);padding:0;background:transparent;border:0;right:24px;bottom:calc(var(--footer-height,65px) + 72px);text-shadow:0 1px 5px #000}
#arrivalWelcome>p,#arrivalWelcome h2,#arrivalWelcome nav{display:none}
#arrivalWelcome div{margin:0;gap:16px}
#arrivalWelcome button{background:transparent;border:0;padding:10px 4px;font-size:12px}
@media(max-width:700px){#arrivalWelcome{left:16px;right:auto;bottom:calc(var(--footer-height,65px) + 68px);width:auto;padding:0}#arrivalWelcome>p:first-child{display:none}}
