/* Research article components: stat cards, findings, chart figures, data tables, cite box.
   Scoped to .blog-content .ra-* so other articles are unaffected. */
.blog-content .ra-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1.75rem 0; }
.blog-content .ra-stat { padding: 1rem 1.1rem; border: 1px solid #dbe5f0; border-radius: .75rem; background: #f6f9fc; }
.blog-content .ra-stat b { display: block; font-size: 1.9rem; line-height: 1.1; font-weight: 800; color: #145DA1; letter-spacing: -.02em; }
.blog-content .ra-stat span { display: block; margin-top: .35rem; font-size: .86rem; line-height: 1.35; color: #3f4a5a; }
.blog-content .ra-findings { margin: 1.75rem 0; padding: 1.4rem 1.6rem; border-radius: .9rem; background: #0f2742; color: #e8eef6; }
.blog-content .ra-findings h2 { margin: 0 0 .75rem; color: #fff; font-size: 1.25rem; }
.blog-content .ra-findings ol { margin: 0; padding-left: 1.3rem; }
.blog-content .ra-findings li { margin: .45rem 0; line-height: 1.55; color: #e8eef6; }
.blog-content .ra-findings li::marker { color: #7fb3e6; font-weight: 700; }
.blog-content .ra-findings strong { color: #fff; }
.blog-content .ra-findings p { margin: .9rem 0 0; font-size: .85rem; color: #a9bbd0; }
.blog-content .ra-findings a { color: #9cc7f0; }
.blog-content .ra-findings code { background: #1d3a5c; color: #cfe3f7; border: 0; overflow-wrap: anywhere; }
.blog-content .ra-defs { display: grid; grid-template-columns: minmax(10rem, 13rem) 1fr; gap: .55rem 1.25rem; margin: 1rem 0 1.5rem; }
.blog-content .ra-defs dt { font-weight: 700; color: #18181b; }
.blog-content .ra-defs dd { margin: 0; color: #3f3f46; }
.blog-content figure.ra-fig { margin: 1.5rem 0 .5rem; padding: .75rem; border: 1px solid #e4e4e7; border-radius: .75rem; background: #fff; }
.blog-content figure.ra-fig img { display: block; width: 100%; height: auto; margin: 0; border-radius: .4rem; }
.blog-content figure.ra-fig figcaption { margin: .6rem .25rem 0; font-size: .85rem; color: #52525b; }
.blog-content details.ra-data { margin: .25rem 0 1.25rem; border: 1px solid #e4e4e7; border-radius: .6rem; }
.blog-content details.ra-data summary { cursor: pointer; padding: .6rem .9rem; font-size: .88rem; font-weight: 600; color: #145DA1; }
.blog-content details.ra-data .ra-scroll { overflow-x: auto; padding: 0 .9rem .8rem; }
.blog-content table.ra-table { width: 100%; border-collapse: collapse; font-size: .86rem; font-variant-numeric: tabular-nums; }
.blog-content table.ra-table caption { caption-side: top; text-align: left; padding: .2rem 0 .5rem; font-size: .82rem; color: #52525b; }
.blog-content table.ra-table th, .blog-content table.ra-table td { padding: .4rem .6rem; border-bottom: 1px solid #ececef; text-align: right; white-space: nowrap; }
.blog-content table.ra-table th:first-child, .blog-content table.ra-table td:first-child { text-align: left; }
.blog-content table.ra-table thead th { font-weight: 700; color: #18181b; background: #f6f9fc; text-transform: none; letter-spacing: 0; }
.blog-content .ra-take { margin: 1.25rem 0 2rem; padding: .95rem 1.2rem; border-left: 4px solid #145DA1; background: #f1f6fb; border-radius: 0 .5rem .5rem 0; }
.blog-content .ra-take p { margin: 0; }
.blog-content .ra-cite { margin: 1.25rem 0; padding: 1.1rem 1.25rem; border: 1px dashed #9db8d6; border-radius: .75rem; background: #fafcfe; }
.blog-content .ra-cite p { margin: .35rem 0; }
.blog-content .ra-cite code { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .blog-content .ra-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-content .ra-defs { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .blog-content .ra-defs dd { margin-bottom: .6rem; }
}
html.dark .blog-content .ra-stat { background: #14202e; border-color: #26384d; }
html.dark .blog-content .ra-stat b { color: #7fb3e6; }
html.dark .blog-content .ra-stat span, html.dark .blog-content .ra-defs dd { color: #c7d0db; }
html.dark .blog-content .ra-defs dt { color: #f4f4f5; }
html.dark .blog-content .ra-take { background: #14202e; }
html.dark .blog-content .ra-cite { background: #111a24; border-color: #3b5573; }
html.dark .blog-content details.ra-data { border-color: #2d3a48; }
html.dark .blog-content details.ra-data summary { color: #7fb3e6; }
html.dark .blog-content table.ra-table thead th { background: #14202e; color: #f4f4f5; }
html.dark .blog-content table.ra-table th, html.dark .blog-content table.ra-table td { border-color: #26313d; }
html.dark .blog-content table.ra-table caption { color: #a1a1aa; }
