.op-gmap-card{
  padding:14px;
}

.op-gmap-kicker{
  font-size:11px;
  color:var(--accent2);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin-bottom:4px;
}

.op-gmap-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.op-gmap-sub{
  font-size:13px;
  color:var(--muted);
}

.op-gmap-legend{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.op-gmap-legend-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color:var(--text);
  font-weight:800;
  white-space:nowrap;
}

.op-gmap-legend-dot{
  width:11px;
  height:11px;
  border-radius:999px;
  display:inline-block;
  box-shadow:0 0 10px rgba(255,255,255,.14);
}

.op-gmap-legend-dot.free{ background:#5aa7ff; }
.op-gmap-legend-dot.owned{ background:#ffd36b; }
.op-gmap-legend-dot.current{ background:#63ff9b; }
.op-gmap-legend-dot.trade{ background:#d38bff; }
.op-gmap-legend-dot.event{ background:#ff9d3f; }

.op-gmap-viewport{
  position:relative;
  height:640px;
  border-radius:22px;
  border:1px solid rgba(43,67,136,.8);
  overflow:hidden;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.07) 0, transparent 2px),
    radial-gradient(circle at 70% 30%, rgba(255,255,255,.05) 0, transparent 2px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,.05) 0, transparent 2px),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.04) 0, transparent 2px),
    linear-gradient(180deg, #01040b 0%, #040812 100%);
  background-size:170px 170px, 210px 210px, 190px 190px, 250px 250px, auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.op-gmap-viewport.dragging{
  cursor:grabbing;
}

.op-gmap-stage{
  position:absolute;
  width:1600px;
  height:1600px;
  transform-origin:0 0;
  will-change:transform;
}

.op-gmap-disc{
  position:absolute;
  left:95px;
  top:95px;
  width:1410px;
  height:1410px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.03);
  background:
    radial-gradient(circle at 50% 50%, rgba(35,55,120,.045) 0%, rgba(13,20,47,.03) 42%, rgba(5,8,18,.01) 78%, transparent 100%);
  box-shadow:
    inset 0 0 60px rgba(72,110,255,.03),
    0 0 28px rgba(0,0,0,.14);
  pointer-events:none;
}

.op-gmap-node{
  position:absolute;
  width:46px;
  height:46px;
  margin-left:-23px;
  margin-top:-23px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  padding:0;
  z-index:2;
  background:transparent;
  transition:transform .12s ease, filter .12s ease;
  touch-action:none;
}

.op-gmap-node::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:14px;
  margin-left:-7px;
  margin-top:-7px;
  border-radius:999px;
  box-shadow:0 0 10px rgba(125,211,252,.35);
  background:radial-gradient(circle, #ecf6ff 0%, #7dc0ff 42%, #2b65ff 100%);
}

.op-gmap-node:hover{
  transform:scale(1.10);
  filter:brightness(1.12);
}

.op-gmap-node.owned::before{
  background:radial-gradient(circle, #fff4c7 0%, #ffd36b 42%, #d88b19 100%);
  box-shadow:0 0 12px rgba(255,211,107,.35);
}

.op-gmap-node.current::before{
  background:radial-gradient(circle, #effff4 0%, #7effac 42%, #1ea95d 100%);
  box-shadow:0 0 14px rgba(107,255,159,.48);
}

.op-gmap-node.trade::before{
  width:16px;
  height:16px;
  margin-left:-8px;
  margin-top:-8px;
  background:radial-gradient(circle, #f9ebff 0%, #d38bff 45%, #7b2dff 100%);
  box-shadow:0 0 15px rgba(211,139,255,.42);
}

.op-gmap-node.selected{
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:2px;
}

@media (max-width: 900px){
  .op-gmap-viewport{
    height:520px;
  }
}

@media (max-width: 640px){
  .op-gmap-viewport{
    height:420px;
  }

  .op-gmap-legend{
    justify-content:flex-start;
  }
}

/* Galaxy Map – Click/Hover Cleanup
   Kleinere sichtbare Sterne, ruhiger Hover und zoomabhängige Klickfläche.
   Die JS-Map setzt --op-gmap-hit-scale auf der Stage, damit der Klickradius beim Reinzoomen nicht explodiert.
*/
.op-gmap-stage{
  --op-gmap-hit-scale:1;
}

.op-gmap-node{
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  transform:scale(var(--op-gmap-hit-scale,1));
  transform-origin:center;
  transition:none !important;
  filter:none !important;
  background:transparent;
}

.op-gmap-node:hover{
  transform:scale(var(--op-gmap-hit-scale,1));
  filter:none !important;
}

.op-gmap-node::before{
  width:4.8px;
  height:4.8px;
  margin-left:-2.4px;
  margin-top:-2.4px;
  background:radial-gradient(circle,#edf8ff 0%,#8cccff 55%,#2f78e8 100%);
  box-shadow:0 0 2.5px rgba(134,200,255,.42);
}

.op-gmap-node:hover::before{
  background:radial-gradient(circle,#ffffff 0%,#a8dcff 55%,#4f97ff 100%);
  box-shadow:0 0 4px rgba(168,220,255,.54);
}

.op-gmap-node.owned::before{
  width:4.8px;
  height:4.8px;
  margin-left:-2.4px;
  margin-top:-2.4px;
  background:radial-gradient(circle,#edf8ff 0%,#8cccff 55%,#2f78e8 100%);
  box-shadow:0 0 2.5px rgba(134,200,255,.42);
}

.op-gmap-node.current::before{
  width:7px;
  height:7px;
  margin-left:-3.5px;
  margin-top:-3.5px;
  background:radial-gradient(circle,#f0fff8 0%,#6fffc0 55%,#1ca866 100%);
  box-shadow:0 0 5px rgba(111,255,192,.48);
}

.op-gmap-node.trade::before{
  width:7px;
  height:7px;
  margin-left:-3.5px;
  margin-top:-3.5px;
  background:radial-gradient(circle,#fff8df 0%,#ffd36f 55%,#d28b1f 100%);
  box-shadow:0 0 5px rgba(255,211,111,.50);
}

.op-gmap-node.event{
  width:20px !important;
  height:20px !important;
  margin-left:-10px !important;
  margin-top:-10px !important;
  transform:scale(var(--op-gmap-hit-scale,1));
}

.op-gmap-node.event:hover{
  transform:scale(var(--op-gmap-hit-scale,1));
}

.op-gmap-node.selected{
  outline:1px solid rgba(238,248,255,.72);
  outline-offset:1px;
}

.op-gmap-event-marker{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  border-radius:999px;
  background:radial-gradient(circle,#fff0d7 0%,var(--op-event-color,#ff9d3f) 55%,#a94f09 100%);
  box-shadow:0 0 5px var(--op-event-color,#ff9d3f);
  display:block;
}


/* Galaxy Map – Unified Standard Visuals
   Public Live-Karte und Admin-Lab nutzen dieselbe ruhige Live-Renderer-Optik.
   Normale/Frontier-Systeme werden gleich dargestellt, damit es keine zweite
   verwaschene System-Kategorie mehr gibt.
*/
.op-gmap-stage{
  --op-gmap-hit-scale:1;
}

.op-gmap-node,
.op-gmap-node.frontier{
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  border:0;
  border-radius:999px;
  background:transparent;
  transform:scale(var(--op-gmap-hit-scale,1));
  transform-origin:center;
  transition:none !important;
  filter:none !important;
}

.op-gmap-node:hover,
.op-gmap-node.frontier:hover{
  transform:scale(var(--op-gmap-hit-scale,1));
  filter:none !important;
}

.op-gmap-node::before,
.op-gmap-node.free::before,
.op-gmap-node.owned::before,
.op-gmap-node.frontier::before{
  width:6px;
  height:6px;
  margin-left:-3px;
  margin-top:-3px;
  border-radius:999px;
  background:radial-gradient(circle,#f5fbff 0%,#8ccdff 52%,#2f78e8 100%);
  box-shadow:0 0 2px rgba(134,200,255,.24);
}

.op-gmap-node:hover::before,
.op-gmap-node.free:hover::before,
.op-gmap-node.owned:hover::before,
.op-gmap-node.frontier:hover::before{
  background:radial-gradient(circle,#ffffff 0%,#9dd7ff 52%,#3e86ee 100%);
  box-shadow:0 0 2.6px rgba(157,215,255,.30);
}

.op-gmap-node.current::before{
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  background:radial-gradient(circle,#f0fff8 0%,#6fffc0 52%,#1ca866 100%);
  box-shadow:0 0 4px rgba(111,255,192,.32);
}

.op-gmap-node.trade::before{
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  background:radial-gradient(circle,#fff8df 0%,#ffd36f 52%,#d28b1f 100%);
  box-shadow:0 0 4px rgba(255,211,111,.34);
}

.op-gmap-node.selected{
  outline:1px solid rgba(238,248,255,.74);
  outline-offset:1px;
}

.op-gmap-event-marker{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  border-radius:999px;
  background:radial-gradient(circle,#fff0d7 0%,var(--op-event-color,#ff9d3f) 55%,#a94f09 100%);
  box-shadow:0 0 4px var(--op-event-color,#ff9d3f);
  display:block;
}

/* Unified Galaxy Renderer – Stufe 7
   Eine gemeinsame Standard-Optik für Admin-Lab-Live-Renderer und /galaxy.
   Sichtbarer Stern und Klickfläche bleiben gekoppelt über dieselben CSS-Variablen.
   Frontier/neue Systeme erhalten keine eigene Glow-Kategorie mehr.
*/
.op-gmap-stage,
.gp-live-renderer-stage{
  --op-gmap-hit-scale:1;
  --op-gmap-system-size:6px;
  --op-gmap-system-half:-3px;
  --op-gmap-system-glow:0 0 2.4px rgba(134,200,255,.30);
  --op-gmap-system-glow-hover:0 0 3px rgba(157,215,255,.34);
  --op-gmap-trade-size:8px;
  --op-gmap-trade-half:-4px;
  --op-gmap-current-size:8px;
  --op-gmap-current-half:-4px;
}

.op-gmap-node,
.op-gmap-node.free,
.op-gmap-node.owned,
.op-gmap-node.frontier,
.gp-live-renderer-stage .op-gmap-node,
.gp-live-renderer-stage .op-gmap-node.free,
.gp-live-renderer-stage .op-gmap-node.owned,
.gp-live-renderer-stage .op-gmap-node.frontier{
  position:absolute;
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  border:0;
  border-radius:999px;
  padding:0;
  cursor:pointer;
  touch-action:none;
  background:transparent !important;
  transform:scale(var(--op-gmap-hit-scale,1));
  transform-origin:center;
  transition:none !important;
  filter:none !important;
  box-shadow:none !important;
}

.op-gmap-node:hover,
.op-gmap-node.free:hover,
.op-gmap-node.owned:hover,
.op-gmap-node.frontier:hover,
.gp-live-renderer-stage .op-gmap-node:hover,
.gp-live-renderer-stage .op-gmap-node.free:hover,
.gp-live-renderer-stage .op-gmap-node.owned:hover,
.gp-live-renderer-stage .op-gmap-node.frontier:hover{
  transform:scale(var(--op-gmap-hit-scale,1));
  filter:none !important;
  box-shadow:none !important;
}

.op-gmap-node::before,
.op-gmap-node.free::before,
.op-gmap-node.owned::before,
.op-gmap-node.frontier::before,
.gp-live-renderer-stage .op-gmap-node::before,
.gp-live-renderer-stage .op-gmap-node.free::before,
.gp-live-renderer-stage .op-gmap-node.owned::before,
.gp-live-renderer-stage .op-gmap-node.frontier::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:var(--op-gmap-system-size);
  height:var(--op-gmap-system-size);
  margin-left:var(--op-gmap-system-half);
  margin-top:var(--op-gmap-system-half);
  border-radius:999px;
  background:radial-gradient(circle,#f6fbff 0%,#8ccdff 52%,#2f78e8 100%);
  box-shadow:var(--op-gmap-system-glow);
  transform:none !important;
}

.op-gmap-node:hover::before,
.op-gmap-node.free:hover::before,
.op-gmap-node.owned:hover::before,
.op-gmap-node.frontier:hover::before,
.gp-live-renderer-stage .op-gmap-node:hover::before,
.gp-live-renderer-stage .op-gmap-node.free:hover::before,
.gp-live-renderer-stage .op-gmap-node.owned:hover::before,
.gp-live-renderer-stage .op-gmap-node.frontier:hover::before{
  background:radial-gradient(circle,#ffffff 0%,#9dd7ff 52%,#3e86ee 100%);
  box-shadow:var(--op-gmap-system-glow-hover);
}

.op-gmap-node.current::before,
.gp-live-renderer-stage .op-gmap-node.current::before{
  width:var(--op-gmap-current-size);
  height:var(--op-gmap-current-size);
  margin-left:var(--op-gmap-current-half);
  margin-top:var(--op-gmap-current-half);
  background:radial-gradient(circle,#f0fff8 0%,#6fffc0 52%,#1ca866 100%);
  box-shadow:0 0 4px rgba(111,255,192,.32);
}

.op-gmap-node.trade::before,
.gp-live-renderer-stage .op-gmap-node.trade::before{
  width:var(--op-gmap-trade-size);
  height:var(--op-gmap-trade-size);
  margin-left:var(--op-gmap-trade-half);
  margin-top:var(--op-gmap-trade-half);
  background:radial-gradient(circle,#fff8df 0%,#ffd36f 52%,#d28b1f 100%);
  box-shadow:0 0 4px rgba(255,211,111,.34);
}

.op-gmap-node.selected,
.gp-live-renderer-stage .op-gmap-node.selected{
  outline:1px solid rgba(238,248,255,.74);
  outline-offset:1px;
}

.op-gmap-node.event,
.gp-live-renderer-stage .op-gmap-node.event{
  width:20px !important;
  height:20px !important;
  margin-left:-10px !important;
  margin-top:-10px !important;
  transform:scale(var(--op-gmap-hit-scale,1));
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

.op-gmap-node.event:hover,
.gp-live-renderer-stage .op-gmap-node.event:hover{
  transform:scale(var(--op-gmap-hit-scale,1));
  filter:none !important;
}

.op-gmap-event-marker,
.gp-live-renderer-stage .op-gmap-event-marker{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  margin-top:-4px;
  border-radius:999px;
  background:radial-gradient(circle,#fff0d7 0%,var(--op-event-color,#ff9d3f) 55%,#a94f09 100%);
  box-shadow:0 0 4px var(--op-event-color,#ff9d3f);
  display:block;
}

.gp-live-renderer-viewport{
  background:
    radial-gradient(circle at 50% 50%,rgba(9,18,42,.40) 0%,rgba(5,10,26,.94) 72%,rgba(2,6,18,1) 100%) !important;
}


/* Unified Galaxy Renderer – Stufe 8
   Feinschliff: etwas größere Systempunkte bei starkem Zoom, dezenter Hover-Ring
   ohne Springen und ein gemeinsamer Quickinfo-Look für Admin-Lab und /galaxy.
   Keine Backend-/Koordinatenänderung.
*/
.op-gmap-stage,
.gp-live-renderer-stage{
  --op-gmap-hit-scale:1;
  --op-gmap-system-size:7.2px;
  --op-gmap-system-half:-3.6px;
  --op-gmap-system-glow:0 0 2.8px rgba(134,200,255,.34);
  --op-gmap-system-glow-hover:0 0 4px rgba(168,220,255,.48);
  --op-gmap-trade-size:8.8px;
  --op-gmap-trade-half:-4.4px;
  --op-gmap-current-size:8.8px;
  --op-gmap-current-half:-4.4px;
}

.op-gmap-node,
.op-gmap-node.free,
.op-gmap-node.owned,
.op-gmap-node.frontier,
.gp-live-renderer-stage .op-gmap-node,
.gp-live-renderer-stage .op-gmap-node.free,
.gp-live-renderer-stage .op-gmap-node.owned,
.gp-live-renderer-stage .op-gmap-node.frontier{
  width:20px;
  height:20px;
  margin-left:-10px;
  margin-top:-10px;
  transform:scale(var(--op-gmap-hit-scale,1));
  transform-origin:center;
  transition:none !important;
  filter:none !important;
  box-shadow:none !important;
  contain:layout paint style;
}

.op-gmap-node::before,
.op-gmap-node.free::before,
.op-gmap-node.owned::before,
.op-gmap-node.frontier::before,
.gp-live-renderer-stage .op-gmap-node::before,
.gp-live-renderer-stage .op-gmap-node.free::before,
.gp-live-renderer-stage .op-gmap-node.owned::before,
.gp-live-renderer-stage .op-gmap-node.frontier::before{
  width:var(--op-gmap-system-size);
  height:var(--op-gmap-system-size);
  margin-left:var(--op-gmap-system-half);
  margin-top:var(--op-gmap-system-half);
  border-radius:999px;
  background:radial-gradient(circle,#f8fcff 0%,#9bd7ff 50%,#3d8bf0 100%);
  box-shadow:var(--op-gmap-system-glow);
  transform:none !important;
}

.op-gmap-node::after,
.op-gmap-node.free::after,
.op-gmap-node.owned::after,
.op-gmap-node.frontier::after,
.gp-live-renderer-stage .op-gmap-node::after,
.gp-live-renderer-stage .op-gmap-node.free::after,
.gp-live-renderer-stage .op-gmap-node.owned::after,
.gp-live-renderer-stage .op-gmap-node.frontier::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:14px;
  margin-left:-7px;
  margin-top:-7px;
  border-radius:999px;
  border:1px solid rgba(190,226,255,.72);
  opacity:0;
  pointer-events:none;
  box-shadow:none;
}

.op-gmap-node:hover,
.op-gmap-node:focus-visible,
.op-gmap-node.is-hovered,
.gp-live-renderer-stage .op-gmap-node:hover,
.gp-live-renderer-stage .op-gmap-node:focus-visible,
.gp-live-renderer-stage .op-gmap-node.is-hovered{
  transform:scale(var(--op-gmap-hit-scale,1));
  filter:none !important;
  box-shadow:none !important;
}

.op-gmap-node:hover::before,
.op-gmap-node:focus-visible::before,
.op-gmap-node.is-hovered::before,
.op-gmap-node.free:hover::before,
.op-gmap-node.owned:hover::before,
.op-gmap-node.frontier:hover::before,
.gp-live-renderer-stage .op-gmap-node:hover::before,
.gp-live-renderer-stage .op-gmap-node:focus-visible::before,
.gp-live-renderer-stage .op-gmap-node.is-hovered::before,
.gp-live-renderer-stage .op-gmap-node.free:hover::before,
.gp-live-renderer-stage .op-gmap-node.owned:hover::before,
.gp-live-renderer-stage .op-gmap-node.frontier:hover::before{
  background:radial-gradient(circle,#ffffff 0%,#b8e5ff 50%,#5aa7ff 100%);
  box-shadow:var(--op-gmap-system-glow-hover);
}

.op-gmap-node:hover::after,
.op-gmap-node:focus-visible::after,
.op-gmap-node.is-hovered::after,
.gp-live-renderer-stage .op-gmap-node:hover::after,
.gp-live-renderer-stage .op-gmap-node:focus-visible::after,
.gp-live-renderer-stage .op-gmap-node.is-hovered::after{
  opacity:1;
}

.op-gmap-node.current::before,
.gp-live-renderer-stage .op-gmap-node.current::before{
  width:var(--op-gmap-current-size);
  height:var(--op-gmap-current-size);
  margin-left:var(--op-gmap-current-half);
  margin-top:var(--op-gmap-current-half);
  background:radial-gradient(circle,#f0fff8 0%,#77ffc4 52%,#1ca866 100%);
  box-shadow:0 0 4.5px rgba(111,255,192,.42);
}

.op-gmap-node.current::after,
.gp-live-renderer-stage .op-gmap-node.current::after{
  width:17px;
  height:17px;
  margin-left:-8.5px;
  margin-top:-8.5px;
  border-color:rgba(145,255,207,.78);
}

.op-gmap-node.trade::before,
.gp-live-renderer-stage .op-gmap-node.trade::before{
  width:var(--op-gmap-trade-size);
  height:var(--op-gmap-trade-size);
  margin-left:var(--op-gmap-trade-half);
  margin-top:var(--op-gmap-trade-half);
  background:radial-gradient(circle,#fff9e3 0%,#ffd879 52%,#d28b1f 100%);
  box-shadow:0 0 5px rgba(255,216,121,.48);
}

.op-gmap-node.trade::after,
.gp-live-renderer-stage .op-gmap-node.trade::after{
  width:17px;
  height:17px;
  margin-left:-8.5px;
  margin-top:-8.5px;
  border-color:rgba(255,216,121,.76);
}

.op-gmap-node.selected::after,
.gp-live-renderer-stage .op-gmap-node.selected::after{
  opacity:1;
  border-color:rgba(255,255,255,.86);
}

.op-gmap-node.selected,
.gp-live-renderer-stage .op-gmap-node.selected{
  outline:0 !important;
}

.op-gmap-tooltip,
.gp-live-renderer-tooltip{
  position:absolute;
  z-index:40;
  min-width:130px;
  max-width:260px;
  padding:7px 9px;
  border:1px solid rgba(125,211,252,.34);
  border-radius:10px;
  background:rgba(5,10,26,.94);
  box-shadow:0 10px 22px rgba(0,0,0,.34);
  color:#eaf6ff;
  font-size:11px;
  line-height:1.35;
  font-weight:750;
  pointer-events:none;
  transform:translate(12px,12px);
  opacity:0;
  visibility:hidden;
  white-space:normal;
}

.op-gmap-tooltip.is-visible,
.gp-live-renderer-tooltip.is-visible{
  opacity:1;
  visibility:visible;
}

.op-gmap-tooltip .muted,
.gp-live-renderer-tooltip .muted{
  display:block;
  margin-top:2px;
  color:rgba(216,232,255,.72);
  font-size:10px;
  font-weight:700;
}

@media (prefers-reduced-motion: reduce){
  .op-gmap-node,
  .gp-live-renderer-stage .op-gmap-node{
    transition:none !important;
  }
}


/* Unified Galaxy Renderer – Stufe 10
   Korrektur nach Special-Point-Design: Stufe-8-Hover/Quickinfo bleibt erhalten,
   Special Points werden minimal größer und bekommen denselben ruhigen Hover-Ring.
*/
.op-gmap-node.event,
.gp-live-renderer-stage .op-gmap-node.event{
  width:22px !important;
  height:22px !important;
  margin-left:-11px !important;
  margin-top:-11px !important;
  transform:scale(var(--op-gmap-hit-scale,1));
  transition:none !important;
  filter:none !important;
}

.op-gmap-node.event::after,
.gp-live-renderer-stage .op-gmap-node.event::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  border-radius:999px;
  border:1px solid var(--op-event-color,rgba(190,226,255,.72));
  opacity:0;
  pointer-events:none;
  box-shadow:none;
}

.op-gmap-node.event:hover::after,
.op-gmap-node.event:focus-visible::after,
.op-gmap-node.event.is-hovered::after,
.gp-live-renderer-stage .op-gmap-node.event:hover::after,
.gp-live-renderer-stage .op-gmap-node.event:focus-visible::after,
.gp-live-renderer-stage .op-gmap-node.event.is-hovered::after{
  opacity:.86;
}

.op-gmap-event-marker,
.gp-live-renderer-stage .op-gmap-event-marker{
  width:9px;
  height:9px;
  margin-left:-4.5px;
  margin-top:-4.5px;
  box-shadow:0 0 4.5px var(--op-event-color,#ff9d3f);
}

.gp-live-renderer-stage .op-gmap-node.event > span:not(.op-gmap-event-marker){
  filter:none !important;
}

/* Unified Galaxy Renderer – Stufe 11
   Kein Fallback: Stufe-8-Hover bleibt erhalten und das Symbol-Design der Special Points
   wird wieder klar typbasiert hergestellt. Diese Regeln sind streng auf Galaxy-Map-Nodes
   und die Admin-Lab-Legende beschränkt.
*/
.op-gmap-node.event[class*="op-special-"],
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]{
  width:24px !important;
  height:24px !important;
  margin-left:-12px !important;
  margin-top:-12px !important;
  transform:scale(var(--op-gmap-hit-scale,1));
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  overflow:visible;
}

.op-gmap-node.event[class*="op-special-"]::before,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]::before{
  display:none !important;
}

.op-gmap-node.event[class*="op-special-"]::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:20px;
  margin-left:-10px;
  margin-top:-10px;
  border-radius:999px;
  border:1px solid var(--op-special-ring,rgba(190,226,255,.72));
  opacity:0;
  pointer-events:none;
  box-shadow:none;
}

.op-gmap-node.event[class*="op-special-"]:hover::after,
.op-gmap-node.event[class*="op-special-"]:focus-visible::after,
.op-gmap-node.event[class*="op-special-"].is-hovered::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]:hover::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]:focus-visible::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"].is-hovered::after{
  opacity:.88;
}

.op-gmap-node.event[class*="op-special-"] > span,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"] > span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  display:block !important;
  box-sizing:border-box !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none;
}

.op-gmap-node.event.op-special-anomaly,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly{
  --op-special-ring:rgba(255,157,63,.72);
}
.op-gmap-node.event.op-special-wreck,
.gp-live-renderer-stage .op-gmap-node.event.op-special-wreck{
  --op-special-ring:rgba(174,182,200,.72);
}
.op-gmap-node.event.op-special-pirate,
.gp-live-renderer-stage .op-gmap-node.event.op-special-pirate{
  --op-special-ring:rgba(255,92,122,.74);
}
.op-gmap-node.event.op-special-alien_signal,
.gp-live-renderer-stage .op-gmap-node.event.op-special-alien_signal{
  --op-special-ring:rgba(118,255,214,.72);
}
.op-gmap-node.event.op-special-faction_convoy,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy{
  --op-special-ring:rgba(140,183,255,.72);
}

.op-gmap-node.event.op-special-anomaly > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly > span{
  width:13px !important;
  height:13px !important;
  margin-left:-6.5px !important;
  margin-top:-6.5px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,190,103,.72) !important;
  background:
    radial-gradient(circle at 38% 34%,#fff0d7 0%,#ffbf66 28%,#ff9d3f 52%,#8d4308 100%) !important;
  box-shadow:0 0 6px rgba(255,157,63,.58) !important;
}

.op-gmap-node.event.op-special-wreck > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-wreck > span{
  width:12px !important;
  height:12px !important;
  margin-left:-6px !important;
  margin-top:-6px !important;
  border-radius:2px !important;
  transform:rotate(45deg) !important;
  border:1px solid rgba(224,231,242,.68) !important;
  background:linear-gradient(135deg,#f2f6ff 0%,#aeb6c8 48%,#566072 100%) !important;
  box-shadow:0 0 5px rgba(174,182,200,.48) !important;
}

.op-gmap-node.event.op-special-pirate > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-pirate > span{
  width:13px !important;
  height:12px !important;
  margin-left:-6.5px !important;
  margin-top:-6px !important;
  border-radius:1px !important;
  border:0 !important;
  clip-path:polygon(50% 0%,100% 100%,0% 100%) !important;
  background:linear-gradient(180deg,#ffe2e8 0%,#ff5c7a 42%,#8f1830 100%) !important;
  box-shadow:0 0 5px rgba(255,92,122,.52) !important;
}

.op-gmap-node.event.op-special-alien_signal > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-alien_signal > span{
  width:14px !important;
  height:14px !important;
  margin-left:-7px !important;
  margin-top:-7px !important;
  border-radius:999px !important;
  border:1.5px solid rgba(118,255,214,.82) !important;
  background:
    radial-gradient(circle at 50% 50%,#e8fff8 0%,#76ffd6 22%,rgba(118,255,214,.10) 34%,rgba(0,0,0,0) 64%) !important;
  box-shadow:0 0 7px rgba(118,255,214,.42) !important;
}

.op-gmap-node.event.op-special-faction_convoy > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span{
  width:18px !important;
  height:10px !important;
  margin-left:-9px !important;
  margin-top:-5px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.op-gmap-node.event.op-special-faction_convoy > span::before,
.op-gmap-node.event.op-special-faction_convoy > span::after,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::before,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::after{
  content:"";
  position:absolute;
  top:50%;
  width:8.5px;
  height:8.5px;
  margin-top:-4.25px;
  border-radius:999px;
  background:radial-gradient(circle,#eef5ff 0%,#8cb7ff 52%,#1f4f9b 100%);
  box-shadow:0 0 5px rgba(140,183,255,.50);
}

.op-gmap-node.event.op-special-faction_convoy > span::before,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::before{
  left:1px;
}

.op-gmap-node.event.op-special-faction_convoy > span::after,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::after{
  right:1px;
}

.op-gmap-node.event.op-special-event > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-event > span,
.op-gmap-node.event:not([class*="op-special-"]) > span,
.gp-live-renderer-stage .op-gmap-node.event:not([class*="op-special-"]) > span{
  width:12px !important;
  height:12px !important;
  margin-left:-6px !important;
  margin-top:-6px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,190,103,.70) !important;
  background:radial-gradient(circle,#fff0d7 0%,#ff9d3f 52%,#a94f09 100%) !important;
  box-shadow:0 0 5px rgba(255,157,63,.48) !important;
}

.admin-galaxy-lab-legend .op-special-legend-icon{
  position:relative;
  display:inline-block;
  width:15px;
  height:15px;
  margin-right:5px;
  vertical-align:middle;
}

.admin-galaxy-lab-legend .op-special-legend-icon::before,
.admin-galaxy-lab-legend .op-special-legend-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  box-sizing:border-box;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-anomaly::before{
  width:10px;
  height:10px;
  margin-left:-5px;
  margin-top:-5px;
  border-radius:999px;
  border:1px solid rgba(255,190,103,.72);
  background:radial-gradient(circle at 38% 34%,#fff0d7 0%,#ffbf66 28%,#ff9d3f 52%,#8d4308 100%);
  box-shadow:0 0 5px rgba(255,157,63,.58);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-wreck::before{
  width:9px;
  height:9px;
  margin-left:-4.5px;
  margin-top:-4.5px;
  border-radius:2px;
  transform:rotate(45deg);
  border:1px solid rgba(224,231,242,.68);
  background:linear-gradient(135deg,#f2f6ff 0%,#aeb6c8 48%,#566072 100%);
  box-shadow:0 0 5px rgba(174,182,200,.48);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-pirate::before{
  width:11px;
  height:10px;
  margin-left:-5.5px;
  margin-top:-5px;
  clip-path:polygon(50% 0%,100% 100%,0% 100%);
  background:linear-gradient(180deg,#ffe2e8 0%,#ff5c7a 42%,#8f1830 100%);
  box-shadow:0 0 5px rgba(255,92,122,.52);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-alien_signal::before{
  width:11px;
  height:11px;
  margin-left:-5.5px;
  margin-top:-5.5px;
  border-radius:999px;
  border:1.4px solid rgba(118,255,214,.82);
  background:radial-gradient(circle at 50% 50%,#e8fff8 0%,#76ffd6 22%,rgba(118,255,214,.10) 34%,rgba(0,0,0,0) 64%);
  box-shadow:0 0 5px rgba(118,255,214,.42);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::before,
.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::after{
  width:7px;
  height:7px;
  margin-top:-3.5px;
  border-radius:999px;
  background:radial-gradient(circle,#eef5ff 0%,#8cb7ff 52%,#1f4f9b 100%);
  box-shadow:0 0 5px rgba(140,183,255,.50);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::before{
  margin-left:-7px;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::after{
  margin-left:0;
}


/* Special Point Polish – Stufe 12
   Kein Fallback: baut auf der aktuellen Symbol-Optik auf.
   Ziel: Anomalie wieder als organische orange Kugel, Konvoi klarer unterscheidbar,
   Hover-Ring sauberer und weniger abgeschnitten.
*/
.op-gmap-stage,
.gp-live-renderer-stage{
  --op-special-anomaly-ring:rgba(255,168,72,.84);
  --op-special-convoy-ring:rgba(163,108,255,.80);
}

.op-gmap-node.event[class*="op-special-"],
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]{
  width:28px !important;
  height:28px !important;
  margin-left:-14px !important;
  margin-top:-14px !important;
  overflow:visible !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

.op-gmap-node.event[class*="op-special-"]::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]::after{
  width:24px !important;
  height:24px !important;
  margin-left:-12px !important;
  margin-top:-12px !important;
  border-width:1.6px !important;
  opacity:0;
  box-shadow:0 0 5px var(--op-special-ring,rgba(190,226,255,.42)) !important;
}

.op-gmap-node.event[class*="op-special-"]:hover::after,
.op-gmap-node.event[class*="op-special-"]:focus-visible::after,
.op-gmap-node.event[class*="op-special-"].is-hovered::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]:hover::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"]:focus-visible::after,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"].is-hovered::after{
  opacity:.95 !important;
}

.op-gmap-node.event[class*="op-special-"] > span,
.gp-live-renderer-stage .op-gmap-node.event[class*="op-special-"] > span{
  overflow:visible !important;
}

.op-gmap-node.event.op-special-anomaly,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly{
  --op-special-ring:var(--op-special-anomaly-ring);
}

.op-gmap-node.event.op-special-anomaly > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly > span{
  width:15px !important;
  height:15px !important;
  margin-left:-7.5px !important;
  margin-top:-7.5px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,194,103,.88) !important;
  clip-path:none !important;
  background:
    radial-gradient(circle at 34% 30%,#fff4cd 0%,#ffd08a 17%,#ff9d3f 38%,#a45210 66%,#3a1805 100%) !important;
  box-shadow:
    inset -2px -2px 3px rgba(42,15,0,.72),
    inset 1.5px 1px 2px rgba(255,235,188,.55),
    0 0 5px rgba(255,157,63,.54) !important;
}

.op-gmap-node.event.op-special-anomaly > span::before,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly > span::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:7px;
  margin-left:-9px;
  margin-top:-3.5px;
  border-radius:999px;
  border:1px solid rgba(255,182,83,.42);
  border-left-color:rgba(255,211,130,.78);
  border-right-color:rgba(89,38,9,.10);
  transform:rotate(-18deg);
  pointer-events:none;
  box-shadow:0 0 3px rgba(255,157,63,.30);
}

.op-gmap-node.event.op-special-anomaly > span::after,
.gp-live-renderer-stage .op-gmap-node.event.op-special-anomaly > span::after{
  content:"";
  position:absolute;
  left:3.3px;
  top:3px;
  width:3px;
  height:2.4px;
  border-radius:999px;
  background:rgba(255,245,205,.85);
  pointer-events:none;
}

.op-gmap-node.event.op-special-faction_convoy,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy{
  --op-special-ring:var(--op-special-convoy-ring);
}

.op-gmap-node.event.op-special-faction_convoy > span,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span{
  width:21px !important;
  height:12px !important;
  margin-left:-10.5px !important;
  margin-top:-6px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,rgba(164,104,255,.18),rgba(255,211,111,.34),rgba(91,225,255,.18)) !important;
  box-shadow:0 0 4px rgba(164,104,255,.34) !important;
}

.op-gmap-node.event.op-special-faction_convoy > span::before,
.op-gmap-node.event.op-special-faction_convoy > span::after,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::before,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::after{
  content:"";
  position:absolute;
  top:50%;
  width:8.5px;
  height:8.5px;
  margin-top:-4.25px;
  border-radius:3px;
  transform:rotate(45deg);
  border:1px solid rgba(225,240,255,.70);
  box-sizing:border-box;
}

.op-gmap-node.event.op-special-faction_convoy > span::before,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::before{
  left:1px;
  background:radial-gradient(circle,#f4efff 0%,#a66bff 52%,#4d2496 100%);
  box-shadow:0 0 5px rgba(166,107,255,.62);
}

.op-gmap-node.event.op-special-faction_convoy > span::after,
.gp-live-renderer-stage .op-gmap-node.event.op-special-faction_convoy > span::after{
  right:1px;
  background:radial-gradient(circle,#fff8dc 0%,#ffd36f 48%,#a56512 100%);
  box-shadow:0 0 5px rgba(255,211,111,.52);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-anomaly::before{
  width:12px !important;
  height:12px !important;
  margin-left:-6px !important;
  margin-top:-6px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,194,103,.88) !important;
  background:radial-gradient(circle at 34% 30%,#fff4cd 0%,#ffd08a 17%,#ff9d3f 38%,#a45210 66%,#3a1805 100%) !important;
  box-shadow:
    inset -1.5px -1.5px 2.5px rgba(42,15,0,.72),
    0 0 4px rgba(255,157,63,.54) !important;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-anomaly::after{
  width:15px !important;
  height:6px !important;
  margin-left:-7.5px !important;
  margin-top:-3px !important;
  border-radius:999px;
  border:1px solid rgba(255,182,83,.45);
  border-left-color:rgba(255,211,130,.78);
  border-right-color:rgba(89,38,9,.10);
  transform:rotate(-18deg);
  background:transparent;
  box-shadow:0 0 3px rgba(255,157,63,.22);
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy{
  width:20px;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::before,
.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::after{
  width:7.5px !important;
  height:7.5px !important;
  margin-top:-3.75px !important;
  border-radius:3px !important;
  transform:rotate(45deg) !important;
  border:1px solid rgba(225,240,255,.70);
  box-sizing:border-box;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::before{
  margin-left:-8px !important;
  background:radial-gradient(circle,#f4efff 0%,#a66bff 52%,#4d2496 100%) !important;
  box-shadow:0 0 4px rgba(166,107,255,.62) !important;
}

.admin-galaxy-lab-legend .op-special-legend-icon.op-special-faction_convoy::after{
  margin-left:1px !important;
  background:radial-gradient(circle,#fff8dc 0%,#ffd36f 48%,#a56512 100%) !important;
  box-shadow:0 0 4px rgba(255,211,111,.52) !important;
}
