/* retrograde.html — extracted inline styles */
/* ── Critical CLS shell ── */
body:has(.retro-hero) {
  --font-display: Georgia, 'Times New Roman', serif;
}
html.ap-fonts-ready body:has(.retro-hero) {
  --font-display: 'Cormorant Garamond', serif;
}
body:has(.retro-hero) .navbar__nav {
  min-height: 44px;
  contain: layout style;
}
.retro-hero h1 {
  font-family: Georgia, 'Times New Roman', serif;
  min-height: 2.3em;
  contain: layout style;
}
html.ap-fonts-ready .retro-hero h1 {
  font-family: var(--font-display, 'Cinzel', serif);
}
.retro-hero .hero-answer {
  font-family: Georgia, 'Times New Roman', serif;
  min-height: 4.8em;
  contain: layout style;
}
html.ap-fonts-ready .retro-hero .hero-answer {
  font-family: var(--font-display, 'Cinzel', serif);
}
.retro-hero .hero-sub {
  min-height: 2.6em;
}
.retro-hero .live-date-badge {
  min-height: 44px;
  contain: layout style;
}
#status-grid.status-grid {
  min-height: 520px;
  contain: layout style;
}
#windows-list.windows-list {
  min-height: 280px;
  contain: layout style;
}
.status-card--skeleton {
  visibility: hidden;
  pointer-events: none;
  min-height: 148px;
}

/* ── Retrograde page premium overrides (matches transits palette) ── */
    :root {
      --void: #08080b;
      --gold: #A8B0BC;
      --gold-light: #E8EBF0;
      --purple: #5C4A6E;
      --white: #E8E0D0;
      --silver: #A89E88;
      --silver-dim: #9A9084;
      --oxblood: #b04a52;
      --surface: rgba(22, 28, 42,0.55);
      --border: rgba(168, 176, 188,0.10);
      --radius-xl: 20px;
      --radius-2xl: 28px;
    }

    /* ── Hero ── */
    .retro-hero {
      padding: calc(var(--nav-height, 72px) + 4rem) 0 3.5rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .retro-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(92, 74, 110,0.18) 0%, transparent 70%);
      pointer-events: none;
      transition: background 0.6s ease;
    }
    .retro-hero--active::before {
      background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(176,74,82,0.26) 0%, transparent 70%);
    }
    .retro-hero__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1.25rem;
    }
    .retro-hero__eyebrow::before,
    .retro-hero__eyebrow::after {
      content: '';
      display: block;
      width: 28px;
      height: 1px;
      background: var(--gold);
      opacity: 0.5;
    }
    .retro-hero h1 {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: clamp(1.9rem, 4.6vw, 3.1rem);
      font-weight: 700;
      color: var(--white);
      line-height: 1.12;
      letter-spacing: 0.03em;
      margin-bottom: 1.75rem;
    }

    /* ── Big live answer ── */
    .hero-answer {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: clamp(1.6rem, 4.4vw, 2.7rem);
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.01em;
      max-width: 720px;
      margin: 0 auto 1.25rem;
      color: var(--gold-light);
      background: linear-gradient(180deg, #f2dfa7 0%, var(--gold) 60%, #8c6a2f 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 0 18px rgba(196,146,10,0.28));
      transition: filter 0.4s ease;
    }
    .hero-answer em { font-style: italic; }
    .hero-answer--retro {
      background: linear-gradient(180deg, #e8a8ad 0%, var(--oxblood) 55%, #6e1a26 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 0 18px rgba(176,74,82,0.35));
    }
    .hero-sub {
      font-size: 1.02rem;
      color: var(--silver);
      max-width: 540px;
      margin: 0 auto 2.25rem;
      line-height: 1.7;
      min-height: 3.4em;
    }

    /* ── Live date badge ── */
    .live-date-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      background: var(--surface);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 0.5rem 1.25rem;
      font-size: 0.78rem;
      color: var(--silver);
      letter-spacing: 0.04em;
    }
    .live-date-badge__dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #9db36a;
      box-shadow: 0 0 6px rgba(74,222,128,0.7);
      animation: pulse-dot 2s ease-in-out infinite;
    }
    @keyframes pulse-dot {
      0%,100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.5; transform: scale(0.75); }
    }

    /* ── Sections ── */
    .rg-section { padding: 4.5rem 0; }
    .rg-section--alt { background: rgba(16, 21, 32,0.6); }
    .rg-section__header { text-align: center; margin-bottom: 2.75rem; }
    .rg-section__label {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold-light);
      margin-bottom: 0.75rem;
    }
    .rg-section__title {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 700;
      color: var(--white);
      letter-spacing: 0.03em;
      margin-bottom: 0.6rem;
    }
    .rg-section__subtitle {
      font-size: 0.95rem;
      color: var(--silver);
      max-width: 580px;
      margin: 0 auto;
      line-height: 1.7;
    }

    /* ── Status grid ── */
    .status-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 1rem;
    }
    .status-grid__error {
      grid-column: 1 / -1;
      text-align: center;
      color: var(--silver);
      font-size: 0.9rem;
      padding: 2rem 0;
    }
    .status-card {
      background: var(--surface);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-radius: var(--radius-xl);
      padding: 1.4rem 1.2rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
      text-align: center;
      transition: border-color 0.25s, transform 0.2s, box-shadow 0.25s;
      position: relative;
      overflow: hidden;
    }
    .status-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      border-radius: var(--radius-xl) var(--radius-xl) 0 0;
      background: var(--card-accent, var(--gold));
      opacity: 0.7;
    }
    .status-card--retro { --card-accent: var(--oxblood); }
    .status-card--direct { --card-accent: #9db36a; }
    .status-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.4);
      border-color: rgba(255,255,255,0.14);
    }
    .status-card__orb { font-size: 1.6rem; line-height: 1; }
    .status-card__name {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: 0.92rem;
      font-weight: 700;
      color: var(--white);
      letter-spacing: 0.04em;
    }
    .status-card__pos {
      font-size: 0.78rem;
      color: var(--silver);
      letter-spacing: 0.02em;
    }
    .status-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      border-radius: 999px;
      padding: 0.22rem 0.7rem;
      margin-top: 0.15rem;
    }
    .status-badge--retro {
      color: #e8a8ad;
      background: rgba(176,74,82,0.14);
      border: 1px solid rgba(176,74,82,0.4);
    }
    .status-badge--direct {
      color: #86efac;
      background: rgba(74,222,128,0.1);
      border: 1px solid rgba(74,222,128,0.3);
    }

    /* ── Upcoming windows ── */
    .windows-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      max-width: 760px;
      margin-left: auto;
      margin-right: auto;
    }
    .window-item {
      display: grid;
      grid-template-columns: 3.5rem 1fr auto;
      align-items: center;
      gap: 1rem;
      background: var(--surface);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-radius: var(--radius-xl);
      padding: 1.1rem 1.4rem;
      transition: border-color 0.2s, background 0.2s;
    }
    .window-item:hover {
      border-color: rgba(168, 176, 188,0.25);
      background: rgba(15,18,50,0.7);
    }
    .window-item--empty {
      display: block;
      text-align: center;
    }
    .window-item--empty p {
      color: var(--silver);
      font-size: 0.88rem;
      line-height: 1.65;
      margin: 0;
    }
    .window-item__symbol { font-size: 1.6rem; text-align: center; }
    .window-item__info h3 {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: 0.92rem;
      font-weight: 700;
      color: var(--white);
      margin: 0 0 0.3rem;
      letter-spacing: 0.02em;
    }
    .window-item__info p {
      font-size: 0.8rem;
      color: var(--silver);
      margin: 0;
      line-height: 1.55;
    }
    .window-item__dates {
      font-size: 0.74rem;
      color: var(--gold);
      text-align: right;
      font-weight: 600;
      letter-spacing: 0.02em;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 0.2rem;
    }
    .window-item__duration {
      font-size: 0.66rem;
      color: var(--silver);
      font-weight: 500;
    }
    @media (max-width: 560px) {
      .window-item { grid-template-columns: 3rem 1fr; }
      .window-item__dates { grid-column: 2; align-items: flex-start; text-align: left; }
    }

    /* ── Explainer prose ── */
    .explainer {
      max-width: 740px;
      margin: 0 auto;
    }
    .explainer p {
      color: var(--silver);
      line-height: 1.9;
      font-size: 0.98rem;
      margin: 0 0 1.35rem;
    }
    .explainer p:last-child { margin-bottom: 0; }
    .explainer strong { color: var(--gold-light); font-weight: 600; }
    .explainer__highlight {
      background: var(--surface);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-left: 3px solid var(--gold);
      border-radius: var(--radius-xl);
      padding: 1.5rem 1.75rem;
      margin: 1.75rem 0;
    }
    .explainer__highlight p { margin: 0; color: var(--silver); font-size: 0.95rem; }

    /* ── FAQ ── */
    .faq-list { max-width: 740px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.85rem; }
    .faq-item {
      background: var(--surface);
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-radius: var(--radius-xl);
      padding: 1.4rem 1.6rem;
    }
    .faq-item h3 {
      font-family: var(--font-display, 'Cinzel', serif);
      font-size: 1rem;
      font-weight: 700;
      color: var(--white);
      margin: 0 0 0.6rem;
      letter-spacing: 0.02em;
    }
    .faq-item p { font-size: 0.9rem; color: var(--silver); line-height: 1.75; margin: 0; }

    /* ── CTA ── */
    .cta-divider { display: flex; align-items: center; gap: 1rem; margin: 3rem 0 2rem; }
    .cta-divider::before,
    .cta-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
    .cta-divider span {
      font-size: 0.62rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--silver);
      white-space: nowrap;
    }
