/* astrology.css: the Astrology tab (scripts/build-astrology.mjs): the hub at /astrology, the signs, planets,
   houses and lessons. Tokens only; every colour comes from style.css and cosmic.css. The homepage look:
   violet ground, gold hairlines, cream text, a fine-lined wheel and a few quiet stars. */

/* ---- the hub: heading beside the wheel ---- */
.astro-hero{padding-block:var(--s6) var(--s5)}
.astro-hero-grid{display:grid;gap:var(--s5);align-items:center}
.astro-hero-text{min-width:0}
.astro-hero h1{max-width:18ch}
.astro-notice{color:var(--cream-3)}
.astro-wheel{order:-1;width:min(232px,62vw);justify-self:center;border-radius:var(--r-full);
  background:radial-gradient(closest-side,var(--glow-violet),transparent 72%)}
.astro-wheel svg{display:block;width:100%;height:auto;overflow:visible}
.astro-rings circle{fill:none;stroke:var(--gold-line);stroke-width:1}
.astro-rings .astro-ring-inner{stroke:var(--gold-line-soft)}
.astro-spokes line,.astro-ticks line{stroke:var(--gold-line-soft);stroke-width:1}
.astro-horizon line{stroke:var(--gold-line);stroke-width:1}
.astro-glyphs text{fill:var(--gold-2);font:400 20px/1 'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols2',var(--f-display);text-anchor:middle;dominant-baseline:central}
.astro-houses text{fill:var(--cream-3);font:400 11px/1 var(--f-label);letter-spacing:.08em;text-anchor:middle;dominant-baseline:central}
.astro-sun{fill:var(--gold-2)}
.astro-star{fill:var(--star)}
.astro-star-1{fill:var(--star-3)}
.astro-star-2{fill:var(--star-2)}
@media (prefers-reduced-motion:no-preference){
  .astro-star{animation:astro-twinkle 5s ease-in-out infinite}
  .astro-star-1{animation-delay:-1.7s}
  .astro-star-2{animation-delay:-3.4s;animation-duration:7s}
  .astro-sun{animation:astro-breathe 8s ease-in-out infinite;transform-origin:200px 200px}
}
@keyframes astro-twinkle{0%,100%{opacity:.9}50%{opacity:.25}}
@keyframes astro-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@media (min-width:768px){ .astro-wheel{width:320px} }
@media (min-width:1024px){
  .astro-hero{padding-block:var(--s7) var(--s6)}
  .astro-hero-grid{grid-template-columns:minmax(0,1fr) auto;gap:var(--s8)}
  .astro-wheel{order:0;width:420px}
}

/* ---- the three doors ---- */
.astro-doors{padding-top:0}
.astro-door-list{display:grid;gap:var(--s3)}
.astro-door{display:grid;gap:var(--s2);align-content:start;height:100%;min-height:var(--tap);padding:var(--card-pad);text-decoration:none}
a.astro-door:hover .heading{text-decoration:underline;text-decoration-color:var(--gold-line);text-underline-offset:6px}
.card.astro-door-soon{border-style:dashed}
@media (min-width:768px){ .astro-door-list{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* ---- the library on the hub ---- */
.astro-library{scroll-margin-top:80px}
.astro-group{display:grid;gap:var(--s3);scroll-margin-top:80px}
.astro-group + .astro-group{margin-top:var(--s5)}
.astro-group h3{color:var(--cream)}
.astro-tiles{display:grid;gap:var(--tap-gap);grid-template-columns:minmax(0,1fr)}
.astro-tiles-houses{grid-template-columns:repeat(2,minmax(0,1fr))}
.astro-tile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--s3);align-items:center;
  min-height:64px;height:100%;padding:var(--s2) var(--s3);border:var(--hairline);border-radius:var(--r-m);background:var(--glass);text-decoration:none;
  transition:border-color var(--dur-ui) var(--ease),background-color var(--dur-ui) var(--ease)}
.astro-tile:hover{border-color:var(--gold-2);background-color:var(--glass-hi)}
.astro-tile-glyph{grid-row:1 / span 2;display:grid;place-items:center;width:40px;height:40px;border:var(--hairline);border-radius:var(--r-full);
  color:var(--gold-2);font:400 20px/1 'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols2',var(--f-display)}
.astro-tile-name{font:var(--w-heading) 19px/24px var(--f-display);color:var(--cream)}
.astro-tile .small{grid-column:2}
.astro-tiles-houses .astro-tile{grid-template-columns:minmax(0,1fr)}
.astro-tiles-houses .astro-tile .small{grid-column:1}
.astro-lessons{display:grid;gap:var(--s3)}
.astro-lesson{display:grid;gap:var(--s2);align-content:start;height:100%;padding:var(--card-pad);text-decoration:none}
a.astro-lesson:hover .heading{text-decoration:underline;text-decoration-color:var(--gold-line);text-underline-offset:6px}
@media (min-width:640px){ .astro-tiles{grid-template-columns:repeat(3,minmax(0,1fr))} .astro-lessons{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .astro-tiles{grid-template-columns:repeat(4,minmax(0,1fr))} .astro-lessons{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* ---- a sign, planet, house or lesson ---- */
.astro-layout{display:grid;gap:var(--s6);padding-block:var(--s4) var(--section)}
.astro-head{display:grid;gap:var(--s4);align-items:start}
.astro-head h1{max-width:none}
.astro-ring{display:grid;place-items:center;width:72px;height:72px;border:var(--hairline);border-radius:var(--r-full);
  background:radial-gradient(closest-side,var(--glow-gold-soft),transparent);box-shadow:0 0 32px var(--glow-violet)}
.astro-glyph{color:var(--gold-2);font:400 36px/1 'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols2',var(--f-display)}
.astro-facts{display:grid;gap:0;max-width:var(--measure);margin-top:var(--s2);border-top:var(--hairline)}
.astro-facts div{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:var(--s3);padding-block:10px;border-bottom:var(--soft)}
.astro-facts dt{font:400 var(--t-label)/var(--lh-label) var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);padding-top:3px}
.astro-facts dd{margin:0;color:var(--cream)}
.astro-facts a,.astro-prose a,.astro-related a{color:var(--cream);text-underline-offset:4px;text-decoration-color:var(--gold-line)}
.astro-facts a{display:inline-flex;align-items:center;min-height:var(--tap);margin-block:-10px}
.astro-prose{display:grid;gap:var(--s6)}
.astro-prose > * + *{margin-top:0}
.astro-block{display:grid;gap:var(--s3)}
.astro-block h2{margin:0;font-size:var(--t3);line-height:var(--lh3);font-weight:var(--w-heading)}
.astro-block[data-layer="spiritual"]{padding:var(--s4) var(--s4) var(--s4) var(--s4);border-left:2px solid var(--gold-line);background:linear-gradient(90deg,var(--glass-hi),transparent 85%);border-radius:0 var(--r-m) var(--r-m) 0}
.astro-related{display:grid;gap:var(--s2);max-width:var(--measure);padding-top:var(--s5);border-top:var(--hairline)}
.astro-related h2{font-size:var(--t3);line-height:var(--lh3);font-weight:var(--w-heading)}
.astro-related .links{margin-top:0;display:flex;flex-wrap:wrap;gap:0 var(--s4)}
.astro-related .links a{display:inline-flex;align-items:center;min-height:var(--tap)}
.astro-pager{display:grid;gap:var(--tap-gap);max-width:var(--measure);border-top:var(--soft)}
.astro-pager a{display:grid;gap:var(--s1);min-height:var(--tap);padding-block:var(--s3);text-decoration:none;border-bottom:var(--soft)}
.astro-pager-name{font:400 var(--t4)/var(--lh4) var(--f-display);color:var(--cream)}
.astro-pager a:hover .astro-pager-name{text-decoration:underline;text-decoration-color:var(--gold-line);text-underline-offset:6px}
@media (min-width:640px){
  .astro-pager{grid-template-columns:1fr 1fr;gap:var(--s5)}
  .astro-pager a[rel="next"]{text-align:right}
}
@media (min-width:768px){
  .astro-head{grid-template-columns:auto minmax(0,1fr);gap:var(--s5)}
  .astro-ring{width:96px;height:96px;margin-top:var(--s2)}
  .astro-glyph{font-size:48px}
}
@media (min-width:1024px){ .astro-layout{max-width:880px;gap:var(--s7)} }

/* ---- Sources & Method: discreet, at the foot of every astrology page ---- */
.astro-sources{padding-block:var(--s5) var(--s6);border-top:var(--soft)}
.astro-sources .wrap{display:grid;gap:var(--s2)}
.astro-sources-title{font:400 var(--t-label)/var(--lh-label) var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);text-shadow:none}
.astro-sources a{color:var(--cream-2);text-underline-offset:4px;text-decoration-color:var(--gold-line)}
