/* Astrolinia Engine / shared atmospheric artwork.
 * Only the decorative layers animate; planetary coordinates never move.
 * The original approved dashboard composition remains unchanged. */
.ae-app:not(.ae-app--overview) .ae-main{
  position:relative;
  isolation:isolate;
  background-color:#fff9f6;
  background-image:
    linear-gradient(110deg,rgba(255,255,255,.61),rgba(255,255,255,.36) 52%,rgba(255,255,255,.48)),
    url("../img/engine-user-pastel-clouds.e6136c5ff9b5.webp");
  background-position:center,center;
  background-size:cover,cover;
  background-repeat:no-repeat;
}
.ae-app:not(.ae-app--overview) .ae-main > :not(.ae-workspace-ambient){
  position:relative;z-index:1;
}
.ae-workspace-ambient{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;pointer-events:none;user-select:none;
  contain:layout paint;
}
.ae-workspace-ambient__orbit{
  position:absolute;display:block;border-radius:50%;
  border:1px solid rgba(127,66,137,.20);
  border-left-color:rgba(164,84,156,.08);
  border-bottom-color:rgba(174,100,164,.11);
  box-shadow:0 0 1px rgba(118,64,120,.15);
  transform-origin:center;
}
.ae-workspace-ambient__orbit::after{
  content:"";position:absolute;top:14%;left:20%;
  width:4px;height:4px;border-radius:50%;
  background:#bb82b1;box-shadow:0 0 9px rgba(177,100,158,.48)
}
.ae-workspace-ambient__orbit--far{
  top:9%;right:-12%;width:58%;height:42%;
  transform:rotate(-23deg);
  animation:ae-shared-orbit-far 150s linear infinite;
}
.ae-workspace-ambient__orbit--near{
  bottom:4%;left:5%;width:43%;height:28%;
  border-color:rgba(161,86,140,.13);
  transform:rotate(22deg);
  animation:ae-shared-orbit-near 190s linear infinite reverse;
}
.ae-workspace-ambient__spark{
  display:block;position:absolute;width:3px;height:3px;
  border-radius:50%;background:rgba(147,77,133,.64);
  box-shadow:0 0 8px rgba(188,129,175,.38);
  animation:ae-shared-spark 8s ease-in-out infinite alternate;
}
.ae-workspace-ambient__spark--a{top:17%;left:29%;animation-delay:-3s}
.ae-workspace-ambient__spark--b{top:76%;left:84%;animation-delay:-7s}
.ae-workspace-ambient__spark--c{top:48%;left:8%;animation-delay:-2s}
.ae-workspace-ambient__spark--d{top:92%;left:59%;animation-delay:-5s}
@keyframes ae-shared-orbit-far{from{transform:rotate(-23deg)}to{transform:rotate(337deg)}}
@keyframes ae-shared-orbit-near{from{transform:rotate(22deg)}to{transform:rotate(382deg)}}
@keyframes ae-shared-spark{from{opacity:.3}to{opacity:.8}}

/* Aspects Now: preserve the true ephemeris geometry, but use the
 * approved atmosphere and larger type rather than a tiny technical report. */
.ae-app--aspects .ae-aspect-atlas{
  background:linear-gradient(145deg,rgba(255,253,253,.92),rgba(255,248,252,.76) 66%,rgba(249,237,246,.76));
  border-color:rgba(221,191,211,.80);
  box-shadow:0 9px 24px rgba(91,48,77,.075);
}
.ae-app--aspects .ae-aspect-atlas__intro p:not(.ae-card__eyebrow){
  font-size:clamp(12px,.86vw,14px);
  line-height:1.43;color:#67435d;
}
.ae-app--aspects .ae-aspect-story{
  flex:0 0 auto;
  min-height:0;
  overflow:visible;
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(255,249,252,.92));
  box-shadow:0 3px 12px rgba(88,44,67,.065);
}
.ae-app--aspects .ae-aspect-story__section{
  margin-top:9px;padding-top:10px;
}
.ae-app--aspects .ae-aspect-story__section small{
  font-size:clamp(11px,.76vw,13px);
  font-weight:800;color:#643253;
  margin-bottom:5px;
}
.ae-app--aspects .ae-aspect-story__section p{
  font-size:clamp(13px,.88vw,15px);
  line-height:1.52;color:#5b3b51;
}
.ae-app--aspects .ae-aspect-story__section--symbolic{
  margin-top:9px;padding:10px 12px;
}
.ae-app--aspects .ae-aspect-story__precise{
  margin-top:9px;padding-top:0;
}
.ae-app--aspects .ae-aspect-story__precise small{font-size:clamp(10px,.67vw,12px)}
.ae-app--aspects .ae-aspect-story__precise strong{font-size:clamp(14px,1vw,17px)}
.ae-app--aspects .ae-aspect-story h3{font-size:clamp(20px,1.4vw,25px)}
.ae-app--aspects .ae-aspect-story__type{font-size:clamp(12px,.76vw,14px)}
/* Leave 15px breathing room above “ODKRYWAJ WŁASNYM TEMPEM”.
   Keep this in the FINAL stylesheet; this file is loaded after aspects.css. */
.ae-app--aspects .ae-aspect-gallery{margin-top:15px}
.ae-app--aspects .ae-aspect-gallery__copy strong{
  font-size:clamp(11px,.78vw,13px)
}
.ae-app--aspects .ae-aspect-gallery__copy small{
  font-size:clamp(10px,.66vw,12px);
  line-height:1.32;
}
/* User-supplied dark cosmos directly behind the wheel. No extra
 * shadow, duplicate star field or fake planets are painted by CSS. */
/* One shared cosmic cloud backdrop for both tools.
 * Change engine-aspects-cosmic-night.webp ONCE to update both maps. */
.ae-app--aspects .ae-aspect-sky,
.ae-app--sky .ae-aspect-sky,
.ae-app--solar .ae-solar__visual,
.ae-app--lunar .ae-lunar__visual{
  background-color:#291329;
  background-image:
    linear-gradient(180deg,rgba(37,14,40,.12),rgba(37,13,47,.2)),
    url("../img/engine-aspects-cosmic-night.f4fd2702e301.webp");
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat;
  border:1px solid rgba(87,40,82,.55);
  box-shadow:none;
}
.ae-app--aspects .ae-aspect-sky__dust{display:none}
.ae-app--aspects .ae-aspect-sky__wheel{
  filter:none;drop-shadow:none;
}
/* A narrow cool-colored line visibly crosses both ivory and gold. */
.ae-app--aspects .ae-aspect-sky__line-glow{
  stroke:#ed4db9;stroke-width:3.6;opacity:.23;
  filter:url(#ae-aspect-soft-glow)
}
.ae-app--aspects .ae-aspect-sky__line{
  stroke:#d51e95;stroke-width:1.55;
  stroke-linecap:round;
  filter:drop-shadow(0 0 .85px rgba(32,7,44,.9));
}
.ae-app--aspects .ae-aspect-sky__endpoint{
  r:12;stroke:#d42b9a;stroke-width:1.25;
  fill:rgba(255,255,255,.03);
  filter:none;
}
.ae-app--aspects .ae-aspect-sky__edge.is-active .ae-aspect-sky__endpoint{
  filter:none;
}
.ae-app--aspects .ae-aspect-sky__legend{
  background:rgba(48,16,54,.87);
  border-color:rgba(228,151,204,.34);
  color:#ffefff;font-size:clamp(11px,.73vw,13px);
}
/* Do not sacrifice legibility on shorter monitors. */
@media(min-width:1060px) and (max-height:800px){
  .ae-app--aspects .ae-aspect-story__section p{
    font-size:clamp(12px,.79vw,14px);line-height:1.36
  }
  .ae-app--aspects .ae-aspect-story__section small{font-size:11px}
  .ae-app--aspects .ae-aspect-story__section--symbolic{padding:7px 9px}
  .ae-app--aspects .ae-aspect-story__section{margin-top:5px;padding-top:6px}
  .ae-app--aspects .ae-aspect-story__precise{margin-top:6px}
  .ae-app--aspects .ae-aspect-story h3{font-size:clamp(18px,1.35vw,23px)}
}
@media(min-width:1060px) and (max-height:649px){
  .ae-app--aspects .ae-aspect-story__section p{
    font-size:12px;line-height:1.26
  }
  .ae-app--aspects .ae-aspect-story__section small{font-size:10px}
  .ae-app--aspects .ae-aspect-story__section{margin-top:4px;padding-top:4px}
  .ae-app--aspects .ae-aspect-story__section--symbolic{padding:6px 8px}
  .ae-app--aspects .ae-aspect-story__precise{margin-top:4px}
}
@media(max-width:1059px){
  .ae-app:not(.ae-app--overview) .ae-main{background-attachment:scroll}
  .ae-app--aspects .ae-aspect-story{flex:0 0 auto}
}
@media(prefers-reduced-motion:reduce){
  .ae-workspace-ambient__orbit,.ae-workspace-ambient__spark{
    animation:none!important
  }
}

/* V4.6: Continuous cloud canvas, from sidebar to outer edge.
 * Earlier clouds were restricted to .ae-main and faded by a near-white veil.
 * The peripheral orbital layer is masked away from text and controls. */
.ae-app:not(.ae-app--overview) .ae-content{
  position:relative;
  isolation:isolate;
  background-color:#f6e9f4;
  background-image:
    linear-gradient(122deg,rgba(255,251,253,.08),rgba(255,247,255,.19) 50%,rgba(255,251,253,.08)),
    url("../img/engine-user-pastel-clouds.e6136c5ff9b5.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.ae-app:not(.ae-app--overview) .ae-main{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  isolation:isolate;
  background:transparent;
}
/* Render at the outer margins of the workspace, not in an invisible layer
 * behind the panels. A horizontal mask avoids overlapping information. */
.ae-app:not(.ae-app--overview) .ae-workspace-ambient{
  z-index:3;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 5%,transparent 15%,transparent 85%,#000 95%,#000 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 5%,transparent 15%,transparent 85%,#000 95%,#000 100%);
}
.ae-app:not(.ae-app--overview) .ae-main > :not(.ae-workspace-ambient){
  position:relative;
  z-index:1;
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__orbit{
  border-width:1.5px;
  border-color:rgba(140,69,143,.52);
  border-left-color:rgba(153,70,153,.15);
  border-bottom-color:rgba(131,59,143,.3);
  box-shadow:0 0 3px rgba(134,54,136,.08),inset 0 0 4px rgba(171,83,150,.06);
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__orbit::after{
  width:6px;height:6px;
  background:#a54c98;
  box-shadow:0 0 9px rgba(133,44,139,.7);
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__orbit--far{
  top:2%;right:-27%;width:55%;height:87%;
  animation-duration:95s;
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__orbit--near{
  top:14%;bottom:auto;left:-25%;width:51%;height:75%;
  animation-duration:115s;
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__spark{
  width:4px;height:4px;
  background:#b15a9d;
  box-shadow:0 0 8px rgba(179,73,153,.7);
}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__spark--a{left:3%;top:19%}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__spark--b{left:96%;top:34%}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__spark--c{left:5%;top:77%}
.ae-app:not(.ae-app--overview) .ae-workspace-ambient__spark--d{left:95%;top:86%}
.ae-app--aspects .ae-aspect-atlas{
  background:transparent;
  border:0;
  box-shadow:none;
}
/* Common purple-panel orbital animation: add ae-cosmic-orbit-panel to
 * another right-hand panel to inherit these exact two moving ellipses.
 * Orbits are visual decoration, NEVER computed physical planetary paths. */
.ae-app .ae-cosmic-orbit-panel::before,
.ae-app .ae-cosmic-orbit-panel::after{
  content:"";
  display:block;
  position:absolute;
  pointer-events:none;
  z-index:0;
  top:9%;left:-14%;
  width:130%;height:79%;
  border:1px solid rgba(242,165,211,.35);
  border-left-color:rgba(236,164,221,.12);
  border-radius:50%;
  background:none;
  opacity:.68;
  transform:rotate(-20deg);
  animation:ae-aspects-sky-orbit 85s linear infinite;
}
.ae-app .ae-cosmic-orbit-panel::after{
  top:18%;left:-20%;width:142%;height:65%;
  border-color:rgba(226,166,211,.18);
  border-top-color:rgba(255,224,248,.49);
  opacity:.55;
  animation-duration:115s;
  animation-direction:reverse;
}
/* The Solar page scrolls its purple pane independently. Keep the animated
 * layer behind cards/links without introducing new scrollbars. */
.ae-app:is(.ae-app--solar,.ae-app--lunar) .ae-cosmic-orbit-panel{isolation:isolate}
.ae-app:is(.ae-app--solar,.ae-app--lunar) .ae-cosmic-orbit-panel > *{
  position:relative;
  z-index:1;
}
.ae-app--aspects .ae-aspect-sky__wheel,
.ae-app--aspects .ae-aspect-sky__legend{
  position:relative;
  z-index:1;
}
@keyframes ae-aspects-sky-orbit{
  from{transform:rotate(-20deg)}
  to{transform:rotate(340deg)}
}
@media(max-width:1059px){
  .ae-app:not(.ae-app--overview) .ae-workspace-ambient{
    z-index:0;
    -webkit-mask-image:none;
    mask-image:none;
    opacity:.7;
  }
  .ae-app:not(.ae-app--overview) .ae-main > :not(.ae-workspace-ambient){z-index:1}
}
@media(prefers-reduced-motion:reduce){
  .ae-app .ae-cosmic-orbit-panel::before,
  .ae-app .ae-cosmic-orbit-panel::after{
    animation:none;
  }
}


/* V4.7: softly frosted white interpretation card, exactly 50% opacity.
 * Only the card's fill is translucent; all text/icons stay fully opaque. */
.ae-app--aspects .ae-aspect-story{
  background:rgba(255,255,255,.5);
}
.ae-app--aspects .ae-aspect-atlas__freshness-status.is-stale{
  color:#a3484b;
}

/* V4.8: a visible frosted-glass silhouette on near-white cloud wallpaper.
   Still exactly 50% white fill; the border/shadow provide the separation. */
.ae-app--aspects .ae-aspect-story{
  background-color:rgba(255,255,255,.5);
  background-image:none;
  border:1px solid rgba(131,67,117,.38);
  box-shadow:0 6px 22px rgba(79,33,72,.17),
             inset 0 1px 0 rgba(255,255,255,.76);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}

/* Shared selectable planet highlight. Both Sky & Planets and Aspects Now
 * use the exact same red-plum hover, keyboard focus and pinned focus state.
 * Change colors HERE once for every map using engine_shared_sky_wheel.html.
 * Selection without hover intentionally retains its softer gold emphasis. */
.ae-app:is(.ae-app--aspects,.ae-app--sky) .ae-aspect-sky__planet:is(:hover,:focus-visible,.is-focused) .ae-aspect-sky__planet-halo{
  stroke:#b1387c;
  stroke-width:3;
  filter:drop-shadow(0 0 8px #edbf7d);
}
.ae-app:is(.ae-app--aspects,.ae-app--sky) .ae-aspect-sky__planet:is(:hover,:focus-visible,.is-focused) .ae-aspect-sky__planet-disc{
  stroke:#ffe1a7;
  stroke-width:2;
}


/* Observatory header: ONE reference design, based on Niebo i planety.
   Four tools share the same geometry, typography and status layout.
   Keep this authoritative definition at the end of the shared stylesheet. */
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__intro,.ae-sky-atlas__intro){
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:clamp(6px,.7vw,12px);
  padding:0 1px 7px;
  margin:0;
  border-bottom:1px solid rgba(178,114,154,.20);
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__intro>div:first-child,.ae-sky-atlas__intro-copy){
  flex:1 1 0;
  min-width:0;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__intro .ae-card__eyebrow,.ae-sky-atlas__intro .ae-sky-atlas__eyebrow){
  display:block;
  font:800 9px/1.2 "Segoe UI",sans-serif;
  letter-spacing:.12em;
  color:#a3738c;
  margin:0 0 4px;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__intro h1,.ae-sky-atlas__intro h2){
  display:block;
  color:#5d214b;
  font:normal clamp(23px,1.95vw,32px)/1.14 Georgia,"Times New Roman",serif;
  letter-spacing:0;
  margin:2px 0 4px;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__intro>div:first-child>p:not(.ae-card__eyebrow),.ae-sky-atlas__intro-copy>p:not(.ae-sky-atlas__eyebrow)){
  display:block;
  max-width:260px;
  font:10px/1.35 "Segoe UI",sans-serif;
  color:#8a677e;
  margin:5px 0 0;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__freshness,.ae-sky-atlas__snapshot){
  flex:0 1 185px;
  min-width:0;
  max-width:54%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  text-align:right;
  white-space:normal;
  margin:0;
  padding:0;
  color:#69425d;
  background:transparent;
  border:0;
  border-radius:0;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__freshness-status,.ae-sky-atlas__freshness-status){
  justify-content:flex-end;
  max-width:100%;
  font:800 clamp(10px,.68vw,12px)/1.25 "Segoe UI",sans-serif;
  color:#377a4a;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__freshness-time,.ae-sky-atlas__calculated){
  color:#86667a;
  font:700 clamp(10px,.66vw,12px)/1.25 "Segoe UI",sans-serif;
  font-variant-numeric:tabular-nums;
}
.ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  :is(.ae-aspect-atlas__freshness>small,.ae-sky-atlas__snapshot>small){
  color:#95758b;
  font:normal clamp(9px,.6vw,11px)/1.3 "Segoe UI",sans-serif;
  overflow-wrap:break-word;
  max-width:100%;
}
.ae-app--sky .ae-sky-atlas__freshness-status.is-stale,
.ae-app--lunar .ae-sky-atlas__freshness-status.is-stale,
.ae-app--solar .ae-sky-atlas__freshness-status.is-stale,
.ae-app--aspects .ae-aspect-atlas__freshness-status.is-stale{
  color:#a3484b;
}
.ae-app:is(.ae-app--sky,.ae-app--solar,.ae-app--lunar)
  .ae-sky-atlas__refresh{
  font-size:11px;
  font-weight:700;
  line-height:1.2;
}
@media(min-width:1060px) and (max-height:790px){
  .ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
    :is(.ae-aspect-atlas__intro h1,.ae-sky-atlas__intro h2){
    font-size:22px;
  }
}
@media(max-width:1420px){
  .ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
    :is(.ae-aspect-atlas__intro,.ae-sky-atlas__intro){
    flex-wrap:wrap;
  }
  .ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
    :is(.ae-aspect-atlas__freshness,.ae-sky-atlas__snapshot){
    flex-basis:100%;
    max-width:100%;
    margin-left:auto;
  }
  .ae-app:is(.ae-app--aspects,.ae-app--sky,.ae-app--solar,.ae-app--lunar)
    :is(.ae-aspect-atlas__intro>div:first-child>p:not(.ae-card__eyebrow),.ae-sky-atlas__intro-copy>p:not(.ae-sky-atlas__eyebrow)){
    max-width:none;
  }
}
