:root {
  --love-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --love-font-serif: "Playfair Display", Georgia, serif;
  --love-btn-radius: 999px;
  --love-btn-font-size: 0.95rem;
  --love-btn-pad-y: 0.78rem;
  --love-btn-pad-x: 1.18rem;
  --love-btn-border: rgba(255, 255, 255, 0.28);
  --love-btn-bg: linear-gradient(180deg, rgba(32, 18, 44, 0.94), rgba(18, 10, 27, 0.98));
  --love-btn-text: #fbf7fb;
  --love-btn-shadow: 0 10px 28px rgba(4, 3, 8, 0.36);
  --love-btn-primary: linear-gradient(135deg, #ff93d1, #d9b061);
  --love-btn-primary-text: #211327;
  --love-card-radius: 16px;
  --love-card-back-bg:
    radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.19), transparent 36%),
    radial-gradient(circle at 84% 82%, rgba(255, 147, 209, 0.2), transparent 42%),
    linear-gradient(140deg, #2d1739, #1b1126 45%, #120a1d);
  --love-card-back-line: rgba(255, 255, 255, 0.14);
}

body {
  font-family: var(--love-font-sans);
}

h1,
h2,
h3,
.hero h1,
.ex-layout__title {
  font-family: var(--love-font-serif);
}

.btn,
.draw-btn,
.share-btn,
.upsell-btn,
.upsell-cta,
.ex-layout__button,
.ex-layout__upsell-button,
.paywallOverlay__button {
  border-radius: var(--love-btn-radius);
  font-size: var(--love-btn-font-size);
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: var(--love-btn-pad-y) var(--love-btn-pad-x);
  border: 1px solid var(--love-btn-border);
  background: var(--love-btn-bg);
  color: var(--love-btn-text);
  box-shadow: var(--love-btn-shadow);
  transition: transform 160ms ease, box-shadow 220ms ease, filter 180ms ease;
}

.btn:hover,
.draw-btn:hover,
.share-btn:hover,
.upsell-btn:hover,
.upsell-cta:hover,
.ex-layout__button:hover,
.ex-layout__upsell-button:hover,
.paywallOverlay__button:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 16px 34px rgba(6, 4, 11, 0.42);
}

.btn-primary,
.draw-btn,
.ex-layout__button,
.paywallOverlay__button {
  background: var(--love-btn-primary);
  color: var(--love-btn-primary-text);
  border-color: rgba(255, 255, 255, 0.5);
}

.card,
.draw-card,
.reading-card,
.print-card-item,
.hero-card,
.aside-card,
.ex-layout__config,
.ex-paid-return,
.paywallOverlay__card,
.paywallOverlay__position-card {
  border-radius: var(--love-card-radius);
}

.card-back,
.back,
.is-back,
.back-core,
.back-heart {
  background: var(--love-card-back-bg);
  border: 1px solid var(--love-card-back-line);
}

.premium-results,
.upsell-cta,
.paywallOverlay__card,
.ex-paid-return {
  position: relative;
  overflow: hidden;
}

.premium-results::before,
.upsell-cta::before,
.paywallOverlay__card::before,
.ex-paid-return::before {
  content: "";
  position: absolute;
  inset: -30% -20% auto;
  height: 160px;
  pointer-events: none;
  background: radial-gradient(circle at center, rgba(255, 215, 236, 0.22), transparent 70%);
}

@keyframes lovePulseSoft {
  0%,
  100% { transform: scale(1); }
  50% { transform: scale(1.015); }
}

.btn-primary,
.draw-btn,
.paywallOverlay__button {
  animation: lovePulseSoft 4.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .draw-btn,
  .share-btn,
  .upsell-btn,
  .upsell-cta,
  .ex-layout__button,
  .ex-layout__upsell-button,
  .paywallOverlay__button,
  .btn-primary {
    animation: none !important;
    transition: none !important;
  }
}

@media print {
  body {
    background: #fff !important;
    color: #111 !important;
    font-family: "Georgia", "Times New Roman", serif;
  }

  .btn,
  .btn-primary,
  .btn-secondary,
  .draw-btn,
  .share-btn,
  .upsell-btn,
  .upsell-cta,
  .actions,
  .paywall-actions,
  .ex-layout__button-wrap,
  .ex-paid-return__actions,
  .plHeroCtas {
    display: none !important;
  }

  .print-doc,
  .print-sheet,
  .print-head,
  .print-cards,
  .print-results,
  .print-interpretations,
  .premium-results {
    break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: none !important;
    border-color: #d7d7d7 !important;
    background: #fff !important;
    color: #111 !important;
  }
}
