/* Simple, text-first layout shared in spirit with the home page. */
.research-page {
    margin: 0;
    padding: 50px 0 0;
    background: white;
    color: #555155;
    font-family: Maven, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}
.research-page *, .research-page *::before, .research-page *::after {
    box-sizing: border-box;
}
.research-container {
    width: min(100% - 48px, 876px);
    margin-inline: auto;
}
.research-page main a { color: #656a13; }
.research-page main a:hover { color: #555155; text-decoration: underline; }
.research-page .navbar, .research-page .site-footer { line-height: 1.5; }
.research-page :is(a, summary):focus-visible {
    outline: 2px solid #7c800e;
    outline-offset: 5px;
}
.skip-link {
    position: fixed;
    top: 12px;
    left: 16px;
    z-index: 1040;
    padding: 8px 16px;
    background: white;
    transform: translateY(-200%);
}
.skip-link:focus { transform: translateY(0); }
.research-intro { padding-block: 24px; }
.research-intro h1 {
    margin: 0 0 14px;
    font-size: 30px;
    font-weight: 550;
    line-height: 1.2;
    letter-spacing: -0.6px;
}
.research-lede { max-width: 760px; font-size: 16px; }
.research-section, .other-projects { scroll-margin-top: 76px; }
.research-section { margin-bottom: 24px; }
.section-heading { padding: 8px 0 10px; }
.section-heading h2, .other-projects h2 {
    margin: 0;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.3;
}
.section-heading .research-question { margin: 4px 0 0; color: #706c70; font-size: 14px; text-wrap: pretty; }
.research-page .paper-entry { gap: 24px; padding: 20px 0; border: 0; }
.paper-year { width: 64px; flex-shrink: 0; padding-top: 2px; color: #767176; font-size: 13px; }
.paper-info { flex: 1; min-width: 0; }
.paper-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 5px; font-size: 12px; }
.paper-status, .paper-venue { color: #706c70; font-style: italic; }
.research-page .paper-title {
    margin: 0 0 6px;
    color: #555155;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
    text-wrap: pretty;
}
.research-page .paper-title:hover { cursor: auto; color: #555155; }
.research-page .paper-citation { margin: 0 0 6px; font-size: 13px; line-height: 1.6; color: #706c70; }
.paper-citation strong { color: #555155; font-weight: 600; }
.research-page .paper-desc { margin: 0; font-size: 14px; line-height: 1.65; text-wrap: pretty; }
.paper-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 8px; }
.paper-link { display: inline-flex; align-items: center; gap: 10px; padding-block: 5px; font-size: 13px; }
.paper-details > summary {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    cursor: pointer;
    list-style: none;
}
.paper-details > summary .paper-title { flex: 1; min-width: 0; margin-bottom: 0; cursor: pointer; }
.paper-details > summary .details-icon { flex-shrink: 0; margin-top: 6px; }
.paper-details-content { padding-top: 10px; }
.research-archive > summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 8px 0 12px 88px;
    cursor: pointer;
    list-style: none;
}
.research-archive > summary h3 { margin: 0; font-size: 15px; line-height: 1.5; }
.research-archive > summary .details-action { color: #706c70; }
.other-projects > summary {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 0;
    cursor: pointer;
    list-style: none;
}
.paper-details > summary::-webkit-details-marker,
.research-archive > summary::-webkit-details-marker,
.other-projects > summary::-webkit-details-marker { display: none; }
.other-projects > summary:hover h2 { color: #7c800e; }
.details-action { display: flex; align-items: center; gap: 10px; color: #656a13; font-size: 13px; }
.details-icon { display: grid; place-items: center; width: 14px; height: 14px; }
.details-icon::before, .details-icon::after { grid-area: 1 / 1; content: ""; width: 10px; height: 1px; background: currentColor; }
.details-icon::after { transform: rotate(90deg); }
.details-open, details[open] > summary .details-closed, details[open] > summary .details-icon::after { display: none; }
details[open] > summary .details-open { display: inline; }
.other-projects-intro { margin: 4px 0 12px; color: #706c70; font-size: 14px; }
@media (max-width: 600px) {
    .research-container { width: calc(100% - 36px); }
    .research-intro h1 { font-size: 30px; }
    .section-heading h2, .other-projects h2 { font-size: 25px; }
    .research-page .paper-entry { flex-direction: column; gap: 5px; padding-block: 18px; }
    .paper-year { width: auto; padding: 0; }
    .research-archive > summary { padding-left: 0; }
}
