/* NQR only: white reading surfaces, blue navigation, yellow purchase actions. */
body.nqr-ui {
  --nqr-ink: #262626;
  --nqr-muted: #626262;
  --nqr-accent: #2563eb;
  --nqr-blue: #2563eb;
  --nqr-action: #facc15;
  --nqr-action-hover: #eab308;
  --nqr-paper: #ffffff;
  --nqr-tint: #eff6ff;
  --nqr-line: #e5e5e5;
  --nqr-card-gap: 32px;
  --night: var(--nqr-ink);
  --ink: var(--nqr-ink);
  --muted: var(--nqr-muted);
  --blue: var(--nqr-accent);
  --blue-deep: #1d4ed8;
  --mint: var(--nqr-accent);
  --slate-900: var(--nqr-ink);
  --slate-700: #404040;
  --slate-600: var(--nqr-muted);
  --slate-500: #737373;
  color: var(--nqr-ink);
  background: var(--nqr-paper);
  -webkit-font-smoothing: antialiased;
}
.nqr-ui :focus-visible { outline: 3px solid var(--nqr-accent); outline-offset: 3px; }
.nqr-ui :is(.state-submit, .submit-button, .pdf-download-button) {
  color: #fff;
  background: var(--nqr-accent);
  border-color: var(--nqr-accent);
  box-shadow: 0 4px 12px #2563eb1a;
}
.nqr-ui :is(.state-submit, .submit-button, .pdf-download-button):hover {
  background: #1d4ed8;
  box-shadow: 0 5px 16px #2563eb24;
}
.nqr-ui :is(.btn-primary, .unlock-btn, .nqr-contact-submit, .nqr-lock-box button) {
  color: var(--nqr-ink);
  background: var(--nqr-action);
  border-color: var(--nqr-action-hover);
  box-shadow: 0 4px 12px #2626260d;
}
.nqr-ui :is(.btn-primary, .unlock-btn, .nqr-contact-submit, .nqr-lock-box button):hover {
  color: var(--nqr-ink);
  background: var(--nqr-action-hover);
  box-shadow: 0 5px 16px #26262614;
}
.nqr-ui :is(.sticky-header, .report-hero, .compact-hero-panel, .hero-panel, .card, .question-card, .answer-card) {
  border-color: var(--nqr-line);
  background: #fff;
  box-shadow: 0 5px 20px #26262607;
}
.nqr-ui :is(.hero-stage, .pv-top, .pv-chart) { background: transparent; }
.nqr-ui :is(.gradient-text, .preview-title span, .report-hero h1 span) {
  color: var(--nqr-ink);
  background: none;
  -webkit-text-fill-color: currentColor;
}
.nqr-ui :is(.brand-mark__title span, .preview-eyebrow, .report-kicker, .section-kicker, .addon-section-kicker) { color: var(--nqr-accent); }
.nqr-ui :is(.preview-subline, .report-hero__meta, .addon-section-sub) { color: var(--nqr-muted); }
.nqr-ui :is(.plan-chip, .addon-mini-badge, .section-kicker, .hero-badge) {
  background: var(--nqr-tint);
  color: #1d4ed8;
  border-color: var(--nqr-line);
}
.nqr-ui :is(.question-header, .answer-card-header) {
  background: #eff6ff;
  border-bottom-color: #dbeafe;
}
.nqr-ui :is(.question-card, .answer-card) { border-color: #bfdbfe; }
.nqr-ui--preview .section-shell--report { padding: 0; }
/* One spacing rule for regular questions, add-ons and section boundaries. */
.nqr-ui :is(.question-list, .nqr-card-stack) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nqr-card-gap);
}
.nqr-ui :is(.question-list, .nqr-card-stack) > * {
  margin-top: 0;
  margin-bottom: 0;
}
.nqr-ui :is(.question-title, .answer-title) { font-size: 1.04rem; line-height: 1.45; color: var(--nqr-ink); font-weight: 700; }
.nqr-ui :is(.question-number-badge, .answer-number) {
  background: var(--nqr-blue);
  color: #fff;
  box-shadow: none;
}
.nqr-ui :is(.question-content, .addon-card .question-content, .answer-body) { background: #fff; }
.nqr-ui :is(.q-viz, .report-visual-shell, .chart-concept-card, .preview-stat-card, .birth-metric, .addon-calc-box) {
  background: #f7f7f7;
  border-color: #e5e5e5;
  box-shadow: none;
}
.nqr-ui :is(.q-viz__eyebrow, .chart-section__eyebrow, .chart-concept-card__label) { color: var(--nqr-blue); }
.nqr-ui .q-viz__eyebrow::before { background: var(--nqr-blue); }
.nqr-ui .q-logic { background: #f7f7f7; border-color: var(--nqr-line); border-left-color: var(--nqr-accent); }
.nqr-ui .q-logic__title { color: #1d4ed8; font-size: .76rem; letter-spacing: .055em; }
.nqr-ui .q-logic__body { font-size: 1rem; line-height: 1.75; color: #404040; }
.nqr-ui .q-logic__body strong { color: var(--nqr-ink); font-weight: 700; }
.nqr-ui :is(.chart-concept-card__body, .chart-meaning-card__body, .chart-reading__definition p, .chart-reading__details dd, .plane-detail-card__summary) {
  font-size: .96rem;
  line-height: 1.7;
}
.nqr-ui .chart-reading { --reading-accent: #2563eb; --reading-accent-dark: #1d4ed8; --reading-soft: #eff6ff; --reading-border: #e5e5e5; background: #ffffff; border-color: #e5e5e5; }
.nqr-ui .chart-reading--bhagyank { --reading-accent: #2563eb; --reading-accent-dark: #1d4ed8; --reading-soft: #eff6ff; --reading-border: #e5e5e5; background: #ffffff; border-color: #e5e5e5; }
.nqr-ui .chart-reading__number { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.nqr-ui .chart-reading--bhagyank .chart-reading__number { background: #eff6ff; color: #1d4ed8; }
.nqr-ui :is(.chart-free-banner, .pv-top__pointer, .nqr-bonus-head) { background: var(--nqr-tint); color: var(--nqr-ink); border: 1px solid var(--nqr-line); box-shadow: none; }
.nqr-ui :is(.chart-free-banner__title, .nqr-bonus-head h2) { color: var(--nqr-ink); }
.nqr-ui :is(.chart-free-banner__sub, .nqr-bonus-head p) { color: var(--nqr-muted); }
.nqr-ui :is(.chart-free-banner__icon, .nqr-bonus-head > span) { background: #dbeafe; color: #1d4ed8; }
.nqr-ui :is(.verdict-lock, .q-answer-lock, .lock-box, .nqr-name-card) { background: #ffffff; border-color: var(--nqr-line); box-shadow: none; }
.nqr-ui .lock-chip { color: #626262; background: #f7f7f7; border-color: #e5e5e5; }
.nqr-ui .q-answer-lock__icon { background: #eff6ff; color: #2563eb; }
.nqr-ui .q-answer-lock__title { font-size: .93rem; color: var(--nqr-ink); }
.nqr-ui .q-answer-lock__sub { font-size: .86rem; line-height: 1.6; color: var(--nqr-muted); }
.nqr-ui .answer-body :is(p, li) { font-size: 1rem; line-height: 1.75; }
.nqr-ui .answer-body p { color: #404040; }
.nqr-ui :is(.addon-calc-line, .addon-meaning, .addon-range, .step-box, .nqr-method, .nqr-proof-note) { font-size: .91rem; line-height: 1.65; }
.nqr-ui :is(.addon-calc-title, .addon-numbers-caption) { font-size: .76rem; }
.nqr-ui :is(.addon-section-sub, .question-preview-lead) { font-size: .94rem; line-height: 1.65; }
.nqr-ui .nqr-bonus { padding-inline: 0; }
.nqr-ui .nqr-contact-dialog { border-color: var(--nqr-line); }
.nqr-ui .nqr-contact-dialog__top { background: var(--nqr-tint); border-bottom-color: var(--nqr-line); }
.nqr-ui .nqr-contact-dialog__eyebrow { color: var(--nqr-accent); }
.nqr-ui .nqr-contact-dialog__top h2 { color: var(--nqr-ink); }
.nqr-ui .nqr-contact-dialog__intro { color: var(--nqr-muted); }
.nqr-ui .nqr-contact-plan { background: #ffffff; border-color: var(--nqr-line); }
.nqr-ui .nqr-contact-plan strong { color: var(--nqr-accent); }
.nqr-ui .nqr-lock-box { background: #fff; color: var(--nqr-ink); border: 1px solid var(--nqr-line); box-shadow: 0 10px 30px #26262614; }
.nqr-ui .nqr-lock-box p { color: var(--nqr-muted); }
.nqr-ui .nqr-nav-price-note { background: #f7f7f7; border-color: var(--nqr-line); box-shadow: none; }
.nqr-ui .nqr-nav-price-note__mark { background: #eff6ff; color: #1d4ed8; }
.nqr-ui .nqr-nav-price-note__price strong { color: #1d4ed8; }
.nqr-ui .nqr-dob-primary { background: #ffffff; border-color: #e5e5e5; }
.nqr-ui .nqr-dob-primary :is(h3, p) { color: #1d4ed8; }
.nqr-ui .nqr-dob-primary .rounded-full { background: #dbeafe; color: #1d4ed8; box-shadow: none; }
.nqr-ui .nqr-dob-secondary { background: #ffffff; border-color: #e5e5e5; }
.nqr-ui .nqr-dob-secondary :is(h3, p) { color: #1d4ed8; }
.nqr-ui .nqr-dob-secondary .rounded-full { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.nqr-ui .nqr-chart-frame { background: #e5e5e5; box-shadow: none; }
.nqr-ui .q1-letter { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.nqr-ui :is(.q1-letter--a, .q1-letter--c, .q1-letter--e) { background: #eff6ff; color: #1d4ed8; }
.nqr-ui .q1-big--compound .q1-big__num { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.nqr-ui .q1-big--final .q1-big__num { background: #eff6ff; color: #1d4ed8; box-shadow: none; }
.nqr-ui :is(.q1-base, .q2-note, .factor-row__text) { font-size: .94rem; line-height: 1.65; }
.nqr-ui :is(.orb__cap, .q1-big__cap, .q2-group__cap, .verdict-lock__label) { font-size: .76rem; }

/* Only five real words are public; every other line is a blurred shape. */
.nqr-ui .nqr-answer-fragment { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-height: 350px; padding: 18px 0; margin-top: 14px; }
.nqr-answer-fragment__row { display: flex; align-items: center; gap: 8px; min-height: 18px; }
.nqr-answer-fragment__blur { display: block; width: 94%; height: 10px; border-radius: 5px; background: #bdbdbd; filter: blur(6px); pointer-events: none; }
.nqr-answer-fragment__row:nth-child(3n + 2) > .nqr-answer-fragment__blur:only-child { width: 87%; }
.nqr-answer-fragment__row:nth-child(3n) > .nqr-answer-fragment__blur:only-child { width: 66%; }
.nqr-answer-fragment__row--revealed { min-height: 28px; }
.nqr-answer-fragment__blur--before { flex: 0 0 8%; }
.nqr-answer-fragment__blur--after { flex: 1 0 8%; }
.nqr-ui .nqr-answer-fragment__text { min-width: 0; margin: 0; color: var(--nqr-ink); font-size: 1rem; font-weight: 500; line-height: 1.75; overflow-wrap: anywhere; }
.nqr-ui .nqr-answer-fragment-note { margin: 18px 0 0; color: var(--nqr-muted); font-size: .9rem; line-height: 1.6; }
.nqr-ui--preview .addon-card .question-content { max-height: none; }
.nqr-ui--preview .question-content > .blur-content {
  height: 350px;
  min-height: 350px;
  max-height: none;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(#000 70%, transparent);
  mask-image: linear-gradient(#000 70%, transparent);
}
.nqr-answer-placeholder { min-height: 350px; padding: 20px 0; }
.nqr-answer-placeholder__paragraph { margin-bottom: 24px; }
.nqr-answer-placeholder__line { height: 11px; width: 94%; border-radius: 5px; background: #bdbdbd; }
.nqr-answer-placeholder__line + .nqr-answer-placeholder__line { width: 87%; margin-top: 10px; }
.nqr-answer-placeholder__line:last-child { width: 66%; }

/* Give the two-field landing form room to breathe, including short phones. */
.nqr-ui--landing .page::before { border-color: #e5e5e5; box-shadow: 0 0 0 5rem #2563eb03, 0 0 0 10rem #2563eb02; }
.nqr-ui--landing .form-card { border-color: #e5e5e5; box-shadow: 0 16px 44px #26262610; }
.nqr-ui--landing .form-intro { padding: 24px var(--form-pad); background: #fff; color: var(--nqr-ink); border-bottom-color: var(--nqr-line); }
.nqr-ui--landing .report-promise h2 { color: var(--nqr-ink); line-height: 1.25; }
.nqr-ui--landing :is(.promise-time strong, .promise-time svg, .preview-count svg) { color: #2563eb; }
.nqr-ui--landing .promise-divider { background: #e5e5e5; }
.nqr-ui--landing :is(.preview-count, .calculation-line, .mobile-form-lede) { color: var(--nqr-muted); }
.nqr-ui--landing .fast-form { gap: 22px; padding: 28px var(--form-pad); }
.nqr-ui--landing .field { gap: 9px; }
.nqr-ui--landing .field label { font-size: .9rem; color: var(--nqr-ink); }
.nqr-ui--landing .field :is(input, select) { min-height: 56px; background: #ffffff; border-color: #d4d4d4; }
.nqr-ui--landing .field :is(input, select):focus { border-color: var(--nqr-accent); box-shadow: 0 0 0 3px #2563eb14; }
.nqr-ui--landing .submit-button { min-height: 56px; font-size: 1rem; }
.nqr-ui--landing .form-assurance { font-size: .76rem; color: var(--nqr-muted); }
.nqr-ui--landing .form-terms { font-size: .7rem; line-height: 1.5; }
.nqr-ui--landing .proof-item { background: #f7f7f7; border-color: #e5e5e5; box-shadow: none; }
.nqr-ui--landing .proof-copy strong { font-size: .72rem; line-height: 1.3; }
.nqr-ui--landing .proof-copy small { font-size: .62rem; line-height: 1.35; }
.nqr-ui--landing :is(.header-trust, .proof-copy strong) { color: var(--nqr-ink); }
.nqr-ui--landing .proof-copy small { color: var(--nqr-muted); }
.nqr-ui--landing .proof-icon { color: var(--nqr-blue); background: var(--nqr-tint); border-color: var(--nqr-line); }
.nqr-ui--landing .feature-chip { box-shadow: none; }
.nqr-ui--landing .feature-set .feature-chip:nth-child(odd) { background: #eff6ff; border-color: #e5e5e5; color: #1d4ed8; }
.nqr-ui--landing .feature-set .feature-chip:nth-child(even) { background: #eff6ff; border-color: #e5e5e5; color: #2563eb; }

/* Original listbox controls; native selects remain the date data source. */
.nqr-date-native { display: none; }
.nqr-date-button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 56px; padding: 0 12px; border: 1px solid #d4d4d4; border-radius: 12px; background: #ffffff; color: #262626; font: inherit; font-size: 16px; cursor: pointer; }
.nqr-date-button[data-empty="true"] { color: #737373; }
.nqr-date-button[aria-expanded="true"] { border-color: #2563eb; box-shadow: 0 0 0 3px #2563eb14; }
.nqr-date-button[aria-invalid="true"] { border-color: #b42318; }
.nqr-date-button::after { content: ""; width: 7px; height: 7px; flex-shrink: 0; border-right: 1.5px solid #2563eb; border-bottom: 1.5px solid #2563eb; transform: rotate(45deg) translateY(-2px); }
.nqr-date-menu { position: fixed; z-index: 1200; overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid #d4d4d4; border-radius: 14px; background: #fff; color: #262626; box-shadow: 0 12px 36px #26262624; scrollbar-width: thin; }
.nqr-date-menu[hidden] { display: none; }
.nqr-date-option { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 8px 12px; border-radius: 8px; font: inherit; font-size: 16px; cursor: pointer; }
.nqr-date-option[data-active="true"] { background: #eff6ff; outline: 2px solid #2563eb; outline-offset: -2px; }
.nqr-date-option[aria-selected="true"] { background: #eff6ff; color: #1d4ed8; font-weight: 700; }
.nqr-date-option[aria-selected="true"]::after { content: "✓"; margin-left: 12px; }

/* Question navigation uses the actual rendered cards, including add-ons. */
.nqr-question-nav { position: sticky; top: var(--nqr-header-height, 0px); z-index: 75; background: #fffffff5; border-bottom: 1px solid #e5e5e5; backdrop-filter: blur(12px); }
.nqr-question-nav[hidden] { display: none; }
.nqr-question-nav__inner { max-width: 1152px; margin: auto; padding: 7px 16px; }
.nqr-question-nav__current { margin: 0 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; color: #626262; }
.nqr-question-nav__links { display: flex; gap: 5px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.nqr-question-nav__links::-webkit-scrollbar { display: none; }
.nqr-question-nav__links a { display: grid; place-items: center; flex: 0 0 auto; min-width: 36px; height: 34px; border-radius: 8px; border: 1px solid #e5e5e5; background: #f7f7f7; color: #626262; font-size: 12px; font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; }
.nqr-question-nav__links a[aria-current="location"] { background: #2563eb; color: #fff; border-color: #2563eb; }
.nqr-ui--preview .question-card { scroll-margin-top: calc(var(--nqr-header-height, 64px) + var(--nqr-nav-height, 70px) + 12px); }
.nqr-ui--preview #free-birth-chart-preview { scroll-margin-top: calc(var(--nqr-header-height, 64px) + var(--nqr-nav-height, 70px) + 12px); }

/* Match the preparation view without changing progress or question rotation. */
.nqr-ui .nqr-preparation { --nqr-ink: #262626; --nqr-blue: #2563eb; border-color: #e5e5e5; box-shadow: 0 20px 60px #2626261a; }
.nqr-ui .nqr-preparation__meter { background: #eff6ff; border-color: #e5e5e5; }
.nqr-ui .nqr-preparation__pages [aria-current="true"] { background: #eff6ff; border-color: #d4d4d4; }
.nqr-ui .nqr-preparation__number { background: #eff6ff; color: #2563eb; }
.nqr-ui--loading .loader { border-color: #e5e5e5; border-top-color: #2563eb; }
.nqr-ui--loading #progress-percent { color: #2563eb; }
.nqr-ui--loading #progress-bar { background: #2563eb; }
.nqr-ui--loading > .bg-white { border-color: #e5e5e5; box-shadow: 0 16px 44px #26262610; }

@media (max-width: 780px) {
  .nqr-ui--landing .form-intro { padding-block: 25px 23px; }
  .nqr-ui--landing .report-promise h2 { font-size: clamp(1.35rem, 5.6vw, 1.7rem); }
  .nqr-ui--landing .mobile-form-lede { font-size: .9rem; margin-top: 9px; line-height: 1.5; }
  .nqr-ui--landing .fast-form { gap: 20px; padding-block: 23px 25px; }
  .nqr-ui--landing .proof-item { min-height: 52px; }
}
@media (max-width: 640px) {
  .nqr-ui--unlock .nqr-report-wrap { box-sizing: border-box; width: 100%; padding: 14px 12px 24px; }
  .nqr-ui--unlock .card { padding: 15px 10px; margin-bottom: 16px; }
  .nqr-ui--unlock .card > .grid { gap: 14px; }
  .nqr-ui--unlock .card > .grid > .p-6 { padding: 14px; }
  .nqr-ui--unlock .report-hero { padding: 16px 10px; }
  .nqr-ui--unlock .answer-card-header { padding: 13px 10px; }
  .nqr-ui--unlock .answer-body { padding: 16px 10px 20px; }
  .nqr-ui--preview :is(.pv-flow > main, .pv-top > div, .hero-stage > div, .pv-flow > .pv-chart) { box-sizing: border-box; width: 100%; padding-inline: 12px; }
  body.nqr-ui--preview > main { box-sizing: border-box; width: 100%; padding-inline: 12px; }
  .nqr-ui--preview :is(.compact-hero-panel, .section-shell:not(.section-shell--report)) { padding: 15px 10px; }
  .nqr-ui--preview .question-header { padding-inline: 10px; }
  .nqr-ui--preview .question-content { padding: 14px 10px; }
  .nqr-ui--preview .addon-card .question-content { padding: 14px 10px; }
  .nqr-ui .q-logic { padding: 13px 10px; }
  .nqr-ui .nqr-name-card { padding: 15px 10px; }
  .nqr-question-nav__inner { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .nqr-date-button, .nqr-question-nav__links { scroll-behavior: auto; transition: none; }
}
