/* Romance scam checklist (romance-scam-check.js). Uses the u10 engine styles; levels: 0 calm, 1 watch, 2 slow down, 3 stop. */
.tool.rsc { --rsc-0: #22A06B; --rsc-1: #E8A317; --rsc-2: #EE7A2B; --rsc-3: #D9334F; }
@media (prefers-color-scheme: dark) { .tool.rsc { --rsc-0: #4CD39A; --rsc-1: #FFC24D; --rsc-2: #FF9C57; --rsc-3: #FF6B81; } }
.tool .rsc-intro { display: flex; flex-direction: column; gap: 14px; }
.tool .rsc-meter {
  position: sticky; top: var(--nav-h, 80px); z-index: 2; display: flex; flex-direction: column; gap: 8px;
  padding: 12px 16px; border-radius: 0 0 18px 18px; background: var(--surface); box-shadow: var(--shadow);
}
.tool .rsc-meter-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tool .rsc-label { font-size: 16px; line-height: 22px; font-weight: 900; color: rgb(var(--ink)); }
.tool .rsc-count { font-size: 13px; font-weight: 750; color: rgb(var(--ink) / .5); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tool .rsc-track { height: 8px; border-radius: 4px; background: rgb(var(--ink) / .08); overflow: hidden; }
.tool .rsc-track span { display: block; height: 100%; border-radius: 4px; transform: scaleX(0); transform-origin: left; background: var(--rsc-0); transition: transform .4s var(--ease-out), background-color .3s ease; }
.tool .rsc-meter[data-level="1"] .rsc-track span { background: var(--rsc-1); }
.tool .rsc-meter[data-level="2"] .rsc-track span { background: var(--rsc-2); }
.tool .rsc-meter[data-level="3"] .rsc-track span { background: var(--rsc-3); }
.tool .rsc-meter[data-level="3"] .rsc-label { color: var(--rsc-3); }
.tool .rsc-list { display: flex; flex-direction: column; gap: 20px; }
.tool .rsc-group { display: flex; flex-direction: column; gap: 8px; }
.tool .rsc-group-label { font-size: 13px; line-height: 18px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; color: var(--link); }
.tool .rsc-row {
  display: grid; grid-template-columns: 1fr 268px; gap: 12px; align-items: center; padding: 12px 12px 12px 16px; border-radius: 18px;
  background: var(--surface); box-shadow: inset 0 0 0 1px var(--u10-line); transition: box-shadow .2s ease;
}
.tool .rsc-row[data-a="y"] { box-shadow: inset 0 0 0 2px var(--rsc-3); }
.tool .rsc-row[data-a="m"] { box-shadow: inset 0 0 0 2px rgb(var(--ink) / .2); }
.tool .rsc-text { display: flex; flex-direction: column; gap: 2px; }
.tool .rsc-sign { font-size: 16px; line-height: 22px; font-weight: 750; color: rgb(var(--ink)); }
.tool .rsc-why { font-size: 15px; line-height: 21px; font-weight: 650; color: rgb(var(--ink) / .75); }
.tool .rsc-why:empty { display: none; }
.tool .rsc-row .u10-seg { padding: 3px; border-radius: 16px; }
.tool .rsc-row .u10-seg button { min-height: 44px; border-radius: 13px; font-size: 14px; white-space: nowrap; color: rgb(var(--ink) / .8); }
.tool .rsc-row[data-a="y"] .u10-seg button[aria-checked="true"] { background: var(--rsc-3); color: var(--surface); }
.tool .rsc-row[data-a="n"] .u10-seg button[aria-checked="true"] { background: rgb(34 160 107 / .16); color: rgb(var(--ink)); box-shadow: none; }
.tool .rsc-row[data-a="m"] .u10-seg button[aria-checked="true"] { background: rgb(var(--ink) / .14); color: rgb(var(--ink)); box-shadow: none; }
.tool .rsc-result { display: flex; flex-direction: column; gap: 14px; padding-top: 8px; }
.tool .rsc-result[data-level="3"] .u10-headline { color: var(--rsc-3); }
.tool .rsc-found { display: grid; gap: 6px; }
.tool .rsc-found li { display: flex; gap: 10px; align-items: baseline; font-size: 15px; line-height: 22px; }
.tool .rsc-found b { flex: none; min-width: 64px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: var(--rsc-3); }
.tool .rsc-found .is-maybe b { color: rgb(var(--ink) / .5); }
.tool .rsc-links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; }
.tool .rsc-links li { font-size: 14px; line-height: 20px; }
.tool .rsc-links span { color: rgb(var(--ink) / .55); font-weight: 600; }
.tool .rsc-good, .tool .rsc-talk { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--u10-line); }
.tool .rsc-good .u10-h, .tool .rsc-talk .u10-h { margin: 0; }
.tool .rsc-good ul, .tool .rsc-talk ul { display: grid; gap: 6px; }
.tool .rsc-good li, .tool .rsc-talk li { position: relative; padding-left: 18px; font-size: 15px; line-height: 22px; }
.tool .rsc-good li::before, .tool .rsc-talk li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 6px; height: 6px; border-radius: 3px; background: var(--rsc-0); }
.tool .rsc-talk li::before { background: rgb(var(--accent)); }
@media (max-width: 599px) {
  .tool .rsc-row { grid-template-columns: 1fr; padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { .tool .rsc-track span { transition: none; } }

/* Round 2: check mark on the chosen answer, jump link in the sticky bar */
.tool .rsc-row[data-a] .u10-seg button[aria-checked="true"]::before { content: "\2713"; margin-right: 4px; font-weight: 900; }
.tool .rsc-row[data-a="n"] .u10-seg button[aria-checked="true"] { background: rgb(34 160 107 / .28); }
.tool .rsc-row[data-a="m"] .u10-seg button[aria-checked="true"] { background: rgb(var(--ink) / .22); }
.tool .rsc-jump { margin-left: auto; min-height: 32px; padding: 0 12px; border-radius: 16px; background: rgb(var(--ink)); color: var(--surface); font-size: 13px; font-weight: 850; white-space: nowrap; }
.tool .rsc-jump[hidden] { display: none; }
.tool .rsc-meter-top { align-items: center; }
.tool .rsc-result .u10-headline { outline: none; scroll-margin-top: calc(var(--nav-h, 80px) + 100px); }
.tool .rsc-result { scroll-margin-top: calc(var(--nav-h, 80px) + 90px); }

/* Round 3 */
.tool.rsc .tool-sub { font-size: 16px; line-height: 24px; color: rgb(var(--ink) / .75); }
.tool .rsc-meter-top { flex-wrap: nowrap; }
.tool .rsc-label { white-space: nowrap; }
.tool .rsc-count { margin-left: auto; }
.tool .rsc-jump { margin-left: 4px; }
.tool .rsc-call { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: rgb(var(--accent) / .12); font-size: 15px; line-height: 22px; font-weight: 700; }
.tool .rsc-call .tool-icon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--link); }
.tool .rsc-msg { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 14px; background: rgb(var(--accent) / .08); }
.tool .rsc-msg p { font-size: 15px; line-height: 22px; font-style: italic; }
.tool .rsc-msg .u10-chip { align-self: flex-start; }

/* Round 4 */
.tool .rsc-src { font-size: 16px; line-height: 24px; font-weight: 650; color: rgb(var(--ink) / .78); }
.tool .rsc-urgent { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 16px; background: var(--rsc-3); color: var(--surface); font-size: 16px; line-height: 22px; }
.tool .rsc-urgent b { font-weight: 900; }
.tool .rsc-urgent span { font-weight: 650; }
.tool .rsc-sign { font-size: 17px; line-height: 24px; }

/* Round 7: solid backdrop above the sticky bar, folded groups, amber "Not sure", helpline buttons, scripts */
.tool .rsc-meter.is-stuck::before { content: ""; position: absolute; left: -16px; right: -16px; bottom: 100%; height: var(--nav-h, 80px); background: linear-gradient(rgb(var(--accent) / .1), rgb(var(--accent) / .1)), var(--bg); pointer-events: none; }
@media (min-width: 600px) { .tool .rsc-meter.is-stuck::before { left: -36px; right: -36px; } }
.tool .rsc-label { white-space: normal; }
.tool .rsc-group.is-shut .rsc-row { display: none; }
.tool .rsc-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 16px; border-radius: 18px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--u10-line); text-align: left; font-size: 16px; line-height: 22px; font-weight: 750; color: rgb(var(--ink)); }
.tool .rsc-sum[hidden] { display: none; }
.tool .rsc-sum-edit { flex: none; font-size: 14px; font-weight: 850; color: var(--link); }
.tool .rsc-sum:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
.tool .rsc-row[data-a="m"] { box-shadow: inset 0 0 0 2px rgb(232 163 23 / .8); }
.tool .rsc-row[data-a="m"] .u10-seg button[aria-checked="true"] { background: rgb(232 163 23 / .32); color: rgb(var(--ink)); }
.tool .rsc-found .is-maybe b { color: rgb(166 110 0); }
@media (prefers-color-scheme: dark) { .tool .rsc-found .is-maybe b { color: var(--rsc-1); } }
.tool .rsc-case { padding: 12px 14px; border-radius: 14px; background: rgb(var(--ink) / .05); font-size: 16px; line-height: 23px; font-weight: 700; color: rgb(var(--ink)); }
.tool .rsc-callrow { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 18px; background: rgb(var(--accent) / .12); }
.tool .rsc-callhead { display: flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 850; color: rgb(var(--ink)); }
.tool .rsc-callhead .tool-icon { width: 18px; height: 18px; color: var(--link); }
.tool .rsc-callbtns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tool .rsc-callbtn { display: flex; flex-direction: column; justify-content: center; min-height: 64px; padding: 10px 14px; border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); text-decoration: none; color: rgb(var(--ink)); transition: transform .16s var(--ease-out); }
.tool .rsc-callbtn b { font-size: 16px; line-height: 21px; font-weight: 900; color: var(--link); }
.tool .rsc-callbtn span { font-size: 14px; line-height: 19px; font-weight: 700; color: rgb(var(--ink) / .7); }
.tool .rsc-callbtn:active { transform: scale(.97); }
.tool .rsc-callbtn:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
@media (max-width: 380px) { .tool .rsc-callbtns { grid-template-columns: 1fr; } }
.tool .rsc-scripts button { font-size: 13px; min-height: 44px; }
.tool .rsc-rule { font-size: 15px; line-height: 22px; color: rgb(var(--ink) / .8); }
.tool .rsc-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 16px; }
.tool .rsc-links li span { display: block; }
.tool .rsc-sentinel { height: 0; margin-top: -14px; }
.tool .rsc-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tool .rsc-meter-bottom { display: flex; align-items: center; gap: 12px; }
.tool .rsc-meter-bottom .rsc-track { flex: 1; }
.tool .rsc-meter-bottom .rsc-count { margin-left: 0; }
.tool .rsc-found b { min-width: 84px; }
@media (max-width: 599px) { .tool .rsc-label { font-size: 15px; letter-spacing: -.01em; } .tool .rsc-jump { padding: 0 10px; } .tool .rsc-meter { padding: 12px 14px; } }
