/* Plain CSS extras — tokens live in the page head @theme block */
html {
  background-color: #0b0713;
  overscroll-behavior: none;
}
html, body {
  overflow-x: clip;
}
body {
  min-height: 100dvh;
}
@keyframes float-slow {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-14px) rotate(-2deg); }
}
@keyframes float-slower {
  0%, 100% { transform: translateY(0) rotate(8deg); }
  50% { transform: translateY(-10px) rotate(4deg); }
}
@keyframes float-m1 {
  0%, 100% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-10px) rotate(-2deg); }
}
@keyframes float-m2 {
  0%, 100% { transform: translateY(0) rotate(5deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}
@keyframes float-card {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-8px) rotate(1deg); }
}
@keyframes float-cta {
  0%, 100% { transform: translateY(-50%) rotate(4deg); }
  50% { transform: translateY(calc(-50% - 12px)) rotate(7deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .anim-float { animation: float-slow 6s ease-in-out infinite; }
  .anim-float-2 { animation: float-slower 7s ease-in-out infinite; }
  .anim-float-m1 { animation: float-m1 6s ease-in-out infinite; }
  .anim-float-m2 { animation: float-m2 7s ease-in-out infinite; }
  .anim-float-card { animation: float-card 7s ease-in-out infinite; }
  .anim-float-cta { animation: float-cta 6s ease-in-out infinite; }
}

/* Neon-dark restyle (GoLove template) */
.grad-pink { background-image: linear-gradient(135deg, #ff2d78 0%, #b23bf0 60%, #7c3aed 100%); }
.grad-pink-soft { background-image: linear-gradient(160deg, rgba(255,45,120,.22) 0%, rgba(124,58,237,.18) 100%); }
.grad-text { background-image: linear-gradient(100deg, #ff2d78, #c86bfa); -webkit-background-clip: text; background-clip: text; color: transparent; }
.text-outline { -webkit-text-stroke: 1.5px #f4f0fb; color: transparent; }
.text-outline-dim { -webkit-text-stroke: 1.5px #7a6d9e; color: transparent; }
.glow-card { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 24px 60px -20px rgba(255,45,120,.35); }
.glow-violet { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 24px 60px -20px rgba(124,58,237,.45); }
.hero-glow { background:
    radial-gradient(60% 45% at 50% 0%, rgba(124,58,237,.30), transparent 70%),
    radial-gradient(35% 30% at 12% 20%, rgba(255,45,120,.18), transparent 70%),
    radial-gradient(35% 30% at 88% 25%, rgba(124,58,237,.20), transparent 70%);
}

/* repeating tilted text band behind the red CTA */
.stamp-band { position: absolute; inset: -40% -20%; transform: rotate(-8deg); display: flex; flex-direction: column; gap: .25rem; pointer-events: none; user-select: none; }
.stamp-band span { white-space: nowrap; font-weight: 800; letter-spacing: .02em; font-size: clamp(2rem, 6vw, 4rem); line-height: 1; color: rgba(255,255,255,.10); text-transform: uppercase; }
.stamp-band span:nth-child(even) { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.14); margin-left: -3rem; }

input[type="range"].calc-range {
  -webkit-appearance: none;
  appearance: none;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff2d78 var(--fill, 20%), #241a3a var(--fill, 20%));
  outline: none;
}
input[type="range"].calc-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 32px; height: 32px;
  border-radius: 999px;
  background: #ffffff;
  border: 4px solid #ff2d78;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(255,45,120,.7);
}
input[type="range"].calc-range::-moz-range-thumb {
  width: 32px; height: 32px;
  border-radius: 999px;
  background: #ffffff;
  border: 4px solid #ff2d78;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(255,45,120,.7);
}
input[type="range"].calc-range:focus-visible {
  box-shadow: 0 0 0 4px rgba(255,45,120,.4);
}
.tab-btn { min-height: 44px; }
input[type="range"].calc-range { padding: 16px 0; min-height: 46px; background-clip: content-box; }
.tab-btn[aria-selected="true"] {
  background-image: linear-gradient(135deg, #ff2d78, #7c3aed);
  color: #ffffff;
  border-color: transparent;
}
/* earnings matrix + key/value tables */
.earn-matrix tbody th, .kv-table tbody th { padding: 1rem 1.25rem; border-top: 1px solid rgba(255,255,255,.1); font-weight: 600; vertical-align: top; }
.earn-matrix tbody td, .kv-table tbody td { padding: 1rem 1.25rem; border-top: 1px solid rgba(255,255,255,.1); vertical-align: top; }
.kv-table tbody td { color: #a89cc4; }
.earn-matrix td.yes { color: #f4f0fb; }
.earn-matrix td.yes::before { content: "✓ "; color: #d9f26e; font-weight: 700; }
.earn-matrix td.no { color: #8d81a8; }
.earn-matrix td.no::before { content: "— "; color: #6b5f86; }

details.faq-item summary::-webkit-details-marker { display: none; }
details.faq-item[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .25s ease; }

a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #ff2d78; outline-offset: 3px; border-radius: 6px;
}