.globe-map-footer {
  /* Keep attribution on the globe, just beyond the desktop channel panel. */
  position: absolute; bottom: 1rem; left: 1rem; z-index: 104;
  width: calc(320px - 2rem); max-width: calc(100% - 2rem);
  pointer-events: none;
}
.globe-map-footer > * { pointer-events: auto; }
.globe-imagery-credit {
  position: relative; text-align: left; max-width: 100%;
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  font: 400 10px/1.4 Inter, sans-serif; color: #c1cec7; text-shadow: 0 1px 3px #000;
}
.globe-imagery-credit a { color: inherit; }
.globe-full-credits { display: inline-block; margin-top: 8px; }
.globe-source-attribution summary { cursor: pointer; list-style: none; text-decoration: underline; }
.globe-source-attribution summary::-webkit-details-marker { display: none; }
.globe-source-attribution summary:focus-visible, .globe-imagery-credit a:focus-visible {
  outline: 2px solid #77f4a2; outline-offset: 2px;
}
.globe-source-popover {
  position: absolute; bottom: calc(100% + 8px); left: 0;
  width: 100%; box-sizing: border-box;
  max-height: 40vh; overflow: auto; padding: 12px; text-align: left;
  background: #07100d; border: 1px solid #34473c; border-radius: 8px;
}
@media (min-width: 1025px) {
  .globe-map-footer { left: calc(320px + 1rem); }
}
@media (max-width: 1024px) {
  .globe-map-footer { bottom: 12px; }
  /* Leave the compact credit row below the floating channel/profile buttons. */
  .workspace > .btn-toggle-fleet { bottom: 2rem; }
  .workspace > .btn-toggle-details { bottom: 5.75rem; }
}
