*{margin:0;padding:0;box-sizing:border-box}body{font-family:ui-monospace,cascadia mono,segoe ui mono,liberation mono,Menlo,Monaco,Consolas,monospace;line-height:1.6;color:#222;background:#fff;padding:16px}@media screen and (min-width:768px){body{padding:32px 48px;max-width:1000px}}h1,h2{font-size:1.4em;margin:1.8em 0 1em;font-weight:600}h1:first-child{margin-top:0}h2{font-size:1.2em}p{margin-bottom:1.2em}a{color:#008900;text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:#008900}a[href^=http]::after{content:"[external]";font-size:.8em;margin-left:.3em;color:#666}code{font-family:inherit;background:#f5f5f5;padding:.1em .3em;border-radius:3px;font-size:.95em}pre{background:#f8f9fa;padding:16px;overflow-x:auto;margin:1.4em 0;border-radius:3px;border:1px solid #eee}pre code{padding:0;background:0 0}.highlight{background:#f8f9fa}.highlight .k,.highlight .kd{color:#000;font-weight:700}.highlight .nf,.highlight .nx{color:#008900}.highlight .s,.highlight .s1,.highlight .s2{color:#067d17}.highlight .c,.highlight .c1,.highlight .cm{color:#666;font-style:italic}.highlight .mi,.highlight .mf{color:#5b2da8}.highlight .o{color:#000}.highlight .nb{color:#008900}.highlight .p{color:#444}header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #eee}header h1{margin:0;font-size:1.4em}footer{margin-top:48px;padding-top:16px;border-top:1px solid #eee;font-size:.9em}footer nav{margin-bottom:16px}footer nav a{margin-right:16px}.footnotes{margin-top:32px;padding-top:16px;border-top:1px solid #eee;font-size:.9em}.footnotes hr{display:none}.footnote-ref{text-decoration:none;padding:0 .2em}.footnote-backref{text-decoration:none;margin-left:.5em;font-size:.9em;color:#666}.footnote-backref::before,.footnote-backref::after{content:none}.footnote-backref{font-size:0}.footnote-backref::after{content:"[return]";font-size:.9rem}.shard-list{list-style:none}.shard-item{margin-bottom:16px;display:flex;gap:16px;align-items:baseline}.shard-date{color:#666;font-size:.9em;min-width:6.5em}.year-divider{margin:32px 0 16px;font-weight:700;color:#666;font-size:.9em}.year-divider:first-of-type{margin-top:0}.article-date{color:#666;font-size:.9em;margin:16px 0 24px}article>*+*{margin-top:1.2em}article>*+h2{margin-top:1.8em}article ul,article ol{margin-left:1.5em;margin-bottom:1.2em}article li+li{margin-top:.5em}blockquote{margin:1.2em 0;padding:.8em 1em;border-left:3px solid #008900;background:#f8f9fa;color:#444;font-size:.95em}blockquote>:last-child{margin-bottom:0}table{margin:1.2em 0;border-collapse:collapse;width:100%}th,td{padding:8px;border:1px solid #eee;text-align:left}