/* ── phone: the whole island fits the screen, numbers only, big enough to tap;
      the list underneath carries the names; "Open full map" goes full screen ── */
.fullbtn,.vm-bar{display:none}
@media (max-width:820px){
  .scroller{overflow:hidden}
  .map{width:100%}
  .pin{padding:3px;gap:0}
  .pin .lb,.pin .dot{display:none}
  .pin .num{width:30px;height:30px;font-size:14px}
  .pin.s-leader{padding:3px}
  .pin.s-leader .num{width:32px;height:32px;background:#c9a227;color:#2a2205}
  .shelf,.labels-static{display:none}
  .fullbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:12px 0 0;min-height:50px;border-radius:999px;
    background:#1d2b3a;color:#fffdf5;font:700 15px/1 'Work Sans',system-ui,sans-serif}
  .fullbtn:active{background:#2a3f56}
  /* full screen: the map fills the phone, drag in any direction, every name showing */
  body.vm-full{overflow:hidden}
  body.vm-full .mapwrap{position:fixed;inset:0;z-index:2147483100;background:#0c1826;display:flex;flex-direction:column}
  body.vm-full .vm-bar{display:flex;align-items:center;gap:10px;height:56px;flex:none;padding:0 12px;padding-top:env(safe-area-inset-top,0px);
    background:#1d2b3a;color:#fffdf5;font:600 14px/1.2 'Work Sans',system-ui,sans-serif}
  .vm-bar b{font-family:var(--display);font-size:17px;margin-right:auto}
  .vm-bar small{display:block;font-weight:500;font-size:11.5px;opacity:.75}
  .vm-bar button{min-height:40px;padding:0 16px;border-radius:999px;background:#fffdf5;color:#1d2b3a;font-weight:700}
  body.vm-full .scroller{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;border:0;border-radius:0;box-shadow:none;touch-action:pan-x pan-y pinch-zoom}
  body.vm-full .map{width:calc((100dvh - 56px) * 1557 / 876);min-width:100vw;max-width:none}
  body.vm-full .pin{padding:3px 10px 3px 3px;gap:6px}
  body.vm-full .pin .lb{display:flex}
  body.vm-full .pin .dot{display:block}
  body.vm-full .pin .nm{font-size:13px}
  body.vm-full .pin .sub{font-size:9px}
  body.vm-full .pin .num{width:26px;height:26px;font-size:13px}
  body.vm-full .shelf{display:flex;width:240px}
  body.vm-full .shelf a{font-size:10px}
  body.vm-full .labels-static{display:block}
  body.vm-full .labels-static .geo{font-size:11px}
  body.vm-full .fullbtn,body.vm-full .hint{display:none}
  body.vm-full .scrim{z-index:2147483150}
  body.vm-full .card{z-index:2147483200}
}
.d-only{display:inline}
@media (max-width:820px){.d-only{display:none}}
