/* RankTraction block stylesheet — contract v3.2 §12.5. Do not edit on the site: set the variables. */
.rt-content {
  --rt-accent: #db2777;
  --rt-accent-2: #f43f5e;
  --rt-text: #1a1a2e;
  --rt-muted: #4b5563;
  --rt-surface: #ffffff;
  --rt-surface-2: #f8f9fa;
  --rt-border: #e5e7eb;
  --rt-radius: 12px;
  --rt-font: inherit;
  --rt-heading-font: inherit;
  --rt-note-bg: #eff6ff; --rt-note-border: #93c5fd;
  --rt-answer-bg: #fff7ed; --rt-answer-border: #f59e0b; --rt-answer-text: #92400e;
  --rt-good-bg: #f0fdf4; --rt-good-border: #86efac; --rt-good-text: #166534;
  --rt-bad-bg: #fef2f2; --rt-bad-border: #fca5a5; --rt-bad-text: #991b1b;
  font-family: var(--rt-font);
  color: var(--rt-text);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
/* Typography is a baseline (§12.5): the element part sits in :where(), specificity (0,1,0), so a
   site's own rules of equal or higher specificity win however the two stylesheets are ordered.
   The block rules below keep their specificity. */
.rt-content *, .rt-content *::before, .rt-content *::after { box-sizing: border-box; }
.rt-content :where(h1), .rt-content :where(h2), .rt-content :where(h3), .rt-content :where(h4) { font-family: var(--rt-heading-font); color: var(--rt-text); line-height: 1.3; }
.rt-content :where(h2) { font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--rt-border); }
.rt-content :where(h3) { font-size: 1.25rem; font-weight: 600; margin: 1.75rem 0 .75rem; }
.rt-content :where(h4) { font-size: 1.05rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.rt-content :where(p) { margin: 0 0 1rem; }
.rt-content :where(a) { color: var(--rt-accent); text-decoration: none; font-weight: 500; }
.rt-content :where(a:hover) { text-decoration: underline; }
.rt-content :where(ul), .rt-content :where(ol) { padding-left: 1.5rem; margin: 1rem 0; }
.rt-content :where(li) { margin-bottom: .5rem; line-height: 1.7; }
.rt-content :where(img) { max-width: 100%; height: auto; border-radius: 8px; }
.rt-content :where(figure) { margin: 1.5rem 0; }
.rt-content :where(figcaption) { font-size: .85rem; color: var(--rt-muted); text-align: center; margin-top: .5rem; }
.rt-content .table-figure { margin: 1.5rem 0; }
.rt-content .table-figure table { margin: 0; }
.rt-content .table-figure figcaption { margin-top: .6rem; }
.rt-content :where(blockquote) { border-left: 4px solid var(--rt-accent); background: color-mix(in srgb, var(--rt-accent) 6%, var(--rt-surface)); padding: 1rem 1.5rem; margin: 1.5rem 0; border-radius: 0 8px 8px 0; font-style: italic; }
.rt-content :where(pre) { background: var(--rt-surface-2); border: 1px solid var(--rt-border); border-radius: 8px; padding: 1rem; overflow-x: auto; font-size: .9rem; }
.rt-content :where(code) { font-size: .92em; }
.rt-content :where(hr) { border: 0; border-top: 1px solid var(--rt-border); margin: 2rem 0; }
.rt-content .table-wrap, .rt-content .table-wrapper, .rt-content .paginated-table-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rt-content .table-wrap, .rt-content .table-wrapper { margin: 1.5rem 0; }
.rt-content .table-wrap > table, .rt-content .table-wrapper > table, .rt-content .table-figure .table-wrap { margin: 0; }
.rt-content :where(table) { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .9rem; border: 1px solid var(--rt-border); border-radius: 8px; overflow: hidden; }
.rt-content :where(th) { background: var(--rt-surface-2); font-weight: 600; padding: .75rem 1rem; text-align: left; border-bottom: 2px solid var(--rt-border); }
.rt-content :where(td) { padding: .75rem 1rem; border-bottom: 1px solid var(--rt-border); vertical-align: top; }
.rt-content :where(tr:last-child td) { border-bottom: 0; }

/* Answer box, takeaways, FAQ */
.rt-content .aio-box, .rt-content .ai-overview { background: var(--rt-answer-bg); border: 1px solid var(--rt-answer-border); border-radius: var(--rt-radius); padding: 1.5rem; margin: 1.5rem 0; }
.rt-content .aio-box h2, .rt-content .aio-box h3, .rt-content .aio-question { color: var(--rt-answer-text); font-size: 1.1rem; margin: 0 0 .75rem; border: 0; padding: 0; }
.rt-content .aio-box p:last-child { margin-bottom: 0; }
.rt-content .key-takeaways { background: var(--rt-good-bg); border: 1px solid var(--rt-good-border); border-radius: var(--rt-radius); padding: 1.5rem; margin: 1.5rem 0; }
.rt-content .key-takeaways h3, .rt-content .key-takeaways .subsection-title { color: var(--rt-good-text); margin: 0 0 .5rem; }
.rt-content .key-takeaways ul { padding-left: 1.25rem; margin: 0; }
.rt-content .faq-section { margin: 2rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .faq-section h2, .rt-content .faq-heading { border: 0; margin-top: 0; padding: 0; }
.rt-content details { border-bottom: 1px solid var(--rt-border); padding: .75rem 0; }
.rt-content details:last-child { border-bottom: 0; }
.rt-content summary { font-weight: 600; cursor: pointer; padding: .25rem 0; list-style: none; position: relative; padding-right: 1.5rem; }
.rt-content summary::-webkit-details-marker { display: none; }
.rt-content summary::after { content: "+"; position: absolute; right: .25rem; top: .1rem; color: var(--rt-accent); font-weight: 700; }
.rt-content details[open] > summary::after { content: "−"; }
.rt-content .faq-answer { padding-top: .5rem; color: var(--rt-muted); }

/* Table of contents, plain and sticky */
.rt-content nav.table-of-contents, .rt-content details.table-of-contents { background: var(--rt-surface-2); border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0; }
.rt-content .table-of-contents ul { list-style: none; padding-left: 0; margin: .5rem 0 0; }
.rt-content .table-of-contents ul ul { padding-left: 1rem; margin: 0; }
.rt-content .table-of-contents li { padding: .3rem 0; border-bottom: 1px solid var(--rt-border); margin: 0; }
.rt-content .table-of-contents li:last-child { border-bottom: 0; }
.rt-content .table-of-contents a[aria-current="true"] { font-weight: 700; }
.rt-content .table-of-contents summary { font-weight: 700; }
.rt-content .sticky-toc, .rt-content .table-of-contents[data-sticky="true"] { position: sticky; top: 1rem; z-index: 2; max-height: calc(100vh - 2rem); overflow: auto; }
.rt-content .sticky-toc.is-stuck { box-shadow: 0 6px 20px rgba(0,0,0,.08); }

/* Info box, pros and cons */
.rt-content aside.info-box, .rt-content .info-box { background: var(--rt-note-bg); border: 1px solid var(--rt-note-border); border-radius: var(--rt-radius); padding: 1.25rem; margin: 1.5rem 0; }
.rt-content .info-box-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.rt-content .info-box-icon { font-size: 1.25rem; }
.rt-content .info-box-title { margin: 0; }
.rt-content .info-box-list { margin: 0; padding-left: 1.25rem; }
.rt-content .pros-cons { margin: 1.5rem 0; padding: 1.5rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); }
.rt-content .pros-cons-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rt-content .pros-column { background: var(--rt-good-bg); border: 1px solid var(--rt-good-border); border-radius: 8px; padding: 1rem; }
.rt-content .cons-column { background: var(--rt-bad-bg); border: 1px solid var(--rt-bad-border); border-radius: 8px; padding: 1rem; }
.rt-content .pros-title { color: var(--rt-good-text); margin: 0 0 .5rem; }
.rt-content .cons-title { color: var(--rt-bad-text); margin: 0 0 .5rem; }
.rt-content .pros-column ul, .rt-content .cons-column ul { margin: 0; padding-left: 1.1rem; }

/* Comparison table, paginated table */
.rt-content .comparison-table { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .comparison-heading { margin-top: 0; }
.rt-content .comparison-table table { margin: 0; }
.rt-content .comparison-table ul { margin: 0; padding-left: 1.1rem; }
.rt-content .category-label { font-weight: 600; white-space: nowrap; }
.rt-content .paginated-table { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); overflow: hidden; }
.rt-content .paginated-table-heading { margin: 0; padding: 1rem 1.25rem; background: var(--rt-surface-2); border-bottom: 1px solid var(--rt-border); }
.rt-content .paginated-table-grid { margin: 0; border: 0; border-radius: 0; }
.rt-content .paginated-table-grid th { text-align: center; vertical-align: top; }
.rt-content .paginated-table-grid td { text-align: center; }
.rt-content .paginated-table-grid .row-label { text-align: left; font-weight: 600; white-space: nowrap; }
.rt-content .paginated-table-grid th, .rt-content .paginated-table-grid td { min-width: 8.5rem; }
.rt-content .rank-badge { display: inline-block; min-width: 2rem; padding: .15rem .5rem; border-radius: 9999px; color: #fff; font-size: .75rem; font-weight: 700; margin-bottom: .35rem; }
.rt-content .table-col-image { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; margin: .25rem auto; display: block; }
.rt-content .table-col-title { display: block; font-weight: 700; }
.rt-content .table-col-rating { display: block; font-size: .8rem; color: #d97706; }
.rt-content .table-cta, .rt-content .top-list-cta, .rt-content .primary-cta, .rt-content .verification-cta, .rt-content .hero-cta-primary { display: inline-block; background: linear-gradient(135deg, var(--rt-accent), var(--rt-accent-2)); color: #fff !important; padding: .55rem 1.25rem; border-radius: 9999px; font-weight: 600; font-size: .9rem; text-decoration: none !important; }
.rt-content .table-cta-text { color: var(--rt-muted); font-size: .85rem; }

/* Top list */
.rt-content .top-list { margin: 1.5rem 0; }
.rt-content .top-list-tabs, .rt-content .verification-tabs, .rt-content .detailed-review-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.rt-content [role="tab"] { border: 1px solid var(--rt-border); background: var(--rt-surface); color: var(--rt-muted); padding: .35rem .9rem; border-radius: 9999px; font-size: .85rem; cursor: pointer; }
.rt-content [role="tab"].active, .rt-content [role="tab"][aria-selected="true"] { background: var(--rt-accent); border-color: var(--rt-accent); color: #fff; }
.rt-content .top-list-item { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; gap: 1rem; align-items: start; position: relative; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem 1.25rem 1.25rem 2.5rem; margin-bottom: 1rem; background: var(--rt-surface); }
.rt-content .top-list-item[hidden] { display: none; }
.rt-content .top-list-item[data-rank]::before { content: attr(data-rank); position: absolute; top: 0; left: 0; width: 32px; height: 32px; background: linear-gradient(135deg, var(--rt-accent), var(--rt-accent-2)); color: #fff; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; border-radius: var(--rt-radius) 0 8px 0; }
.rt-content .top-list-rank { display: none; }
.rt-content .top-list-logo { width: 100%; max-height: 120px; object-fit: contain; margin: 0 0 .5rem; }
.rt-content .top-list-identity h3 { margin: 0 0 .25rem; font-size: 1.1rem; }
.rt-content .top-list-badge { display: inline-block; background: color-mix(in srgb, var(--rt-accent) 12%, var(--rt-surface)); color: var(--rt-accent); border-radius: 9999px; padding: .1rem .6rem; font-size: .75rem; font-weight: 600; }
.rt-content .top-list-rating { color: #d97706; font-size: .9rem; margin-top: .25rem; }
.rt-content .top-list-bonus-banner { background: var(--rt-answer-bg); border: 1px dashed var(--rt-answer-border); border-radius: 8px; padding: .5rem .75rem; display: flex; gap: .5rem; align-items: center; font-weight: 600; margin-bottom: .75rem; }
.rt-content .bonus-value { margin-left: auto; color: var(--rt-accent); }
.rt-content .top-list-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem .75rem; font-size: .85rem; }
.rt-content .info-item { display: flex; gap: .35rem; align-items: baseline; }
.rt-content .info-item strong { color: var(--rt-muted); font-weight: 500; }
.rt-content .top-list-cta-column { text-align: center; }
.rt-content .cta-sparkle { font-weight: 700; color: var(--rt-accent); margin: 0; }
.rt-content .cta-sub { font-size: .8rem; color: var(--rt-muted); margin: 0 0 .5rem; }
.rt-content .top-list-review-link { display: block; margin-top: .5rem; font-size: .85rem; }
.rt-content .top-list-details { grid-column: 1 / -1; border-top: 1px solid var(--rt-border); padding-top: 1rem; }
.rt-content .top-list-details[data-expandable="true"]:not(.is-open) > :not(.rt-expand) { display: none; }
.rt-content .rt-expand { background: none; border: 1px solid var(--rt-border); border-radius: 9999px; padding: .3rem .9rem; font-size: .85rem; cursor: pointer; color: var(--rt-muted); }
.rt-content .detail-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5rem; margin-bottom: .75rem; }
.rt-content .detail-card { background: var(--rt-surface-2); border-radius: 8px; padding: .6rem .75rem; font-size: .85rem; display: grid; }
.rt-content .detail-value { font-weight: 700; }
.rt-content .detail-sub { color: var(--rt-muted); font-size: .75rem; }
.rt-content .expert-review { background: var(--rt-note-bg); border-radius: 8px; padding: .75rem 1rem; margin: .75rem 0; }
.rt-content .expert-author { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--rt-muted); }
.rt-content .expert-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; margin: 0; }
.rt-content .payment-methods ul, .rt-content .recommendation-points ul { margin: 0; padding-left: 1.1rem; }

/* Verification points, detailed review */
.rt-content .verification-points { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .verification-heading { margin-top: 0; }
.rt-content .verification-points-inner { display: flex; flex-direction: column; gap: .75rem; }
.rt-content .verification-item { display: flex; gap: 1rem; padding: 1rem; border: 1px solid var(--rt-border); border-radius: 8px; align-items: flex-start; }
.rt-content .verification-item[hidden] { display: none; }
.rt-content .verification-icon img { width: 48px; height: 48px; object-fit: contain; margin: 0; }
.rt-content .verification-title { margin: 0 0 .35rem; }
.rt-content .verification-check { color: var(--rt-good-text); margin-right: .25rem; }
.rt-content .verification-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .5rem; margin: .5rem 0; font-size: .85rem; }
.rt-content .verification-section { background: var(--rt-surface-2); border-radius: 6px; padding: .5rem .75rem; display: grid; }
.rt-content .verification-pointers { margin: .5rem 0 0; }
.rt-content .detailed-review { margin: 1.5rem 0; }
.rt-content .detailed-review-heading { margin-top: 0; }
.rt-content .detailed-review-item { border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem; margin-bottom: 1.25rem; background: var(--rt-surface); }
.rt-content .detailed-review-item[hidden] { display: none; }
.rt-content .detailed-review-item h3 { margin-top: 0; }
.rt-content .detailed-review-item .rank { color: var(--rt-accent); margin-right: .35rem; }
.rt-content .review-hero { display: grid; grid-template-columns: 200px 1fr; gap: 1rem; align-items: start; }
.rt-content .review-hero img { width: 100%; margin: 0; }
.rt-content .review-hero h4 { margin: 0 0 .35rem; }
.rt-content .review-specs { margin: 1rem 0; font-size: .85rem; }
.rt-content .review-specs th { width: 40%; text-align: left; background: var(--rt-surface-2); }
.rt-content .review-merits { background: var(--rt-good-bg); border-radius: 8px; padding: .75rem 1rem; margin: .5rem 0; }
.rt-content .review-demerits { background: var(--rt-bad-bg); border-radius: 8px; padding: .75rem 1rem; margin: .5rem 0; }
.rt-content .merit-heading { color: var(--rt-good-text); margin: 0 0 .35rem; }
.rt-content .demerit-heading { color: var(--rt-bad-text); margin: 0 0 .35rem; }
.rt-content .review-merits ul, .rt-content .review-demerits ul { margin: 0; padding-left: 1.1rem; }
.rt-content .review-editorial { background: var(--rt-answer-bg); border-radius: 8px; padding: .75rem 1rem; margin: .75rem 0; }
.rt-content .review-editorial p { margin: .25rem 0 0; }
.rt-content .review-ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.rt-content .secondary-cta { display: inline-block; border: 1px solid var(--rt-border); border-radius: 9999px; padding: .55rem 1.25rem; font-weight: 600; font-size: .9rem; }

/* Image slider, call to action, figure, sources */
.rt-content .image-slider { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1rem; background: var(--rt-surface-2); position: relative; }
.rt-content .slider-track { display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: .5rem; scrollbar-width: thin; }
.rt-content .slider-item { flex: 0 0 calc((100% - .75rem * (var(--rt-visible, 3) - 1)) / var(--rt-visible, 3)); scroll-snap-align: start; border-radius: 8px; overflow: hidden; }
.rt-content .slider-image { width: 100%; height: 200px; object-fit: cover; margin: 0; }
.rt-content .slider-caption { font-size: .8rem; color: var(--rt-muted); margin: .35rem 0 0; text-align: center; }
.rt-content .rt-slider-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--rt-border); background: var(--rt-surface); cursor: pointer; font-size: 1.1rem; line-height: 1; }
.rt-content .rt-slider-nav[data-dir="prev"] { left: .35rem; }
.rt-content .rt-slider-nav[data-dir="next"] { right: .35rem; }
.rt-content .cta, .rt-content .call-to-action, .rt-content .cta-box { background: color-mix(in srgb, var(--rt-accent) 8%, var(--rt-surface)); border: 1px solid color-mix(in srgb, var(--rt-accent) 30%, var(--rt-border)); border-radius: var(--rt-radius); padding: 2rem; margin: 2rem 0; text-align: center; }
.rt-content .cta p:last-child, .rt-content .call-to-action p:last-child { margin-bottom: 0; }
.rt-content .article-figure { margin: 1.5rem 0; }
.rt-content .article-figure img { width: 100%; margin: 0; }
.rt-content .citation-list, .rt-content .sources-section { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--rt-border); font-size: .9rem; color: var(--rt-muted); }
.rt-content .citation-list ol, .rt-content .sources-section ol { padding-left: 1.25rem; }
.rt-content aside.disclaimer { font-size: .85rem; color: var(--rt-muted); border-top: 1px solid var(--rt-border); padding-top: 1rem; margin-top: 2rem; }

/* Hero, feature grid */
.rt-content .hero { display: grid; gap: 2rem; align-items: center; padding: 3rem 2rem; margin: 2rem 0; border-radius: calc(var(--rt-radius) + 4px); background: linear-gradient(135deg, color-mix(in srgb, var(--rt-accent) 8%, var(--rt-surface)) 0%, color-mix(in srgb, var(--rt-accent-2) 10%, var(--rt-surface)) 100%); text-align: center; }
.rt-content .hero[data-align="left"] { grid-template-columns: 1.2fr 1fr; text-align: left; }
.rt-content .hero-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-accent); margin: 0 0 .75rem; }
.rt-content .hero-title { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.15; font-weight: 800; margin: 0 0 1rem; border: 0; padding: 0; }
.rt-content .hero-subtitle { font-size: 1.125rem; color: var(--rt-muted); max-width: 40rem; margin: 0 auto 1.5rem; }
.rt-content .hero[data-align="left"] .hero-subtitle { margin-left: 0; }
.rt-content .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.rt-content .hero[data-align="left"] .hero-actions { justify-content: flex-start; }
.rt-content .hero-cta { display: inline-block; padding: .75rem 1.5rem; border-radius: 9999px; font-weight: 600; }
.rt-content .hero-cta-secondary { border: 1px solid var(--rt-border); color: var(--rt-text); }
.rt-content .hero-media { margin: 0; }
.rt-content .hero-media img { width: 100%; border-radius: var(--rt-radius); margin: 0; }
.rt-content .feature-grid { margin: 2rem 0; }
.rt-content .feature-grid-heading { text-align: center; border: 0; margin: 0 0 1.5rem; padding: 0; }
.rt-content .feature-grid-inner { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .feature-grid[data-columns="2"] .feature-grid-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .feature-grid[data-columns="4"] .feature-grid-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rt-content .feature { padding: 1.25rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .feature-icon { font-size: 1.75rem; display: block; margin-bottom: .5rem; }
.rt-content .feature-title { margin: 0 0 .25rem; font-size: 1.05rem; }
.rt-content .feature-text { margin: 0; font-size: .95rem; color: var(--rt-muted); }

/* Small screens */
@media (max-width: 720px) {
  .rt-content .pros-cons-inner, .rt-content .review-hero, .rt-content .hero[data-align="left"] { grid-template-columns: 1fr; }
  .rt-content .hero[data-align="left"] { text-align: center; }
  .rt-content .top-list-item { grid-template-columns: 1fr; }
  .rt-content .feature-grid .feature-grid-inner { grid-template-columns: 1fr !important; }
  .rt-content .slider-item { --rt-visible: 1; }
  /* Tables: a boxed table keeps readable columns and scrolls sideways; a comparison table stacks each row into a card. */
  .rt-content :where(.table-wrap, .table-wrapper) :where(th, td) { min-width: 7.5rem; }
  .rt-content .comparison-table { padding: 1rem; }
  .rt-content .comparison-table thead { display: none; }
  .rt-content .comparison-table tr { display: block; padding: .75rem 0; border-bottom: 1px solid var(--rt-border); }
  .rt-content .comparison-table tr:last-child { border-bottom: 0; }
  .rt-content .comparison-table td { display: block; border: 0; padding: .35rem 0; min-width: 0; }
  .rt-content .comparison-table td.category-label { white-space: normal; font-size: 1rem; padding-bottom: .5rem; }
  .rt-content .comparison-table td[data-label]::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: var(--rt-muted); margin-bottom: .2rem; }
  .rt-content .sticky-toc, .rt-content .table-of-contents[data-sticky="true"] { position: static; max-height: none; }
}

/* Dark: a site sets data-rt-theme="dark" on the wrapper or a .dark ancestor, or "auto" to follow the system. */
.dark .rt-content, [data-theme="dark"] .rt-content, .rt-content[data-rt-theme="dark"] {
  --rt-text: #e5e7eb; --rt-muted: #cbd5e1; --rt-surface: #18181b; --rt-surface-2: #1f2937; --rt-border: #374151;
  --rt-note-bg: #172554; --rt-note-border: #1e40af; --rt-answer-bg: #451a03; --rt-answer-border: #92400e; --rt-answer-text: #fde68a;
  --rt-good-bg: #052e16; --rt-good-border: #166534; --rt-good-text: #bbf7d0; --rt-bad-bg: #450a0a; --rt-bad-border: #991b1b; --rt-bad-text: #fecaca;
}
@media (prefers-color-scheme: dark) {
  .rt-content[data-rt-theme="auto"] {
    --rt-text: #e5e7eb; --rt-muted: #cbd5e1; --rt-surface: #18181b; --rt-surface-2: #1f2937; --rt-border: #374151;
    --rt-note-bg: #172554; --rt-note-border: #1e40af; --rt-answer-bg: #451a03; --rt-answer-border: #92400e; --rt-answer-text: #fde68a;
    --rt-good-bg: #052e16; --rt-good-border: #166534; --rt-good-text: #bbf7d0; --rt-bad-bg: #450a0a; --rt-bad-border: #991b1b; --rt-bad-text: #fecaca;
  }
}
