/* Research posts retain risotto's type and palette, with room for figures. */
.research-page {
    max-width: 72rem;
    margin: 2rem auto;
    padding: 0 1.5rem;
    grid-template-areas: "header" "body" "footer";
    grid-template-columns: minmax(0, 1fr);
}
.research-post { line-height: 1.7; }
.research-post .content__header { text-align: center; }
.research-post .content__header h1 { line-height: 1.25; font-size: clamp(1.7rem, 4vw, 2.4rem); }
.research-post p, .research-post h2, .research-post h3, .research-post > .content__body > pre {
    max-width: 58rem;
    margin-left: auto;
    margin-right: auto;
}
.research-post h2 { margin-top: 3rem; line-height: 1.35; }
.research-post h3 { line-height: 1.4; }
.research-post .paper-authors, .research-post .paper-affiliations, .research-post .paper-links { text-align: center; }
.research-post .paper-authors { margin-bottom: .5rem; }
.research-post .paper-affiliations { margin-top: .25rem; }
.research-post .paper-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin: 1.5rem auto 2.5rem; }
.research-post .paper-links a { border: 1px solid currentColor; border-radius: .3rem; padding: .45rem 1.2rem; text-decoration: none; }
.research-post a:focus-visible, .research-table:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.research-post .tldr { padding: 1rem 1.3rem; border-left: 3px solid var(--fg); }
.research-post .example-card { max-width: 58rem; margin: 1.8rem auto; padding: 1.3rem; border: 1px solid var(--off-fg); border-radius: .4rem; }
.research-post .example-card h3 { margin-top: 0; }
.research-post .example-card h4 { margin: 1rem 0 .5rem; }
.research-post .example-meta { font-size: .85rem; color: var(--off-fg); }
.research-post pre { overflow-x: auto; max-width: 100%; padding: 1rem; line-height: 1.5; }
.research-post .highlight { width: 100%; max-width: 58rem; margin: 0 auto; box-sizing: border-box; }
.research-post .highlight pre { width: 100%; margin: 0; box-sizing: border-box; }
.research-post .example-card pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.research-post figure { margin: 2rem 0; }
.research-post #figure-1 { max-width: 58rem; margin-left: auto; margin-right: auto; }
.research-post figure img { display: block; width: 100%; height: auto; background: white; }
.research-post figcaption { max-width: 58rem; margin: 1rem auto; font-size: .88rem; line-height: 1.6; }
.research-post .method-scroll { overflow-x: auto; margin-bottom: 1rem; }
.research-post .mobile-panels { display: none; }
.research-post .early-stop { max-width: 58rem; margin-left: auto; margin-right: auto; }
.research-post .early-stop img { max-width: 30rem; margin-left: auto; margin-right: auto; }
.research-post .early-stop .early-stop-legend { max-width: 28rem; margin-bottom: 1rem; }
.research-table { max-width: 58rem; margin: 1.5rem auto; overflow-x: auto; }
.research-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.research-table th, .research-table td { padding: .7rem .8rem; text-align: left; border-bottom: 1px solid var(--off-fg); }
.research-table td { white-space: nowrap; }
.research-table caption { caption-side: bottom; text-align: left; padding: 1rem 0; font-size: .83rem; line-height: 1.6; }
@media (max-width: 45rem) {
    .research-page { padding: 0 1rem; margin-top: 1rem; }
    .research-post .example-card { padding: .8rem; }
    .research-post .headline-plots { display: none; }
    .research-post .mobile-panels { display: grid; gap: 1rem; max-width: 30rem; margin: auto; }
    .research-post .headline-method { min-width: 50rem; }
}
