.post-head[data-astro-cid-zg7dkzxc]{padding:clamp(44px,6vw,84px) 0 clamp(28px,4vw,44px)}.post-head[data-astro-cid-zg7dkzxc] .wrap[data-astro-cid-zg7dkzxc]{max-width:calc(860px + 2 * var(--gut))}.post-tags[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.post-tags[data-astro-cid-zg7dkzxc] span[data-astro-cid-zg7dkzxc]{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal);border:1px solid;padding:5px 7px}.post-head[data-astro-cid-zg7dkzxc] h1[data-astro-cid-zg7dkzxc]{margin:0 0 20px;font-size:clamp(36px,5vw,64px);line-height:1}.post-desc[data-astro-cid-zg7dkzxc]{max-width:60ch;color:var(--ink-2);margin:0 0 24px;font-size:clamp(18px,1.5vw,20px)}.post-byline[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--rule);font:500 13px/1.5 var(--mono);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0;padding-top:18px;display:flex}.post-byline[data-astro-cid-zg7dkzxc]>[data-astro-cid-zg7dkzxc]+[data-astro-cid-zg7dkzxc]:before{content:"·";color:var(--rule);margin-right:14px}.post-cover[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]{aspect-ratio:5/2;object-fit:cover;border:1px solid var(--ink);width:100%;height:auto;box-shadow:8px 8px 0 var(--hard);display:block}.post-cover[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc].cover-dark{display:none}:root[data-theme=dark] .post-cover[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc].cover-dark{display:block}:root[data-theme=dark] .post-cover[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]:has(+.cover-dark){display:none}.post-body[data-astro-cid-zg7dkzxc]{grid-template-columns:220px minmax(0,720px);justify-content:center;gap:clamp(32px,5vw,72px);padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(48px,7vw,88px);display:grid}.post-body[data-astro-cid-zg7dkzxc]:not(:has(.post-toc)){grid-template-columns:minmax(0,720px)}.post-toc[data-astro-cid-zg7dkzxc]{border-top:2px solid var(--ink);align-self:start;padding-top:14px;position:sticky;top:96px}.post-toc__k[data-astro-cid-zg7dkzxc]{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--seal);margin:0 0 12px}.post-toc[data-astro-cid-zg7dkzxc] ol[data-astro-cid-zg7dkzxc]{gap:9px;margin:0;padding:0;list-style:none;display:grid}.post-toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{color:var(--ink-2);font-size:14px;line-height:1.35;text-decoration:none}.post-toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{color:var(--seal);text-decoration:underline}.post-toc__h3[data-astro-cid-zg7dkzxc]{padding-left:12px}.post-pager[data-astro-cid-zg7dkzxc]{grid-template-columns:1fr 1fr;gap:16px;padding-bottom:clamp(48px,7vw,88px);display:grid}.post-pager__link[data-astro-cid-zg7dkzxc]{border:1px solid var(--rule);background:var(--card);color:inherit;flex-direction:column;gap:8px;padding:20px 22px;text-decoration:none;display:flex}.post-pager__link[data-astro-cid-zg7dkzxc]:hover{border-color:var(--ink);box-shadow:6px 6px 0 var(--hard)}.post-pager__link--next[data-astro-cid-zg7dkzxc]{text-align:right;grid-column:2}.post-pager__k[data-astro-cid-zg7dkzxc]{font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal)}.post-pager__t[data-astro-cid-zg7dkzxc]{letter-spacing:-.015em;font-size:18px;font-weight:700}.post-related[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--rule)}@media (width<=960px){.post-body[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr)}.post-toc[data-astro-cid-zg7dkzxc]{position:static}}@media (width<=640px){.post-pager[data-astro-cid-zg7dkzxc]{grid-template-columns:1fr}.post-pager__link--next[data-astro-cid-zg7dkzxc]{text-align:left;grid-column:1}.post-cover[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]{box-shadow:5px 5px 0 var(--hard)}}.post-prose{color:var(--ink-2);min-width:0;font-size:18px;line-height:1.7}.post-prose>:first-child{margin-top:0}.post-prose h1,.post-prose h2,.post-prose h3,.post-prose h4{color:var(--ink);letter-spacing:-.025em;max-width:none;scroll-margin-top:96px}.post-prose h1,.post-prose h2{border-top:1px solid var(--rule);margin:2.2em 0 .6em;padding-top:.9em;font-size:clamp(26px,2.6vw,32px);line-height:1.1}.post-prose h3{margin:1.8em 0 .5em;font-size:22px;line-height:1.2}.post-prose h4{margin:1.6em 0 .4em;font-size:18px}.post-prose p,.post-prose ul,.post-prose ol{margin:0 0 1.15em}.post-prose ul,.post-prose ol{padding-left:1.3em}.post-prose li{margin-bottom:.4em}.post-prose li::marker{color:var(--seal)}.post-prose strong{color:var(--ink)}.post-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--seal);text-underline-offset:3px}.post-prose a:hover{color:var(--seal)}.post-prose blockquote{border-left:3px solid var(--seal);background:var(--card);color:var(--ink);margin:1.6em 0;padding:18px 22px}.post-prose blockquote p:last-child{margin-bottom:0}.post-prose hr{border:0;border-top:1px dashed var(--rule);margin:2.4em 0}.post-prose img,.post-prose svg{border:1px solid var(--rule);max-width:100%;height:auto;margin:1.8em auto;display:block}.post-prose img.img-small{max-width:400px}.post-prose img.img-medium{max-width:600px}.post-prose img.img-large{max-width:800px}.post-prose :not(pre)>code{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);overflow-wrap:anywhere;padding:2px 6px;font-size:.86em}.post-prose pre{background:var(--inv);color:var(--inv-text);border:1px solid var(--ink);font:400 14px/1.75 var(--mono);margin:1.6em 0;padding:20px 18px;position:relative;overflow-x:auto}.post-prose pre code{font:inherit;color:inherit;background:0 0;border:0;padding:0}.post-copy{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--inv-rule);background:var(--inv);color:var(--inv-muted);cursor:pointer;padding:7px 9px;position:absolute;top:8px;right:8px}.post-copy:hover{color:var(--inv-text);border-color:var(--inv-muted)}.post-prose .token.comment,.post-prose .token.prolog,.post-prose .token.doctype,.post-prose .token.cdata,.post-prose .token.punctuation{color:var(--inv-muted)}.post-prose .token.comment{font-style:italic}.post-prose .token.keyword,.post-prose .token.atrule,.post-prose .token.attr-value,.post-prose .token.important{color:var(--inv-accent)}.post-prose .token.string,.post-prose .token.char,.post-prose .token.inserted,.post-prose .token.selector,.post-prose .token.attr-name,.post-prose .token.builtin{color:var(--tick)}.post-prose .token.function,.post-prose .token.class-name,.post-prose .token.property,.post-prose .token.tag,.post-prose .token.boolean,.post-prose .token.number,.post-prose .token.constant,.post-prose .token.symbol{color:var(--inv-text);font-weight:600}.post-prose .token.operator,.post-prose .token.entity,.post-prose .token.url,.post-prose .token.regex,.post-prose .token.variable,.post-prose .token.deleted{color:var(--inv-text)}.post-prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:15px;line-height:1.5;display:block;overflow-x:auto}.post-prose th,.post-prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 14px}.post-prose thead th{font:600 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);white-space:nowrap}.post-prose tbody td{color:var(--ink-2)}@media (width<=640px){.post-prose{font-size:17px}.post-prose pre{padding:16px 14px;font-size:12.5px}}
