.flcc-shell {
  --flcc-surface: #ffffff;
  --flcc-surface-alt: #f4f8ff;
  --flcc-border: #d8e0ee;
  --flcc-text: #111111;
  --flcc-text-muted: #42566f;
  --flcc-primary: #0f62fe;
  --flcc-primary-dark: #0043ce;
  --flcc-radius: 14px;
  --flcc-shadow: 0 14px 40px rgba(16, 39, 71, 0.12);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--flcc-text);
  width: min(1120px, 100%);
  max-width: 100%;
  margin: 20px auto;
  padding: 20px;
  border: 1px solid var(--flcc-border);
  border-radius: 20px;
  background: linear-gradient(165deg, #f9fbff 0%, #eef3fb 100%);
  box-shadow: var(--flcc-shadow);
  overflow-x: clip;
}

.flcc-shell, .flcc-shell :is(p, li, span, strong, em, label, h1, h2, h3, h4, h5) { color: var(--flcc-text); }
.flcc-shell :is(p, li) { line-height: 1.6; }

.flcc-shell,
.flcc-shell * {
  box-sizing: border-box;
}

.flcc-shell * {
  min-width: 0;
}

.flcc-calculator,
.flcc-shell :is(.flcc-faq, .flcc-tips, .flcc-result, .flcc-card, .flcc-relationship-factors) {
  background: var(--flcc-surface);
  border: 1px solid var(--flcc-border);
  border-radius: var(--flcc-radius);
  box-shadow: 0 8px 24px rgba(16, 39, 71, 0.08);
}

.flcc-calculator { padding: 16px; }
.flcc-header h2 {
  margin: 0 0 4px;
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
  background: linear-gradient(135deg, #0f62fe 0%, #2359c4 42%, #f28424 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.flcc-header p { margin: 0 0 12px; color: var(--flcc-text-muted); }

.flcc-columns {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flcc-card { padding: 12px; margin: 0; }
.flcc-card legend { padding: 0 6px; font-weight: 700; }
.flcc-card label {
  display: grid;
  gap: 6px;
  font-size: 0.93rem;
  margin: 0 0 10px;
}
.flcc-card :is(input, select) {
  border: 1px solid #c7d6f3;
  border-radius: 10px;
  min-height: 40px;
  padding: 8px 10px;
  font-size: 0.95rem;
  background: #fff;
  color: #111;
}

.flcc-relationship-factors { margin-top: 12px; padding: 12px; }
.flcc-relationship-factors h3 {
  margin: 0 0 12px;
  font-size: 1.06rem;
  text-align: center;
}
.flcc-factor-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flcc-factor-grid label {
  display: grid;
  gap: 7px;
  font-size: 0.93rem;
  font-weight: 700;
  padding: 10px;
  border: 1px solid #d7e2f8;
  border-radius: 10px;
  background: #f8fbff;
}
.flcc-factor-grid select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #bfd1f4;
  border-radius: 9px;
  padding: 8px 10px;
  background: #fff;
  color: #14213d !important;
  font-weight: 600;
  line-height: 1.3;
}
.flcc-factor-grid select:focus-visible {
  outline: 2px solid #93b4f5;
  outline-offset: 1px;
  border-color: #7096e9;
}
.flcc-factor-grid option {
  color: #111;
  background: #fff;
}

.flcc-error { min-height: 1.2em; margin: 10px 0 0; color: #b42318; }

.flcc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.flcc-actions button {
  border: 1px solid #194ca8;
  color: #fff;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--flcc-primary), #2f5ec3);
  min-height: 40px;
  padding: 8px 14px;
  font-weight: 700;
  cursor: pointer;
}
.flcc-clear {
  background: linear-gradient(135deg, #4f5e76, #344054);
  border-color: #344054;
}

.flcc-result { margin-top: 14px; padding: 14px; }
.flcc-top h3 { margin: 0 0 6px; }
.flcc-top p { margin: 0 0 8px; }

.flcc-helper-tip {
  margin-top: 12px;
  padding: 8px 10px;
  border: 1px solid #d7e3fa;
  border-radius: 10px;
  background: #f8fbff;
}

.flcc-helper-tip__chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.flcc-context {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.92fr);
  gap: 14px;
  margin: 14px 0;
  padding: 16px;
  border: 1px solid var(--flcc-border);
  border-radius: var(--flcc-radius);
  background: var(--flcc-surface);
  box-shadow: 0 8px 24px rgba(16, 39, 71, 0.08);
}

.flcc-context h3 {
  margin: 0 0 8px;
}

.flcc-context p,
.flcc-context ul {
  margin: 0;
}

.flcc-context ul {
  padding-left: 20px;
}

.flcc-context-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.flcc-context-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid #c4d4f5;
  border-radius: 10px;
  background: #f2f7ff;
  color: #123c91 !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.flcc-meter {
  width: 100%;
  height: 11px;
  border-radius: 999px;
  background: #dce8ff;
  overflow: hidden;
  margin: 8px 0 10px;
}
.flcc-meter span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #1757e5, #4b84ff);
}

.flcc-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  overflow-wrap: break-word;
  word-break: break-word;
}
.flcc-chip {
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 0.8rem;
  border: 1px solid transparent;
}
.flcc-chip--label { background: #e6eeff; color: #1a3e7a; border-color: #b7cdf8; font-weight: 800; }
.flcc-chip--source { background: #f7faff; color: #2c4768; border-color: #d5e2fb; }
.flcc-chip--high { background: #e8f5e9; color: #1b5e20; border-color: #b7dfbb; }
.flcc-chip--medium { background: #fff8e1; color: #8a5a00; border-color: #eed48a; }
.flcc-chip--fallback { background: #fce8e8; color: #8f1d1d; border-color: #e8b2b2; }

.flcc-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flcc-grid article {
  border: 1px solid var(--flcc-border);
  border-radius: 12px;
  background: #f9fbff;
  padding: 10px;
}
.flcc-grid h4 { margin: 0 0 6px; }
.flcc-grid p { margin: 0 0 6px; }

.flcc-mini-bar {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e8efff;
  overflow: hidden;
}
.flcc-mini-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #0f62fe, #5a8cff);
}

.flcc-signals, .flcc-recs, .flcc-deeper {
  margin-top: 12px;
  border: 1px solid var(--flcc-border);
  border-radius: 12px;
  padding: 10px;
  background: #f9fbff;
}
.flcc-signals h4, .flcc-recs h4, .flcc-deeper h4 { margin: 0 0 8px; }
.flcc-signals ul, .flcc-recs ul { margin: 0; padding-left: 18px; }
.flcc-deeper p { margin: 0 0 8px; }
.flcc-deeper p:last-child { margin-bottom: 0; }

.flcc-safety-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(251, 113, 133, 0.36);
  border-radius: 10px;
  background: rgba(127, 29, 29, 0.18);
  color: #ffe4e8 !important;
  line-height: 1.5;
}

.flcc-field-note {
  grid-column: 1 / -1;
  margin: -2px 0 8px;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #526173 !important;
}

.flcc-safety-support {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(251, 113, 133, 0.42);
  border-radius: 14px;
  background: rgba(127, 29, 29, 0.18);
  color: #ffe4e8 !important;
}

.flcc-safety-support h4 {
  margin: 0 0 8px;
  color: #fff1f2 !important;
}

.flcc-safety-support p,
.flcc-safety-support li {
  color: #ffe4e8 !important;
}

.flcc-safety-support ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.flcc-links {
  margin-top: 12px;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.flcc-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  text-decoration: none;
  border: 1px solid #c4d4f5;
  border-radius: 10px;
  background: #f2f7ff;
  color: #123c91 !important;
  padding: 10px 12px;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
}

.flcc-link-btn {
  max-width: 100%;
  width: 100%;
}
.flcc-links a:hover,
.flcc-links a:focus-visible {
  transform: translateY(-1px);
  border-color: #8ab0f5;
  box-shadow: 0 8px 18px rgba(16, 39, 71, 0.12);
}

.flcc-faq, .flcc-tips {
  margin-top: 14px;
  padding: 12px;
}
.flcc-faq h3, .flcc-tips h3 { margin: 0 0 10px; }
.flcc-faq-item {
  border: 1px solid rgba(56, 189, 248, 0.52);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(2, 6, 23, 0.96);
  margin-bottom: 8px;
}
.flcc-faq-q {
  width: 100%;
  text-align: left;
  border: 0;
  background: linear-gradient(135deg, rgba(2, 6, 23, 0.98), rgba(8, 47, 73, 0.92));
  padding: 11px 12px;
  font-weight: 700;
  color: #f8feff !important;
  -webkit-text-fill-color: #f8feff !important;
  font-size: 1rem;
  line-height: 1.35;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.38);
}
.flcc-faq-q::-webkit-details-marker { display: none; }
.flcc-faq-q::after {
  content: "+";
  font-size: 1.15rem;
  font-weight: 800;
  color: #325eb8;
}
.flcc-faq-item[open] .flcc-faq-q::after,
.flcc-faq-item.is-open .flcc-faq-q::after {
  content: "-";
}
.flcc-faq-q:hover,
.flcc-faq-q:focus-visible {
  background: linear-gradient(135deg, rgba(6, 78, 87, 0.98), rgba(8, 47, 73, 0.96));
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  outline: none;
}
.flcc-faq-a {
  padding: 10px 12px;
  color: #1f2b3d !important;
  background: #fff;
}
.flcc-faq-a p { margin: 0; color: #1f2b3d !important; }
.flcc-faq-item:not([open]) .flcc-faq-a { display: none; }
.flcc-faq-item.is-open .flcc-faq-a { display: block; }

.flcc-tips ul { margin: 0; padding-left: 18px; }

@media (max-width: 900px) {
  .flcc-factor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .flcc-factor-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .flcc-columns,
  .flcc-grid,
  .flcc-links { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .flcc-shell {
    width: 100%;
    max-width: 100%;
    padding: 14px;
    margin: 12px auto;
    border-radius: 14px;
  }

  .flcc-calculator,
  .flcc-shell :is(.flcc-faq, .flcc-tips, .flcc-result, .flcc-card, .flcc-relationship-factors) {
    padding: 12px;
  }

  .flcc-actions button {
    width: 100%;
  }
}

.flcc-account-save {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #c9d9f6;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
  box-shadow: 0 10px 24px rgba(24, 60, 120, 0.08);
}

.flcc-account-save h4 {
  margin: 0 0 8px;
  color: #183a68 !important;
  font-size: 1.08rem;
}

.flcc-account-save p {
  margin: 0 0 10px;
  color: #24364d !important;
}

.flcc-account-save button,
.flcc-account-save .flcc-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid #9bb9e8;
  border-radius: 10px;
  background: #ffffff;
  color: #0b5360 !important;
  font-weight: 800;
  text-decoration: none;
}

.flcc-save-status {
  margin-top: 10px !important;
  font-weight: 700;
}

.flcc-affiliate {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--flcc-border);
  border-radius: 14px;
  background: var(--flcc-surface);
  box-shadow: 0 8px 24px rgba(16, 39, 71, 0.08);
}

.flcc-affiliate-head h4,
.flcc-affiliate-card h5 {
  margin: 0;
}

.flcc-affiliate-head p,
.flcc-affiliate-card p,
.flcc-affiliate-disclosure {
  margin: 8px 0 0;
}

.flcc-affiliate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.flcc-affiliate-card {
  display: flex;
  min-height: 170px;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d7e2f8;
  border-radius: 12px;
  background: #f8fbff;
}

.flcc-affiliate-card p {
  flex: 1;
}

.flcc-affiliate-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #194ca8;
  border-radius: 10px;
  background: #0f62fe;
  color: #ffffff !important;
  font-weight: 800;
  text-decoration: none !important;
}

.flcc-affiliate-disclosure {
  font-size: 0.82rem;
}

/* SSA dark-neon alignment: local result surfaces should match the site skin. */
.flcc-shell {
  --flcc-surface: rgba(8, 18, 34, 0.96);
  --flcc-surface-alt: rgba(15, 23, 42, 0.92);
  --flcc-border: rgba(45, 212, 191, 0.34);
  --flcc-text: #f4fdff;
  --flcc-text-muted: #dbeafe;
  --flcc-primary: #2dd4bf;
  --flcc-primary-dark: #38bdf8;
  color-scheme: dark;
  border-color: rgba(45, 212, 191, 0.42) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.16), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(167, 139, 250, 0.14), transparent 36%),
    linear-gradient(145deg, rgba(8, 18, 34, 0.98), rgba(3, 8, 18, 0.98)) !important;
  color: #f4fdff !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36) !important;
}

.flcc-shell :where(.flcc-calculator, .flcc-faq, .flcc-tips, .flcc-result, .flcc-card, .flcc-relationship-factors, .flcc-helper-tip, .flcc-context, .flcc-grid article, .flcc-signals, .flcc-recs, .flcc-deeper, .flcc-share-card, .flcc-faq-item, .flcc-faq-a, .flcc-account-save, .flcc-affiliate, .flcc-affiliate-card, .flcc-safety-support) {
  border-color: rgba(45, 212, 191, 0.34) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.10), transparent 32%),
    linear-gradient(180deg, rgba(8, 18, 34, 0.96), rgba(3, 8, 18, 0.96)) !important;
  color: #dbeafe !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
}

.flcc-shell :where(h1, h2, h3, h4, h5, legend, summary, strong, .flcc-account-save h4, .flcc-affiliate-head h4, .flcc-affiliate-card h5) {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(56, 189, 248, 0.24);
}

.flcc-shell :where(p, li, label, span, em, div, .flcc-account-save p, .flcc-faq-a p, .flcc-affiliate-disclosure) {
  color: #dbeafe !important;
}

.flcc-shell :where(input, select),
.flcc-shell .flcc-factor-grid option {
  border-color: rgba(56, 189, 248, 0.42) !important;
  background: rgba(2, 6, 23, 0.84) !important;
  color: #f4fdff !important;
}

.flcc-shell :where(.flcc-actions button, .flcc-link-btn, .flcc-links a, .flcc-account-save button, .flcc-account-save .flcc-link-btn, .flcc-context-links a, .flcc-affiliate-btn) {
  border-color: rgba(45, 212, 191, 0.72) !important;
  background: linear-gradient(135deg, #2dd4bf, #38bdf8) !important;
  color: #031018 !important;
  box-shadow: 0 10px 24px rgba(34, 211, 238, 0.20) !important;
}

.flcc-shell .flcc-share-card {
  display: grid !important;
  gap: 10px !important;
  padding: 16px !important;
}

.flcc-shell .flcc-share-card p {
  margin: 0 !important;
}

.flcc-shell .flcc-save-privacy {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 8px 0 12px !important;
  color: #dbeafe !important;
  font-weight: 750 !important;
}

.flcc-shell .flcc-save-privacy input {
  flex: 0 0 auto !important;
  margin-top: 0.18em !important;
  accent-color: #2dd4bf !important;
}

.flcc-shell .flcc-clear {
  border-color: rgba(56, 189, 248, 0.42) !important;
  background: rgba(2, 6, 23, 0.72) !important;
  color: #eaf8ff !important;
}

.flcc-shell :where(.flcc-chip, .flcc-chip--label, .flcc-chip--source, .flcc-chip--high, .flcc-chip--medium, .flcc-chip--fallback) {
  border-color: rgba(45, 212, 191, 0.36) !important;
  background: rgba(45, 212, 191, 0.12) !important;
  color: #dffef8 !important;
}

.flcc-shell :where(.flcc-meter, .flcc-mini-bar) {
  background: rgba(15, 23, 42, 0.92) !important;
}

.flcc-shell :where(.flcc-meter span, .flcc-mini-bar span) {
  background: linear-gradient(90deg, #2dd4bf, #38bdf8) !important;
}

.flcc-shell .flcc-error {
  color: #ffe4e8 !important;
}

.flcc-shell .flcc-faq-q {
  border-color: rgba(45, 212, 191, 0.34) !important;
  background: rgba(2, 6, 23, 0.72) !important;
  color: #f4fdff !important;
}

.flcc-shell .flcc-faq-q::after {
  color: #8eeaff !important;
}

/* Final hard stop for generated standalone result fragments. */
.flcc-shell :is(
  .flcc-result,
  .flcc-results,
  [id*="result"],
  [id*="Result"],
  [aria-live="polite"],
  table,
  thead,
  tbody,
  tr,
  td,
  th,
  .flcc-chip,
  .flcc-meter,
  .flcc-mini-bar,
  .flcc-factor,
  .flcc-output
) {
  border-color: rgba(45, 212, 191, 0.34) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45, 212, 191, 0.10), transparent 32%),
    linear-gradient(180deg, rgba(8, 18, 34, 0.98), rgba(3, 8, 18, 0.98)) !important;
  color: #dbeafe !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
}

.flcc-shell :is(a:not(.flcc-link-btn)) {
  color: #7dd3fc !important;
}

@media (max-width: 760px) {
  .flcc-context,
  .flcc-affiliate-grid {
    grid-template-columns: 1fr;
  }

  .flcc-context-links a {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .flcc-shell,
  .flcc-calculator {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px !important;
    overflow-x: hidden !important;
  }

  .flcc-shell *,
  .flcc-calculator * {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  .flcc-shell :where(.flcc-columns, .flcc-factor-grid, .flcc-grid, .flcc-signals, .flcc-recs, .flcc-affiliate-grid, [class*="-grid"]) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* SSA dark-neon hard stop for legacy pale love widgets. */
body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) {
  --ssa-neon-bg: #050b12;
  --ssa-neon-surface: rgba(5, 14, 24, 0.98);
  --ssa-neon-surface-2: rgba(8, 26, 40, 0.96);
  --ssa-neon-border: rgba(45, 211, 218, 0.56);
  --ssa-neon-text: #f4fbff;
  --ssa-neon-muted: #cfefff;
  --ssa-neon-accent: #2ed3da;
  background: linear-gradient(135deg, var(--ssa-neon-bg), #061927) !important;
  border-color: var(--ssa-neon-border) !important;
  color: var(--ssa-neon-text) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(section, article, aside, fieldset, details, summary, table, thead, tbody, tfoot, tr, td, th, label, legend, [aria-live], [role="tabpanel"], [role="group"], [class*="card"], [class*="Card"], [class*="panel"], [class*="Panel"], [class*="box"], [class*="Box"], [class*="tile"], [class*="Tile"], [class*="widget"], [class*="Widget"], [class*="result"], [class*="Result"], [class*="summary"], [class*="Summary"], [class*="output"], [class*="Output"], [class*="metric"], [class*="Metric"], [class*="stat"], [class*="Stat"], [class*="notice"], [class*="Notice"], [class*="warning"], [class*="Warning"], [class*="callout"], [class*="Callout"], [class*="option"], [class*="Option"], [class*="question"], [class*="Question"], [class*="field"], [class*="Field"], [class*="group"], [class*="Group"], [class*="item"], [class*="Item"], [class*="row"], [class*="Row"], [class*="form"], [class*="Form"], [class*="input"], [class*="Input"], [class*="history"], [class*="History"], [class*="dashboard"], [class*="Dashboard"], [class*="profile"], [class*="Profile"], [class*="prompt"], [class*="Prompt"], [class*="intro"], [class*="Intro"], [class*="body"], [class*="Body"]) {
  background: linear-gradient(135deg, var(--ssa-neon-surface), var(--ssa-neon-surface-2)) !important;
  border-color: var(--ssa-neon-border) !important;
  box-shadow: 0 0 0 1px rgba(45, 211, 218, 0.16), 0 18px 44px rgba(0, 0, 0, 0.34) !important;
  color: var(--ssa-neon-text) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  background: rgba(3, 10, 18, 0.98) !important;
  border-color: var(--ssa-neon-border) !important;
  color: var(--ssa-neon-text) !important;
  -webkit-text-fill-color: var(--ssa-neon-text) !important;
  box-shadow: inset 0 0 0 1px rgba(45, 211, 218, 0.14) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--ssa-neon-accent) !important;
  background-color: rgba(3, 10, 18, 0.98) !important;
  border-color: var(--ssa-neon-border) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) input::placeholder,
body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) {
  --ssa-neon-bg: #050b12;
  --ssa-neon-surface: rgba(5, 14, 24, 0.98);
  --ssa-neon-surface-2: rgba(8, 26, 40, 0.96);
  --ssa-neon-border: rgba(45, 211, 218, 0.56);
  --ssa-neon-text: #f4fbff;
  --ssa-neon-muted: #cfefff;
  --ssa-neon-accent: #2ed3da;
  background: linear-gradient(135deg, var(--ssa-neon-bg), #061927) !important;
  border-color: var(--ssa-neon-border) !important;
  color: var(--ssa-neon-text) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(section, article, aside, fieldset, details, summary, table, thead, tbody, tfoot, tr, td, th, label, legend, [aria-live], [role="tabpanel"], [role="group"], [class*="card"], [class*="Card"], [class*="panel"], [class*="Panel"], [class*="box"], [class*="Box"], [class*="tile"], [class*="Tile"], [class*="widget"], [class*="Widget"], [class*="result"], [class*="Result"], [class*="summary"], [class*="Summary"], [class*="output"], [class*="Output"], [class*="metric"], [class*="Metric"], [class*="stat"], [class*="Stat"], [class*="notice"], [class*="Notice"], [class*="warning"], [class*="Warning"], [class*="callout"], [class*="Callout"], [class*="option"], [class*="Option"], [class*="question"], [class*="Question"], [class*="field"], [class*="Field"], [class*="group"], [class*="Group"], [class*="item"], [class*="Item"], [class*="row"], [class*="Row"], [class*="form"], [class*="Form"], [class*="input"], [class*="Input"], [class*="history"], [class*="History"], [class*="dashboard"], [class*="Dashboard"], [class*="profile"], [class*="Profile"], [class*="prompt"], [class*="Prompt"], [class*="intro"], [class*="Intro"], [class*="body"], [class*="Body"]) {
  background: linear-gradient(135deg, var(--ssa-neon-surface), var(--ssa-neon-surface-2)) !important;
  border-color: var(--ssa-neon-border) !important;
  box-shadow: 0 0 0 1px rgba(45, 211, 218, 0.16), 0 18px 44px rgba(0, 0, 0, 0.34) !important;
  color: var(--ssa-neon-text) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), select, textarea) {
  background: rgba(3, 10, 18, 0.98) !important;
  border-color: var(--ssa-neon-border) !important;
  color: var(--ssa-neon-text) !important;
  -webkit-text-fill-color: var(--ssa-neon-text) !important;
  box-shadow: inset 0 0 0 1px rgba(45, 211, 218, 0.14) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--ssa-neon-accent) !important;
  background-color: rgba(3, 10, 18, 0.98) !important;
  border-color: var(--ssa-neon-border) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) textarea::placeholder {
  color: rgba(207, 239, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(207, 239, 255, 0.72) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(button:not(.mf-danger-button), .button:not(.mf-danger-button), .btn:not(.mf-danger-button), [role="button"]:not(.mf-danger-button), input[type="button"], input[type="submit"], input[type="reset"], a.button, a.btn, [class*="-btn"]:not(.mf-danger-button), [class*="-button"]:not(.mf-danger-button), [class*="Button"]:not(.mf-danger-button)) {
  background: linear-gradient(135deg, #33f7ff, #21c6d3 55%, #1498ff) !important;
  border-color: rgba(84, 245, 255, 0.82) !important;
  color: #021018 !important;
  -webkit-text-fill-color: #021018 !important;
  box-shadow: 0 0 18px rgba(45, 211, 218, 0.28), 0 12px 28px rgba(0, 0, 0, 0.32) !important;
  text-shadow: none !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) :is(h1, h2, h3, h4, h5, h6, p, li, label, span, small, strong, b, em, legend, summary, td, th, output, div) {
  color: var(--ssa-neon-text) !important;
}

body :is(
  .flcc-shell.flcc-shell,
  .flcc-calculator.flcc-calculator,
  #love-page-shell#love-page-shell,
  .flcc-shell.flcc-shell,
  [class^="flcc-"][class^="flcc-"],
  [class*=" flcc-"][class*=" flcc-"]
) a:not(.button):not(.btn) {
  color: #7ff7ff !important;
}

/* Final compact-form guard for the standalone love compatibility calculator.
   The shared neon shell can otherwise treat labels and result fragments as
   large cards on portrait phones. */
body .flcc-shell.flcc-shell,
body .flcc-shell.flcc-shell * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
}

body .flcc-shell.flcc-shell {
  width: min(1120px, 100%) !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body .flcc-shell.flcc-shell :is(.flcc-calculator, .flcc-context, .flcc-card, .flcc-relationship-factors, .flcc-result, .flcc-account-save, .flcc-affiliate) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body .flcc-shell.flcc-shell :is(.flcc-columns, .flcc-factor-grid, .flcc-grid, .flcc-signals, .flcc-recs, .flcc-affiliate-grid, .flcc-context) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body .flcc-shell.flcc-shell :is(label, .flcc-card label, .flcc-factor-grid label, .flcc-save-privacy) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
}

body .flcc-shell.flcc-shell .flcc-save-privacy {
  grid-template-columns: 20px minmax(0, 1fr) !important;
}

body .flcc-shell.flcc-shell .flcc-save-privacy input[type="checkbox"] {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
}

body .flcc-shell.flcc-shell :is(input, select, textarea, button, .button, .btn, .flcc-link-btn, .flcc-affiliate-btn) {
  max-width: 100% !important;
  min-width: 0 !important;
}

body .flcc-shell.flcc-shell :is(.flcc-actions, .flcc-context-links, .flcc-links, .flcc-account-save) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
}

body .flcc-shell.flcc-shell :is(.flcc-actions > *, .flcc-context-links > *, .flcc-links > *, .flcc-account-save > *) {
  min-width: min(100%, 180px) !important;
}

@media (max-width: 640px) {
  body .flcc-shell.flcc-shell {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body .flcc-shell.flcc-shell :is(.flcc-columns, .flcc-factor-grid, .flcc-grid, .flcc-signals, .flcc-recs, .flcc-affiliate-grid, .flcc-context) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .flcc-shell.flcc-shell :is(.flcc-actions, .flcc-context-links, .flcc-links, .flcc-account-save) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .flcc-shell.flcc-shell :is(.flcc-actions > *, .flcc-context-links > *, .flcc-links > *, .flcc-account-save > *, button, .button, .btn, .flcc-link-btn, .flcc-affiliate-btn) {
    width: 100% !important;
    min-width: 0 !important;
  }
}
