.soaring-reachability {
  position: absolute; z-index: 46; top: 0; left: 52px;
  width: min(380px, calc(100vw - 24px)); max-width: calc(100vw - 24px);
  max-height: min(560px, 70dvh); overflow: auto; overscroll-behavior: contain;
  box-sizing: border-box; padding: 12px; border: 1px solid var(--ui-color-border);
  border-radius: 6px; background: var(--ui-color-surface); color: var(--ui-color-text);
  box-shadow: var(--ui-shadow-overlay, 0 2px 8px #0003); pointer-events: auto;
  font: 400 14px/1.35 var(--ui-font-family, Barlow, sans-serif);
}
.soaring-reachability:is(.flightmap-v2-map-menu, .analyzer-map-menu) { width: min(380px, calc(100vw - 24px)); min-width: 0; max-height: min(560px, 70dvh); padding: 12px; overflow: auto; }
.soaring-reachability[hidden], .soaring-reachability__toggle[hidden], .soaring-reachability__marker[hidden] { display: none !important; }
.soaring-reachability p { margin: 8px 0; }
.soaring-reachability label { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; }
.soaring-reachability label:has(input[type="number"]) { flex-direction: column-reverse; align-items: stretch; gap: 4px; margin-top: 8px; }
.soaring-reachability input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ui-color-primary); }
.soaring-reachability input[type="number"] { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 4px 8px; border: 1px solid var(--ui-color-border); border-radius: 6px; background: var(--ui-color-surface); color: inherit; font: inherit; font-size: 16px; }
.soaring-reachability input:focus-visible, .soaring-reachability__toggle:focus-visible { outline: 2px solid var(--ui-color-primary); outline-offset: 2px; }
.soaring-reachability__inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.soaring-reachability__note { font-size: 12px; color: var(--ui-color-text-muted); }
.soaring-reachability__results { padding: 0; margin: 12px 0 0; list-style: none; font-variant-numeric: tabular-nums; }
.soaring-reachability__results li { display: flex; flex-direction: column; gap: 4px; padding: 8px 0; border-top: 1px solid var(--ui-color-border); overflow-wrap: anywhere; }
.soaring-reachability__results strong { font-weight: 600; }
.soaring-reachability__results span { font-size: 12px; }
.soaring-reachability [data-status="reserve_met"] strong { color: var(--ui-color-primary-strong); }
.soaring-reachability [data-status="reserve_shortfall"] strong { color: var(--ui-color-warning); }
.soaring-reachability__overlay { position: absolute; inset: 0; z-index: 9; overflow: hidden; pointer-events: none; }
.soaring-reachability__marker { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 4px; margin: -12px 0 0 -12px; white-space: nowrap; }
.soaring-reachability__marker span { padding: 2px 4px; border: 1px solid var(--ui-color-border); border-radius: 4px; color: var(--ui-color-text); background: var(--ui-color-surface); font: 600 12px/1.25 var(--ui-font-family, Barlow, sans-serif); font-variant-numeric: tabular-nums; }
.soaring-reachability__marker[data-status="reserve_met"] span { color: var(--ui-color-primary-strong); }
.soaring-reachability__marker[data-status="reserve_shortfall"] span { color: var(--ui-color-warning); }
[data-flightmap-3d-settings-panel] .soaring-reachability { top: 48px; left: auto; right: 0; }
@media (max-width: 600px) {
  .soaring-reachability:is(.flightmap-v2-map-menu, .analyzer-map-menu) { max-height: min(480px, 60dvh); }
}
