/* CSS 3D orbit/inverse-transform adaptation of Julian Garnier's MIT demo.
   See /website-v11/THIRD_PARTY_NOTICES.txt. Original SOS artwork is retained. */
.solar-scene { --tilt:75deg;--bank:-12deg;--system-size:min(92vw,1480px); }
.solar-scene::before { background:radial-gradient(ellipse at 50% 49%,rgba(138,99,54,.07),transparent 47%)!important; }
.solar-center { position:absolute;left:50%;top:49%;width:0;height:0;transform-style:preserve-3d; }
.solar-system { position:absolute;width:0;height:0;transform:rotateZ(var(--bank)) rotateX(var(--tilt));transform-style:preserve-3d; }
.css-orbit { position:absolute;left:0;top:0;width:var(--diameter);height:var(--diameter);margin-left:calc(var(--diameter) / -2);margin-top:calc(var(--diameter) / -2);border:0;outline:.65px solid rgba(131,160,167,.09);border-radius:50%;transform-style:preserve-3d;animation:sos-3d-orbit var(--period) linear infinite;animation-delay:var(--delay); }
.css-orbit--earth { --diameter:var(--system-size);--period:180s;--delay:-17s;--planet-size:clamp(40px,5.5vw,80px); }
.css-orbit--moon { --diameter:calc(var(--system-size) * .73);--period:150s;--delay:-69s;--planet-size:clamp(30px,3.7vw,54px);outline-color:rgba(131,160,167,.06); }
.orbital-position { position:absolute;left:100%;top:50%;width:0;height:0;transform-style:preserve-3d; }
.orbit-counter { width:0;height:0;transform-style:preserve-3d;animation:sos-3d-inverse var(--period) linear infinite;animation-delay:var(--delay); }
/* Undo the revolution first, then the plane tilt and bank. A shaded sphere must
   face the camera at every phase, rather than squash into a flat ellipse. */
.solar-scene .orbiter { position:absolute;left:0;top:0;width:var(--planet-size);height:var(--planet-size);margin-left:calc(var(--planet-size) / -2);margin-top:calc(var(--planet-size) / -2);offset-path:none;offset-distance:0%;animation:none!important;transform:none;will-change:auto; }
.solar-scene .planet-surface { width:100%;height:100%; }
.solar-core { position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d; }
.sun-facing { position:absolute;width:0;height:0;transform:rotateX(calc(-1 * var(--tilt))) rotateZ(calc(-1 * var(--bank)));transform-style:preserve-3d; }
.solar-scene .hero-sun { --sun-size:clamp(250px,36vw,510px);left:0;top:0;width:var(--sun-size);height:var(--sun-size);margin-left:calc(var(--sun-size) / -2);margin-top:calc(var(--sun-size) / -2);transform:none;background:url('/website-v10/sun-atmosphere.webp') center/contain no-repeat;opacity:.28;filter:drop-shadow(0 0 38px rgba(192,121,47,.16));-webkit-mask-image:linear-gradient(112deg,#000 12%,rgba(0,0,0,.85) 57%,rgba(0,0,0,.40) 83%,transparent 100%);mask-image:linear-gradient(112deg,#000 12%,rgba(0,0,0,.85) 57%,rgba(0,0,0,.40) 83%,transparent 100%); }
@keyframes sos-3d-orbit { from{transform:rotateZ(0deg)}to{transform:rotateZ(-360deg)} }
@keyframes sos-3d-inverse { from{transform:rotateZ(0deg) rotateX(calc(-1 * var(--tilt))) rotateZ(calc(-1 * var(--bank)))}to{transform:rotateZ(360deg) rotateX(calc(-1 * var(--tilt))) rotateZ(calc(-1 * var(--bank)))} }
.solar-scene[data-motion='paused'] .css-orbit,.solar-scene[data-motion='paused'] .orbit-counter { animation-play-state:paused; }
@media(max-width:700px){
 .solar-scene { --tilt:58deg;--bank:-16deg;--system-size:calc(165vw - 20px); }
 .css-orbit--earth { --planet-size:40px;--delay:-27s; }
 .css-orbit--moon { --planet-size:30px;--delay:-92s; }
 .solar-scene .hero-sun { --sun-size:min(78vw,305px);opacity:.25; }
}
@media(max-width:360px){
 .solar-scene { --system-size:calc(205vw - 20px); }
 .css-orbit--earth { --delay:-28.5s; }
}
@media(prefers-reduced-motion:reduce){
 .solar-scene .css-orbit,.solar-scene .orbit-counter{animation-play-state:paused!important;animation-duration:var(--period)!important;animation-iteration-count:infinite!important;}
}
