.wm-networks {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-top: 8px;
  overflow-wrap: anywhere;
  color: #f4f4f1;
  font: 11px/1.45 "DM Sans", "Avenir Next", sans-serif;
}

/* Networks live inside the existing Layers drawer, so their disclosure is a
   quiet continuation of the layer list rather than another floating panel. */
#worldMapControls #wmStrategicNetworkLayers .wm-networks > details {
  min-width: 0;
  border: 0;
  border-top: 1px solid #ffffff35;
  background: transparent;
  box-shadow: none;
}
#worldMapControls #wmStrategicNetworkLayers .wm-networks > details > summary {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 2px;
  cursor: pointer;
  list-style: none;
  font: 700 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wm-networks summary::-webkit-details-marker { display: none; }
#worldMapControls #wmStrategicNetworkLayers .wm-networks > details > summary::after { content: "+"; font-size: 15px; }
#worldMapControls #wmStrategicNetworkLayers .wm-networks > details[open] > summary::after { content: "−"; }
.wm-networks .wm-networks-count { color: #aaa; font-weight: 400; letter-spacing: 0; }
#worldMapControls #wmStrategicNetworkLayers .wm-networks-body {
  box-sizing: border-box;
  min-width: 0;
  max-height: min(58dvh, 520px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 2px 10px;
  border-top: 1px solid #ffffff20;
  scrollbar-width: thin;
}
.wm-networks-note { margin: 9px 0; color: #aaa; font-size: 10px; }
.wm-networks-search {
  box-sizing: border-box;
  width: 100%; min-width: 0; min-height: 32px; margin: 2px 0 8px; padding: 6px 8px;
  border: 1px solid #ffffff4a; border-radius: 2px; background: #101010; color: #fff;
}
.wm-networks-rule { height: 1px; background: #ffffff26; margin: 8px 0; }
.wm-networks-results { max-height: min(240px, 32dvh); min-width: 0; overflow: auto; scrollbar-width: thin; }
.wm-networks-result {
  display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 7px 5px; border: 0; border-top: 1px solid #ffffff1a;
  background: transparent; color: #f4f4f1; text-align: left; cursor: pointer;
  overflow-wrap: anywhere;
}
.wm-networks-result:hover,.wm-networks-result[aria-current="true"] { background: #ffffff12; }
.wm-networks-result strong { display: block; font-size: 11px; font-weight: 600; }
.wm-networks-result small { display: block; margin-top: 2px; color: #aaa; font-size: 9px; }
.wm-networks-empty { padding: 14px 4px; color: #aaa; }
.wm-networks-detail { margin: 8px 0; padding: 9px; max-height: 38dvh; overflow-y: auto; scrollbar-width: thin; border-left: 2px solid var(--network-accent, #aaa); background: #ffffff0b; }
.wm-networks:has(.wm-networks-detail:not([hidden])) .wm-networks-results { max-height: 120px; }
.wm-networks-detail h3 { margin: 0 0 5px; font-size: 12px; }
.wm-networks-detail p { margin: 5px 0; color: #ccc; }
.wm-network-context { padding: 6px 7px; border-left: 1px solid #ffffff45; color: #ddd !important; }
.wm-networks-detail a { color: #f4f4f1; text-underline-offset: 2px; }
.wm-networks-detail,
.wm-networks-detail * { overflow-wrap: anywhere; }
.wm-networks-relations { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.wm-networks-relations button {
  padding: 4px 6px; border: 1px solid #ffffff42; background: #090909; color: #eee;
  font-size: 9px; cursor: pointer;
}
.wm-networks-caveat { padding-top: 7px; border-top: 1px solid #ffffff25; color: #aaa !important; font-size: 9px; }
.wm-network-marker {
  display: grid; place-items: center; width: calc(24px * var(--wm-site-scale, .76)); height: calc(24px * var(--wm-site-scale, .76));
  color: var(--network-color); background: #080808e8; border: 1px solid #d8d8d288;
  border-radius: 3px; box-shadow: 0 1px 5px #0009; pointer-events: auto;
}
.wm-network-map-icon { background: transparent; border: 0; }
.wm-network-marker svg { width: calc(18px * var(--wm-site-scale, .76)); height: calc(18px * var(--wm-site-scale, .76)); overflow: visible; }
.wm-network-marker.is-selected { border: 2px solid #fff; background: #242424; }
.wm-network-marker.is-connected { border-style: dashed; border-color: #e7e7e2; background: #171717; }
.wm-network-globe-marker {
  padding: 0; border: 0; background: transparent; cursor: pointer;
  transform: translate(-50%, -50%);
}
.wm-network-globe-marker:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wm-network-path { filter: grayscale(.2); }
.wm-network-path.is-selected { filter: none; }

/* The older resource catalog is now an inline disclosure within the same
   drawer. These nested selectors intentionally outrank its legacy fixed panel
   coordinates and drawer-active suppression without changing either globally. */
#worldMapControls details.wm-site-catalog {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-top: 8px;
  border-top: 1px solid #ffffff35;
}
#worldMapControls details.wm-site-catalog > summary {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 2px;
  color: #f4f4f1;
  cursor: pointer;
  list-style: none;
  font: 700 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#worldMapControls details.wm-site-catalog > summary::-webkit-details-marker { display: none; }
#worldMapControls details.wm-site-catalog > summary::after { content: "+"; font-size: 15px; }
#worldMapControls details.wm-site-catalog[open] > summary::after { content: "−"; }
#worldMapControls details.wm-site-catalog > #worldMapResPanel,
#worldMapControls.wm-ui-layers-open details.wm-site-catalog > #worldMapResPanel,
.worldmap-view.wm-ui-drawer-active #worldMapControls details.wm-site-catalog > #worldMapResPanel {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: min(48dvh, 380px) !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  visibility: visible !important;
  pointer-events: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#worldMapControls details.wm-site-catalog > #worldMapResPanel .wm-respanel-body {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  max-height: min(42dvh, 320px) !important;
  overflow-x: hidden;
  overflow-y: auto;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#worldMapControls details.wm-site-catalog > #worldMapResPanel .wm-respanel-btn {
  max-width: 100%;
  box-shadow: none !important;
}
#worldMapControls details.wm-site-catalog .wm-res-row,
#worldMapControls details.wm-site-catalog .wm-res-group-title {
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  #worldMapControls #wmStrategicNetworkLayers .wm-networks-body { max-height: min(54dvh, 460px); }
  #worldMapControls details.wm-site-catalog > #worldMapResPanel { max-height: min(42dvh, 340px) !important; }
}
@media (max-width: 390px) {
  #worldMapControls #wmStrategicNetworkLayers .wm-networks,
  #worldMapControls details.wm-site-catalog { width: 100%; }
  #worldMapControls #wmStrategicNetworkLayers .wm-networks-body { padding-right: 1px; padding-left: 1px; }
  .wm-networks-detail { padding: 7px; }
}
