/* Pierre Beckmann — personal site */
:root{--ink:#1d2229;--ink2:#4b5563;--mute:#7b8494;--rule:#e5e8ee;--accent:#6e5a9e;--paper:#ffffff;--font:"Source Sans 3",-apple-system,"Helvetica Neue",Arial,sans-serif}
html{color-scheme:light;scroll-behavior:smooth;background:#fff}
body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17.5px;line-height:1.5;margin:0}
.wrap{max-width:780px;margin:0 auto;padding:64px 28px 120px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
header{display:grid;grid-template-columns:1fr 290px;gap:40px;align-items:center}
h1{font-size:34px;font-weight:600;letter-spacing:-0.01em;margin:0 0 18px;line-height:1.1}
header p{margin:0 0 12px;max-width:34em}
.links{color:var(--ink2);font-size:16px;margin-top:18px}
.profile{position:relative;width:290px;aspect-ratio:996/988;border-radius:2px;overflow:hidden}
.profile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.intro{margin-top:40px}
.intro p{margin:0;max-width:36em;color:var(--ink2)}
h2{font-size:21px;font-weight:600;margin:0 0 14px;letter-spacing:-0.005em}
.news{margin-top:52px}
.news h2{margin-bottom:12px}
.news dl{display:grid;grid-template-columns:max-content 1fr;column-gap:22px;row-gap:6px;margin:0;font-size:16.5px}
.news dt{color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.news dd{margin:0}
h2.sec{margin-top:64px;padding-top:22px;border-top:1px solid var(--rule)}
.note{color:var(--mute);margin:-6px 0 10px;font-size:16px}
.entry{display:grid;grid-template-columns:30% 1fr;gap:32px;align-items:center;margin:26px 0 38px;scroll-margin-top:28px}
.entry.nofig{grid-template-columns:1fr;margin:22px 0}
.entry:target .papertitle{text-decoration:underline;text-underline-offset:4px}
.fig{position:relative;width:100%;height:200px;cursor:pointer}
.fig img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:200px;width:auto;height:auto;display:block;opacity:0;transition:opacity .45s ease}
.fig img.on{opacity:1}

.meta{line-height:1.45}
.meta .papertitle{font-weight:600;font-size:19px;line-height:1.3}
.meta strong{font-weight:600}
.meta em{font-style:italic;color:inherit}
.meta p{margin:10px 0 0;color:var(--ink2);font-size:16.5px;max-width:36em}
@media (max-width:640px){
  header{grid-template-columns:1fr}
  .profile{order:-1;width:220px}
  .entry{grid-template-columns:1fr}
  .fig{width:70%}
  .wrap{padding:40px 20px 80px}
  .news dl{grid-template-columns:1fr}
  .news dt{margin-top:6px}
}
