/* Named-world and minor-body treatment layered over the base orrery. */
.atlas-body-icon{pointer-events:none}
.atlas-earth-disc{fill:#4e817e;stroke:#bad0c5;stroke-width:.9}
.atlas-earth-land{fill:none;stroke:#d9d0a5;stroke-width:.9;stroke-linecap:round;opacity:.9}
.atlas-earth-atmosphere{fill:none;stroke:#8ab8bd;stroke-width:1.4;opacity:.45}
.atlas-space-needle{fill:none;stroke:#d5bd82;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}
.atlas-space-needle-tip{fill:#d5bd82}
.atlas-mars-disc{fill:#9a6150;stroke:#d3a58a;stroke-width:.9}
.atlas-mars-detail{fill:none;stroke:#d9b39b;stroke-width:.75;stroke-linecap:round;opacity:.82}
.atlas-mars-cap{fill:#d7cbc0;opacity:.72}

/* Jupiter: readable as Jupiter even at orrery scale. */
.jupiter-dot{opacity:0}
.atlas-jupiter-icon{pointer-events:none}
.jupiter-disc{fill:#b58d61;stroke:#dec39a;stroke-width:.75}
.jupiter-bands{fill:none;stroke:#735c49;stroke-width:.75;stroke-linecap:round;opacity:.88}
.jupiter-storm{fill:#a45f49;stroke:#e0aa87;stroke-width:.35;opacity:.95}

/* Leucus: deliberately misregistered field contours rather than one clean
 * concentric symbol. The object itself stays fixed; only the broken local
 * field solutions precess at unrelated rates. */
.planet-marker.leucus .marker-ring{
  fill:none;stroke:#7f7158;stroke-width:.48;stroke-dasharray:1.1 2.6 4.4 3.8;opacity:.22;
  transform-box:fill-box;transform-origin:center;
  animation:leucus-reference-drift 37s linear infinite
}
.planet-marker.leucus .marker-cross{
  opacity:.16;stroke:#718c87;stroke-width:.46
}
.leucus-anomaly{
  filter:drop-shadow(0 0 2px rgba(111,143,137,.16)) drop-shadow(0 0 2.6px rgba(125,78,54,.13))
}
/* Repurpose the old circular shadow as a third, off-axis ghost contour. */
.leucus-shadow{
  fill:none;stroke:#557c78;stroke-width:.46;stroke-dasharray:1.4 1.1 5.2 2.7 1 4.3;opacity:.34;
  transform-box:fill-box;transform-origin:center;
  animation:leucus-ghost-precess 31s linear infinite
}
.leucus-field{transform-box:fill-box;transform-origin:center}
.leucus-field-outer{animation:leucus-outer-precess 21s linear infinite}
.leucus-field-inner{animation:leucus-inner-precess 14.5s linear infinite reverse}
.leucus-field-ring,.leucus-field-arc{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.leucus-field-ring-outer{
  stroke:#c3a369;stroke-width:.7;stroke-dasharray:4.8 1.15 .55 5.4 1.7 2.6;opacity:.9;
  animation:leucus-dash-a 8s linear infinite
}
.leucus-field-arc-outer{
  stroke:#845744;stroke-width:.72;stroke-dasharray:1.1 2.2 4.1 1.4;opacity:.78;
  transform-box:fill-box;transform-origin:center;
  transform:rotate(24deg) scaleX(1.13) scaleY(.72);
  animation:leucus-dash-b 10.5s linear infinite reverse
}
.leucus-field-ring-inner{
  stroke:#6f9a95;stroke-width:.56;stroke-dasharray:1.7 .9 .45 3.2 3.7 1.6;opacity:.7;
  animation:leucus-dash-c 6.8s linear infinite reverse
}
.leucus-field-arc-inner{
  stroke:#b28d60;stroke-width:.5;stroke-dasharray:3.7 2.4 .65 1.1;opacity:.62;
  transform-box:fill-box;transform-origin:center;
  transform:rotate(-37deg) scaleX(.82) scaleY(1.24);
  animation:leucus-dash-d 12.2s linear infinite
}
.leucus-shear-ticks{
  fill:none;stroke:#a06f51;stroke-width:.72;stroke-linecap:square;opacity:.84;
  transform:rotate(13deg)
}
/* Remove the circular iris reading: leave only a skewed broken boundary around
 * the fixed irregular hull, and suppress the old vertical pupil/slit. */
.leucus-void-rim{
  fill:none;stroke:#bca06a;stroke-width:.58;stroke-dasharray:2.1 1.2 .5 2.8;opacity:.58;
  transform-box:fill-box;transform-origin:center;
  transform:translate(-.35px,.25px) rotate(-31deg) scaleX(.78) scaleY(1.16)
}
.leucus-core-hull{
  fill:#020506;stroke:#865941;stroke-width:.76;stroke-linejoin:bevel;opacity:1;
  transform:translate(-.25px,.18px) rotate(11deg);
  filter:drop-shadow(0 0 1px rgba(194,157,99,.18))
}
.leucus-core-slit{opacity:0}
.leucus-lock-spark{
  fill:#d7bd84;stroke:#f8e9bb;stroke-width:.16;opacity:.68;
  filter:drop-shadow(0 0 1px rgba(215,189,132,.48))
}
.planet-marker.leucus.is-selected .marker-ring,
.planet-marker.leucus:hover .marker-ring,
.planet-marker.leucus:focus-visible .marker-ring{opacity:.5;stroke:#b99c69}
.planet-marker.leucus.is-selected .leucus-field-ring-outer,
.planet-marker.leucus:hover .leucus-field-ring-outer,
.planet-marker.leucus:focus-visible .leucus-field-ring-outer{stroke:#d5b879;opacity:1}
@keyframes leucus-outer-precess{
  from{transform:translate(.8px,-.55px) rotate(0deg) scaleX(1.05) scaleY(.74)}
  to{transform:translate(.8px,-.55px) rotate(360deg) scaleX(1.05) scaleY(.74)}
}
@keyframes leucus-inner-precess{
  from{transform:translate(-.75px,.65px) rotate(0deg) scaleX(.76) scaleY(1.2)}
  to{transform:translate(-.75px,.65px) rotate(360deg) scaleX(.76) scaleY(1.2)}
}
@keyframes leucus-ghost-precess{
  from{transform:translate(.35px,.65px) rotate(0deg) scaleX(1.42) scaleY(.63)}
  to{transform:translate(.35px,.65px) rotate(-360deg) scaleX(1.42) scaleY(.63)}
}
@keyframes leucus-reference-drift{
  from{transform:translate(-.55px,-.2px) rotate(17deg) scaleX(1.18) scaleY(.86)}
  to{transform:translate(-.55px,-.2px) rotate(377deg) scaleX(1.18) scaleY(.86)}
}
@keyframes leucus-dash-a{to{stroke-dashoffset:-18}}
@keyframes leucus-dash-b{to{stroke-dashoffset:-13}}
@keyframes leucus-dash-c{to{stroke-dashoffset:-15}}
@keyframes leucus-dash-d{to{stroke-dashoffset:-11}}
@media(prefers-reduced-motion:reduce){
  .planet-marker.leucus .marker-ring,.leucus-shadow,.leucus-field-outer,.leucus-field-inner,
  .leucus-field-ring-outer,.leucus-field-arc-outer,.leucus-field-ring-inner,.leucus-field-arc-inner{animation:none}
}
.world-label-anchor.is-selected .marker-label{fill:#d1b47d}

.minor-landmark{pointer-events:none}
.minor-landmark .minor-orbit-dot{fill:#c6b989;stroke:#776b50;stroke-width:.55}
.minor-landmark .minor-label{fill:#aeb5a6;font-size:6.4px;letter-spacing:1.05px}
.minor-landmark .minor-subtitle{fill:#74867c;font-size:4.7px;letter-spacing:.75px}
.minor-landmark.vesta .minor-orbit-dot{fill:#a99f88}

/* Named-body labels are presentation only; the actual marker hit target owns input. */
.named-trojan{pointer-events:auto}
.named-trojan .trojan-core{fill:#c2a66d;stroke:#e0ca9a;stroke-width:.65}
.named-trojan .trojan-ring{fill:none;stroke:#b99d69;stroke-width:.55;stroke-dasharray:2 2;opacity:.78}
.named-trojan.agamemnon .trojan-core{fill:#101719;stroke:#c7a96f;stroke-width:.75}
.named-trojan.agamemnon .trojan-glyph{fill:none;stroke:#c7a96f;stroke-width:.7}
.named-trojan .minor-label{fill:#d1bb8f;font-size:6.4px;letter-spacing:1.05px}
.named-trojan .minor-subtitle{fill:#8b8e7d;font-size:4.6px;letter-spacing:.7px}
.trojan-label-leader{fill:none;stroke:#8f815f;stroke-width:.5;opacity:.8}
.trojan-label-hit{fill:transparent;stroke:none;pointer-events:none}

.planet-marker.earth .planet-dot,.planet-marker.mars .planet-dot{opacity:0}
.planet-marker.earth.is-selected .atlas-earth-disc,.planet-marker.earth:hover .atlas-earth-disc{stroke:#e1c98e}
.planet-marker.mars.is-selected .atlas-mars-disc,.planet-marker.mars:hover .atlas-mars-disc{stroke:#e1c98e}

/* Main Belt is an economic-region selector, not a route node. Its glyph now
 * reads as a statistical band instrument rather than a pile of literal rocks. */
.main-belt-region{cursor:pointer}
.main-belt-region .marker-hit{fill:transparent;pointer-events:all}
.belt-region-icon{pointer-events:none}
.belt-region-bands{fill:none;stroke:#8fa19a;stroke-width:.62;stroke-dasharray:3.2 2.1;opacity:.78}
.belt-region-brackets{fill:none;stroke:#c3aa72;stroke-width:.76;stroke-linecap:square;opacity:.9}
.belt-region-node{fill:#b7a078;opacity:.78}
.main-belt-region .marker-label{fill:#d2c29a;letter-spacing:1.1px}
.main-belt-region .marker-subtitle{fill:#879990;letter-spacing:.7px}
.main-belt-region .marker-leader{stroke:#8e805e}
.main-belt-region:hover .belt-region-bands,.main-belt-region:focus-visible .belt-region-bands,.main-belt-region.is-selected .belt-region-bands{stroke:#d7bd80;opacity:1}
.main-belt-region:hover .belt-region-brackets,.main-belt-region:focus-visible .belt-region-brackets,.main-belt-region.is-selected .belt-region-brackets{stroke:#e0c583}
.main-belt-region:hover .marker-label,.main-belt-region:focus-visible .marker-label,.main-belt-region.is-selected .marker-label{fill:#e0c583}
.main-belt-region:focus-visible{outline:none}

/* Schematic statistical band for the Main Belt. */
.belt-guide{fill:none;stroke:#8c846d;stroke-width:.42;stroke-dasharray:1.2 4.8;opacity:.16;pointer-events:none}
.belt-guide-1{stroke:#708982;stroke-dasharray:4.6 7.2;opacity:.13}
