:root{
  --paper:#F3EEE3; --paper-deep:#EAE3D4; --ink:#2A2620;
  --ink-soft:#5C5648; --green:#2F7A4D; --rule:#DDD4C2;
  --measure:36rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:Lora,Georgia,'Times New Roman',serif;
  font-size:1.0625rem; line-height:1.72;
}
a{color:var(--green); text-underline-offset:.18em; text-decoration-thickness:.06em}
a:hover{color:var(--ink)}
.wrap{width:min(100% - 2.5rem, var(--measure)); margin-inline:auto}
header{padding:2.6rem 0 0}
.mark{font-size:1.5rem; letter-spacing:.02em; font-weight:600; margin:0}
.mark a{color:var(--ink); text-decoration:none}
h1{font-size:clamp(1.7rem,4.6vw,2.1rem); line-height:1.28; font-weight:400; margin:2.2rem 0 .35rem; letter-spacing:-.01em}
.updated{color:var(--ink-soft); font-size:.9rem; font-style:italic; margin:0 0 2.4rem}
h2{font-size:1.14rem; font-weight:600; margin:2.6rem 0 .8rem}
h3{font-size:1rem; font-weight:600; margin:1.7rem 0 .5rem}
p{margin:0 0 1.05rem}
ul{margin:0 0 1.05rem; padding-left:1.25rem}
li{margin:0 0 .5rem}
li:last-child{margin-bottom:0}
.rule{height:1px; background:var(--rule); border:0; margin:3rem 0 0}
.note{background:var(--paper-deep); border-radius:3px; padding:1.1rem 1.25rem; margin:1.6rem 0; font-size:.97rem}
.note p:last-child{margin-bottom:0}
table{width:100%; border-collapse:collapse; margin:0 0 1.4rem; font-size:.97rem}
th,td{text-align:left; padding:.62rem .7rem; border-bottom:1px solid var(--rule); vertical-align:top}
th{font-weight:600; width:38%}
.scroll{overflow-x:auto}
footer{padding:2.6rem 0 4rem; font-size:.92rem; color:var(--ink-soft)}
footer nav{margin:0 0 1rem}
footer nav a{margin-right:1.2rem; display:inline-block}
.fine{font-size:.86rem; margin:0}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#16140F; --paper-deep:#201D16; --ink:#EDE7D9;
    --ink-soft:#A79E8B; --green:#7FBF95; --rule:#332E24;
  }
}
