:root{color-scheme:light dark;--paper:#f4f2ec;--ink:#161714;--muted:#66665e;--rule:#c9c7bf;--selection:#d8ddd2;--measure:72rem;font-family:Georgia,Times New Roman,serif}@media (prefers-color-scheme:dark){:root{--paper:#151613;--ink:#ecebe5;--muted:#aaa9a1;--rule:#3c3d38;--selection:#354036}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);margin:0;font-size:18px;line-height:1.65}::selection{background:var(--selection)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline-offset:4px;outline:2px solid}.site-header,main,.site-footer{width:min(calc(100% - 3rem),var(--measure));margin-inline:auto}.site-header{border-bottom:1px solid var(--rule);text-transform:uppercase;letter-spacing:.05em;align-items:center;height:6rem;font:.75rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}nav{gap:1.4rem;margin-left:auto;display:flex}nav a{text-decoration:none}nav a:hover{text-decoration:underline 1px}.page-intro{padding:7rem 0 6rem}.page-intro h1,.article-header h1{letter-spacing:-.04em;max-width:13ch;margin:0;font-size:clamp(3.5rem,8vw,6rem);font-weight:400;line-height:1}.page-intro p{max-width:42ch;margin:2rem 0 0;font-size:1.35rem;line-height:1.45}.post-list{margin:0;padding:0 0 8rem;list-style:none}.post-list li{border-top:1px solid var(--rule);grid-template-columns:11rem 1fr;gap:2rem;padding:2.5rem 0;display:grid}.post-date,.article-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;margin:.25rem 0 0;font:.72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.article-meta{flex-wrap:wrap;align-items:center;gap:.45rem 1.25rem;display:flex}.reading-time{align-items:center;gap:.4rem;display:inline-flex}.post-reading-time{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.75rem;font:.72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.reading-time svg{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.post-list h2{margin:0;font-size:clamp(1.5rem,3vw,2.35rem);font-weight:400;line-height:1.15}.post-list h2 a{text-decoration:none}.post-list h2 a:hover{text-decoration:underline}.post-list p{max-width:48ch;color:var(--muted);margin:.85rem 0 0}.article-header{border-bottom:1px solid var(--rule);padding:7rem 0 5rem}.article-header h1{max-width:14ch}.article-dek{max-width:48ch;margin:2rem 0 1.5rem;font-size:1.35rem;line-height:1.45}.article-body{max-width:46rem;margin:0 auto;padding:5rem 0 8rem}.article-body section+section{margin-top:4.5rem}.article-body h2{margin:0 0 1.25rem;font-size:1.6rem;font-weight:400;line-height:1.2}.article-body p{margin:0 0 1.35rem}.code-example{margin:2rem 0 0}.code-example figcaption{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .65rem;font:.72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.code-example pre{border:1px solid var(--rule);background:color-mix(in srgb,var(--ink) 4%,var(--paper));tab-size:2;margin:0;padding:1.25rem;font:.82rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.code-example code{font:inherit}.code-example pre:focus-visible{outline-offset:4px;outline:2px solid}.article-sources{border-top:1px solid var(--rule);margin-top:5rem;padding-top:2rem}.article-sources h2{margin-bottom:1rem}.article-sources ul{margin:0;padding-left:1.2rem}.article-sources li+li{margin-top:.5rem}.article-back{margin-top:3rem;display:inline-block}.site-footer{border-top:1px solid var(--rule);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;padding:1.5rem 0 3rem;font:.72rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.site-footer p{margin:0}@media (width<=640px){body{font-size:16px}.site-header,main,.site-footer{width:min(calc(100% - 2rem),var(--measure))}.site-header{height:5rem}nav{gap:1.25rem}.page-intro,.article-header{padding:5rem 0 4rem}.post-list li{grid-template-columns:1fr;gap:.75rem;padding:2rem 0}.article-body{padding:4rem 0 6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
