
:root { color-scheme: light; }
body { font-family: Georgia, serif; margin: 0; color: #111; background: #f7f5f0; line-height: 1.45; }
header, footer { background: #1b1b1b; color: #f7f5f0; padding: 1rem 1.25rem; }
.tagline { font-size: 1.15rem; color: #444; margin-top: 0.2rem; }
h1.project { font-size: 2.1rem; margin-bottom: 0.15rem; }
article.pub { background: #fff; border: 1px solid #ddd; padding: 0.9rem 1rem; margin: 1rem 0; }
.fig { max-width: 100%; height: auto; border: 1px solid #ddd; background: #fff; }
nav { display: flex; gap: 1rem; flex-wrap: wrap; padding: 0.6rem 1.25rem; background: #eee; }
nav a { color: #111; }
main { max-width: 58rem; margin: 0 auto; padding: 1.2rem 1.25rem 3rem; }
table { border-collapse: collapse; width: 100%; background: #fff; font-size: 0.88rem; }
th, td { border: 1px solid #ddd; padding: 0.28rem 0.4rem; text-align: left; }
td.n { text-align: right; font-variant-numeric: tabular-nums; }
.note { background: #fff8e1; border: 1px solid #e0c36a; padding: 0.7rem 0.8rem; }
.story { white-space: pre-wrap; background: #fff; border: 1px solid #ddd; padding: 0.8rem; }
label { margin-right: 0.6rem; }
