:root{--astro-code-foreground:color-mix(in oklab, #e4e3dd var(--pk), #1f1f1d);--astro-code-background:var(--surface);--astro-code-token-keyword:color-mix(in oklab, #eba27c var(--pk), #8a3a14);--astro-code-token-string:color-mix(in oklab, #a9cc98 var(--pk), #2c6a37);--astro-code-token-string-expression:color-mix(in oklab, #a9cc98 var(--pk), #2c6a37);--astro-code-token-comment:color-mix(in oklab, #9b9a94 var(--pk), #6c6c66);--astro-code-token-function:color-mix(in oklab, #9fc3e2 var(--pk), #1c4f7c);--astro-code-token-constant:color-mix(in oklab, #e4c47c var(--pk), #7d5300);--astro-code-token-parameter:color-mix(in oklab, #d8d7d1 var(--pk), #3a3a37);--astro-code-token-punctuation:color-mix(in oklab, #adaca6 var(--pk), #5d5d59);--astro-code-token-link:color-mix(in oklab, #9fc3e2 var(--pk), #1c4f7c);--astro-code-token-inserted:color-mix(in oklab, #a9cc98 var(--pk), #2c6a37);--astro-code-token-deleted:color-mix(in oklab, #eb8f80 var(--pk), #9e1b1b);--astro-code-token-changed:color-mix(in oklab, #e4c47c var(--pk), #7d5300)}.name .back{transition:color .16s var(--ease-out)}.name .back:hover{color:var(--dim)}.article{margin-top:72px}.article-head{margin-bottom:40px}.article .meta{color:var(--dim);margin:0 0 18px;line-height:1.6}.article .meta .sep{color:var(--faint)}.article .meta .item{white-space:nowrap}.article-title{letter-spacing:-.016em;text-wrap:balance;margin:0;font-size:26px;font-weight:560;line-height:1.22}.standfirst{font-family:var(--font-serif);letter-spacing:-.006em;text-wrap:pretty;margin:14px 0 0;font-size:20px;font-style:italic;line-height:1.45}.article-link{margin:16px 0 0}.prose{text-wrap:pretty;hanging-punctuation:first;font-size:16.5px;line-height:1.7}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:1.15em}.prose h2,.prose h3,.prose h4{letter-spacing:-.008em;text-wrap:balance;font-weight:600;line-height:1.35}.prose h2{margin-top:2.3em;font-size:17px}.prose h3{margin-top:2em;font-size:16.5px}.prose h4{color:var(--dim);margin-top:1.8em;font-size:15px}.prose :is(h2,h3,h4)+*{margin-top:.6em}.prose strong{font-weight:600}.prose em{font-family:var(--font-serif);letter-spacing:-.005em;font-size:1.07em;font-style:italic}.prose a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--thread) 55%, transparent);text-decoration-color:color-mix(in oklab, var(--thread) 55%, transparent);text-underline-offset:3px;transition:text-decoration-color .16s var(--ease-out);text-decoration-thickness:1px}.prose a:hover{-webkit-text-decoration-color:var(--thread);text-decoration-color:var(--thread)}.prose ul,.prose ol{padding-left:1.2em}@media (width>=720px){.prose ul,.prose ol{padding-left:0}}.prose li+li{margin-top:.4em}.prose li>:is(ul,ol){margin-top:.4em;padding-left:1.2em}.prose ul>li::marker{color:var(--dim);content:"– "}.prose ol>li::marker{color:var(--dim);font:13px var(--font-mono);font-variant-numeric:tabular-nums}.prose blockquote{border-left:1px solid var(--rule);font-family:var(--font-serif);letter-spacing:-.005em;margin-inline:0;padding:2px 0 2px 20px;font-size:19px;font-style:italic;line-height:1.5}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:.7em}.prose code{font-family:var(--font-mono);font-variant-ligatures:none;font-size:.82em}.prose :not(pre)>code{background:var(--surface);border-radius:4px;padding:.12em .36em}.prose pre{tab-size:2;border-radius:6px;margin-inline:-16px;padding:14px 16px;font-size:15px;line-height:1.6;overflow-x:auto;background:var(--surface)!important}.prose pre code{font-size:13px}.prose>pre,.prose>pre+*{margin-top:1.5em}.prose hr{background:var(--rule);border:0;height:1px;margin:2.4em 0}.prose img,.prose video{border-radius:4px;max-width:100%;height:auto;display:block}.prose figure{margin-inline:0}.prose figcaption{font:12px/1.5 var(--font-mono);color:var(--dim);margin-top:10px}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14.5px}.prose th{color:var(--dim);text-align:left;font-weight:500}.prose :is(th,td){border-bottom:1px solid var(--rule);padding:6px 12px 6px 0}.pn+.foot{margin-top:72px}.pn{justify-content:space-between;gap:16px 32px;margin-top:80px;display:flex}.pn-link{min-width:0;max-width:50%;color:var(--fg);align-items:center;gap:10px;display:flex}.pn-newer{text-align:right;margin-left:auto}.pn-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pn-meta{color:var(--dim);margin-right:4px}.pn-arrow{color:var(--dim);transition:transform .2s var(--ease-out), color .16s}.pn-thread{flex:none;overflow:visible}.pn-thread line{stroke:var(--thread);stroke-width:1.25px}.pn-thread circle{fill:var(--thread);transition:transform .2s var(--ease-out);transform-box:fill-box;transform-origin:50%}.pn-link:hover .pn-arrow{color:var(--fg)}.pn-older:hover .pn-arrow{transform:translate(-2px)}.pn-newer:hover .pn-arrow{transform:translate(2px)}.pn-link:hover .far{transform:scale(1.5)}.pn-link:hover .pn-title{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, currentColor 40%, transparent);text-decoration-color:color-mix(in oklab, currentColor 40%, transparent)}@media (width<=560px){.article{margin-top:48px}.article-title{font-size:23px}.standfirst{font-size:18.5px}.prose{font-size:16px}.prose pre{border-radius:0;margin-inline:-20px;padding-inline:20px}.pn{flex-direction:column}.pn-link{max-width:100%}.pn-newer{text-align:left;flex-direction:row-reverse;justify-content:flex-end;margin-left:0}.pn-newer .pn-thread{transform:scaleX(-1)}}.prose>.cover{margin:0 0 2em}.prose>.cover img{border-radius:4px}:root.dark .prose>.cover .emdash-image--light,:root.light .prose>.cover .emdash-image--dark{display:none}@media (prefers-color-scheme:dark){:root:not(.light) .prose>.cover .emdash-image--light{display:none}}@media (prefers-color-scheme:light){:root:not(.dark) .prose>.cover .emdash-image--dark{display:none}}.preview-note{color:var(--thread);margin:24px 0 0}
