:root {
  --bg: #ffffff; --fg: #1a1a1a; --muted: #5b6472; --rule: #e5e7eb;
  --navy: #1e3a5f; --link: #2563eb; --panel: #f6f8fb;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #11161d; --fg: #e6e9ee; --muted: #9aa4b2; --rule: #2a3340;
          --navy: #c9d8ee; --link: #7aa7ff; --panel: #18202a; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
       font: 17px/1.6 Georgia, "Times New Roman", serif; }
header.site, main, footer.site { max-width: 46rem; margin: 0 auto; padding: 0 16px; }
header.site { padding-top: 24px; padding-bottom: 12px; border-bottom: 2px solid var(--navy);
              display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
header.site .home { color: var(--navy); font: 600 1.1rem/1.3 system-ui, sans-serif; text-decoration: none;
                    display: flex; align-items: center; gap: 10px; }
header.site .home img { display: block; flex: none; }
header.site .home .sub { display: block; font-weight: 400; font-size: .85rem; color: var(--muted); }
header.site nav a { font: .9rem system-ui, sans-serif; margin-left: 14px; }
header.site nav a:first-child { margin-left: 0; }
a { color: var(--link); }
h1 { color: var(--navy); font-size: 1.6rem; line-height: 1.3; margin: .4rem 0 .6rem; }
h2 { color: var(--navy); font: 600 1.05rem system-ui, sans-serif; margin-top: 2rem;
     border-bottom: 1px solid var(--rule); padding-bottom: 4px; }
h3 { font: 600 .95rem system-ui, sans-serif; color: var(--muted); margin-bottom: .3rem; }
.kicker, .meta, .affil, .download span { font: .85rem system-ui, sans-serif; color: var(--muted); }
.kicker { text-transform: uppercase; letter-spacing: .04em; margin-top: 2rem; }
.authors { margin: 0; font-size: 1.05rem; }
.affil { margin-top: 0; }
.download a { font: 600 .95rem system-ui, sans-serif; }
ul.list { list-style: none; padding: 0; }
ul.list li { margin: 0 0 1rem; }
table.record { border-collapse: collapse; width: 100%; font: .9rem/1.45 system-ui, sans-serif; }
table.record th { text-align: left; vertical-align: top; color: var(--muted); font-weight: 500;
                  padding: 5px 12px 5px 0; white-space: nowrap; width: 8rem; }
table.record td { padding: 5px 0; overflow-wrap: anywhere; }
table.record tr + tr { border-top: 1px solid var(--rule); }
code { font-size: .8rem; overflow-wrap: anywhere; }
.cite { background: var(--panel); padding: 10px 12px; font-size: .9rem; }
footer.site { margin-top: 3rem; padding-top: 12px; padding-bottom: 32px; border-top: 1px solid var(--rule);
              font: .8rem system-ui, sans-serif; color: var(--muted); }
