/* A physical section, isolated on the same map, in both analysis tools. */
.map-wrap{--focus-edge:#b8c1cb;--focus-road:#e4e9ee;--focus-label:#596777}
[data-theme="dark"] .map-wrap{--focus-edge:#46505d;--focus-road:#30363f;--focus-label:#b6c0ce}
.is-range-focused .track-edge,.is-range-focused #track-road{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round;stroke-linejoin:round}
.is-range-focused .track-edge{stroke:var(--focus-edge)!important;stroke-width:20px!important;opacity:.5!important;filter:none!important}
.is-range-focused #track-road{stroke:var(--focus-road)!important;stroke-width:18px!important;opacity:1!important}
.is-range-focused #base-tiles{opacity:.35}
.is-range-focused .circuit-grid{opacity:.2}
.map-selected-trace{fill:none;stroke:var(--blue);stroke-width:4;stroke-opacity:.85;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-focus-badge{position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px;max-width:38%;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 4px 16px #0000000c}
.map-focus-badge[hidden]{display:none}
.map-focus-badge>div{min-width:0}
.map-focus-badge small{display:block;font-size:8px;font-weight:650;letter-spacing:1.1px;color:var(--muted);margin-bottom:3px}
.map-focus-badge strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-status-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 12%,transparent);flex:none}
.map-focus-badge button{border-radius:6px;width:28px;height:28px;flex:none;font-size:20px;font-weight:400;color:var(--muted)}
.focus-gate>g>path{fill:none;stroke:var(--focus-label);stroke-width:1.2;stroke-linecap:round}
.focus-gate circle{fill:var(--surface);stroke:var(--focus-label);stroke-width:1}
.focus-gate-label rect{fill:var(--surface);stroke:var(--line);stroke-width:.7}
.focus-gate-label text{fill:var(--focus-label);font:600 8px Inter,sans-serif;letter-spacing:.7px}
/* Hollow coloured ribbon + live solid tail. All widths stay legible while zooming. */
.precision-trail{display:none;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
[data-map-style="precision"] .track-edge{stroke-width:15px;vector-effect:non-scaling-stroke;opacity:.28}
[data-map-style="precision"] #track-road{stroke-width:13px;vector-effect:non-scaling-stroke;opacity:.55}
[data-map-style="precision"] .line-halo{stroke:var(--map-sheet)!important;stroke-width:6.5px;stroke-opacity:.95}
[data-map-style="precision"] #track-line-a,[data-map-style="precision"] #track-line-b{stroke-width:4px;stroke-dasharray:none;stroke-opacity:1}
[data-map-style="precision"].is-comparing #track-line-a,[data-map-style="precision"].is-comparing #track-line-b{stroke-width:3.2px}
[data-map-style="precision"] .precision-line-core{stroke:var(--map-sheet)!important;stroke-width:1.65px;stroke-opacity:1!important;stroke-dasharray:none!important}
[data-map-style="precision"].is-comparing .precision-line-core{stroke-width:1.05px}
[data-map-style="precision"] .precision-trail{display:block;stroke:var(--map-a);stroke-width:4.2px}
[data-map-style="precision"] .trail-b{stroke:var(--map-b)}
[data-map-style="precision"] .trail-0{stroke-opacity:.3}
[data-map-style="precision"] .trail-1{stroke-opacity:.65}
[data-map-style="precision"] .trail-2{stroke-opacity:1}
[data-map-style="precision"].is-comparing .precision-trail{stroke-width:3.3px}
[data-map-style="precision"] .position-shell{fill:var(--map-sheet);stroke:var(--position);stroke-width:1.8;stroke-linejoin:round}
[data-map-style="precision"] .position-needle{fill:var(--position);stroke:none}
[data-map-style="precision"] .position-marker{filter:drop-shadow(0 2px 2px #0003)!important}
@media(max-width:900px){.map-focus-badge{max-width:35%;gap:7px;left:auto;right:65px;transform:none}.map-focus-badge small{font-size:7px}.map-focus-badge strong{font-size:11px}}
@media(max-width:650px){.map-focus-badge{top:16px;right:54px;max-width:43%;padding:5px 5px 5px 9px;gap:7px}.map-focus-badge .focus-status-dot{display:none}.map-focus-badge small{font-size:6px}.map-focus-badge strong{font-size:10px}.map-focus-badge button{width:24px;height:24px}}

/* A compact telemetry band keeps a narrow focused map unobstructed. */
.is-range-focused.focus-narrow:not(.expanded){min-height:430px}
.is-range-focused.focus-narrow .lap-chips{flex-direction:column;align-items:flex-start;gap:6px}
html[data-accent-style] .is-range-focused.focus-narrow .map-telemetry{left:12px;right:70px;top:62px;width:auto!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 9px!important}
html[data-accent-style] .is-range-focused.focus-narrow .map-telemetry.comparison-values{top:102px}
.is-range-focused.focus-narrow .map-data-head{grid-column:1/-1;display:flex!important;justify-content:flex-start!important;gap:18px!important;margin:0!important;padding-bottom:5px!important}
.is-range-focused.focus-narrow .map-data-row{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px!important;margin:0!important}
.is-range-focused.focus-narrow .map-data-label{font-size:8px!important;line-height:1.2;white-space:nowrap}
.is-range-focused.focus-narrow .map-data-label small{float:none;display:inline!important;margin-left:3px}
html[data-accent-style] .is-range-focused.focus-narrow .map-data-row strong{font-size:15px!important;line-height:1.2!important;letter-spacing:-.25px}

.is-range-focused.focus-narrow .map-attribution{bottom:3px!important;left:12px!important;font-size:7px!important;max-width:calc(100% - 24px)}
