.prose{font-size:var(--fs-base);line-height:1.7;color:var(--ink-soft);max-width:70ch}.prose>*+*{margin-top:1.4em}.prose h2{font-size:var(--fs-xl);line-height:1.1;color:var(--ink);margin-top:2.4em;scroll-margin-top:calc(var(--header-h) + 1.5rem)}.prose h2:first-child{margin-top:0}.prose h3{font-size:var(--fs-lg);color:var(--ink);margin-top:1.8em}.prose h2+p,.prose h3+p{margin-top:.8em}.prose p strong,.prose li strong{color:var(--ink);font-weight:600}.prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--dur-fast)}.prose a:hover{text-decoration-color:var(--link)}.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.6em}.prose ul{list-style:none;padding-left:0}.prose ul>li{position:relative;padding-left:1.6em}.prose ul>li:before{content:"";position:absolute;left:0;top:.65em;width:.7em;height:1px;background:var(--accent)}.prose ol{list-style:decimal}.prose ol::marker{color:var(--accent)}.prose .lead{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.4;color:var(--ink);font-weight:600}.prose blockquote{border-left:2px solid var(--accent);padding-left:1.5rem;font-family:var(--font-display);font-size:var(--fs-md);color:var(--ink);font-style:italic}.prose .callout{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(1.5rem,3vw,2rem);margin-top:2.4em}.prose .callout h3{margin-top:0}.prose .callout p{color:var(--ink-soft)}.prose .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);margin-top:1.6em}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:32rem}.prose thead th{background:var(--petrol);color:var(--salt);text-align:left;font-family:var(--font-mono);font-weight:500;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;padding:.9rem 1rem}.prose tbody td{padding:.8rem 1rem;border-top:1px solid var(--line);color:var(--ink);vertical-align:top}.prose tbody tr:nth-child(2n){background:color-mix(in srgb,var(--salt-deep) 50%,transparent)}.prose td[data-num],.prose th[data-num]{font-family:var(--font-mono);font-feature-settings:"tnum" 1;white-space:nowrap}.prose caption{caption-side:bottom;font-size:var(--fs-xs);color:var(--ink-faint);padding:.75rem 1rem;text-align:left}.prose hr{border:0;height:1px;background:var(--line);margin-block:2.4em}.crumbs[data-astro-cid-gjtny2mx]{display:flex;gap:.6rem;align-items:center;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-faint);padding-top:calc(var(--header-h) + 1.5rem)}.crumbs[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]:hover{color:var(--accent)}.crumbs__current[data-astro-cid-gjtny2mx]{color:var(--ink)}.post__header[data-astro-cid-gjtny2mx]{padding-block:clamp(1.5rem,4vw,3rem) clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--line)}.post__cat[data-astro-cid-gjtny2mx]{color:var(--accent);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;margin:2rem 0 1.25rem}.post__title[data-astro-cid-gjtny2mx]{font-size:var(--fs-3xl);line-height:1;max-width:20ch;font-weight:600}.post__meta[data-astro-cid-gjtny2mx]{display:flex;gap:.75rem;margin-top:1.75rem;font-size:var(--fs-sm);color:var(--ink-faint)}.post__body[data-astro-cid-gjtny2mx]{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem);padding-block:clamp(2.5rem,5vw,4rem)}.post__toc[data-astro-cid-gjtny2mx]{height:max-content}.post__toc-title[data-astro-cid-gjtny2mx]{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem}.post__toc[data-astro-cid-gjtny2mx] ul[data-astro-cid-gjtny2mx]{display:grid;gap:.55rem;border-left:1px solid var(--line)}.post__toc[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]{display:block;padding-left:1rem;margin-left:-1px;border-left:1px solid transparent;color:var(--ink-faint);font-size:var(--fs-sm);transition:color var(--dur-fast),border-color var(--dur-fast)}.post__toc[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]:hover,.post__toc[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx].is-current{color:var(--accent);border-left-color:var(--accent)}.post__toc[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx].is-current{font-weight:500}.post__toc-cta[data-astro-cid-gjtny2mx]{margin-top:1.75rem}@media(min-width:980px){.post__body[data-astro-cid-gjtny2mx]{grid-template-columns:200px 1fr}.post__toc[data-astro-cid-gjtny2mx]{position:sticky;top:calc(var(--header-h) + 2rem)}.prose[data-astro-cid-gjtny2mx]{margin-inline:auto}}@media(max-width:979px){.post__toc[data-astro-cid-gjtny2mx]{display:none}}.post-more[data-astro-cid-gjtny2mx]{border-top:1px solid var(--line)}.post-more__head[data-astro-cid-gjtny2mx]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem}.post-more__grid[data-astro-cid-gjtny2mx]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.mcard[data-astro-cid-gjtny2mx]{border-top:2px solid var(--ink);padding-top:1.5rem}.mcard__cat[data-astro-cid-gjtny2mx]{color:var(--accent);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em}.mcard__title[data-astro-cid-gjtny2mx]{font-size:var(--fs-md);margin:1rem 0 1.5rem;transition:color var(--dur-fast)}.mcard__link[data-astro-cid-gjtny2mx]:hover .mcard__title[data-astro-cid-gjtny2mx]{color:var(--accent)}@media(max-width:620px){.post-more__grid[data-astro-cid-gjtny2mx]{grid-template-columns:1fr}}
