/* area-map — 付随スタイル (Leaflet 前提) */

/* 検知バッジ（emoji/type 表示） */
.am-badge { background: none; border: 0; }
.am-badge__dot {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  color: #fff; font-size: 14px; line-height: 1;
  border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35);
}

/* リアルタイム現在地マーカー（脈動） */
.am-live { background: none; border: 0; }
.am-live__pulse {
  display: block; width: 14px; height: 14px; margin: 4px;
  border-radius: 50%; border: 2px solid #fff;
  box-shadow: 0 0 0 0 rgba(25,113,194,.6);
  animation: am-pulse 1.6s ease-out infinite;
}
@keyframes am-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(25,113,194,.55); }
  70%  { box-shadow: 0 0 0 16px rgba(25,113,194,0); }
  100% { box-shadow: 0 0 0 0 rgba(25,113,194,0); }
}

/* ポップアップ内容 */
.am-pop { font: 13px/1.5 system-ui, -apple-system, "Segoe UI", "Yu Gothic UI", sans-serif; }
.am-pop__hd { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; flex-wrap: wrap; }
.am-pop__tag { color: #fff; font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 7px; }
.am-pop__title { font-size: 13.5px; }
.am-pop__img { display: block; width: 100%; border-radius: 6px; margin: 4px 0; }
.am-pop__time { font-size: 11px; color: #6b6b6b; }
.am-pop__body { margin: 4px 0; }
.am-pop__tbl { width: 100%; border-collapse: collapse; margin-top: 4px; font-size: 12px; }
.am-pop__tbl th, .am-pop__tbl td { border: 1px solid #e3e3e0; padding: 2px 6px; text-align: left; }
.am-pop__tbl th { background: #f6f6f4; font-weight: 600; white-space: nowrap; }
.am-pop__geo { margin-top: 5px; font-size: 10.5px; color: #9a9a95; font-family: ui-monospace, monospace; }

/* 凡例 / 表示トグル */
.am-legend {
  background: rgba(255,255,255,.95); border-radius: 8px; padding: 8px 10px;
  box-shadow: 0 1px 6px rgba(0,0,0,.2);
  font: 12px/1.4 system-ui, -apple-system, "Segoe UI", "Yu Gothic UI", sans-serif;
}
.am-legend__hd { font-weight: 700; font-size: 11px; color: #444; margin-bottom: 5px; }
.am-legend__row { display: flex; align-items: center; gap: 6px; cursor: pointer; padding: 1px 0; }
.am-legend__row input { margin: 0; }
.am-legend__sw {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%; color: #fff; font-size: 10px;
}
