:root{
  --ink:#1a1a1a; --muted:#5c5c5c; --faint:#8a8a8a;
  --bg:#fbfaf7; --card:#ffffff; --line:#e6e2d9;
  --accent:#b2182b; --accent2:#2166ac; --good:#1a7837;
  --maxw:820px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Newsreader",Georgia,serif; font-size:19px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
main{max-width:var(--maxw); margin:0 auto; padding:0 24px 96px}
h1,h2,h3{font-family:"Inter",system-ui,sans-serif; line-height:1.18; letter-spacing:-.01em}
em{font-style:italic}
strong{font-weight:600}
.sc{font-variant:small-caps; letter-spacing:.02em}

/* hero */
.hero{padding:72px 0 28px; border-bottom:1px solid var(--line); text-align:center}
.venue{font-family:"IBM Plex Mono",monospace; font-size:12.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--faint); margin:0 0 20px}
.hero h1{font-size:41px; font-weight:700; margin:0 0 12px}
.subtitle{font-family:"Inter",sans-serif; font-size:19px; font-weight:400;
  color:var(--muted); margin:0 auto 28px; max-width:620px; line-height:1.4}
.authors{list-style:none; display:flex; flex-wrap:wrap; gap:6px 22px; justify-content:center;
  padding:0; margin:0 0 8px; font-family:"Inter",sans-serif; font-size:17px}
.authors li span{font-weight:500}
.authors sup, .affil sup{color:var(--accent); font-size:.7em}
.affil{list-style:none; display:flex; flex-wrap:wrap; gap:4px 20px; justify-content:center;
  padding:0; margin:0 0 30px; font-family:"Inter",sans-serif; font-size:14px; color:var(--muted)}
.affil .corr{color:var(--faint)}
.links{display:flex; flex-wrap:wrap; gap:11px; justify-content:center}
.btn{font-family:"Inter",sans-serif; font-size:14.5px; font-weight:500;
  text-decoration:none; color:var(--ink); background:var(--card);
  border:1px solid var(--line); border-radius:9px; padding:9px 18px;
  transition:transform .12s ease, border-color .12s ease, background .12s ease}
.btn:hover{transform:translateY(-1px); border-color:var(--faint)}
.btn.primary{background:var(--ink); color:#fff; border-color:var(--ink)}
.btn.primary:hover{background:#000}
.btn[hidden]{display:none}

/* teaser */
.teaser{margin:40px 0 8px; text-align:center}
.teaser img{width:100%; max-width:760px; height:auto; border:1px solid var(--line);
  border-radius:12px; background:#fff; padding:14px}
figcaption{font-size:15.5px; line-height:1.5; color:var(--muted); margin-top:14px;
  max-width:680px; margin-left:auto; margin-right:auto; text-align:left}

/* sections */
section{padding:44px 0; border-bottom:1px solid var(--line)}
section h2{font-size:14px; text-transform:uppercase; letter-spacing:.09em;
  color:var(--accent); font-weight:600; margin:0 0 20px}
.abstract p{margin:0}
.tldr .big{font-size:24px; line-height:1.4; font-weight:400; margin:0; color:var(--ink)}
.tldr .big em{color:var(--accent); font-style:normal; font-weight:500}

/* findings */
.finding{display:grid; grid-template-columns:64px 1fr; gap:8px 22px; margin-bottom:34px}
.finding:last-child{margin-bottom:0}
.finding .num{font-family:"IBM Plex Mono",monospace; font-size:30px; color:var(--line);
  font-weight:500; line-height:1}
.finding h3{font-size:21px; font-weight:600; margin:0 0 10px; line-height:1.25}
.finding .body p{margin:0; font-size:18px}
.finding strong{color:var(--accent); font-weight:600}

/* figures */
.figures figure{margin:0 0 40px}
.figures figure:last-child{margin-bottom:0}
.figures img{width:100%; height:auto; border:1px solid var(--line); border-radius:12px;
  background:#fff; padding:14px}
.figures figcaption strong{color:var(--ink)}

/* bibtex */
.bibtex pre{background:#f4f1ea; border:1px solid var(--line); border-radius:10px;
  padding:18px 20px; overflow-x:auto; margin:0}
.bibtex code{font-family:"IBM Plex Mono",monospace; font-size:13.5px; line-height:1.55;
  color:#333; white-space:pre}

/* footer */
footer{padding:40px 0 0; text-align:center; color:var(--muted);
  font-family:"Inter",sans-serif; font-size:14px}
footer .fine{color:var(--faint); font-size:13px; margin-top:6px}

@media (max-width:620px){
  body{font-size:17px}
  .hero{padding:48px 0 24px}
  .hero h1{font-size:31px}
  .finding{grid-template-columns:1fr; gap:4px}
  .finding .num{font-size:22px}
  .tldr .big{font-size:20px}
}
