/* R1.2 · 任务引线、缩放拖动、地点标记的样式 */

/* ── 引线控制条（在地图头里，sticky 可见） ── */
.r12-lead-row { display: flex; align-items: center; gap: 10px; margin: 6px 0 2px; }
.r12-lead-text { flex: 1 1 auto; font-size: 14px; line-height: 1.5; color: #342f29; }
.r12-lead-text[data-r12-lead-kind="ok"] { color: #93392b; font-weight: 600; }
.r12-lead-text[data-r12-lead-kind="stale"],
.r12-lead-text[data-r12-lead-kind="low-accuracy"] { color: #8a5a3a; }
.r12-lead-text[data-r12-lead-kind="denied"],
.r12-lead-text[data-r12-lead-kind="unavailable"],
.r12-lead-text[data-r12-lead-kind="no-fix"],
.r12-lead-text[data-r12-lead-kind="no-target-geo"] { color: #6b6154; }
.r12-lead-toggle { flex: 0 0 auto; font: inherit; font-size: 12px; min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid #b9a88b; background: #fffaf1; color: #342f29; }
.r12-lead-toggle[aria-pressed="true"] { background: #93392b; border-color: #93392b; color: #fffaf2; }
.r12-lead-toggle.off { background: #fffaf1; color: #6b6154; }

/* ── 地图缩放 ── */
.r11-mapwrap { position: relative; }
.r12-zoom { position: absolute; right: 10px; bottom: 10px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.r12-zoom button { width: 38px; height: 38px; padding: 0; font: inherit; font-size: 17px; line-height: 1; border-radius: 10px; border: 1px solid #c8bba6; background: #f8f2e7ee; color: #342f29; box-shadow: 0 1px 4px #342f2922; }
.r12-zoom button[data-r12-zoom-reset] { width: 38px; height: 30px; font-size: 11px; }
.r12-zoom button[disabled] { opacity: .4; }
.r11-mapwrap.r12-zoomed { touch-action: none; }
.r11-mapwrap.r12-zoomed .r11-map-svg { cursor: grab; }
.r11-mapwrap.r12-zoomed .r11-map-svg:active { cursor: grabbing; }

/* ── 引线本体 ── */
.r12-lead { stroke: #93392b; stroke-width: 1.8; stroke-dasharray: 7 5; stroke-linecap: round; opacity: .9; }
.r12-me circle:first-child { fill: #2f2a24; stroke: #f8f2e7; stroke-width: 2; }
.r12-me-ring { fill: none; stroke: #2f2a24; stroke-width: 1; opacity: .45; }
.r12-me.out text { fill: #2f2a24; font-size: 9px; }
.r12-me.out circle { fill: #2f2a24; stroke: #f8f2e7; stroke-width: 1.6; }
.r12-acc { fill: #2f2a2412; stroke: #2f2a2455; stroke-width: .8; stroke-dasharray: 2 3; }
.r12-lead-tag rect { fill: #f8f2e7ee; stroke: #93392b55; stroke-width: .8; }
.r12-lead-tag text { fill: #93392b; font-size: 10px; font-weight: 600; }
.r12-target-warn { fill: none; stroke: #a1502f; stroke-width: 1; stroke-dasharray: 2 2; opacity: .85; }

/* ── 地点标记 ── */
.r12-place-hit { fill: transparent; }
.r12-place-mark { fill: #6b5741; stroke: #f8f2e7; stroke-width: 1.2; }
.r12-place:focus { outline: 2px solid #93392b; outline-offset: 2px; }
.r12-place { cursor: pointer; }

.r12-place-sheet { position: fixed; inset: 0; z-index: 340; background: #1d1815aa; display: flex; align-items: flex-end; justify-content: center; }
.r12-place-card { width: min(100%, 540px); background: #f5efe3; color: #342f29; border-radius: 14px 14px 0 0; padding: 18px 18px calc(18px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 24px #0003; }
.r12-place-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.r12-place-card h3 { margin: 0; font-size: 19px; font-weight: 600; }
.r12-place-card header button { font: inherit; font-size: 13px; min-height: 36px; padding: 0 12px; border-radius: 8px; border: 1px solid #b9a88b; background: #fffaf1; color: #342f29; }
.r12-place-intro { font-size: 14px; line-height: 1.8; margin: 12px 0 8px; }
.r12-place-addr { font-size: 13.5px; line-height: 1.7; margin: 0 0 6px; color: #4a4238; }
.r12-place-addr b { margin-right: 8px; color: #6b5741; font-weight: 600; }
.r12-place-src { font-size: 11.5px; line-height: 1.6; color: #7d7365; margin: 0 0 14px; }
.r12-place-actions { display: flex; gap: 8px; }
.r12-place-actions button { font: inherit; font-size: 14px; min-height: 46px; padding: 0 16px; border-radius: 8px; border: 1px solid #b9a88b; background: #fffaf1; color: #342f29; }
.r12-place-actions button[data-r12-place-copy] { flex: 1 1 auto; background: #93392b; border-color: #93392b; color: #fffaf2; font-weight: 600; }
.r12-place-status { font-size: 12.5px; line-height: 1.6; color: #6b5741; margin: 10px 0 0; min-height: 18px; }

.r12-place-pending { margin: 10px 0; padding: 10px 12px; border-left: 2px solid #c8bba6; background: #f7f2e8; font-size: 12.5px; line-height: 1.7; color: #6b6154; }

.r12-help-lead { padding: 8px 12px; background: #f7ece2; border-left: 2px solid #93392b; font-size: 13.5px; line-height: 1.7; }

/* 地点清单 */
.r12-places { margin: 18px 0 6px; }
.r12-places h3 { font-size: 14px; font-weight: 500; color: #6b5741; margin: 0 0 8px; }
.r12-places ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #ddd0b8; }
.r12-places li { border-bottom: 1px solid #ddd0b8; }
.r12-places li button { width: 100%; display: flex; align-items: baseline; gap: 10px; text-align: left; font: inherit; padding: 11px 4px; min-height: 48px; border: 0; background: transparent; color: #342f29; }
.r12-places li b { font-size: 14px; font-weight: 600; flex: 0 0 auto; }
.r12-places li span { font-size: 12.5px; color: #6b6154; }
.r12-place-leader { stroke: #6b5741; stroke-width: .7; opacity: .6; }

/* 标签两套：全图看贴边列，放大后贴点（贴边列已出画面） */
.r11-map-svg .r11-pin-label.near { display: none; }
.r11-map-svg.r12-zoomed .r11-pin-label.col { display: none; }
.r11-map-svg.r12-zoomed .r11-pin-label.near { display: inline; }
.r11-map-svg.r12-zoomed .r11-leader { opacity: .25; }

/* 放大后标签不跟着变大：用 --r12-k 反向缩放，屏幕字号保持稳定 */
.r11-map-svg.r12-zoomed .r11-pin-label.near { font-size: calc(11px * var(--r12-k, 1)); }
.r11-map-svg.r12-zoomed .r11-area-label { font-size: calc(9px * var(--r12-k, 1)); }
