/* Generated by tools/build_fsr_legacy_components.py.
 * SHA-pinned authorized attachment, lines 8490-8998.
 * Article component presentation only; no Home, Theme chrome, forms or old TOC rail. */
/* FSR Quick Decision Block v1 */

.fsr-article-body .fsr-quick-decision {
  margin: 28px 0 34px;
  padding: 24px;
  border: 1px solid #d8e1ea;
  border-left: 6px solid #17476b;
  border-radius: 18px;
  background: #f8fbfd;
  color: #121820;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.fsr-article-body .fsr-quick-decision__top {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.fsr-article-body .fsr-quick-decision__label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #17476b;
}

.fsr-article-body .fsr-quick-decision__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e9f1f7;
  color: #17476b;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.fsr-article-body .fsr-quick-decision__headline {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #111827;
}

.fsr-article-body .fsr-quick-decision__sub {
  margin: 0 0 20px;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #3f4a56;
  max-width: 900px;
}

.fsr-article-body .fsr-quick-decision__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.fsr-article-body .fsr-quick-decision__card {
  padding: 16px;
  border: 1px solid #dfe7ef;
  border-radius: 14px;
  background: #ffffff;
}

.fsr-article-body .fsr-quick-decision__card h3 {
  margin: 0 0 8px;
  font-size: 0.86rem;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #17476b;
}

.fsr-article-body .fsr-quick-decision__card p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.58;
  color: #26323f;
}

.fsr-article-body .fsr-quick-decision__card ul {
  margin: 0;
  padding-left: 1.1rem;
}

.fsr-article-body .fsr-quick-decision__card li {
  margin: 0.32rem 0;
  font-size: 0.94rem;
  line-height: 1.5;
  color: #26323f;
}

.fsr-article-body .fsr-quick-decision__card--best {
  border-left: 4px solid #1f7a5b;
}

.fsr-article-body .fsr-quick-decision__card--not {
  border-left: 4px solid #8a2f2f;
}

.fsr-article-body .fsr-quick-decision__card--cost {
  border-left: 4px solid #9a6b00;
}

.fsr-article-body .fsr-quick-decision__card--tested {
  border-left: 4px solid #17476b;
}

.fsr-article-body .fsr-quick-decision__note {
  margin-top: 16px;
  padding: 13px 15px;
  border-radius: 12px;
  background: #f2f6f9;
  border: 1px solid #d8e1ea;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #334155;
}

.fsr-article-body .fsr-quick-decision__next {
  margin: 16px 0 0;
  font-size: 0.94rem;
  line-height: 1.55;
  color: #26323f;
}

.fsr-article-body .fsr-quick-decision__next strong {
  color: #17476b;
}

@media (max-width: 760px) {
  .fsr-article-body .fsr-quick-decision {
    padding: 18px;
    border-radius: 16px;
  }

  .fsr-article-body .fsr-quick-decision__grid {
    grid-template-columns: 1fr;
  }

  .fsr-article-body .fsr-quick-decision__badge {
    white-space: normal;
  }
}
/* FSR Quick Decision Block v1.1 additions */

.fsr-article-body .fsr-quick-decision__headline {
  font-weight: 800;
}

.fsr-article-body .fsr-quick-decision__card-title {
  margin: 0 0 8px;
  font-size: 0.86rem;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #17476b;
  font-weight: 800;
}

.fsr-article-body .fsr-quick-decision__card--pricing {
  border-left: 4px solid #9a6b00;
}

.fsr-article-body .fsr-quick-decision__pricing-meta {
  margin: 0 0 10px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #64748b;
}

.fsr-article-body .fsr-pricing-mini {
  display: grid;
  gap: 8px;
}

.fsr-article-body .fsr-pricing-mini__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 9px 0;
  border-bottom: 1px solid #edf2f7;
}

.fsr-article-body .fsr-pricing-mini__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.fsr-article-body .fsr-pricing-mini__plan {
  font-size: 0.92rem;
  line-height: 1.35;
  color: #26323f;
  font-weight: 700;
}

.fsr-article-body .fsr-pricing-mini__detail {
  display: block;
  margin-top: 2px;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #64748b;
  font-weight: 500;
}

.fsr-article-body .fsr-pricing-mini__price {
  font-size: 0.92rem;
  line-height: 1.35;
  color: #111827;
  font-weight: 800;
  white-space: nowrap;
}

.fsr-article-body .fsr-pricing-mini__warning {
  margin-top: 10px;
  font-size: 0.84rem;
  line-height: 1.48;
  color: #475569;
}

@media (max-width: 760px) {
  .fsr-article-body .fsr-pricing-mini__row {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .fsr-article-body .fsr-pricing-mini__price {
    white-space: normal;
  }
}
.fsr-article-body .fsr-faq{border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin:22px 0;padding:6px 10px;}
.fsr-article-body .fsr-faq .fsr-faq-h{font-size:.72em;font-weight:700;letter-spacing:.14em;color:#8a8c84;text-transform:uppercase;padding:14px 12px 6px;}
.fsr-article-body .fsr-faq details{border-top:1px solid #eef1f4;}
.fsr-article-body .fsr-faq details:first-of-type{border-top:none;}
.fsr-article-body .fsr-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 12px;font-weight:600;font-size:1.03em;color:#1f2937;}
.fsr-article-body .fsr-faq summary::-webkit-details-marker{display:none;}
.fsr-article-body .fsr-faq summary:hover{color:#2f6f57;}
.fsr-article-body .fsr-faq summary:focus-visible{outline:2px solid #2f6f57;outline-offset:2px;border-radius:8px;}
.fsr-article-body .fsr-faq .fsr-faq-ic{flex:none;width:9px;height:9px;border-right:2px solid #2f6f57;border-bottom:2px solid #2f6f57;transform:rotate(45deg);transition:transform .2s ease;margin:0 5px 4px 0;}
.fsr-article-body .fsr-faq details[open] summary .fsr-faq-ic{transform:rotate(225deg);}
.fsr-article-body .fsr-faq .fsr-faq-a{padding:2px 12px 18px;color:#374151;line-height:1.65;}
.fsr-article-body .fsr-box{border:1px solid #e2e5ea;border-radius:12px;margin:26px 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow:hidden;background:#fff}
.fsr-article-body .fsr-box__bar{background:#14202e;color:#fff;padding:12px 18px;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.fsr-article-body .fsr-box__body{padding:18px}
.fsr-article-body .fsr-badge{display:inline-block;background:#0f766e;color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.4px}
.fsr-article-body .fsr-meta{font-size:12px;color:#cbd5e1;font-weight:500}
.fsr-article-body .fsr-lead{font-size:15px;line-height:1.55;background:#f1f5f9;border-left:4px solid #14202e;padding:12px 16px;border-radius:6px;margin:0 0 16px;color:#0f172a}
.fsr-article-body .fsr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fsr-article-body .fsr-cell{border:1px solid #e6e9ee;border-radius:8px;padding:12px 14px;background:#fafbfc}
.fsr-article-body .fsr-cell h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#475569}
.fsr-article-body .fsr-cell p{margin:0;font-size:14px;line-height:1.5;color:#1f2937}
.fsr-article-body .fsr-cell--go{border-color:#bbf7d0;background:#f0fdf4}
.fsr-article-body .fsr-cell--hold{border-color:#fecaca;background:#fef2f2}
.fsr-article-body .fsr-cell--full{grid-column:1 / -1;border-color:#c7d2fe;background:#eef2ff}
.fsr-article-body .fsr-cell--full a{color:#3730a3;font-weight:700;text-decoration:none}
.fsr-article-body .fsr-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.fsr-article-body .fsr-toc li{margin:4px 0;font-size:14px;line-height:1.4;break-inside:avoid}
.fsr-article-body .fsr-toc a{color:#14202e;text-decoration:none;border-bottom:1px solid #cbd5e1}
.fsr-article-body .fsr-table{width:100%;border-collapse:collapse;font-size:14px}
.fsr-article-body .fsr-table th, .fsr-article-body .fsr-table td{border:1px solid #e6e9ee;padding:9px 12px;text-align:left;vertical-align:top}
.fsr-article-body .fsr-table th{background:#f1f5f9;font-weight:700;color:#0f172a}
.fsr-article-body .fsr-table tr:nth-child(even) td{background:#fafbfc}
.fsr-article-body .fsr-note{font-size:13px;color:#475569;margin:10px 2px 0;line-height:1.5}
.fsr-article-body .fsr-warn .fsr-box__bar{background:#b45309}
.fsr-article-body .fsr-warn p{margin:0;font-size:14px;line-height:1.6;color:#1f2937}
.fsr-article-body .fsr-break .fsr-box__bar{background:#9b1c1c}
.fsr-article-body .fsr-break ul{margin:0;padding-left:18px}
.fsr-article-body .fsr-break li{margin:8px 0;font-size:14px;line-height:1.5}
.fsr-article-body .fsr-break code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:13px}
.fsr-article-body .fsr-side{border:1px dashed #94a3b8;border-radius:10px;background:#f8fafc;padding:14px 16px;margin:22px 0}
.fsr-article-body .fsr-side h4{margin:0 0 6px;font-size:14px;color:#0f172a}
.fsr-article-body .fsr-side p{margin:0;font-size:14px;line-height:1.55;color:#334155}
.fsr-article-body .fsr-faq details{border-bottom:1px solid #e6e9ee;padding:10px 2px}
.fsr-article-body .fsr-faq summary{cursor:pointer;font-weight:600;font-size:15px;color:#14202e;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}
.fsr-article-body .fsr-faq summary::-webkit-details-marker{display:none}
.fsr-article-body .fsr-faq summary:after{content:"+";color:#0f766e;font-weight:700;font-size:20px;line-height:1;flex-shrink:0}
.fsr-article-body .fsr-faq details[open] summary:after{content:"\2013"}
.fsr-article-body .fsr-faq p{font-size:14px;line-height:1.6;color:#1f2937;margin:8px 0 4px}
.fsr-article-body .fsr-verdict .fsr-box__bar{background:#0f766e}
.fsr-article-body .fsr-verdict p{font-size:15px;line-height:1.6;margin:0 0 10px}
.fsr-article-body .fsr-box, .fsr-article-body .fsr-box *, .fsr-article-body .fsr-side, .fsr-article-body .fsr-side *{text-align:left}
@media(max-width:600px){.fsr-article-body .fsr-grid{grid-template-columns:1fr}.fsr-article-body .fsr-toc ol{columns:1}}
.fsr-article-body .fsr-p{margin:0;font-size:14px;line-height:1.6;color:#1f2937}

/*
 * FSR Article Conversion System v1.1 — offline canary candidate.
 * Intended placement: article ID 3463 only. Component selectors are namespaced.
 * Append-only candidate; never replace current CSS.
 */

.fsr-article-body .fsr-article-conversion {
  --fsr-ac-ink: #171717;
  --fsr-ac-muted: #55514a;
  --fsr-ac-paper: #f8f3e8;
  --fsr-ac-paper-strong: #efe5d2;
  --fsr-ac-navy: #17324d;
  --fsr-ac-navy-dark: #0d2236;
  --fsr-ac-rule: #c9bda9;
  --fsr-ac-focus: #b14d00;
  box-sizing: border-box;
  clear: both;
  color: var(--fsr-ac-ink);
  margin-block: clamp(2rem, 5vw, 4rem);
  max-width: 100%;
  min-width: 0;
}

.fsr-article-body .fsr-article-conversion *, .fsr-article-body .fsr-article-conversion *::before, .fsr-article-body .fsr-article-conversion *::after {
  box-sizing: inherit;
}

.fsr-article-body .fsr-article-conversion [hidden] {
  display: none !important;
}

.fsr-article-body .fsr-article-conversion__panel {
  background: var(--fsr-ac-paper);
  border: 1px solid var(--fsr-ac-rule);
  border-radius: 0.25rem;
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.fsr-article-body .fsr-article-conversion--decision .fsr-article-conversion__panel {
  border-block-start: 0.375rem solid var(--fsr-ac-navy);
}

.fsr-article-body .fsr-article-conversion__module {
  min-width: 0;
}

.fsr-article-body .fsr-article-conversion__module + .fsr-article-conversion__module {
  border-block-start: 1px solid var(--fsr-ac-rule);
  margin-block-start: clamp(1.75rem, 4vw, 2.5rem);
  padding-block-start: clamp(1.75rem, 4vw, 2.5rem);
}

.fsr-article-body .fsr-article-conversion__kicker {
  color: var(--fsr-ac-navy);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  margin: 0 0 0.625rem;
  text-transform: uppercase;
}

.fsr-article-body .fsr-article-conversion__title, .fsr-article-body .fsr-article-conversion__subtitle {
  color: var(--fsr-ac-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

.fsr-article-body .fsr-article-conversion__title {
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  line-height: 1.12;
  margin: 0;
}

.fsr-article-body .fsr-article-conversion__subtitle {
  font-size: clamp(1.25rem, 3vw, 1.625rem);
  line-height: 1.2;
  margin: 0;
}

.fsr-article-body .fsr-article-conversion__intro {
  color: var(--fsr-ac-muted);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0.875rem 0 0;
  max-width: 70ch;
}

.fsr-article-body .fsr-article-conversion__actions, .fsr-article-body .fsr-article-conversion__share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-block-start: 1.25rem;
  min-width: 0;
}

.fsr-article-body .fsr-article-conversion__action {
  align-items: center;
  appearance: none;
  border: 2px solid var(--fsr-ac-navy);
  border-radius: 0.1875rem;
  cursor: pointer;
  display: inline-flex;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.3;
  min-height: 2.75rem;
  min-width: 0;
  padding: 0.6875rem 1rem;
  text-align: center;
  text-decoration: none;
  transition: none;
}

.fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__action.fsr-article-conversion__action--primary, .fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__action.fsr-article-conversion__action--primary:visited {
  background: var(--fsr-ac-navy);
  color: #ffffff;
}

.fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__action.fsr-article-conversion__action--primary:hover, .fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__action.fsr-article-conversion__action--primary:active {
  background: var(--fsr-ac-navy-dark);
  border-color: var(--fsr-ac-navy-dark);
  color: #ffffff;
}

.fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__action.fsr-article-conversion__action--primary:focus-visible {
  background: var(--fsr-ac-navy);
  border-color: var(--fsr-ac-navy);
  color: #ffffff;
}

.fsr-article-body .fsr-article-conversion__action--secondary {
  background: transparent;
  color: var(--fsr-ac-navy-dark);
}

.fsr-article-body .fsr-article-conversion__action--secondary:hover {
  background: var(--fsr-ac-paper-strong);
  color: var(--fsr-ac-navy-dark);
}

.fsr-article-body .fsr-article-conversion__action:focus-visible, .fsr-article-body .fsr-article-conversion__related-link:focus-visible {
  outline: 3px solid var(--fsr-ac-focus);
  outline-offset: 3px;
}

.fsr-article-body .fsr-article-conversion__related-list {
  display: grid;
  gap: 0.75rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.fsr-article-body .fsr-article-conversion[data-fsr-component-version] .fsr-article-conversion__related-list .fsr-article-conversion__related-item {
  background: rgba(255, 255, 255, 0.55);
  border-inline-start: 0.25rem solid var(--fsr-ac-navy);
  margin: 0;
  min-width: 0;
}

.fsr-article-body .fsr-article-conversion__related-link {
  color: var(--fsr-ac-navy-dark);
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4;
  min-height: 2.75rem;
  overflow-wrap: anywhere;
  padding: 0.875rem 1rem;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.fsr-article-body .fsr-article-conversion__related-link:hover {
  color: var(--fsr-ac-navy);
  text-decoration-thickness: 0.14em;
}

.fsr-article-body .fsr-article-conversion__status {
  color: var(--fsr-ac-muted);
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 0.75rem 0 0;
  min-height: 1.5em;
}

.fsr-article-body .fsr-article-conversion__share-actions {
  min-height: 2.75rem;
}

@media (max-width: 40rem) {
  .fsr-article-body .fsr-article-conversion__actions, .fsr-article-body .fsr-article-conversion__share-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .fsr-article-body .fsr-article-conversion__action {
    width: 100%;
  }

  .fsr-article-body .fsr-article-conversion__share-actions {
    min-height: 9.75rem;
  }
}


/* Source-palette tokens on existing component surfaces only.
 * Resolve inherited reading colors in dark and light; original paint stays intact. */
.fsr-article-body .fsr-quick-decision {
  --fsr-bg: #f8fbfd;
  --fsr-text: #121820;
  --fsr-muted: #3f4a56;
  --fsr-mint: #17476b;
  --fsr-blue: #17476b;
  --fsr-line: #d8e1ea;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-faq {
  --fsr-bg: #fff;
  --fsr-text: #14202e;
  --fsr-muted: #374151;
  --fsr-mint: #2f6f57;
  --fsr-blue: #2f6f57;
  --fsr-line: #e6e9ee;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-box {
  --fsr-bg: #fff;
  --fsr-text: #1f2937;
  --fsr-muted: #475569;
  --fsr-mint: #0f766e;
  --fsr-blue: #14202e;
  --fsr-line: #e6e9ee;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-side {
  --fsr-bg: #f8fafc;
  --fsr-text: #0f172a;
  --fsr-muted: #334155;
  --fsr-mint: #14202e;
  --fsr-blue: #14202e;
  --fsr-line: #94a3b8;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-cell {
  --fsr-bg: #fafbfc;
  --fsr-text: #1f2937;
  --fsr-muted: #475569;
  --fsr-mint: #14202e;
  --fsr-blue: #14202e;
  --fsr-line: #e6e9ee;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-lead {
  --fsr-bg: #f1f5f9;
  --fsr-text: #0f172a;
  --fsr-muted: #0f172a;
  --fsr-mint: #14202e;
  --fsr-blue: #14202e;
  --fsr-line: #14202e;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-article-conversion {
  --fsr-bg: var(--fsr-ac-paper);
  --fsr-text: var(--fsr-ac-ink);
  --fsr-muted: var(--fsr-ac-muted);
  --fsr-mint: var(--fsr-ac-navy);
  --fsr-blue: var(--fsr-ac-navy);
  --fsr-line: var(--fsr-ac-rule);
  color: var(--fsr-text);
}
.fsr-article-body .fsr-box__bar {
  --fsr-text: #fff;
  --fsr-muted: #cbd5e1;
  --fsr-mint: #fff;
  --fsr-blue: #fff;
  --fsr-line: #cbd5e1;
  color: var(--fsr-text);
}
.fsr-article-body .fsr-badge {
  --fsr-text: #fff;
  --fsr-muted: #fff;
  --fsr-mint: #fff;
  color: var(--fsr-text);
}

/* Sole readability correction: source FAQ microheading on white,
 * #8a8c84 (3.406284:1) → #767770 (4.522927:1). */
.fsr-article-body .fsr-faq .fsr-faq-h { color: #767770; }
