.map-explorer { padding: .7rem .65rem; border-bottom: 1px solid var(--border); }
.map-explorer-title { font-size: 1.05rem; margin: 0 0 .5rem; }
.map-explorer-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .35rem; }
.map-explorer-clear { font-size: .66rem; padding: .35rem; min-height: 32px; }
.map-explorer-clear[hidden] { display: none; }
.map-explorer-label { display: block; font-size: .78rem; margin-bottom: .25rem; }
.map-explorer input, .map-explorer select, .map-explorer-network > select { width: 100%; min-width: 0; min-height: 40px; border: 1px solid var(--border); color: var(--text); background: var(--bg-input, #202419); padding: .4rem; border-radius: 4px; }
.map-explorer-filters { display: grid; gap: .35rem; margin-top: .35rem; }
.map-explorer-status, .map-explorer-selection p, .map-explorer-briefing-body p { margin: .55rem 0; font-size: .78rem; line-height: 1.5; }
.map-explorer-results { list-style: none; padding: 0; margin: .4rem 0; max-height: min(360px, 45vh); overflow-y: auto; }
.map-explorer-result { display: block; width: 100%; min-height: 44px; margin-bottom: .3rem; padding: .55rem; text-align: start; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-input, #202419); color: var(--text); cursor: pointer; }
.map-explorer-result strong, .map-explorer-result small { display: block; overflow-wrap: anywhere; }
.map-explorer-result small { margin-top: .25rem; opacity: .85; font-size: .72rem; }
.map-explorer-result:hover, .map-explorer-result[aria-current], .map-explorer-result:focus-visible { outline: 2px solid var(--accent, #da822f); outline-offset: -2px; }
.map-explorer-selection { border-inline-start: 3px solid #65d9d0; padding: .5rem; background: var(--bg-input, #202419); overflow-wrap: anywhere; }
.map-explorer-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.map-explorer-actions .btn { min-height: 40px; padding: .45rem; font-size: .7rem; flex: 1 1 80px; }
.map-explorer-photo { display: block; background: transparent; border: 0; padding: 0; width: 100%; color: var(--text); cursor: zoom-in; }
.map-explorer-photo img { display: block; width: 100%; max-height: 160px; object-fit: contain; background: #101419; }
.map-explorer-photo span { display: block; font-size: .75rem; padding: .25rem; }
.map-explorer-briefing { margin-top: .6rem; }
.map-explorer-briefing > summary { padding: .4rem 0; cursor: pointer; }
.map-explorer-briefing-body { padding-top: .4rem; }
.map-explorer-briefing-body .btn { width: 100%; }
.map-explorer-highlight { position: absolute; z-index: 16; transform-origin: 0 0; transform: scale(var(--verification-inverse-scale, 1)) translate(-50%, -50%); max-width: 260px; padding: .45rem .65rem; background: #123836; color: #fff; border: 3px solid #8ef5e9; border-radius: 8px; box-shadow: 0 0 0 4px #061716bd, 0 3px 12px #000; font: 600 13px/1.4 sans-serif; pointer-events: auto; cursor: pointer; }
.map-explorer-highlight[hidden], .map-explorer-selection[hidden] { display: none; }
.map-explorer-network { width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); box-sizing: border-box; padding: 1rem; overflow: auto; background: var(--bg, #202419); color: var(--text, #eee); border: 1px solid var(--border, #797766); border-radius: 10px; }
.map-explorer-network::backdrop { background: #000a; }
.map-explorer-network-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.map-explorer-network-heading h2 { margin: 0; }
.map-explorer-muted { font-size: .85rem; line-height: 1.5; color: var(--text-muted, #b5b29b); }
.map-explorer-network-row { padding: .6rem 0; border-bottom: 1px solid var(--border); }
.map-explorer-network-row h3 { margin: .4rem 0; font-size: 1.05rem; }
.map-explorer-network-pin { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .75rem; padding: .4rem 0; }
.map-explorer-network-pin > span { flex: 1 1 220px; }
.map-explorer-network-pin p { flex-basis: 100%; margin: 0; font-size: .85rem; }
.squad-map-body { padding: .6rem; font-size: .8rem; }
.squad-map-body p { line-height: 1.5; }
.squad-map-body > .btn { font-size: .7rem; min-height: 40px; margin: .3rem .3rem .3rem 0; }
.squad-map-body > .btn[hidden] { display: none; }
.squad-map-task { border-top: 1px solid var(--border-soft); padding: .5rem 0; }
.squad-map-task label { display: flex; gap: .4rem; align-items: baseline; }
.squad-map-task small { display: block; color: var(--text-muted); margin: .25rem 0; }
.squad-map-task .btn { padding: .4rem; min-height: 36px; font-size: .7rem; }
.squad-map-layer { position: absolute; inset: 0; pointer-events: none; z-index: 12; }
.squad-map-pin { position: absolute; pointer-events: auto; transform-origin: 0 0; transform: scale(var(--verification-inverse-scale, 1)) translate(-50%, -50%); color: #fff; background: #2c2452; border: 2px solid #c3aeff; border-radius: 4px; padding: 4px 6px; font: 600 11px/1.3 sans-serif; cursor: pointer; }
@media (max-width: 700px) {
  .map-explorer { padding: .5rem; }
  .map-explorer-filters { grid-template-columns: 1fr 1fr; }
  .map-explorer-network { padding: .7rem; }
  .quest-sidebar.map-explorer-searching { height: min(380px, 48dvh); }
  .map-explorer-searching .map-explorer-selection { display: none; }
}
