.neighbor-map[hidden],.neighbor-world-labels[hidden],.host-welcome[hidden]{display:none!important}
.neighbor-map{position:absolute;z-index:5;left:18px;top:100px;max-width:240px;padding:13px 16px;background:#fffbedeb;border:1px solid #d4ddc7;border-radius:15px;color:#4d7368;box-shadow:0 5px 20px #304a4a12}.neighbor-map p{font-size:12px;margin:0 0 9px;line-height:1.6}.neighbor-map-links{display:flex;gap:8px;flex-wrap:wrap}.neighbor-map-links button{font-size:10px;border:0;background:#e2ead6;color:#4b7062;border-radius:8px;padding:8px;cursor:pointer}
.neighbor-world-labels{position:absolute;inset:0;z-index:4;pointer-events:none}.neighbor-world-labels button{pointer-events:auto;position:absolute;transform:translate(-50%,0);max-width:190px;padding:9px 12px;border:1px solid #d4dfca;background:#fffbe7ed;box-shadow:0 3px 12px #31474324;border-radius:11px;color:#456e64;font-size:11px;cursor:pointer;white-space:nowrap}.neighbor-world-labels button:hover{background:#fff5d5;box-shadow:0 5px 18px #31474340}
.host-welcome{position:absolute;right:20px;top:80px;bottom:90px;width:min(360px,calc(100% - 40px));z-index:8;box-sizing:border-box;background:linear-gradient(145deg,#fff9e8,#eee3c9);border:1px solid #d3bea0;border-radius:8px 24px 10px 20px;padding:28px;box-shadow:0 18px 48px #1e393a40;overflow:auto;animation:welcome-unfold .55s ease-out}.host-welcome:before{content:'✉';display:block;font-size:27px;color:#b88965;margin-bottom:12px}.host-welcome .modal-eyebrow{font-size:8px;letter-spacing:2px}.host-welcome h3{font-family:Georgia,'Noto Serif SC',serif;font-size:22px;line-height:1.5;color:#466b61;font-weight:400;margin:14px 0}.host-welcome>small{font-size:10px;color:#91856f}.host-welcome p{font-family:Georgia,'Noto Serif SC',serif;font-size:14px;line-height:2.1;white-space:pre-wrap;overflow-wrap:anywhere;color:#5d6e5b}.host-welcome .green-button{font-size:12px;width:100%;margin-top:10px}.close-welcome{position:absolute;right:12px;top:10px;border:0;border-radius:50%;width:29px;height:29px;background:#e2d5bc;color:#766d55;cursor:pointer}
@keyframes welcome-unfold{from{opacity:0;transform:translateY(18px) rotate(-2deg)}to{opacity:1;transform:none}}
@media(max-width:760px){.neighbor-map{top:110px;left:10px;max-width:185px;padding:10px}.neighbor-map p{font-size:10px}.neighbor-world-labels button{font-size:9px;max-width:150px;padding:8px}.host-welcome{top:65px;bottom:135px;right:12px;width:calc(100% - 24px);padding:20px}.host-welcome h3{font-size:20px}.host-welcome p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.host-welcome{animation:none}}
