/* css/map.css — 地図の直接移動（§15.3）。style.css の .mv-* を上書きする */

/* 離れているが道なりに行ける地点：輪を細く薄く、ゆっくり回す（隣接は従来どおり） */
.mv-node.is-reach.is-far::before {
  inset: -6px;
  border-width: 1.5px;
  border-color: rgba(138, 90, 20, 0.5);
  animation-duration: 24s;
}
.mv-node.is-reach.is-far:hover::before, .mv-node.is-reach.is-far.is-focus::before {
  border-color: rgba(138, 90, 20, 0.85);
}

/* 経路の強調：複数区間は流れる破線で道順を示す */
.mv-links .lk.hl.hl-route {
  stroke: #8a5a14;
  stroke-width: 4.2;
  stroke-dasharray: 11 7;
  animation: mv-route-flow 0.8s linear infinite;
}
@keyframes mv-route-flow { to { stroke-dashoffset: -36; } }
@media (prefers-reduced-motion: reduce) {
  .mv-links .lk.hl.hl-route { animation: none; }
}

/* 吹き出し：経由地の行 */
.mv-tip .tp-route {
  font-family: var(--font-ui); font-size: 12px; line-height: 1.55;
  color: var(--ash-hi); margin-top: 5px;
  white-space: normal; word-break: keep-all; overflow-wrap: anywhere;
}

/* 歩いている間は灯りを少し強く */
.mv-token.walking i { filter: drop-shadow(0 0 9px rgba(255, 210, 100, 1)); }

/* 足元の案内が長くなっても一行に収める */
.mv-info { flex-wrap: nowrap; white-space: nowrap; min-width: 0; }
.mv-hint { overflow: hidden; text-overflow: ellipsis; }

/* 吹き出しは隠れている間、読み上げ・本文抽出の対象にしない（消えるときは薄れてから隠す） */
.mv-tip { visibility: hidden; transition: opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s; }
.mv-tip.on { visibility: visible; transition-delay: 0s; }
