@layer components{.writing-shell{flex-direction:column;min-height:100svh;display:flex}html:has(.writing-shell){scroll-padding-top:0}.writing-container{width:min(100% - clamp(32px,8vw,96px),72rem);margin-inline:auto}.writing-skip-link{z-index:50;background:var(--ink);color:var(--paper);font-family:var(--font-mono);padding:8px 16px;font-size:.875rem;position:fixed;top:-100px;left:16px}.writing-skip-link:focus{top:12px}.writing-header{z-index:20;border-bottom:1px solid var(--rule);background:var(--paper);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.writing-header-inner{grid-template-columns:1fr auto auto;align-items:center;gap:32px;min-height:76px;display:grid}.writing-brand{width:fit-content;font-family:var(--font-display);letter-spacing:-.02em;font-size:1.1875rem;font-weight:740;text-decoration:none}.writing-site-nav{font-family:var(--font-display);align-items:center;gap:24px;font-size:.875rem;display:flex}.writing-site-nav a{color:var(--ink-2);padding-block:12px;text-decoration:none}.writing-site-nav a[aria-current]{color:var(--pine);text-underline-offset:8px;text-decoration:underline}.writing-main{flex:1;min-width:0;padding-block:clamp(32px,5vw,64px) 80px}.writing-breadcrumb{font-family:var(--font-display);color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:12px;font-size:.875rem;display:flex}.writing-breadcrumb a{padding-block:4px}.writing-breadcrumb span[aria-hidden]{color:var(--ink-3)}.article-intro{border-bottom:1px solid var(--rule);margin-top:36px;padding-bottom:36px}.article-title{max-width:25ch;font-family:var(--font-display);letter-spacing:-.035em;margin-top:12px;scroll-margin-top:140px;font-size:clamp(2.125rem,1.2rem + 3.4vw,3.75rem);font-weight:740;font-stretch:108%;line-height:1.08}.article-dek{max-width:62ch;color:var(--ink-2);margin-top:24px;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);line-height:1.55}.article-meta{font-family:var(--font-display);color:var(--ink-3);flex-wrap:wrap;gap:8px 20px;margin-top:24px;font-size:.875rem;display:flex}.article-topics{font-family:var(--font-mono);color:var(--pine);flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:.8125rem;display:flex}.article-layout{max-width:46rem;margin:40px auto 0}.article-reading{min-width:0}.article-prose{overflow-wrap:anywhere;max-width:68ch;margin:0;font-size:clamp(1.125rem,1.05rem + .2vw,1.25rem);line-height:1.75}.article-prose>:first-child{margin-top:0}.article-prose :is(h2,h3,h4,h5,h6){font-family:var(--font-display);letter-spacing:-.02em;scroll-margin-top:140px;font-weight:690;line-height:1.3}.article-prose h2{font-size:clamp(1.5rem,1.3rem + .5vw,1.875rem)}.article-prose h3{font-size:1.375rem}.article-prose :is(h4,h5,h6){margin-top:1.8em;font-size:1.125rem}.article-prose :where(h4,h5,h6) a{color:inherit;text-decoration:none}.article-prose table{max-width:100%;display:block;overflow-x:auto}.article-prose :is(th,td),.article-prose :is(th,td) code:not(pre code){overflow-wrap:break-word}.article-prose pre{overflow-wrap:normal}.article-contents{min-width:0;font-family:var(--font-display);margin-bottom:36px;font-size:.875rem;line-height:1.5}.contents-desktop{display:none}.contents-mobile{border-block:1px solid var(--rule);background:var(--surface);padding:8px 16px}.contents-mobile summary{cursor:pointer;padding-block:12px;font-weight:650}.contents-mobile nav{padding-bottom:12px}.article-contents ol{gap:4px;display:grid}.article-contents ol ol{border-left:1px solid var(--rule);margin-left:12px;padding-left:8px}.article-contents li{min-width:0}.article-contents :where(li)>a{color:var(--ink-2);overflow-wrap:anywhere;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);border-left:2px solid #0000;padding:9px 8px;display:block}.article-contents :where(li)>a:hover{color:var(--pine);text-decoration-color:currentColor}.article-contents a[aria-current]{border-left-color:var(--pine);background:var(--pine-soft);color:var(--pine);text-decoration-color:currentColor}.contents-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:16px;font-size:.75rem;font-weight:500}.contents-top{color:var(--ink-2);margin-top:20px;padding:8px;display:inline-block}.article-footer{border-top:1px solid var(--rule);margin-top:64px;padding-top:24px}.article-neighbors{font-family:var(--font-display);gap:16px;padding-bottom:24px;font-size:1.125rem;font-weight:650;display:grid}.article-neighbors span{color:var(--ink-3);margin-bottom:8px;font-size:.8125rem;font-weight:400;display:block}.article-end-nav{font-family:var(--font-display);color:var(--pine);flex-wrap:wrap;gap:8px 24px;font-size:.9375rem;display:flex}.article-end-nav a{padding-block:10px}.article-contact{color:var(--ink-2);margin-top:16px;font-size:1rem}.article-contact a{color:var(--pine)}.writing-shell-footer{border-top:1px solid var(--rule);color:var(--ink-3);font-family:var(--font-display);flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-block:24px 32px;font-size:.8125rem;display:flex}.writing-shell-footer nav{color:var(--ink-2);flex-wrap:wrap;gap:8px 24px;display:flex}.writing-shell-footer a{padding-block:8px}.writing-archive{width:100%;max-width:64rem;margin-inline:auto}.archive-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--pine);font-size:.75rem}.archive-intro h1{font-family:var(--font-display);letter-spacing:-.035em;margin-top:16px;font-size:clamp(2.5rem,2rem + 2vw,4rem);font-weight:740;line-height:1.1}.archive-dek{max-width:52ch;color:var(--ink-2);margin-top:20px;font-size:1.25rem}.archive-toolbar{font-family:var(--font-display);color:var(--pine);flex-wrap:wrap;justify-content:space-between;gap:16px 32px;margin-block:32px 48px;font-size:.875rem;display:flex}.archive-topics{flex-wrap:wrap;gap:8px 20px;display:flex}.archive-topics span{color:var(--ink-2)}.archive-group-heading{border-bottom:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:16px;padding-bottom:16px;font-size:.75rem;display:flex}.archive-post{border-bottom:1px solid var(--rule);grid-template-columns:12rem minmax(0,1fr);gap:32px;padding-block:32px;display:grid}.archive-post-meta{font-family:var(--font-display);color:var(--ink-3);flex-direction:column;align-items:flex-start;gap:8px;font-size:.8125rem;display:flex}.archive-post h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);font-weight:680;line-height:1.3}.archive-post h3 a{text-decoration:none}.archive-post h3 a:hover{color:var(--pine);text-decoration:underline}.archive-post-copy>p{max-width:60ch;color:var(--ink-2);margin-top:12px;font-size:1.0625rem}.archive-post-tags{color:var(--pine);font-family:var(--font-mono);flex-wrap:wrap;gap:8px 16px;margin-top:16px;font-size:.75rem;display:flex}.archive-upcoming{margin-top:64px}.archive-upcoming-dek{color:var(--ink-3);margin-top:16px;font-size:.9375rem}.archive-upcoming li{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:20px;display:flex}.archive-upcoming h3{font-family:var(--font-display);color:var(--ink-2);font-size:1rem;font-weight:600}.archive-empty{color:var(--ink-2);padding-block:24px}@media (min-width:65rem){.article-with-contents{grid-template-columns:minmax(0,46rem) 15rem;gap:clamp(40px,5vw,72px);max-width:none;display:grid}.article-with-contents .article-reading{grid-area:1/1}.article-contents{top:calc(104px + env(safe-area-inset-top,0px));grid-area:1/2;align-self:start;margin-bottom:0;position:sticky}.contents-desktop{display:block}.contents-scroll{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 240px);overflow-y:auto}.contents-mobile{display:none}}@media not (min-width:45rem){.writing-header-inner{grid-template-columns:1fr auto;gap:0 16px;padding-top:12px}.writing-site-nav{grid-area:2/1/auto/-1}.writing-brand{font-size:1.0625rem}.article-intro{margin-top:24px;padding-bottom:24px}.article-dek{margin-top:20px}.article-meta{gap:6px 16px}.article-layout{margin-top:24px}.article-prose pre{padding:12px;font-size:.8125rem}.archive-post{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:24px}.archive-post-meta{flex-flow:wrap;gap:8px 16px}}}@media print{:root:has(.writing-shell){--paper:white;--surface:white;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.writing-header,.writing-skip-link,.writing-breadcrumb,.article-contents,.article-footer,.writing-shell-footer{display:none}.writing-shell{color:#000;--ink:black;--ink-2:#333;--ink-3:#444;--pine:#164e3a;--rule:#ccc;--chip:#eee;--code-bg:#f6f6f6;--pine-soft:#eee;background:#fff}.writing-container{width:100%}.article-layout{display:block}.article-prose{max-width:none;font-size:11pt}.article-prose pre{white-space:pre-wrap}.article-prose [data-copy-code]{display:none}.writing-shell .article-prose pre code span{color:#000}}
