:root { --maxw: 980px; --gutter: 28px; --sidebar-w: 240px; --indent: 18px; }
html, body { font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; color: #111; }
a { color: #002676; }
.container { max-width: var(--maxw); margin: 0 auto; padding: 20px 16px 60px; }
.header { margin-bottom: 8px; }
.header h1 { font-size: 28px; font-weight: 700; margin: 0; }
.header h1 a { color: inherit; text-decoration: none; }
.header .affil { font-size: 20px; color: #444; margin-top: 2px; margin-left: 18px; }
.header .affil a { color: inherit; text-decoration: none; border-bottom: 1px solid #bbb; }
.grid { display: grid; grid-template-columns: var(--sidebar-w) 1fr; gap: var(--gutter); }
.sidebar img { width: 100%; height: auto; display: block; background: #eee; border: 1px solid #ddd; border-radius: 4px; }
.sidebar .links { margin-top: 12px; }
.sidebar .links a { display: block; text-decoration: none; margin: 2px 0; }
.sidebar .contact { margin-top: 12px; font-size: 14px; color: #333; }
.sidebar .contact div { margin: 2px 0; }
.paper { margin-bottom: 1.1rem; padding-left: var(--indent); }
.paper h4 { margin: 0 0 0.25rem; }
.paper .byline, .paper .controls, .paper .funding, .paper .pubinfo, .paper .award { 
  margin: 0.08rem 0; font-size: 0.9rem; color: #333;
}
.paper .pubinfo, .paper .award { font-style: italic; }
.abstract { border-left: 3px solid #ddd; padding: 0.5rem 0.75rem; margin-top: 0.5rem; font-size: 0.85rem; }
.toggle-abs { background: #f6f6f6; border: 1px solid #ddd; padding: 0.25rem 0.5rem; cursor: pointer; }
