.cave-map{position:fixed;z-index:7;right:20px;bottom:20px;width:138px;height:207px;color:#f2e9d8}
#cave-map-panel{position:relative;width:100%;height:100%;border-radius:42% 42% 30% 30%;background:radial-gradient(ellipse,#201b16d9 28%,#201b1670 65%,transparent 73%)}
.cave-plan{display:block;width:100%;height:100%;fill:none;stroke:#c9b28d;stroke-width:1.4;filter:drop-shadow(0 1px 2px #000)}
.map-room{fill:#a98a5b15}.map-path{stroke-dasharray:2 5;opacity:.5}.map-display{stroke:#f2d7a3;opacity:.55}
#map-you{fill:#fff;stroke:#201b16;stroke-width:1.7;pointer-events:none}
.map-point{position:absolute;display:grid;place-items:center;width:26px;height:26px;padding:0;transform:translate(-50%,-50%);background:none;border:0;border-radius:50%;touch-action:manipulation;overflow:visible}
.map-dot{width:7px;height:7px;border:1px solid #ffe8bd;border-radius:50%;background:#92734b;box-shadow:0 1px 3px #000;transition:transform .16s,background .16s}
.map-point[aria-current=location] .map-dot{background:#fff3d1;box-shadow:0 0 0 3px #e7ca8729}
.map-point:hover .map-dot,.map-point:focus-visible .map-dot{background:#fff8e4;transform:scale(1.4)}
.map-point:focus-visible{outline:1px solid #ffe7b7;outline-offset:0}
.map-tooltip{position:absolute;right:calc(100% + 3px);top:50%;transform:translateY(-50%);background:#211c16f5;color:#fff0d5;box-shadow:0 3px 12px #0005;padding:5px 8px;white-space:nowrap;font:11px/1.4 Manrope,sans-serif;pointer-events:none;opacity:0;transition:opacity .12s}
.map-point:hover .map-tooltip,.map-point:focus-visible .map-tooltip{opacity:1}
@media(hover:none){.map-point:hover:not(:focus-visible) .map-tooltip{opacity:0}}
.walk-controls{right:180px;bottom:60px}.instruction{right:180px;bottom:180px;max-width:150px;font-size:10px;line-height:1.6}.caption{max-width:min(440px,calc(100vw - 360px))}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.walk-joystick{display:none;position:fixed;z-index:3;left:24px;bottom:72px;width:116px;height:116px;touch-action:none;user-select:none}
.joystick-base{position:relative;display:block;width:116px;height:116px;border:1px solid #e9d1a54d;border-radius:50%;background:radial-gradient(circle,#493c2a44,#19161070);touch-action:none;outline-offset:5px}
.joystick-cross{position:absolute;inset:14px;border:1px solid #e9d1a51f;border-radius:50%;pointer-events:none}
.joystick-cross::before,.joystick-cross::after{content:'';position:absolute;background:#e9d1a51c;left:50%;top:0;width:1px;height:100%}.joystick-cross::after{transform:rotate(90deg)}
.joystick-knob{position:absolute;left:calc(50% - 23px);top:calc(50% - 23px);width:46px;height:46px;border:1px solid #efdab499;border-radius:50%;background:radial-gradient(circle at 35% 28%,#baa17b,#65563c);box-shadow:0 4px 14px #0005;pointer-events:none;will-change:transform}
.joystick-guide{position:absolute;bottom:calc(100% + 9px);width:100%;text-align:center;font:10px/1.4 Manrope,sans-serif;color:#f0e3cd;text-shadow:0 1px 4px #000}
.walk-joystick[data-active=true] .joystick-base{border-color:#efd8ab99}
body[data-overlay=open] .cave-map,body[data-overlay=open] .walk-joystick,body:has(#help:not([hidden])) .walk-joystick{visibility:hidden}
body.portal-preparing .cave-map,body.portal-preparing .walk-joystick{opacity:0;pointer-events:none}
body::after{content:'';position:fixed;inset:0;z-index:9;pointer-events:none;background:#211c16;opacity:0;transition:opacity 140ms ease}body.map-travel::after{opacity:1}
@media(max-width:650px),(pointer:coarse){.walk-controls{display:none}.walk-joystick{display:block}.instruction{display:none}}
@media(max-width:650px){.cave-map{right:10px;bottom:57px;width:126px;height:189px}.caption{left:22px;bottom:265px;max-width:245px}.caption h1{font-size:27px}.viewpoints{bottom:16px;right:22px;gap:12px}.viewpoints button{font-size:11px}.viewpoints button[data-view=retorno]{display:none}#near-action{bottom:263px;max-width:calc(100% - 32px)}body:has(#near-action:not([hidden])) .caption{visibility:hidden}}
@media(max-height:520px){.cave-map{right:10px;bottom:12px;width:120px;height:180px}.walk-controls{right:155px;bottom:42px}.walk-joystick{bottom:38px}.instruction{display:none}.caption{bottom:90px;max-width:260px}.caption h1{font-size:26px}.caption>span{display:none}#near-action{bottom:30px;left:45%}}
@media(prefers-reduced-motion:reduce){body::after,.map-dot,.map-tooltip{transition:none}}
