.page[data-v-23bd21e6]{width:100%}.blog-post[data-v-23bd21e6]{max-width:760px;margin:0 auto;padding:9rem 2rem 6rem}.back-link[data-v-23bd21e6]{color:#595959;margin-bottom:2.5rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-block}.back-link[data-v-23bd21e6]:hover{color:#000}.fallback-notice[data-v-23bd21e6]{letter-spacing:.04em;color:#595959;background:#fafafa;border:1px solid #e5e5e5;margin-bottom:2rem;padding:.5rem .875rem;font-size:.8125rem;display:inline-block}.post-header[data-v-23bd21e6]{border-bottom:1px solid #e5e5e5;margin-bottom:3rem;padding-bottom:2.5rem}.post-meta[data-v-23bd21e6]{color:#737373;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.25rem;font-size:.8125rem;display:flex}.tag-row[data-v-23bd21e6]{flex-wrap:wrap;gap:.5rem;display:flex}.tag[data-v-23bd21e6]{color:#404040;letter-spacing:.06em;background:#f5f5f5;border:1px solid #e5e5e5;padding:.25rem .625rem;font-size:.6875rem}.title[data-v-23bd21e6]{letter-spacing:-.02em;color:#000;margin:0 0 1.25rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:300;line-height:1.15}.lead[data-v-23bd21e6]{color:#404040;margin-bottom:1.5rem;font-size:1.1875rem;line-height:1.65}.byline[data-v-23bd21e6]{color:#737373;font-size:.875rem}.prose[data-v-23bd21e6] h2{letter-spacing:-.01em;color:#000;margin:2.75rem 0 1rem;font-size:1.5rem;font-weight:500}.prose[data-v-23bd21e6] h3{color:#000;margin:2rem 0 .75rem;font-size:1.1875rem;font-weight:500}.prose[data-v-23bd21e6] p{color:#404040;margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.8}.prose[data-v-23bd21e6] ul,.prose[data-v-23bd21e6] ol{margin:1rem 0 1.5rem;padding-left:1.5rem}.prose[data-v-23bd21e6] li{color:#404040;margin-bottom:.5rem;font-size:1.0625rem;line-height:1.7}.prose[data-v-23bd21e6] a{color:#000;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose[data-v-23bd21e6] code:not(pre code){overflow-wrap:break-word;word-break:break-word;background:#f5f5f5;border-radius:2px;padding:.1em .35em;font-family:IBM Plex Mono,monospace;font-size:.875em}.prose[data-v-23bd21e6] .code-block{margin:2rem 0;position:relative}.prose[data-v-23bd21e6] .code-block pre{-webkit-overflow-scrolling:touch;background:#f5f5f5;border:1px solid #e5e5e5;margin:0;padding:1.25rem;overflow-x:auto}.prose[data-v-23bd21e6] .code-block code{color:#1a1a1a;white-space:pre;tab-size:2;background:0 0;border-radius:0;padding:0;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.7;display:block}.prose[data-v-23bd21e6] .code-copy{letter-spacing:.08em;text-transform:uppercase;color:#595959;cursor:pointer;opacity:0;background:#fff;border:1px solid #e5e5e5;padding:.35rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:opacity .2s,color .2s,border-color .2s;position:absolute;top:.5rem;right:.5rem}.prose[data-v-23bd21e6] .code-block:hover .code-copy,.prose[data-v-23bd21e6] .code-copy:focus-visible{opacity:1}.prose[data-v-23bd21e6] .code-copy:hover,.prose[data-v-23bd21e6] .code-copy.is-copied{color:#000;border-color:#000}@media (hover:none){.prose[data-v-23bd21e6] .code-copy{opacity:1}}.prose[data-v-23bd21e6] blockquote{color:#404040;border-left:2px solid #000;margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;font-style:italic}.post-footer[data-v-23bd21e6]{border-top:1px solid #e5e5e5;margin-top:4rem;padding-top:2rem}.not-found[data-v-23bd21e6]{text-align:center;padding:4rem 0}.not-found h1[data-v-23bd21e6]{margin-bottom:1rem;font-size:2rem;font-weight:300}.not-found p[data-v-23bd21e6]{color:#595959;margin-bottom:2rem}@media (width<=640px){.blog-post[data-v-23bd21e6]{padding:7rem 1.5rem 4rem}}
