.wm-globe-text-anchor.is-leader-preset {
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease;
}
.wm-globe-text-anchor.is-leader-preset.is-preset-visible {
  opacity: 1;
  visibility: visible;
}
@media (prefers-reduced-motion: reduce) {
  .wm-globe-text-anchor.is-leader-preset { transition: none; }
}
/* Point-anchored map notes; positioning is owned by the map and gesture layer. */
#worldMapView .wm-globe-text-card,
#worldMapView .wm-globe-card-resize-handle {
  touch-action: none;
  user-select: none;
}
#worldGlobeCanvas { isolation: isolate; }
.wm-globe-text-anchor {
  position: relative;
  width: 0;
  height: 0;
  overflow: visible;
  color: #f4f4f1;
  pointer-events: none;
  z-index: 10000 !important;
  --wm-card-scale: 1;
  --wm-card-user-scale: 1;
  --wm-card-country-scale: 1;
  --wm-card-body-show: 1;
  --wm-card-width: 220px;
  --wm-card-drag-x: 0px;
  --wm-card-drag-y: 0px;
}
.wm-globe-text-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  transform: translate(var(--wm-card-drag-x, 0px), var(--wm-card-drag-y, 0px));
  pointer-events: none;
}
.wm-globe-text-frame {
  position: absolute;
  left: 0;
  bottom: 13px;
  display: flex;
  align-items: flex-end;
  width: max-content;
  transform: translateX(-50%) scale(calc(var(--wm-card-scale) * var(--wm-card-user-scale, 1) * var(--wm-card-country-scale, 1) * 1.3));
  transform-origin: center bottom;
  pointer-events: none;
}
#worldMapView .wm-globe-text-card,
#worldMapView .wm-globe-text-card:hover,
#worldMapView .wm-globe-text-card:focus,
#worldMapView .wm-globe-text-card:focus-visible,
#worldMapView .wm-globe-text-card:active,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:hover,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:focus,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:focus-visible,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:active {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  display: flex !important;
  width: max-content !important;
  max-width: min(var(--wm-card-width), 42vw) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  transform: none !important;
  transform-origin: initial !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 2px !important;
  background: #000 !important;
  color: #fff !important;
  font: 11px/1.25 "DM Sans", "Avenir Next", sans-serif !important;
  text-align: left !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
  cursor: grab !important;
  pointer-events: auto !important;
  transition: none !important;
  filter: none !important;
}
#worldMapView .wm-globe-text-card:active,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:active { cursor: grabbing !important; }
#worldMapView .wm-globe-text-card:hover,
#worldMapView .wm-globe-text-card:focus,
#worldMapView .wm-globe-text-card:focus-visible,
#worldMapView .wm-globe-text-card:active,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:hover,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:focus,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:focus-visible,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:active {
  border-color: #fff !important;
  background: #000 !important;
  color: #fff !important;
  transform: none !important;
  filter: none !important;
}
#worldMapView .wm-globe-text-card:focus-visible,
.worldmap-view #worldGlobeCanvas .wm-globe-text-card:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}
.wm-globe-text-title {
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  font: 700 11px/1.25 "DM Sans", "Avenir Next", sans-serif;
  letter-spacing: .01em;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.wm-globe-text-body {
  display: -webkit-box;
  max-height: calc(5.4em * var(--wm-card-body-show, 1));
  overflow: hidden;
  color: rgba(255,255,255,.78);
  font: 10px/1.35 "DM Sans", "Avenir Next", sans-serif;
  opacity: var(--wm-card-body-show, 1);
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.wm-globe-text-body[hidden] { display: none !important; }
.wm-globe-text-image {
  display: block;
  width: 100%;
  max-height: 110px;
  margin: 0 0 3px;
  border: 1px solid rgba(255,255,255,.28);
  object-fit: cover;
  background: #111;
}
.wm-globe-text-image[hidden],
.wm-globe-text-anchor.is-compact:not(.is-leader-preset) .wm-globe-text-image { display: none !important; }
.wm-globe-text-anchor.is-leader-preset .wm-globe-text-image {
  height: 96px;
  object-position: center 20%;
}
.wm-globe-text-anchor.is-leader-preset.is-compact .wm-globe-text-image {
  height: 64px;
}
.wm-globe-text-anchor.is-link-source .wm-globe-text-card,
.wm-globe-text-anchor.is-link-source .wm-globe-text-card:hover,
.wm-globe-text-anchor.is-link-source .wm-globe-text-card:focus,
.wm-globe-text-anchor.is-link-source .wm-globe-text-card:active {
  border-color: #fff !important;
}
.wm-globe-text-anchor.is-link-source .wm-globe-card-resize-handle { display: none !important; }
.wm-globe-text-anchor.is-country .wm-globe-text-frame { bottom: 10px; }
#worldMapView .wm-globe-text-anchor.is-country .wm-globe-text-card,
.worldmap-view #worldGlobeCanvas .wm-globe-text-anchor.is-country .wm-globe-text-card,
#worldMapView .wm-globe-text-anchor.is-country .wm-globe-text-card:hover,
.worldmap-view #worldGlobeCanvas .wm-globe-text-anchor.is-country .wm-globe-text-card:hover,
#worldMapView .wm-globe-text-anchor.is-country .wm-globe-text-card:focus,
#worldMapView .wm-globe-text-anchor.is-country .wm-globe-text-card:focus-visible,
#worldMapView .wm-globe-text-anchor.is-country .wm-globe-text-card:active,
.worldmap-view #worldGlobeCanvas .wm-globe-text-anchor.is-country .wm-globe-text-card:focus,
.worldmap-view #worldGlobeCanvas .wm-globe-text-anchor.is-country .wm-globe-text-card:focus-visible,
.worldmap-view #worldGlobeCanvas .wm-globe-text-anchor.is-country .wm-globe-text-card:active {
  display: block !important;
  width: max-content !important;
  max-width: min(180px, 42vw) !important;
  padding: 3px 6px !important;
  border-color: rgba(255,255,255,.65) !important;
  border-radius: 2px !important;
  background: #000 !important;
}
.wm-globe-text-anchor.is-country .wm-globe-text-title {
  display: block;
  max-width: 180px;
  color: #fff;
  font: 700 9px/1.15 "DM Sans", "Avenir Next", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.wm-globe-card-resize-handle {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 19px;
  height: 23px;
  flex: 0 0 19px;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 3px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 2px;
  background: #000;
  color: #fff;
  font: 700 12px/1 sans-serif;
  cursor: nwse-resize;
  pointer-events: auto;
}
.wm-globe-card-resize-handle:hover,
.wm-globe-card-resize-handle:focus-visible { background: #000; color: #fff; border-color: #fff; }
.wm-globe-card-resize-handle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wm-globe-text-leader {
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 1px;
  height: 9px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.8);
  pointer-events: none;
}
.wm-globe-text-point {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 7px;
  height: 7px;
  transform: translate(-50%, 50%);
  border: 1px solid #080808;
  border-radius: 50%;
  background: #f4f4f1;
  box-shadow: 0 0 0 1px rgba(255,255,255,.8);
  pointer-events: none;
}

:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.27);
  color: #f4f4f1;
  font: 11px/1.4 "DM Sans", "Avenir Next", sans-serif;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor *,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor *::before,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor *::after { box-sizing: border-box; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor > summary {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 2px;
  background: #080808;
  color: #fff;
  font: 700 10px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor > summary::-webkit-details-marker { display: none; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor > summary::after { content: "+"; font-size: 14px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor[open] > summary::after { content: "−"; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor > summary:hover,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor[open] > summary { background: #242424; border-color: #fff; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-panel { width: 100%; padding: 10px 0 2px; overflow: visible; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor button,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor textarea,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor select { font: inherit; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-label {
  display: block;
  margin: 9px 0 5px;
  color: rgba(255,255,255,.78);
  font-size: 10px;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-row,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-actions { display: flex; align-items: center; gap: 6px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-row select { flex: 1; min-width: 0; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input[type="text"],
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input[type="url"],
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor textarea,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor select {
  width: 100%;
  min-width: 0;
  min-height: 33px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 2px;
  background: #101010;
  color: #fff;
  color-scheme: dark;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor textarea { min-height: 78px; resize: vertical; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input[type="file"] {
  width: 100%;
  min-width: 0;
  color: rgba(255,255,255,.78);
  font: 10px/1.4 "DM Sans", "Avenir Next", sans-serif;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input[type="file"]::file-selector-button {
  min-height: 29px;
  margin-right: 8px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 2px;
  background: #111;
  color: #fff;
  cursor: pointer;
}
.wm-globe-card-image-preview {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 7px;
}
.wm-globe-card-image-preview[hidden] { display: none !important; }
.wm-globe-card-image-preview img {
  display: block;
  width: 76px;
  height: 52px;
  flex: 0 0 76px;
  border: 1px solid rgba(255,255,255,.32);
  object-fit: cover;
  background: #111;
}
.wm-globe-card-image-preview button { align-self: flex-start; }
.wm-globe-card-image-status,
.wm-globe-card-connect-status {
  min-height: 14px;
  margin: 5px 0 0;
  color: rgba(255,255,255,.58);
  font-size: 9px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.wm-globe-card-image-status.is-error { color: #fff; text-decoration: underline; text-decoration-style: dotted; }
.wm-globe-card-connections {
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid rgba(255,255,255,.22);
}
.wm-globe-card-connect-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wm-globe-card-connect-head .wm-globe-card-label { margin: 0; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor #wmGlobeCardConnect { flex: 0 0 auto; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor #wmGlobeCardConnect.is-active {
  border-color: #fff;
  background: #f1f1ed;
  color: #080808;
}
.wm-globe-card-link-list {
  display: grid;
  gap: 5px;
  margin: 7px 0 0;
  padding: 0;
  list-style: none;
}
.wm-globe-card-link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
  padding: 5px 0;
  border-top: 1px solid rgba(255,255,255,.14);
}
.wm-globe-card-link > span {
  min-width: 0;
  color: rgba(255,255,255,.82);
  font-size: 9px;
  overflow-wrap: anywhere;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor .wm-globe-card-link button {
  min-height: 25px;
  flex: 0 0 auto;
  padding: 3px 6px;
  font-size: 9px;
}
.wm-globe-card-link-empty {
  color: rgba(255,255,255,.45);
  font-size: 9px;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input::placeholder,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor textarea::placeholder { color: rgba(255,255,255,.45); }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-size-controls { display: flex; align-items: center; gap: 7px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-size-controls input[type="range"] { min-width: 0; flex: 1; accent-color: #f1f1ed; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-size-controls output { min-width: 36px; color: rgba(255,255,255,.8); text-align: right; font: 10px ui-monospace, monospace; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-size-controls button { width: 29px; flex: 0 0 29px; padding: 3px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-optional { color: rgba(255,255,255,.48); font-weight: 400; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor button {
  min-width: 0;
  min-height: 31px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 2px;
  background: #111;
  color: #fff;
  cursor: pointer;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor button:hover:not(:disabled) { border-color: #fff; background: #2b2b2b; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor button:disabled { opacity: .42; cursor: not-allowed; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor button:focus-visible,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor input:focus-visible,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor textarea:focus-visible,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor select:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-place-hint,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-drag-hint {
  min-height: 14px;
  margin: 5px 0 0;
  color: rgba(255,255,255,.58);
  font-size: 9px;
  line-height: 1.4;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-actions { margin-top: 8px; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-actions > button { flex: 1; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor #wmGlobeCardPick.is-active,
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor .wm-globe-card-primary {
  background: #f1f1ed;
  border-color: #f1f1ed;
  color: #080808;
}
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor .wm-globe-card-primary { font-weight: 700; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor .wm-globe-card-primary:hover:not(:disabled) { background: #fff; color: #080808; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor .wm-globe-card-delete { flex: 0 0 auto; }
:is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-status {
  min-height: 16px;
  margin: 7px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
@media (max-width: 420px) {
  .wm-globe-text-card { max-width: min(var(--wm-card-width), 58vw) !important; }
  :is(#wmDrawTools, #wmNodesPanel) .wm-globe-card-editor > summary { padding-inline: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  #worldMapView .wm-globe-text-card,
  .worldmap-view #worldGlobeCanvas .wm-globe-text-card { transition: none !important; }
}
