.world-location-notice {
  position: fixed;
  left: 50%;
  top: 82px;
  z-index: 990;
  max-width: min(70vw, 540px);
  transform: translate(-50%, -8px);
  padding: 9px 16px;
  border: 1px solid rgba(224, 173, 93, 0.48);
  border-radius: 8px;
  background: rgba(8, 10, 14, 0.88);
  color: #f1e4c7;
  font: 700 14px/1.2 "Segoe UI", sans-serif;
  letter-spacing: 0.04em;
  pointer-events: none;
  opacity: 0;
  transition: opacity 220ms ease, transform 220ms ease;
}

.world-location-notice.is-interior {
  padding: 7px 13px;
  font-size: 12px;
}

.world-location-notice.visible {
  transform: translate(-50%, 0);
  opacity: 1;
}

.world-atlas-button {
  min-width: 72px;
}

.world-atlas-panel {
  width: min(900px, 82vw);
  max-height: min(76vh, 720px);
  overflow: auto;
  color: #e9dfc8;
}

.world-atlas-kicker {
  margin: 0 0 4px;
  color: #d9a24b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.world-atlas-current {
  margin: 4px 0 16px;
  color: #f3e8ce;
  font-weight: 700;
}

.world-atlas-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.1fr);
  gap: 14px;
}

.world-atlas-locations,
.world-atlas-details,
.world-atlas-connections {
  border: 1px solid rgba(217, 162, 75, 0.28);
  border-radius: 10px;
  background: rgba(8, 10, 14, 0.5);
}

.world-atlas-locations {
  max-height: 360px;
  padding: 10px;
  overflow: auto;
}

.world-atlas-details {
  min-height: 230px;
  padding: 16px;
}

.world-atlas-details h4,
.world-atlas-group h4,
.world-atlas-connections h4 {
  margin: 0 0 9px;
  color: #f2d99f;
}

.world-atlas-group + .world-atlas-group {
  margin-top: 14px;
}

.world-atlas-location {
  display: block;
  width: 100%;
  min-height: 40px;
  margin: 5px 0 0;
  padding: 8px 10px;
  border: 1px solid rgba(233, 223, 200, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  color: #e9dfc8;
  font: 650 13px/1.25 "Segoe UI", sans-serif;
  text-align: left;
  cursor: pointer;
}

.world-atlas-location:hover,
.world-atlas-location:focus-visible {
  border-color: rgba(217, 162, 75, 0.72);
  background: rgba(217, 162, 75, 0.12);
  outline: none;
}

.world-atlas-overview {
  display: block;
  width: 100%;
  max-height: 210px;
  margin: 12px 0;
  border-radius: 8px;
  object-fit: contain;
  image-rendering: auto;
}

.world-atlas-note {
  color: #aca38f;
  font-size: 12px;
}

.world-atlas-connections {
  margin-top: 14px;
  padding: 12px 14px;
}

.world-atlas-connection {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-height: 34px;
  border-top: 1px solid rgba(233, 223, 200, 0.08);
  font-size: 13px;
}

.world-atlas-arrow {
  color: #d9a24b;
  text-align: center;
}

.world-atlas-connection .is-unknown {
  color: #8e897f;
  font-style: italic;
}

.world-atlas-close {
  min-width: 150px;
  margin-top: 14px;
}

@media (max-width: 760px) {
  .world-atlas-panel {
    width: 88vw;
  }

  .world-atlas-layout {
    grid-template-columns: 1fr;
  }

  .world-atlas-locations {
    max-height: 220px;
  }
}
