/* One local atlas is shared by every chart and reading. Keep fixed hit areas. */
.planet-body {
  --sprite-column: 0;
  --sprite-row: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}
.planet-body::before, .planet-body > .planet-detail,
.planet-body > .planet-face { display: none; }
.planet-sprite { position: absolute; inset: -10%; overflow: hidden; pointer-events: none; }
.planet-artwork {
  position: absolute;
  width: 300%;
  height: 300%;
  max-width: none;
  left: calc(var(--sprite-column) * -100%);
  top: calc(var(--sprite-row) * -100%);
  user-select: none;
}
.planet-moon { --sprite-column: 1; }
.planet-mars { --sprite-column: 2; }
.planet-mercury { --sprite-row: 1; }
.planet-jupiter { --sprite-row: 1; --sprite-column: 1; }
.planet-venus { --sprite-row: 1; --sprite-column: 2; }
.planet-saturn { --sprite-row: 2; }
.planet-rahu { --sprite-row: 2; --sprite-column: 1; }
.planet-ketu { --sprite-row: 2; --sprite-column: 2; }
/* Saturn's wide ring needs a slightly wider crop than the other atlas cells. */
.planet-saturn .planet-artwork { width: 280%; }
.planet-body > .planet-arm { z-index: -1; border-color: #b28a52; }
.large-planet { width: 104px; height: 104px; }
.planet-stage { min-height: 190px; }
.procession-planet { width: 54px; height: 54px; }
.large-planet .planet-sprite { animation: character-drift 5s ease-in-out infinite; }
.planet-character-right .planet-sprite { animation-delay: -2.5s; }
@keyframes character-drift {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
}
@media (max-width: 560px) {
  .large-planet { width: 78px; height: 78px; }
  .planet-stage { min-height: 160px; }
  .procession-planet { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .large-planet .planet-sprite { animation: none; }
}
@media print {
  .planet-sprite { animation: none !important; transform: none !important; }
}
