.encounter-layer{position:absolute;inset:0;pointer-events:none;z-index:15;overflow:hidden}
.encounter-layer[hidden],.encounter-bubble[hidden],.encounter-hotspot[hidden]{display:none}
.encounter-hotspot{position:absolute;transform:translate(-50%,-50%);width:76px;height:92px;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto;color:#244f47;padding:0;cursor:pointer}
.encounter-hotspot::before{content:"";position:absolute;inset:10%;border:2px solid #f1d98f;border-radius:50%;opacity:.45;box-shadow:0 0 0 5px #fff4b51c;animation:encounter-breathe 2.8s ease-in-out infinite}
.encounter-hotspot span{position:absolute;top:88%;left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 9px;background:#fff7def2;border:1px solid #bbad7a;border-radius:20px;font-size:14px;font-weight:650;box-shadow:0 2px 6px #18392b30;opacity:.88}
.encounter-hotspot:hover,.encounter-hotspot:focus-visible{outline:2px solid #ecce78!important;border-radius:45%;background:#f4db7920!important}
.encounter-hotspot:hover::before,.encounter-hotspot:focus-visible::before{opacity:1}.encounter-hotspot:hover span,.encounter-hotspot:focus-visible span{opacity:1}
.encounter-hotspot[data-done=true] span{background:#e8f2dff2;border-color:#71946f}.encounter-hotspot[data-kind=stone] span{background:#fff0e5f2;border-color:#c27b59;color:#7b3f2c}
.encounter-hotspot[data-kind=mud]{width:95px;height:110px}
.encounter-bubble{position:absolute;z-index:2;pointer-events:auto;box-sizing:border-box;max-height:calc(100% - 24px);overflow:auto;scrollbar-gutter:stable;padding:19px 20px 14px;background:linear-gradient(135deg,#fffbea,#f1ead3);border:1px solid #b6a675;border-radius:22px 22px 22px 5px;box-shadow:0 8px 25px #132e3350;color:#234941;font-size:17px;line-height:1.65}
.encounter-tag{margin:0 68px 3px 0!important;color:#7c704f;font-size:12px;letter-spacing:.07em}.encounter-title{font-size:25px;line-height:1.2;margin:5px 0 12px}.encounter-text{margin:0 0 13px;font-size:17px;line-height:1.7}.encounter-close{position:absolute;right:10px;top:9px;font-size:13px;border:0;background:transparent;color:#486452;padding:5px}
.encounter-choices{display:flex;flex-wrap:wrap;gap:7px}.encounter-choices button{font-size:15px;line-height:1.4;border:1px solid #aab38d;background:#fffdf0;border-radius:9px;padding:8px 10px;color:#264f47}.encounter-choices button:hover{background:#e5eed6;border-color:#53775b}.encounter-sound{font-size:13px;margin-top:9px;padding:5px 8px;border:0;background:transparent;color:#3f6d63}.encounter-sound[data-playing=true]{color:#96691d;background:#fff1bd;border-radius:8px}.encounter-note{font-size:12px;margin:5px 0 0;color:#777459;border-top:1px solid #d8cfaf;padding-top:7px}
@media(max-width:650px){.encounter-bubble{padding:12px 14px;font-size:15px}.encounter-title{font-size:21px;margin:2px 0 7px}.encounter-text{font-size:15px;line-height:1.5;margin-bottom:8px}.encounter-choices button{font-size:13px;padding:6px}.encounter-hotspot span{font-size:11px;padding:2px 5px}.encounter-hotspot{width:48px;height:60px}.encounter-hotspot[data-kind=mud]{width:60px;height:70px}.encounter-note{display:none}}

@media(max-width:650px){.encounter-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:45px!important}.encounter-sound{position:static;display:block;background:transparent}}
@keyframes encounter-breathe{50%{transform:scale(1.08);opacity:.75}}
@media(prefers-reduced-motion:reduce){.encounter-hotspot::before{animation:none}}
