@font-face{font-display:swap;font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;src:url(/fonts/source-sans-3-latin-wght-normal.woff2) format("woff2")}.blog-page{--blog-accent:#9d4310;font-family:Source Sans\ 3,sans-serif;font-size:1.1875rem;line-height:1.6}.dark .blog-page{--blog-accent:#ffae6e}.blog-page :is(h1,h2,h3,p,figure,blockquote){margin:0}.blog-page :is(h1,h2,h3){color:var(--ink);font-family:Source Sans\ 3,sans-serif;font-weight:600;letter-spacing:-.025em}.blog-page h1{font-size:clamp(3rem,5.5vw,4.5rem);line-height:1.08}.blog-page h2{font-size:2rem;line-height:1.2}.blog-page h3{font-size:1.625rem;line-height:1.25}.blog-page a{text-underline-offset:.2em}.blog-page a:hover{color:var(--blog-accent)}.blog-page :is(a,button,input,summary):focus-visible{outline:2px solid var(--blog-accent);outline-offset:5px}.blog-index-content{margin-inline:auto;padding-inline:2rem;width:min(100%,68rem)}.blog-index-intro{padding-block:9.5rem 3rem}.blog-index-intro>p{color:var(--ink-muted);font-size:1.375rem;margin-top:1.5rem;max-width:56ch}.blog-search{margin-top:2rem}.blog-search label{display:block;font-size:1rem;font-weight:600;margin-bottom:.6rem}.blog-search-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.blog-search input{background:var(--canvas);border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);font:inherit;font-size:1rem;min-height:3rem;min-width:0;padding:.6rem .85rem;width:min(100%,27rem)}.blog-search input::-moz-placeholder{color:var(--ink-muted);opacity:1}.blog-search input::placeholder{color:var(--ink-muted);opacity:1}.blog-search button{background:var(--ink);border-radius:4px;color:var(--canvas);font-size:1rem;font-weight:600;min-height:3rem;padding:.6rem 1.2rem}.blog-search button:hover{background:var(--blog-accent)}.blog-index-section{border-top:1px solid var(--line-strong);padding-block:2.5rem 3.5rem}.blog-index-section h2{color:var(--blog-accent);font-size:1rem;font-weight:600;letter-spacing:.08em;line-height:1.5;text-transform:uppercase}.blog-featured{-moz-column-gap:3rem;column-gap:3rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);margin-top:2rem}.blog-featured article:first-child{grid-row:span 2}.blog-featured article:first-child h3{font-size:2.5rem;line-height:1.15}.blog-featured article:last-child{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.blog-featured article>p{color:var(--ink-muted);font-size:1.125rem;margin-top:.8rem}.blog-meta{color:var(--ink-muted);display:flex;flex-wrap:wrap;font-size:.9375rem;gap:.3rem 1.25rem;line-height:1.6}.blog-featured .blog-meta{margin-top:1.25rem}.blog-section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}.blog-section-heading>p{color:var(--ink-muted);font-size:1rem;overflow-wrap:anywhere}.blog-note-row{border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:9rem minmax(0,1fr);padding-block:1.75rem}.blog-note-row:first-child{margin-top:1rem}.blog-note-date{color:var(--ink-muted);display:flex;flex-direction:column;font-size:.9375rem;gap:.25rem}.blog-note-row h3{max-width:55ch}.blog-note-row p{color:var(--ink-muted);font-size:1.125rem;margin-top:.75rem;max-width:70ch}.blog-all-notes{padding-bottom:5rem}.blog-text-link{align-items:center;display:inline-flex;font-size:1rem;font-weight:600;min-height:2.75rem;text-decoration:underline;text-decoration-color:var(--line-strong)}.blog-empty{padding-block:2rem}.blog-empty p{margin-bottom:.5rem}.blog-reading-content{margin-inline:auto;padding-inline:2rem;width:min(100%,56rem)}.blog-post-intro{padding-block:7.5rem 2.5rem}.blog-back{align-items:center;color:var(--ink-muted);display:inline-flex;font-size:1rem;margin-bottom:1.75rem;min-height:2.75rem;text-decoration:underline;text-decoration-color:var(--line-strong)}.blog-post-intro h1{font-size:clamp(2.375rem,4.5vw,3.5rem);line-height:1.12;max-width:26ch;overflow-wrap:anywhere}.blog-post-intro .blog-meta{margin-top:1.5rem}.blog-post-tags{color:var(--ink-muted);font-size:.9375rem;margin-top:.65rem!important}.blog-markdown{margin-top:1rem}.blog-page .blog-content{color:var(--ink);font-family:Source Sans\ 3,sans-serif;font-size:1.25rem;line-height:1.75;max-width:72ch;overflow-wrap:anywhere}.blog-page .blog-content p{margin:0 0 1.4rem;text-align:left}.blog-page .blog-content p:first-child{border:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin-bottom:1.4rem;padding:0}.blog-page .blog-content :is(h2,h3,h4){border:0;color:var(--ink);font-family:Source Sans\ 3,sans-serif;font-weight:600;letter-spacing:-.02em;padding:0}.blog-page .blog-content h2{font-size:2rem;line-height:1.2;margin:3rem 0 1rem}.blog-page .blog-content h3{font-size:1.5rem;line-height:1.3;margin:2.25rem 0 .9rem}.blog-page .blog-content h4{font-size:1.25rem;line-height:1.35;margin:2rem 0 .75rem}.blog-page .blog-content :is(strong,b){color:var(--ink);font-weight:650}.blog-page .blog-content em{color:inherit}.blog-page .blog-content a{color:var(--blog-accent);font-weight:inherit;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:.18em}.blog-page .blog-content a:hover{color:var(--ink)}.blog-page .blog-content :is(ul,ol){margin:0 0 1.5rem;padding-left:1.4rem}.blog-page .blog-content ul{list-style:disc}.blog-page .blog-content ol{list-style:decimal}.blog-page .blog-content li{line-height:inherit;margin-bottom:.6rem;padding-left:.25rem}.blog-page .blog-content li::marker{color:var(--blog-accent)}.blog-page .blog-content code{background:var(--surface-muted);border-radius:3px;color:var(--ink);font-family:var(--font-mono);font-size:.82em;padding:.1em .25em}.blog-page .blog-content pre{background:var(--surface-muted);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:.9375rem;line-height:1.7;margin:1.75rem 0;max-width:100%;overflow-x:auto;padding:1.25rem;scrollbar-color:var(--line-strong) transparent}.blog-page .blog-content pre code{background:none;color:inherit;font-size:inherit;overflow-wrap:normal;padding:0;white-space:pre}.blog-page .blog-content blockquote{border:0;border-block:1px solid var(--line-strong);color:var(--ink);margin:2rem 0;padding:1.25rem 0}.blog-page .blog-content blockquote p:last-child{margin-bottom:0}.blog-page .blog-content figure{margin:2rem 0}.blog-page .blog-content img{background:var(--surface-muted);border:0;border-radius:6px;box-shadow:none;height:auto;max-width:100%;width:100%}.blog-page .blog-content figcaption{color:var(--ink-muted);font-size:1rem;line-height:1.5;margin-top:.75rem;text-align:left}.blog-page .blog-content hr{border:0;border-top:1px solid var(--line-strong);margin:2.5rem 0}.blog-page .blog-content table{background:transparent;border:0;border-collapse:collapse;border-radius:0;box-shadow:none;display:block;margin:2rem 0;max-width:100%;overflow-x:auto;width:100%}.blog-page .blog-content thead{background:var(--surface-muted)}.blog-page .blog-content :is(th,td){border:0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1rem;line-height:1.5;min-width:8.5rem;padding:.8rem;text-align:left;text-transform:none;white-space:normal}.blog-page .blog-content :is(th,td):first-child{min-width:7rem;white-space:normal}.blog-page .blog-content th{font-weight:650}.blog-post-footer{border-top:1px solid var(--line-strong);gap:1rem 2rem;justify-content:space-between;margin-top:3rem;padding-block:1.5rem 4rem}.blog-post-footer,.blog-social-actions{align-items:center;display:flex;flex-wrap:wrap}.blog-social-actions{gap:.5rem 1.25rem}.blog-social-actions button{align-items:center;color:var(--ink);display:inline-flex;font-size:1rem;gap:.5rem;justify-content:center;min-height:2.75rem}.blog-social-actions button:hover{color:var(--blog-accent)}.blog-social-actions svg{height:18px;width:18px}@media (max-width:740px){.blog-index-content{padding-inline:1.5rem}.blog-index-intro{padding-block:7.25rem 2rem}.blog-index-intro>p{font-size:1.25rem}.blog-search-controls input{flex:1 1 12rem;width:100%}.blog-index-section{padding-block:2rem}.blog-featured{gap:1.5rem;grid-template-columns:minmax(0,1fr);margin-top:1.5rem}.blog-featured article:first-child{grid-row:auto}.blog-featured article:first-child h3{font-size:2rem}.blog-featured article+article{border-top:1px solid var(--line);margin:0;padding-top:1.5rem}.blog-note-row{gap:.65rem;grid-template-columns:minmax(0,1fr);padding-block:1.5rem}.blog-note-date{flex-direction:row;flex-wrap:wrap;gap:.3rem 1.25rem}.blog-note-row h3{font-size:1.5rem}.blog-reading-content{padding-inline:1.5rem}.blog-post-intro{padding-block:6rem 2rem}.blog-page .blog-content{font-size:1.125rem;line-height:1.75}.blog-page .blog-content h2{font-size:1.75rem}.blog-page .blog-content pre{font-size:.875rem;padding:1rem}.blog-page .blog-content table{margin-inline:0;width:100%}.blog-page .blog-content :is(th,td){min-width:9rem;padding:.7rem}.blog-post-footer{align-items:flex-start;flex-direction:column;padding-bottom:3rem}}