* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:25px}
body {
  margin:0;
  color:var(--ink,#191b17);
  background:var(--paper,#f8f5eb);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px}
a:hover {
  text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--accent,#b43b27);
  outline-offset:5px}
.skip {
  position:absolute;
  top:-100px;
  left:20px;
  background:var(--paper,#fff);
  color:var(--ink,#111);
  padding:12px;
  z-index:20}
.skip:focus {
  top:12px}
.masthead {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px}
.home {
  font-size:12px;
  font-weight:650;
  text-decoration:none}
.home span {
  margin-left:15px;
  font-weight:400}
nav {
  display:flex;
  gap:27px}
nav a {
  font-size:12px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  min-height:44px}
h1,h2,h3,p,figure {
  margin:0}
h1,h2,h3 {
  font-weight:400}
h1 span[lang=zh] {
  font-weight:400}
.eyebrow,.edition {
  font:500 10px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em}
.lead {
  font-size:19px;
  line-height:1.6;
  margin-bottom:16px}
.bio {
  font-size:16px;
  line-height:1.7;
  max-width:65ch}
.contact-links {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  margin-top:17px}
.contact-links a {
  font-size:13px;
  min-height:44px;
  display:inline-flex;
  align-items:center}
.portrait img {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover}
.portrait figcaption {
  font-size:10px;
  margin-top:6px}
.section-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px}
.section-head h2 {
  font:normal 35px/1.2 Georgia,serif;
  letter-spacing:-1px}
.section-head>a {
  font-size:12px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  white-space:nowrap}
.bibliography {
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:paper}
.bibliography>li {
  counter-increment:paper}
.paper {
  position:relative;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:20px;
  padding:25px 0}
.paper-index:before {
  content:counter(paper,decimal-leading-zero)}
.paper .eyebrow {
  font-size:10px;
  letter-spacing:.04em;
  margin:0 0 8px}
.paper h3 {
  font:normal 26px/1.25 Georgia,serif;
  letter-spacing:-.5px;
  margin:0 0 10px}
.paper h3 a {
  text-decoration:none}
.paper h3 a:hover {
  text-decoration:underline}
.authors {
  font-size:13px;
  line-height:1.6;
  margin:0 0 12px;
  color:var(--muted,#575a51)}
.finding {
  font-size:16px;
  line-height:1.65;
  margin:0 0 8px;
  max-width:65ch}
.paper-links {
  display:flex;
  flex-wrap:wrap;
  gap:24px}
.paper-links a {
  font-size:12px;
  font-weight:650;
  min-height:44px;
  display:inline-flex;
  align-items:center}
.disclosures {
  display:flex;
  gap:0 24px;
  flex-wrap:wrap;
  color:var(--muted,#575a51);
  font-size:12px}
summary {
  min-height:44px;
  display:flex;
  align-items:center;
  cursor:pointer;
  width:max-content}
summary:before {
  content:'＋';
  margin-right:5px}
.disclosures details[open] {
  flex-basis:100%}
.disclosures details[open]>summary:before {
  content:'−'}
.disclosures p {
  font-size:16px;
  line-height:1.7;
  padding:10px 0;
  max-width:65ch}
pre {
  font-size:12px;
  white-space:pre-wrap;
  overflow-wrap:anywhere}
.software {
  margin-top:32px}
.code-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  padding:24px 0 36px}
.code-item {
  display:block;
  text-decoration:none}
.code-number {
  font-size:10px;
  display:block;
  margin-bottom:12px}
.code-item h3 {
  font:normal 22px/1.2 Georgia,serif;
  letter-spacing:-.4px;
  margin-bottom:12px;
  text-decoration:underline;
  text-underline-offset:5px}
.code-item h3 span {
  float:right}
.code-item p {
  font-size:14px;
  line-height:1.7}
.community {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:55px;
  padding:30px 0 38px}
.community .eyebrow {
  display:none}
.community h2 {
  font:normal 31px/1.2 Georgia,serif;
  letter-spacing:-.7px;
  margin-bottom:17px}
.community p {
  font-size:15px;
  margin:0 0 12px}
.community a {
  font-size:13px;
  display:inline-flex;
  align-items:center;
  min-height:44px}
.community-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 28px}
.community-list h3 {
  font-size:13px;
  font-weight:650;
  margin-bottom:10px}
.community-list p {
  font-size:13px}
.community-list p span {
  display:block;
  font-size:11px;
  color:var(--muted,#575a51)}
.community-list>div:last-child {
  grid-column:1/-1}
footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px 0 36px;
  font-size:12px}
footer a {
  min-height:44px;
  display:inline-flex;
  align-items:center}
footer p {
  display:flex;
  gap:15px;
  align-items:center}
@media(max-width:650px) {
  body {
  font-size:16px}
.masthead {
  gap:15px}
.home {
  font-size:10px}
nav {
  gap:16px}
nav a {
  font-size:10px}
.home span {
  display:none}
.lead {
  font-size:18px;
  line-height:1.6}
.bio,.finding {
  font-size:16px;
  line-height:1.7}
.eyebrow {
  font-size:10px}
.contact-links {
  gap:23px;
  margin-top:11px}
.contact-links a {
  font-size:12px}
.section-head {
  gap:12px}
.section-head h2 {
  font-size:29px;
  letter-spacing:-.7px}
.section-head>a {
  font-size:10px}
.paper {
  grid-template-columns:25px 1fr;
  gap:13px;
  padding:25px 0}
.paper h3 {
  font-size:25px;
  line-height:1.25}
.authors {
  font-size:13px}
.paper .eyebrow {
  font-size:10px}
.paper-links a {
  font-size:12px}
.code-grid {
  grid-template-columns:1fr;
  gap:29px}
.code-item h3 {
  font-size:24px}
.code-item p {
  font-size:16px}
.code-number {
  font-size:11px}
.community {
  grid-template-columns:1fr;
  gap:27px;
  padding:28px 0}
.community p,.community-list p {
  font-size:16px}
.community-list {
  grid-template-columns:1fr;
  gap:22px}
.community-list>div:last-child {
  grid-column:auto}
.community-list h3 {
  font-size:15px}
.community-list p span {
  font-size:13px}
.community a {
  font-size:13px}
footer {
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:20px 0}
.disclosures p {
  font-size:16px}
.edition {
  font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
}


nav a,.contact-links a {
  white-space:nowrap}

