/* Shared authorable blocks, independent of project identity. */
.research-page > .tldr-block { max-width:none; margin:0 0 32px; padding:24px; border-left:3px solid var(--accent); background:var(--surface); }
.tldr-block h3 { margin-bottom:12px; }
.impression-block { margin:32px 0; border:1px solid var(--rule); background:var(--surface); }
.impression-block img { width:100%; height:auto; }
.impression-block figcaption { padding:16px 20px; color:var(--muted); font-size:.875rem; }
.impression-player { display:grid; gap:12px; }
.impression-player .small-button { justify-self:start; margin:0 16px; }
.impression-status { margin:0 16px 12px; color:var(--muted); font-size:.875rem; }
.impression-status:empty { display:none; }
.paper-section > p, .paper-section > ul, .paper-section > ol, .paper-section > blockquote { font-size:1.125rem; line-height:1.8; margin-block:20px; }
.paper-section > p { text-align:justify; }
.paper-section > pre { overflow:auto; padding:20px; background:var(--surface); border:1px solid var(--rule); }
.paper-section code { overflow-wrap:anywhere; }
.paper-section > h3 { margin-top:28px; }
.keywords { display:flex; gap:8px; flex-wrap:wrap; list-style:none; padding:0; color:var(--muted); font-size:.875rem; }
.keywords li { border:1px solid var(--rule); padding:3px 8px; }
.project-card:has(.project-content:first-child) { grid-template-columns:1fr; }
.paper-intro:not(:has(.detail-art)) { grid-template-columns:1fr; }
