/* GlobalSignal v3.12.8 SAFE — low-risk PWA/mobile polish.
   No map engine, feeds, finance, NOAA, authentication, push, or service-worker behavior is changed. */

/* Faster taps on ordinary UI controls without interfering with Leaflet's own gesture rules. */
button,
[role="button"],
.ops-button,
.ops-command,
.top-tab,
.layer,
.preset-buttons button,
.quick-start-actions button {
  touch-action: manipulation;
}

/* Keep user zoom/pinch accessibility intact. Do not apply touch-action to #map. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Dynamic viewport height for the true fullscreen structural surface. */
.map-panel:fullscreen {
  height: 100dvh;
}

/* Safe-area-aware horizontal padding when viewport-fit=cover is active.
   env() resolves to 0 on devices without display cutouts. */
@supports (padding-left: max(0px, 1px)) {
  header,
  .topbar {
    padding-left: max(32px, env(safe-area-inset-left));
    padding-right: max(32px, env(safe-area-inset-right));
  }

  .ops-nav-inner {
    padding-left: max(32px, env(safe-area-inset-left));
    padding-right: max(32px, env(safe-area-inset-right));
  }

  main {
    padding-left: max(32px, env(safe-area-inset-left));
    padding-right: max(32px, env(safe-area-inset-right));
  }

  .map-panel:fullscreen .map-footer {
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }

  @media (max-width: 1200px) {
    main {
      padding-left: max(20px, env(safe-area-inset-left));
      padding-right: max(20px, env(safe-area-inset-right));
    }
  }

  @media (max-width: 620px) {
    header,
    .topbar {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }

    .ops-nav-inner {
      padding-left: max(10px, env(safe-area-inset-left));
      padding-right: max(10px, env(safe-area-inset-right));
    }

    main {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}
