/* Public explorer refinements; the renderer's compatibility controls stay hidden. */
#explorerLegacyControls[hidden], .zone-results[hidden] { display: none !important; }
.zone-search { position: relative; flex-shrink: 0; }
.zone-results {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 150;
  width: min(340px, calc(100vw - 32px)); overflow: hidden;
  background: var(--panel, #111e26); color: var(--text, #dce7ed);
  border: 1px solid var(--panel-border, #45616b); border-radius: 8px;
  box-shadow: 0 10px 30px #0008;
}
.zone-results [role="listbox"] { max-height: min(300px, 50dvh); overflow-y: auto; overscroll-behavior: contain; }
.zone-result { padding: 10px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 3px; }
.zone-result small { font-size: 11px; color: var(--text-dim, #a3b6c5); }
.zone-result[aria-selected="true"], .zone-result:hover { background: #28434b; color: #f3deaa; }
.zone-result-status { padding: 9px 12px; font-size: 12px; color: var(--text-dim, #a3b6c5); border-top: 1px solid #45596a66; }
#help-overlay { max-width: min(500px, calc(100vw - 32px)); max-height: calc(100% - 24px); overflow-y: auto; z-index: 110; }
.help-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
.help-heading h3 { margin: 0 !important; }
#help-overlay td { vertical-align: top; white-space: normal; }
#help-overlay td:first-child { min-width: 112px; }
#help-overlay .shared-controls { margin-top: 12px; }
#worldLocator .locator-title { flex-wrap: wrap; }
#worldLocator .locator-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
#worldLocator .locator-actions button { min-width: 28px; min-height: 28px; padding: 3px 6px; }
#worldLocator canvas { touch-action: none; }
#worldLocator .locator-foot { flex-wrap: wrap; gap: 4px; }
.zone-search input:focus-visible, #worldLocator button:focus-visible,
#worldLocator canvas:focus-visible, #helpClose:focus-visible { outline: 2px solid #e7c47b; outline-offset: 2px; }
@media (max-width:768px), (pointer:coarse), (max-width:950px) and (max-height:500px) {
  #topbar .zone-search { display: none !important; }
  #mobileMenu .zone-search { margin: 12px 16px; }
  #mobileMenu .mobile-zone-search { margin: 0; width: 100%; }
  #mobileMenu .zone-results { width: 100%; position: relative; top: 6px; margin-bottom: 12px; }
  #help-overlay { width: auto; max-width: none; }
  #worldLocator .locator-actions button { min-width: 36px; min-height: 40px; }
  .zone-result { min-height: 44px; justify-content: center; }
}
@media (max-width:768px) and (min-height:501px) {
  .mobile-map-open #worldLocator {
    left: auto !important; right: 10px !important;
    width: min(300px, calc(100vw - 20px)) !important;
    height: min(65dvh, 560px) !important;
    max-height: calc(100dvh - var(--mobile-bar-height,64px) - 140px) !important;
  }
}
