/* The map and travel menu have independent, persistent controls. */
.wayfinder,.walking .wayfinder{width:282px;max-width:none;max-height:none;right:16px;bottom:94px;border-radius:12px;background:#142d3be8;overflow:visible;box-shadow:0 8px 32px #081c2940}.wayfinder #map-toggle{padding:10px 12px;min-height:36px;letter-spacing:.11em;font-size:10px}.wayfinder #map-content{padding:0 10px 8px;max-height:none;overflow:visible}.wayfinder.map-expanded #map-content{display:block}.wayfinder #mini-map{display:block;width:260px;height:260px;max-height:none;border-radius:6px}.minimap-key{margin:6px 0 0;text-align:center;font:10px/1.3 system-ui,sans-serif;color:#c0d4d1}.minimap-key span{color:#ffd58a;padding-right:5px}.wayfinder #jump-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:37px;padding:9px 12px;border:0;border-top:1px solid #9ec1bd35;border-radius:0 0 12px 12px;font-size:12px;background:#24463d55}.wayfinder #jump-content{position:absolute;right:calc(100% + 10px);bottom:0;width:272px;max-height:calc(100dvh - 155px);overflow:auto;overscroll-behavior:contain;padding:8px 14px 14px;background:#142d3bf7;border:1px solid #8ea9a865;border-radius:12px;box-shadow:0 8px 36px #07192477;scrollbar-width:thin;scrollbar-color:#7b9991 #183440}.jump-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-8px;padding:4px 0 8px;background:#142d3bf7;z-index:1}.jump-heading strong{font:600 12px/1.4 system-ui,sans-serif;color:#e7d9b9}.wayfinder #jump-close{padding:3px 7px;min-height:30px;font:22px/1 system-ui;border:0}.wayfinder #room-links button{min-height:34px;font-size:11px;gap:6px}.wayfinder #room-links a{font-size:11px;padding:9px 0;line-height:1.4}.wayfinder #room-links small{font-size:9px;text-align:right}.wayfinder #jump-content .tenant-select{margin-top:12px}.wayfinder #jump-content .library-shortcuts,.wayfinder #jump-content .creative-shortcuts{display:flex;flex-wrap:wrap;gap:5px}.wayfinder #jump-content .library-shortcuts button,.wayfinder #jump-content .creative-shortcuts button{font-size:10px;padding:7px;flex:1}.building .wayfinder{width:282px;max-width:none}.building .wayfinder #map-content{max-height:none}.building .wayfinder #mini-map{max-height:none}
@media(min-width:651px) and (pointer:fine) and (max-height:680px){.wayfinder #mini-map{height:190px;width:190px;margin:auto}.wayfinder,.walking .wayfinder,.building .wayfinder{width:212px;bottom:76px}}
@media(max-width:650px),(pointer:coarse){.wayfinder,.walking .wayfinder,.building .wayfinder{top:64px;right:10px;bottom:auto;width:150px;max-height:none}.wayfinder #map-toggle{padding:8px;min-height:34px;font-size:9px;letter-spacing:.05em}.wayfinder #map-content{padding:0 9px 7px}.wayfinder #mini-map,.building .wayfinder #mini-map{width:130px;height:130px;max-height:none}.minimap-key{font-size:8px;margin-top:4px}.wayfinder #jump-toggle{font-size:10px;padding:8px;min-height:34px}.wayfinder #jump-content{top:calc(100% + 7px);right:0;bottom:auto;width:min(288px,calc(100vw - 20px));max-height:calc(100dvh - 340px);padding:7px 12px 12px}.wayfinder:not(.map-expanded) #jump-content{max-height:calc(100dvh - 195px)}.wayfinder #room-links button{min-height:38px}.wayfinder #jump-close{min-height:34px}.building .wayfinder #map-content{max-height:none}body:has(.wayfinder.map-expanded) .voice-controls{top:290px}body:has(.wayfinder.map-expanded) .room-controls{top:290px}body:has(.wayfinder.map-expanded):not(.hud-voice-hidden):has(#voice-controls:not([hidden])) .room-controls{top:calc(297px + var(--house-voice-height,78px))}}

/* A compact, see-through map on touch screens; destination menus keep their own surface. */
@media(max-width:650px),(pointer:coarse){
 #wayfinder{width:128px;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 #wayfinder #map-toggle,#wayfinder #jump-toggle{min-height:36px;padding:7px 8px;background:transparent;border-color:transparent;text-shadow:0 1px 3px #071320,0 0 6px #071320}
 #wayfinder #map-content{padding:0 8px 6px}
 #wayfinder #mini-map{width:110px;height:110px;max-height:none;background:transparent}
 /* WorldMinimap recreates this background rectangle when terrain changes. */
 #wayfinder #mini-map>rect:first-child{fill:none;stroke:none}
 #wayfinder #mini-map [data-map-ground]{fill-opacity:.25}
 #wayfinder #map-position,#wayfinder #map-direction{filter:drop-shadow(0 1px 1px #071320)}
 #wayfinder .minimap-key{display:none}
 #wayfinder #jump-content{max-height:calc(100dvh - 280px)}
 #wayfinder:not(.map-expanded) #jump-content{max-height:calc(100dvh - 195px)}
}

/* Collapse, fullscreen and destinations are three separate actions. */
.map-heading{display:flex;align-items:center;min-width:0}
.wayfinder .map-heading #map-toggle{flex:1;min-width:0;width:auto;gap:8px}
.wayfinder #map-expand{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:8px;margin-right:4px;border:0;border-radius:6px;background:transparent}
.wayfinder #map-expand svg{display:block;width:18px;height:18px}
.wayfinder #map-expand:hover{background:#b8d8d51a}
.map-fullscreen-dialog{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#10242e;color:#e8eee3;overflow:hidden}
.map-fullscreen-dialog[open]{display:flex;flex-direction:column}
.map-fullscreen-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-bottom:1px solid #9fc2ba33;background:#17313c}
.map-fullscreen-header small{display:block;font:10px/1.4 system-ui,sans-serif;letter-spacing:.16em;color:#a7c6bd;margin-bottom:5px}
.map-fullscreen-header h2{margin:0;font:500 23px/1.2 system-ui,sans-serif;letter-spacing:.02em}
.map-fullscreen-dialog button{min-height:42px;padding:9px 14px;border:1px solid #a4c3b85c;border-radius:7px;background:#25493f;color:#ecf1dd;font:600 13px/1.2 system-ui,sans-serif;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.map-fullscreen-dialog button:hover{background:#345e4f}
.map-fullscreen-dialog button:disabled{cursor:default;opacity:.38}
.map-fullscreen-header [data-map-close]{min-width:95px;background:#d7e7ca;color:#19362f;border-color:#d7e7ca}
.map-fullscreen-header [data-map-close] span{margin-left:8px;font-size:19px;line-height:.6}
.map-fullscreen-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 20px;background:#122b35}
.map-fullscreen-toolbar [data-map-zoom-in],.map-fullscreen-toolbar [data-map-zoom-out]{width:44px;font-size:22px;line-height:1;padding:7px}
.map-fullscreen-toolbar output{width:60px;text-align:center;font:600 13px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.map-fullscreen-toolbar>span{font:12px/1.4 system-ui,sans-serif;color:#aec6c2;margin-left:10px}
.map-fullscreen-stage{position:relative;flex:1;min-height:0;margin:0 20px;overflow:hidden;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;cursor:grab;background:#0c202a;border:1px solid #8eb3a82e;border-radius:10px}
.map-fullscreen-stage.is-dragging{cursor:grabbing}
.map-fullscreen-stage:focus-visible{outline:2px solid #e8cc8c;outline-offset:-3px}
.map-fullscreen-dialog #mini-map{display:block;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;background:transparent;pointer-events:none;touch-action:none}
.map-fullscreen-footer{display:flex;justify-content:space-between;gap:16px;padding:12px 24px max(14px,env(safe-area-inset-bottom));font:11px/1.4 system-ui,sans-serif;color:#a9c4bd}
.map-fullscreen-footer i{color:#ffd58a;font-style:normal;margin-right:5px}
@media(max-width:650px),(pointer:coarse){
 #wayfinder .map-heading #map-toggle{padding-left:6px;padding-right:2px;gap:4px;font-size:8px;letter-spacing:0}
 #wayfinder #map-expand{width:30px;height:36px;margin-right:0;padding:7px;text-shadow:0 1px 3px #071320;filter:drop-shadow(0 1px 2px #071320)}
 #wayfinder #map-expand svg{width:16px;height:16px}
 .map-fullscreen-header{padding:max(12px,env(safe-area-inset-top)) 14px 12px;gap:10px}
 .map-fullscreen-header h2{font-size:17px}.map-fullscreen-header small{font-size:8px;margin-bottom:4px}
 .map-fullscreen-header [data-map-close]{min-width:82px;min-height:44px;padding:9px 11px}
 .map-fullscreen-toolbar{gap:7px;padding:10px}.map-fullscreen-toolbar>span{flex-basis:100%;margin:0;text-align:center;font-size:10px}
 .map-fullscreen-stage{margin:0 8px;border-radius:7px}
 .map-fullscreen-footer{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px;font-size:9px}
}
/* Keep the minimap a display; its controls remain independently interactive. */
#wayfinder{pointer-events:none}
#wayfinder :is(#map-toggle,#map-expand,#jump-toggle,#jump-content){pointer-events:auto}
#wayfinder #map-content,#wayfinder #map-content *{pointer-events:none}
[data-map-visitors]{pointer-events:none}
#mini-map .map-visitor-name{font:600 3.6px/1 system-ui,sans-serif;letter-spacing:0;text-anchor:start;fill:#e5fff7;stroke:#10242e;stroke-width:.9;paint-order:stroke;stroke-linejoin:round}
.wayfinder .map-visitor-name{display:none}
.map-fullscreen-stage.is-targeting{cursor:crosshair}
.map-fullscreen-stage.is-dragging{cursor:grabbing}
.map-target-reticle{position:absolute;z-index:1;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);border:2px solid #ffe3a7;border-radius:50%;box-shadow:0 0 0 2px #0a222a,0 0 14px #ffd58a70;pointer-events:none}
.map-target-reticle::before,.map-target-reticle::after{content:'';position:absolute;background:#ffe3a7;box-shadow:0 0 0 1px #0a222a;left:50%;top:50%;transform:translate(-50%,-50%)}
.map-target-reticle::before{width:40px;height:2px}.map-target-reticle::after{width:2px;height:40px}
.map-fullscreen-stage.is-dragging .map-target-reticle{visibility:hidden}
.map-fullscreen-toolbar [data-map-travel]{background:#b8dfc9;color:#17372f;border-color:#b8dfc9}

.map-fullscreen-toolbar [data-map-travel][aria-pressed="true"]{background:#ffe3a7;color:#24342e;border-color:#ffe3a7}
