/* ==========================================================================
   Big Three Calculator page
   ========================================================================== */
.vp-astro-hero{
  position:relative;
  overflow:hidden;
  padding: 3.5rem 0;
  background: radial-gradient(ellipse at top, #182a42 0%, #0a1420 55%, #060d16 100%);
  border-bottom: 1px solid var(--vp-border-dark);
}
.vp-astro-stars{
  position:absolute; inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 10% 20%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.5px 1.5px at 80% 30%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 30% 70%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.5px 1.5px at 60% 15%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 90% 80%, rgba(255,255,255,.4), transparent),
    radial-gradient(1.5px 1.5px at 45% 85%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 20% 50%, rgba(255,255,255,.35), transparent),
    radial-gradient(1.5px 1.5px at 70% 55%, rgba(255,255,255,.4), transparent);
  background-repeat: repeat;
  background-size: 220px 220px;
  opacity:.9;
}
.vp-astro-hero h1{
  color:#fff; font-weight:800; font-size: clamp(1.7rem, 3.6vw, 2.4rem);
}
.vp-astro-hero p{ color: rgba(255,255,255,.72); font-size:1.02rem; }
.vp-badge-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  background: rgba(31,214,122,.14); border:1px solid rgba(31,214,122,.35);
  color: var(--vp-green); font-size:.78rem; font-weight:700;
  padding:.35rem .9rem; border-radius:20px; letter-spacing:.02em;
}

.vp-form-title{ color: var(--vp-text); font-weight:800; font-size:1.4rem; }
.vp-form-label{ color: var(--vp-text); font-weight:600; font-size:.86rem; }
.vp-hint{ display:block; color: var(--vp-muted); font-size:.76rem; margin-top:.35rem; }

#bigThreeForm input.vp-search-input{ padding:.6rem .85rem; }
#bigThreeForm .is-invalid{ border-color: var(--vp-red) !important; }

.vp-sparkle{ display:inline-block; }

/* result cards */
.vp-sign-card{
  background: var(--vp-surface);
  border:1px solid var(--vp-border);
  border-radius: var(--vp-radius);
  box-shadow: 0 1px 3px rgba(15,23,42,.05);
  padding: 1.6rem 1.3rem;
  text-align:center;
  height:100%;
}
.vp-sign-icon{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto .9rem; font-size:1.4rem; color:#fff;
}
.vp-sign-sun{ background: linear-gradient(135deg, #f5b942, #e08a1f); }
.vp-sign-moon{ background: linear-gradient(135deg, #6c7cf0, #3a4ab0); }
.vp-sign-rising{ background: linear-gradient(135deg, #1fd67a, #0c7a46); }

.vp-sign-label{ color: var(--vp-muted); font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.vp-sign-symbol{ font-size:2rem; color: var(--vp-green-dark); line-height:1.2; margin-top:.3rem; }
.vp-sign-name{ color: var(--vp-text); font-weight:800; font-size:1.15rem; margin-bottom:.2rem; }
.vp-sign-tag{ color: var(--vp-muted); font-size:.75rem; margin-bottom:.6rem; }
.vp-sign-blurb{ color: var(--vp-muted); font-size:.84rem; margin-bottom:0; line-height:1.5; }

@keyframes vpFadeUp{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}
#bigThreeResults:not(.d-none){ animation: vpFadeUp .45s ease; }

/* AI reading card */
.vp-ai-loading{
  display:flex; align-items:center; color: rgba(255,255,255,.75); font-size:.9rem;
}
.vp-ai-dot{
  width:7px; height:7px; border-radius:50%; background: var(--vp-green);
  display:inline-block; margin-right:4px;
  animation: vpDotPulse 1.1s ease-in-out infinite;
}
.vp-ai-dot:nth-child(2){ animation-delay:.15s; }
.vp-ai-dot:nth-child(3){ animation-delay:.3s; }
@keyframes vpDotPulse{
  0%, 80%, 100%{ opacity:.25; transform: scale(.85); }
  40%{ opacity:1; transform: scale(1); }
}
.vp-ai-reading{
  color: rgba(255,255,255,.88); font-size:.94rem; line-height:1.75;
  white-space: pre-line;
}
.vp-ai-error{ color: rgba(255,255,255,.75); font-size:.88rem; }
.vp-ai-error i{ color: var(--vp-gold); }
