/* Nova: readable monochrome controls and consistent responsive spacing. */
html:root {
  --text-muted: #a1a1aa;
  --tx3: #a1a1aa;
  --text-secondary: #b4b4bd;
}
html[data-theme="dark"] {
  --pp-tx-4: #a1a1aa;
  --sn-ink-4: #a1a1aa;
  --sd-ink-2: #d4d4d8;
  --sd-ink-3: #b4b4bd;
  --sd-ink-4: #a1a1aa;
}
/* White accent surfaces need dark labels, including their hover states. */
html .nv-btn:not(.nv-btn--outline),
html .nv-btn--primary, html .nv-btn--accent,
html .nv-step__n, html .sv-plat-ic,
html .tk-hero__cta, html .ord-hero__cta, html .sd-hero__btn--solid {
  background: #fafafa !important;
  color: #18181b !important;
  box-shadow: none !important;
}
html .nv-btn--outline { box-shadow: none !important; }
html .nv-btn:hover, html .tk-hero__cta:hover {
  filter: brightness(.94);
  transform: none;
}
html .nv-stat__l, html .sd-summary__head, html .sd-summary__hint,
html .form-label, html .forgot-link, html .pm-dd__placeholder,
html .pp-combo__label.is-placeholder, html .fd-empty__sub {
  color: #b4b4bd !important;
}
html input::placeholder, html textarea::placeholder { color: #a1a1aa !important; opacity: 1; }
html :is(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid #a5b4fc !important;
  outline-offset: 3px !important;
}
html button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none !important; }
html .nv-hero { padding-top: calc(var(--pub-hdr-h, 76px) + 24px) !important; }
html .nv-hero__title, html .sd-welcome { overflow-wrap: anywhere; }
html .sd-action__icon { box-shadow: none !important; }
html .pp-content { min-width: 0; }
html .nv-stat__n { font-variant-numeric: tabular-nums; }
@media (max-width: 639px) {
  html .nv-grid-4:has(> .nv-stat) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  html .nv-stat { padding: 20px 12px !important; }
  html .nv-btn, html .tk-hero__cta, html .pp-iconbtn--burger,
  html .menu-toggle-btn, html .pp-combo__btn, html .pm-dd__trigger {
    min-height: 44px;
  }
  html .pp-iconbtn--burger, html .menu-toggle-btn { min-width: 44px; }
  html input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), html textarea, html select { font-size: 16px !important; }
  html .forgot-link { font-size: 13px; padding-block: 10px; }
  html .tk-hero { gap: 12px; }
  html .tk-hero__title { line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  html *, html *::before, html *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Referral cards belong to the same dark palette as the rest of Nova. */
html #refRoot :is(.ref-stat, .ref-card, .ref-card__head, .ref-step) {
  background: #161619; border-color: #34343a; box-shadow: none;
}
html #refRoot :is(.ref-stat__val, .ref-card__title, .ref-step__t) { color: #f4f4f5; }
html #refRoot :is(.ref-stat__lbl, .ref-step__s, .ref-card__body > p, .ref-empty) { color: #b4b4bd !important; }
html #refRoot :is(.ref-card__title i, .ref-empty__ic) { color: #e4e4e7; }
html #refRoot .ref-link-input { background: #202024; border-color: #52525b; color: #f4f4f5; }
html #refRoot :is(.ref-copy, .ref-step__n) { background: #fafafa; color: #18181b; box-shadow: none; }
html #refRoot .ref-empty__ic { background: #202024; border-color: #34343a; }
/* A wide data table must not push the empty-state message off mobile screens. */
html .pp-table[data-empty="true"] { min-width: 0 !important; width: 100%; }
html .pp-table[data-empty="true"] thead { display: none; }
html .pp-table[data-empty="true"] .pp-empty { white-space: normal; padding: 36px 18px; }
html #refRoot .ref-empty > div { color: #d4d4d8 !important; }
