/* Silver light, shaded satellites, and a slightly less cooperative geometry. */
.cosmos { pointer-events:none; }
.eclipse {
  opacity:1;
  border-color:rgba(241,239,232,.34);
  background:
    radial-gradient(ellipse at 28% 20%,rgba(238,234,220,.16),rgba(192,188,175,.055) 26%,transparent 57%),
    radial-gradient(circle at 36% 30%,#393834 0%,#2b2a27 12%,#1c1c1a 28%,#121211 44%,#0b0b0b 61%,#070707 78%,#050505 100%);
  box-shadow:inset 12px 16px 26px -23px rgba(255,252,237,.8),inset -35px -24px 70px rgba(0,0,0,.72),0 0 24px rgba(229,225,207,.065),0 0 85px rgba(229,225,207,.055);
}
.eclipse::before {
  content:""; position:absolute; inset:-35%; border-radius:50%; z-index:-1;
  background:radial-gradient(ellipse at 48% 47%,transparent 31%,rgba(240,235,219,.008) 39%,rgba(240,235,219,.028) 42%,rgba(240,235,219,.065) 44%,rgba(240,235,219,.035) 48%,rgba(240,235,219,.016) 54%,rgba(240,235,219,.005) 63%,transparent 74%);
}

.corona-dither {
  position:absolute; inset:-28%; border-radius:50%; opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.93' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23d)' d='M0 0h128v128H0z'/%3E%3C/svg%3E");
  mask-image:radial-gradient(circle,#000 20%,rgba(0,0,0,.8) 43%,transparent 70%);
  mix-blend-mode:normal;
}
.celestial-field { position:absolute; inset:0; }
.celestial-wander { position:absolute; left:var(--x); top:var(--y); width:var(--size); aspect-ratio:1; animation:moon-wander var(--duration) ease-in-out infinite alternate; animation-delay:var(--delay); }
.celestial-body {
  display:block; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(ellipse at 29% 24%,#e1ded3 0%,#aaa79e 10%,#77756f 25%,#41413e 44%,#1d1e1c 65%,#090909 85%);
  box-shadow:inset 1px 1px 1px rgba(255,255,240,.32),inset -2px -2px 3px #000,0 0 14px rgba(225,223,205,.06);
  opacity:var(--light,.8);
}
.celestial-body::before { content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(ellipse at 39% 52%,rgba(0,0,0,.4) 0 7%,transparent 11%),radial-gradient(ellipse at 62% 34%,rgba(0,0,0,.25) 0 5%,transparent 10%); }
.celestial-body--ringed::after { content:""; position:absolute; inset:33% -65%; border:1px solid rgba(219,215,199,.45); border-radius:50%; transform:rotate(-27deg); box-shadow:0 2px 0 rgba(219,215,199,.14); }
.celestial-body--dark { --light:.6; transform:rotate(145deg); }
.celestial-body--ice { filter:brightness(1.18); transform:rotate(-24deg); }
@keyframes moon-wander { 0% { transform:translate3d(-1.3vw,1.1vh,0) rotate(-9deg); } 48% { transform:translate3d(2vw,-2.1vh,0) rotate(5deg); } 100% { transform:translate3d(4.5vw,1.7vh,0) rotate(16deg); } }
.polygon-circuits { position:absolute; left:50%; top:48%; width:min(100vw,1300px); aspect-ratio:1; overflow:visible; perspective:1800px; transform:translate(-50%,-50%) rotateX(55deg) rotateY(-35deg); transform-style:preserve-3d; }
.polygon-path { fill:none; stroke:rgba(233,230,215,.19); stroke-width:1; vector-effect:non-scaling-stroke; stroke-linejoin:bevel; }
.polygon-tracer { fill:#e9e6d7; opacity:.85; }
.polygon-rotor { position:absolute; inset:0; transform-origin:50% 50%; transform-style:preserve-3d; }
.polygon-fold { position:absolute; inset:0; transform-origin:50% 50%; transform-style:preserve-3d; transform:scale(var(--response-scale,.96)); }
.polygon-response { position:absolute; inset:0; transform-origin:50% 50%; transform-style:preserve-3d; }
.polygon-spin { position:absolute; inset:0; transform-origin:50% 50%; transform-style:preserve-3d; animation:polygon-turn var(--turn) linear infinite; animation-delay:-29s; will-change:transform; }
.polygon-surface { display:block; width:100%; height:100%; overflow:visible; }
/* The common spin is rigid; each child keeps its own orbital plane. */
.polygon-conjunction { position:absolute; inset:0; transform-origin:50% 50%; transform-style:preserve-3d; animation:conjunction-precession 260s linear infinite; animation-delay:-31s; will-change:transform; }
.polygon-conjunction .polygon-path { stroke-width:1.35; }
.polygon-rotor--a .polygon-path { stroke:rgba(130,235,95,.62); }
.polygon-rotor--a .polygon-tracer { fill:#b1ff83; }
.polygon-rotor--triangle { transform:rotateY(90deg); }

.polygon-rotor--triangle .polygon-spin { animation-direction:reverse; animation-delay:-61s; }
.polygon-rotor--triangle .polygon-path { stroke:rgba(198,121,255,.65); }
.polygon-rotor--triangle .polygon-tracer { fill:#dfaaff; }
@keyframes polygon-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
.polygon-rotor--hexagon { transform:rotateX(90deg); }
.polygon-rotor--hexagon .polygon-spin { animation-delay:-47s; }
.polygon-rotor--hexagon .polygon-path { stroke:rgba(112,214,237,.62); }
.polygon-rotor--hexagon .polygon-tracer { fill:#b1f3ff; }
.polygon-rotor--red { transform:rotateX(48deg) rotateY(-32deg); }
.polygon-rotor--red .polygon-spin { animation-direction:reverse; animation-delay:-23s; }
.polygon-rotor--red .polygon-path { stroke:rgba(255,77,87,.76); stroke-width:1.6; }
.polygon-rotor--red .polygon-tracer { fill:#ff9c9c; }
@keyframes conjunction-precession { from { transform:rotateZ(-12deg); } to { transform:rotateZ(348deg); } }
.cosmos[data-motion="paused"] .polygon-conjunction,.cosmos[data-motion="paused"] .polygon-fold,.cosmos[data-motion="paused"] .polygon-spin { animation-play-state:paused; }
.cosmos[data-motion="paused"] .celestial-wander { animation-play-state:paused; }
/* Paint the little tail once; only its transform and opacity change. */
.comet-field { position:absolute; inset:0; }
.comet-track { position:absolute; left:var(--x); top:var(--y); width:1px; height:1px; transform:rotate(var(--angle)); }
.comet { display:block; position:absolute; width:clamp(44px,7vw,110px); height:1px; opacity:0; background:linear-gradient(90deg,transparent,rgba(241,239,232,.16) 35%,rgba(241,239,232,.9)); animation:comet-flight var(--period) linear infinite; animation-delay:var(--delay); }
.comet::after { content:""; position:absolute; right:-1px; top:-1px; width:3px; height:3px; border-radius:50%; background:#f1efe8; box-shadow:0 0 5px rgba(241,239,232,.5); }
@keyframes comet-flight {
  0%,76% { opacity:0; transform:translate3d(-8vw,0,0); }
  79% { opacity:.78; }
  85% { opacity:.55; }
  88%,100% { opacity:0; transform:translate3d(30vw,0,0); }
}
.cosmos[data-motion="paused"] .comet { animation-play-state:paused; }
/* Distant eyes: translucent silver drawings, never a foreground overlay.
   The central falloff leaves the headline and its supporting copy quiet. */
.cosmic-eyes {
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
  mask-image:radial-gradient(ellipse 36% 32% at 50% 51%,transparent 18%,rgba(0,0,0,.25) 64%,#000 100%);
}
.cosmic-watcher {
  position:absolute; left:var(--wx); top:var(--wy); width:var(--watch-size);
  aspect-ratio:72/44; opacity:var(--watch-light);
  transform:translate(-50%,-50%) rotate(var(--watch-turn));
  animation:watcher-emerge var(--watch-period) ease-in-out infinite;
  animation-delay:var(--watch-phase);
}
.cosmic-watcher svg {
  display:block; width:100%; height:100%; overflow:visible;
  transform-origin:center;
  animation:watcher-blink var(--blink-period) ease-in-out infinite;
  animation-delay:var(--watch-phase);
}
.watcher-sclera { fill:rgba(218,223,220,.23); stroke:rgba(226,231,225,.52); stroke-width:.8; }
.watcher-lid { stroke:#d7ddd7; stroke-width:1.3; }
.watcher-iris { fill:#687b73; stroke:#c3cfc6; stroke-width:.85; }
.watcher-rays { stroke:#c6d2c7; stroke-width:4; stroke-dasharray:.65 2; }
.watcher-pupil { fill:#010303; }
.watcher-glint { fill:#f0f3e9; }
@keyframes watcher-emerge {
  0%,100% { opacity:0; }
  18%,62% { opacity:var(--watch-light); }
  80% { opacity:0; }
}
@keyframes watcher-blink {
  0%,44%,48%,100% { transform:scaleY(1); }
  46% { transform:scaleY(.035); }
}
.cosmos[data-motion="paused"] .cosmic-watcher,
.cosmos[data-motion="paused"] .cosmic-watcher svg { animation-play-state:paused; }
@media(max-width:760px) {
  .cosmic-watcher { left:var(--mobile-x); width:calc(var(--watch-size) * .7); }
  .cosmic-watcher:nth-child(n+25) { display:none; }
  .cosmic-eyes { mask-image:radial-gradient(ellipse 39% 27% at 50% 49%,transparent 22%,#000 100%); }
  .celestial-wander:nth-child(n+5) { display:none; }
  .celestial-wander { width:calc(var(--size) * .72); }
  .celestial-wander:nth-child(3) { top:94%; left:78%; }
  .eclipse { width:82vw; }
  .polygon-circuits { width:160vw; opacity:.72; }
  .polygon-conjunction .polygon-path { stroke-width:1.15; }
  .comet-track:nth-child(3) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .cosmic-watcher,.cosmic-watcher svg { animation:none!important; }
  .cosmic-watcher { opacity:calc(var(--watch-light) * .65); }
  .celestial-wander,.polygon-rotor,.polygon-fold,.polygon-spin,.polygon-conjunction { animation:none!important; }
  .polygon-conjunction { transform:rotateZ(-12deg); }

  .polygon-rotor--triangle { transform:rotateY(90deg); }

  .comet { animation:none!important; }
  .comet-track { display:none; }
}
