:root{ --paper:#f4efe6; --ink:#191612; --soft:#5f574c; --rule:#d8cfc0; --card:#fbf8f3; --mark:#a01b12;
  --serif:'Newsreader',ui-serif,Georgia,"Iowan Old Style",serif;
  --display:'Instrument Serif',ui-serif,Georgia,serif;
  --ui:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif; }
@media (prefers-color-scheme:dark){
  :root{ --paper:#14120f; --ink:#ece5da; --soft:#9d9488; --rule:#312b24; --card:#1c1915; --mark:#ff6a52; }
}
*{box-sizing:border-box}
body{margin:0; background:var(--paper); color:var(--ink);
  font:400 clamp(1.02rem,.98rem + .25vw,1.12rem)/1.7 var(--serif)}
.sheet{max-width:44rem; margin-inline:auto; padding:clamp(2rem,6vh,4rem) clamp(1.15rem,5vw,2rem) 5rem}
h1,h2,h3,h4{font-weight:400; line-height:1.15; letter-spacing:-.02em; text-wrap:balance}
h1{font-family:var(--display); font-size:clamp(2rem,1.5rem + 2.6vw,3.1rem); margin:.2rem 0 1.4rem}
h2{font-family:var(--display); font-size:clamp(1.45rem,1.2rem + 1.4vw,2.1rem); margin:2.8rem 0 .7rem;
  padding-top:1.4rem; border-top:1px solid var(--rule)}
h3{font-family:var(--ui); font-weight:600; font-size:1.06rem; letter-spacing:-.005em; margin:2rem 0 .5rem}
p{margin:0 0 1.1rem}
a{color:inherit; text-decoration-color:color-mix(in srgb,var(--mark) 55%,transparent);
  text-underline-offset:.18em; text-decoration-thickness:.06em}
a:hover{color:var(--mark)}
strong{font-weight:600}
ul,ol{margin:0 0 1.2rem; padding-left:1.3rem}
li{margin-block:.35rem}
li::marker{color:var(--mark)}
blockquote{margin:1.3rem 0; padding:.2rem 0 .2rem 1.1rem; border-left:2px solid var(--mark); color:var(--soft)}
code{font:400 .88em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;
  background:var(--card); border:1px solid var(--rule); border-radius:.2rem; padding:.08em .3em}
pre{background:var(--card); border:1px solid var(--rule); border-radius:.4rem; padding:1rem 1.1rem;
  overflow-x:auto; font-size:.86rem; line-height:1.6}
pre code{background:none; border:0; padding:0}
.tablewrap, table{display:block; overflow-x:auto}
table{border-collapse:collapse; width:100%; margin:1.4rem 0; font:400 .92rem/1.55 var(--ui)}
th,td{text-align:left; padding:.6rem .8rem; border-bottom:1px solid var(--rule); vertical-align:top}
th{font-weight:600; font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; color:var(--mark);
  border-bottom:1px solid var(--rule)}
tbody tr:nth-child(odd){background:color-mix(in srgb,var(--card) 65%,transparent)}
hr{border:0; border-top:1px solid var(--rule); margin:2.4rem 0}
.topbar{display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; align-items:baseline; margin-bottom:2.2rem;
  padding-bottom:1rem; border-bottom:1px solid var(--rule); font:500 .84rem/1.5 var(--ui)}
.topbar .home{color:var(--soft)}
.topbar .src{margin-left:auto; color:var(--soft)}
.colophon{margin-top:3.5rem; padding-top:1.4rem; border-top:1px solid var(--rule);
  font:400 .85rem/1.6 var(--ui); color:var(--soft)}
