
*{margin:0;padding:0;box-sizing:border-box}
body{background:#E8EDF2}
.wrapmap{position:relative;height:var(--mapH,calc(100vh - 108px));min-height:340px;overflow:hidden}
#psMapBox{position:absolute;inset:0}
/* 顶部返回条 */
.topnav{position:absolute;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;gap:10px;
  padding:calc(8px + env(safe-area-inset-top)) 12px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82));
  border-bottom:1px solid rgba(15,76,153,.12);box-shadow:0 4px 16px rgba(12,43,63,.10)}
.topnav .bk{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:#115C61;
  background:#F2F8F4;border:1px solid #DFEBE4;border-radius:8px;padding:7px 12px;text-decoration:none;white-space:nowrap}
.topnav .tt{flex:1;min-width:0;text-align:center}
.topnav .tt b{display:block;font-size:15px;color:#115C61;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topnav .tt span{font-size:11.5px;color:#3A565E}
.topnav .hm{font-size:13.5px;color:#115C61;background:#F2F8F4;border:1px solid #DFEBE4;border-radius:8px;
  padding:7px 12px;text-decoration:none;white-space:nowrap}
/* 底部信息卡 */
.sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;background:#fff;
  border-radius:18px 18px 0 0;box-shadow:0 -10px 34px rgba(12,43,63,.20);
  padding:16px 16px calc(16px + env(safe-area-inset-bottom));
  max-height:64vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.sheet .bar{width:40px;height:4px;border-radius:2px;background:#DFEBE4;margin:0 auto 12px}
.sheet .hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.sheet .hd b{font-size:17px;color:#115C61;letter-spacing:.3px}
.sheet .hd .bdg{background:#EAF4EE;color:#126150;border-radius:11px;padding:2px 10px;font-size:11.5px}
.sheet .hd .bdg.hot{background:#FF8800;color:#fff;font-weight:700}
.row{display:flex;gap:9px;font-size:13.5px;color:#3C5A61;line-height:1.95;margin-bottom:6px}
.row i{font-style:normal;color:#3A565E;flex:0 0 44px}
.row .addr{flex:1;word-break:break-all}
.row a{color:#C0392B;font-weight:700;text-decoration:none}
.acts{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.acts>*{flex:1;min-width:132px}
.tools{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.tools>*{flex:1;min-width:110px}
.calbox{background:#FFF7EC;border:1px solid #FFE0B8;border-radius:10px;padding:12px 14px;font-size:12.5px;
  color:#7A5A21;line-height:1.95;margin-top:12px}
.calbox b{color:#C0392B}
.calbox code{background:#fff;border:1px solid #FFE0B8;border-radius:5px;padding:2px 7px;
  font-family:Consolas,monospace;font-size:13px;color:#115C61}
.nocoord{background:#FDECEA;border:1px solid #F5C6C0;border-radius:10px;padding:11px 13px;font-size:12.5px;
  color:#8A2B20;line-height:1.9;margin-top:10px}
@media(min-width:641px){
  .wrapmap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#DCE6EC;padding:20px}
  .inner{position:relative;width:430px;height:92vh;max-height:900px;border-radius:20px;overflow:hidden;
    box-shadow:0 28px 70px rgba(12,43,63,.32)}
  #psMapBox{position:absolute;inset:0}
  .topnav,.sheet{position:absolute}
}

/* 本页为全屏地图工具页：底部悬浮条与顶部切换条均相对容器定位 */
.sheet{padding-bottom:calc(16px + env(safe-area-inset-bottom) + 62px)}
.topnav .bk,.topnav .hm{flex:0 0 auto}
.navsw{top:calc(50px + env(safe-area-inset-top))}
