.aig-globe {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: var(--aig-height, 680px);
  min-width: 0;
  overflow: hidden;
  contain: layout paint style;
}

.aig-globe__canvas,
.aig-globe__labels {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.aig-globe__canvas {
  display: block;
  cursor: grab;
  touch-action: auto;
  user-select: none;
  -webkit-user-select: none;
}

.aig-globe.is-dragging .aig-globe__canvas { cursor: grabbing !important; }

.aig-globe__labels {
  z-index: 2;
  pointer-events: none;
}

.aig-globe__label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  padding: 5px 7px;
  background: var(--aig-label-background, rgba(5, 8, 12, .93));
  border: 1px solid var(--aig-label-border, rgba(210, 225, 240, .06));
  border-radius: var(--aig-label-radius, 1px);
  color: #f7fbff;
  font: 600 clamp(8px, .72vw, 11px)/1.1 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .025em;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(-999px, -999px, 0);
  will-change: transform, opacity;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .9);
}

.aig-globe__label.is-visible { opacity: 1; }

.aig-globe .aig-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.aig-globe__controls { position: absolute; bottom: 8px; left: 8px; z-index: 3; display: flex; gap: 6px; }
.aig-globe__controls[hidden] { display: none; }
.aig-controls-hover .aig-globe__controls { opacity: 0; pointer-events: none; transition: opacity .2s; }
.aig-controls-hover:hover .aig-globe__controls,
.aig-controls-hover:focus-within .aig-globe__controls { opacity: 1; pointer-events: auto; }
@media (hover: none) { .aig-controls-hover .aig-globe__controls { opacity: .85; pointer-events: auto; } }
.aig-globe__controls button {
  font: 500 12px/1.4 system-ui, sans-serif; color: #fff; background: #121b29;
  border: 1px solid #617089; border-radius: 4px; padding: 7px 10px; cursor: pointer;
}
.aig-globe__controls button[aria-pressed="true"] { background: #304865; }
.aig-globe button:focus-visible, .aig-globe__canvas:focus-visible { outline: 2px solid #51b7ff; outline-offset: -3px; }
.aig-globe__fallback { position: relative; padding: 20px; }
.aig-globe.is-ready .aig-globe__fallback { display: none; }

@media (max-width: 921px) {
  .aig-globe { height: var(--aig-height-tablet, 560px); }
}

@media (max-width: 544px) {
  .aig-globe { height: var(--aig-height-mobile, 430px); }
  .aig-globe__label { font-size: 8px; letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
  .aig-globe__label { transition: none; }
}
