.map-share-wrap { flex: none; }
#share-map {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  min-height: 2.2rem;
  padding: .3rem .55rem;
  border: 1px solid var(--line);
  white-space: nowrap;
}
#share-map svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.map-share-popover {
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: max(4.7rem,calc(env(safe-area-inset-bottom) + 4.7rem));
  transform: translateX(-50%);
  box-sizing: border-box;
  width: min(21rem,calc(100vw - 1rem));
  padding: .5rem;
  border: 1px solid #bda16b;
  border-radius: .45rem;
  background: #102b3a;
  box-shadow: 0 .6rem 2rem #0008;
}
#map-share-title { display: block; padding-right: 2rem; margin-bottom: .35rem; font-size: .74rem; color: #e4c289; }
#map-share-close { position: absolute; top: 0; right: 0; min-height: 2rem; padding: 0 .45rem; font-size: 1.1rem; }
.map-share-row { display: flex; gap: .35rem; }
.map-share-row input { flex: 1; min-width: 0; padding: .35rem; border: 1px solid #476371; border-radius: .3rem; background: #081a27; color: var(--text); font-size: .68rem; }
#map-share-copy { min-height: 2.1rem; padding: .3rem .5rem; border: 1px solid #65858f; background: #294b58; color: #f5d49a; font-size: .72rem; }
@media(max-width:700px) {
  .speed-controls button { min-width: 0; padding-inline: .35rem; }
  .speed-controls button:first-child { padding-inline: .45rem; }
  #share-map { font-size: .72rem; }
}
