:root{--ink:#1A1A1A;--muted:#707070;--teal:#2A7F8E;--sun:#D9730D;--rule:#E4E4E4;--bg:#FCFCFB}
*{box-sizing:border-box}
body{margin:0 auto;max-width:860px;padding:0 24px 40px;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif}
html{background:var(--bg)}
header#title-block-header,nav#TOC{margin-left:0;margin-right:0}
header#title-block-header{padding-top:56px;border-bottom:3px solid var(--teal);margin-bottom:28px;padding-bottom:20px}
header h1.title{font-size:2rem;line-height:1.2;margin:0 0 .4rem;letter-spacing:-.01em}
header p.subtitle{font-size:1.1rem;color:var(--muted);margin:0 0 .8rem}
header p.author,header p.date{margin:0;color:var(--muted);font-size:.9rem}
nav#TOC{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:14px 22px;margin-bottom:32px}
nav#TOC>ul{margin:0;padding-left:1.1em;columns:2;column-gap:32px}
nav#TOC ul ul{padding-left:1em}
nav#TOC a{color:var(--teal);text-decoration:none}
h1{font-size:1.5rem;margin:2.4rem 0 .8rem;padding-top:.6rem;border-top:1px solid var(--rule);letter-spacing:-.01em}
h2{font-size:1.15rem;margin:1.8rem 0 .5rem;color:var(--teal)}
a{color:var(--teal)}
p{margin:.7rem 0}
blockquote{margin:1rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:4px solid var(--sun);color:#333}
blockquote p{margin:.4rem 0}
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.93rem}
th,td{padding:.45rem .6rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
th{border-bottom:2px solid var(--ink);font-weight:600}
img{max-width:100%;height:auto;border-radius:4px}
p img{vertical-align:top;margin:.3rem .6rem .3rem 0}
p:has(> img:only-child) img{display:block;margin:1.2rem auto}
p > em:only-child{display:block;color:var(--muted);font-size:.9rem;margin-top:-.4rem}
code{font:.9em Menlo,Consolas,monospace;background:#F1F1EE;padding:.05em .3em;border-radius:3px}
.privacy{background:#FFF4EA;border:1px solid var(--sun);border-radius:8px;padding:.6rem 1rem;margin:0 0 1.6rem}
nav#TOC + blockquote, body > blockquote:first-of-type{background:#FFF4EA;border:1px solid var(--sun);border-left:6px solid var(--sun);border-radius:8px;padding:.6rem 1rem;color:var(--ink)}
footer{margin:48px 0 40px;padding:0;color:var(--muted);font-size:.85rem;border-top:1px solid var(--rule);padding-top:12px}
@media (max-width:640px){nav#TOC>ul{columns:1}header h1.title{font-size:1.5rem}}
@media print{body{font-size:12px}nav#TOC{display:none}}
