.az5-calibration[hidden] { display: none; }
.map-control.az5-active { width: 300px; max-width: min(300px, calc(100vw - 24px)); }
.map-control.az5-active .map-control-body { max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; }
.map-control.az5-active.collapsed { width: auto; }
.map-control.az5-active.collapsed .map-control-body { max-height: 0; overflow: hidden; }
.az5-calibration { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid #ffffff26; padding-top: 10px; min-width: 0; }
.az5-heading, .az5-enable, .az5-slider > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.az5-enable { font-size: 12px; }
.az5-slider { display: flex; flex-direction: column; gap: 5px; color: #dedede; font-size: 12px; }
.az5-slider input[type="range"] { width: 100%; height: 24px; margin: 0; accent-color: #26bbff; cursor: ew-resize; touch-action: pan-y; }
.az5-slider output, .az5-position { color: #a8e8c8; font-variant-numeric: tabular-nums; }
.az5-move { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #dedede; font-size: 12px; }
.az5-pad { display: grid; grid-template-columns: repeat(4, 40px); gap: 5px; }
.az5-pad button, .az5-actions button { border: 1px solid #ffffff40; border-radius: 5px; min-height: 36px; background: #343434; color: #fff; cursor: pointer; font: inherit; touch-action: manipulation; }
.az5-pad button:hover, .az5-actions button:hover { background: #484848; }
.az5-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.az5-actions button:first-child { background: #236746; border-color: #63c89c; }
.az5-calibration button:focus-visible, .az5-slider input:focus-visible { outline: 2px solid #63c89c; outline-offset: 1px; }
.az5-status { color: #a8e8c8; font-size: 11px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .map-control.az5-active { top: calc(8px + env(safe-area-inset-top)); }
  .az5-pad { grid-template-columns: repeat(4, minmax(34px, 1fr)); }
  .az5-pad button, .az5-actions button { min-height: 42px; }
  .az5-slider input[type="range"] { height: 32px; }
  .map-control.az5-active:not(.collapsed) ~ .ping-stats { top: auto; bottom: calc(100px + env(safe-area-inset-bottom)); }
}
