.read-more[data-astro-cid-qx2up6xt]{z-index:2;background:var(--color-canvas);margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(2rem,4vw,3rem);position:relative}.section-heading[data-astro-cid-qx2up6xt]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-top:2rem;display:flex}h2[data-astro-cid-qx2up6xt]{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.all-posts[data-astro-cid-qx2up6xt]{color:var(--color-muted);align-items:center;gap:.5rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.recommendations[data-astro-cid-qx2up6xt]{grid-template-columns:minmax(0,1fr);gap:2rem;margin:0;padding:0;list-style:none;display:grid}.post-card[data-astro-cid-qx2up6xt]{height:100%;color:var(--color-text);flex-direction:column;text-decoration:none;display:flex}.thumbnail[data-astro-cid-qx2up6xt]{aspect-ratio:3/2;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}img[data-astro-cid-qx2up6xt]{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-fast)}.card-copy[data-astro-cid-qx2up6xt]{flex-direction:column;flex:1;padding-top:1rem;display:flex}time[data-astro-cid-qx2up6xt]{color:var(--color-muted);font-size:.75rem}h3[data-astro-cid-qx2up6xt]{letter-spacing:-.015em;text-wrap:pretty;transition:color var(--motion-fast);margin:.5rem 0 0;font-size:clamp(1.0625rem,1.5vw,1.1875rem);font-weight:550;line-height:1.4}.post-card[data-astro-cid-qx2up6xt]:hover h3[data-astro-cid-qx2up6xt],.post-card[data-astro-cid-qx2up6xt]:focus-visible h3[data-astro-cid-qx2up6xt],.all-posts[data-astro-cid-qx2up6xt]:hover{color:var(--color-accent)}.post-card[data-astro-cid-qx2up6xt]:hover img[data-astro-cid-qx2up6xt]{transform:scale(1.025)}@media (width>=36rem){.recommendations[data-astro-cid-qx2up6xt]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.recommendations[data-astro-cid-qx2up6xt]{grid-template-columns:repeat(4,minmax(0,1fr))}}.share-post[data-astro-cid-majip6px]{border-top:1px solid var(--color-border);margin:2.5rem auto 0;padding-top:1.5rem}.share-row[data-astro-cid-majip6px],.share-actions[data-astro-cid-majip6px]{flex-wrap:wrap;align-items:center;display:flex}.share-row[data-astro-cid-majip6px]{justify-content:space-between;gap:.75rem 1.5rem}h2[data-astro-cid-majip6px]{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:550}.share-actions[data-astro-cid-majip6px]{gap:.25rem}button[data-astro-cid-majip6px],a[data-astro-cid-majip6px]{border-radius:var(--radius-sm);min-height:44px;color:var(--color-muted);font:inherit;cursor:pointer;transition:color var(--motion-fast), background-color var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .65rem;font-size:.8125rem;text-decoration:none;display:inline-flex}button[data-astro-cid-majip6px]:hover,a[data-astro-cid-majip6px]:hover{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 7%, transparent)}button[data-astro-cid-majip6px]:disabled{cursor:progress}.share-status[data-astro-cid-majip6px]{color:var(--color-muted);margin:.35rem 0 0;font-size:.8125rem}.share-status[data-astro-cid-majip6px]:empty{display:none}.visually-hidden[data-astro-cid-majip6px]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.copy-fallback[data-astro-cid-majip6px]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;margin-top:.5rem;padding:.75rem;font-size:.875rem}@media (width<=425px){.action-label[data-astro-cid-majip6px]{display:none}button[data-astro-cid-majip6px],a[data-astro-cid-majip6px]{width:44px;padding:.5rem}}@media (width<=375px){.share-row[data-astro-cid-majip6px]{column-gap:.5rem}h2[data-astro-cid-majip6px]{letter-spacing:.04em;font-size:.625rem}.share-actions[data-astro-cid-majip6px]{gap:0}}.prose{--prose-body:color-mix(in srgb, var(--color-text) 88%, var(--color-muted));--prose-surface-soft:color-mix(in srgb, var(--color-surface) 58%, transparent);color:var(--prose-body);margin-inline:auto}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose :where(h2,h3,h4,h5,h6){color:var(--color-text);letter-spacing:-.025em;text-wrap:balance;scroll-margin-top:2rem;font-weight:680;line-height:1.2}.prose h2{margin:3.25rem 0 1rem;font-size:clamp(1.7rem,4vw,2.25rem)}.prose h3{margin:2.5rem 0 .8rem;font-size:clamp(1.3rem,3vw,1.5rem)}.prose h4{margin:2rem 0 .65rem;font-size:1.15rem}.prose :where(h5,h6){margin:1.75rem 0 .6rem;font-size:1rem}.prose h6{color:var(--color-muted);letter-spacing:.035em;text-transform:uppercase}.prose :where(p,ul,ol,dl,.table-scroll,blockquote,figure,.expressive-code){margin-block:1.25rem}.prose :where(p,li,dd){color:var(--prose-body)}.prose :where(strong,b){color:var(--color-text);font-weight:700}.prose :where(del,s){color:var(--color-muted);text-decoration-color:color-mix(in srgb, var(--color-danger) 60%, transparent)}.prose mark{background:color-mix(in srgb, var(--color-warning) 18%, transparent);color:var(--color-text);border-radius:.18em;padding-inline:.12em}.prose a{color:var(--color-accent);overflow-wrap:anywhere;text-decoration-color:color-mix(in srgb, var(--color-accent) 48%, transparent);text-underline-offset:.2em;transition:color var(--motion-fast), text-decoration-color var(--motion-fast);font-weight:520;text-decoration-thickness:.08em}.prose a:hover{color:color-mix(in srgb, var(--color-accent) 78%, var(--color-text));text-decoration-color:currentColor}.prose blockquote{border-left:.22rem solid var(--color-accent-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb, var(--color-accent-secondary) 5%, transparent);color:var(--color-muted);margin-inline:0;padding:.9rem 1.15rem}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose blockquote :where(p,li){color:var(--color-muted)}.prose :where(ul,ol){padding-inline-start:1.45rem}.prose :where(ul,ol) :where(ul,ol){margin-block:.4rem}.prose li{padding-inline-start:.2rem}.prose li+li{margin-top:.35rem}.prose li::marker{color:var(--color-accent);font-weight:700}.prose ol>li::marker{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.82em}.prose :where(.contains-task-list,.task-list){padding-inline-start:0;list-style:none}.prose :where(.task-list-item,li:has(>input[type=checkbox])){padding-inline-start:1.65rem;list-style:none;position:relative}.prose li>input[type=checkbox]{border:1px solid var(--color-border-strong);width:1rem;height:1rem;accent-color:var(--color-accent);border-radius:.25rem;margin:0;position:absolute;top:.4em;left:0}.prose li:has(>input[type=checkbox]:checked){color:var(--color-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--color-muted) 46%, transparent)}.prose hr{background:linear-gradient(90deg, transparent, var(--color-border-strong), transparent);border:0;width:min(100%,16rem);height:1px;margin:3rem auto}.prose :not(pre)>code{border:1px solid color-mix(in srgb, var(--color-border-strong) 52%, var(--color-surface));background:color-mix(in srgb, var(--color-surface) 84%, transparent);color:var(--color-accent);overflow-wrap:anywhere;border-radius:.32rem;padding:.12em .38em;font-size:.84em;font-weight:520}.prose a code{color:inherit}.prose kbd{border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 .12rem 0 var(--color-border-strong);color:var(--color-text);font-family:var(--font-mono);border-radius:.3rem;padding:.1em .42em;font-size:.78em}.prose :where(img,video){border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:auto;margin-block:2rem}.prose figure :where(img,video){margin-block:0}.prose figcaption{color:var(--color-muted);text-align:center;margin-top:.65rem;font-size:.84rem;line-height:1.5}.prose .table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--prose-surface-soft);scrollbar-width:thin;max-width:100%;overflow-x:auto}.prose .table-scroll:focus-visible{outline:.18rem solid var(--color-accent-secondary);outline-offset:.2rem}.prose table{border-spacing:0;width:max-content;min-width:100%;font-size:.92rem}.prose :where(th,td){border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:8rem;padding:.7rem .85rem}.prose th{background:var(--color-surface);color:var(--color-text);font-weight:700}.prose tr:last-child td{border-bottom:0}.prose :where(th,td):last-child{border-right:0}.prose tbody tr:nth-child(2n){background:color-mix(in srgb, var(--color-surface) 50%, transparent)}.prose :where(dt){color:var(--color-text);font-weight:700}.prose dd{margin:.25rem 0 1rem 1.25rem}.prose sup{line-height:0}.prose [data-footnote-ref]{font-family:var(--font-mono);font-size:.72em;text-decoration:none}.prose :where([data-footnotes],.footnotes){border-top:1px solid var(--color-border);color:var(--color-muted);margin-top:3.5rem;padding-top:1.25rem;font-size:.88rem}.prose :where([data-footnotes],.footnotes) h2{letter-spacing:.04em;text-transform:uppercase;margin-top:0;font-size:1rem}.prose [data-footnote-backref]{margin-inline-start:.25rem;text-decoration:none}.prose .expressive-code{min-width:0}.prose>pre:not(.mermaid){border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);scrollbar-width:thin;border-radius:.75rem;margin-block:1.25rem;padding:1rem 1.1rem;font-size:.82rem;line-height:1.65;overflow:auto}.prose .expressive-code figure{margin-block:0}.prose .expressive-code :where(button,[role=button]):focus-visible{outline-color:var(--color-accent-secondary)}.prose .callout{--callout-color:var(--color-notice);border:1px solid var(--color-border);border-left:.24rem solid var(--callout-color);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--callout-color) 6%, var(--color-surface));margin-block:1.5rem;padding:1rem 1.1rem}.prose .callout[data-callout=note]{--callout-color:var(--color-info)}.prose .callout[data-callout=tip]{--callout-color:var(--color-success)}.prose .callout[data-callout=important]{--callout-color:var(--color-notice)}.prose .callout[data-callout=warning]{--callout-color:var(--color-warning)}.prose .callout[data-callout=caution]{--callout-color:var(--color-danger)}.prose .callout-title{color:var(--callout-color);align-items:center;gap:.55rem;font-weight:700;line-height:1.4;display:flex}.prose summary.callout-title{cursor:pointer}.prose .callout-title-icon{flex:none;width:1.1rem;height:1.1rem}.prose .callout-title-icon svg{width:100%;height:100%}.prose .callout-fold-icon{width:1rem;transition:transform var(--motion-fast);margin-inline-start:auto}.prose details.callout[open] .callout-fold-icon{transform:rotate(180deg)}.prose .callout-content{color:var(--prose-body)}.prose .callout-content>:last-child{margin-bottom:0}.prose pre.mermaid{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--prose-surface-soft);min-height:12.5rem;color:var(--color-text);scrollbar-width:thin;justify-content:center;align-items:center;margin:2rem 0;padding:clamp(1rem,4vw,1.75rem);font-size:.78rem;display:flex;position:relative;overflow:auto}.prose pre.mermaid:not([data-processed]){background:linear-gradient(100deg, var(--prose-surface-soft) 25%, color-mix(in srgb, var(--color-selected) 34%, transparent) 48%, var(--prose-surface-soft) 72%);background-size:220% 100%}.prose pre.mermaid[data-processed]{background:var(--prose-surface-soft);min-height:0}.prose pre.mermaid svg{width:auto;min-width:min(32rem,100%);max-width:100%;height:auto}.prose pre.mermaid>div[style]{border-color:var(--color-danger)!important;color:var(--color-danger)!important}@media (width<=36rem){.prose :where(ul,ol){padding-inline-start:1.2rem}.prose blockquote,.prose .callout{padding:.85rem .9rem}.prose .expressive-code,.prose pre.mermaid{width:calc(100vw - 2rem);max-width:100%}}@media (prefers-reduced-motion:reduce){.prose pre.mermaid:not([data-processed]){background:var(--prose-surface-soft);animation:none}}.post-shell[data-astro-cid-zg7dkzxc]{padding-block:clamp(2.5rem,6vw,5rem);position:relative}.post-header[data-astro-cid-zg7dkzxc]{border-bottom:1px solid var(--color-border);margin-inline:auto;padding-bottom:2rem}.draft-label[data-astro-cid-zg7dkzxc]{background:var(--color-selected);font-family:var(--font-mono);text-transform:uppercase;border-radius:999px;margin:0 0 1rem;padding:.18rem .55rem;font-size:.75rem;font-weight:650;display:inline-block}h1[data-astro-cid-zg7dkzxc]{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:650;line-height:1.08}.description[data-astro-cid-zg7dkzxc]{max-width:38rem;color:var(--color-muted);margin:1.25rem 0 0;font-size:clamp(1.0625rem,2vw,1.2rem);line-height:1.65}.post-meta[data-astro-cid-zg7dkzxc]{color:var(--color-muted);flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.5rem;font-size:.875rem;display:flex}.post-meta[data-astro-cid-zg7dkzxc] span[data-astro-cid-zg7dkzxc]{align-items:center;gap:.4rem;display:inline-flex}.post-meta[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.2em;font-weight:650}.post-meta[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{color:var(--color-accent);text-decoration-color:currentColor}.post-tags[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.post-tags[data-astro-cid-zg7dkzxc] li[data-astro-cid-zg7dkzxc]{background:color-mix(in srgb, var(--color-accent) 7%, transparent);color:var(--color-accent);overflow-wrap:anywhere;border-radius:.375rem;padding:.2rem .65rem;font-size:.8125rem;font-weight:550}.post-hero[data-astro-cid-zg7dkzxc]{z-index:2;background:var(--color-canvas);width:100%;margin:clamp(2.5rem,6vw,5rem) 0 0;padding-block:clamp(1.25rem,3vw,2rem);position:relative}.post-hero[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-border);border-radius:clamp(var(--radius-md), 2vw, 1.25rem);background:var(--color-surface);width:100%;height:auto;box-shadow:0 1.5rem 4rem -3rem color-mix(in srgb, var(--color-text) 32%, transparent)}.post-body[data-astro-cid-zg7dkzxc]{margin-top:clamp(3rem,8vw,6rem)}.toc-rail[data-astro-cid-zg7dkzxc]{display:none}@media (width>=74rem){.toc-rail[data-astro-cid-zg7dkzxc]{z-index:1;top:50%;right:calc(50vw + var(--content-width) / 2 + 2rem);left:max(2rem, calc((100vw - var(--page-width)) / 2));border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-canvas) 88%, transparent);backdrop-filter:blur(14px);scrollbar-width:thin;max-height:calc(100vh - 4rem);padding:1rem;display:block;position:fixed;overflow-y:auto;transform:translateY(-50%)}.toc[data-astro-cid-zg7dkzxc]{--toc-ease:cubic-bezier(.22, 1, .36, 1);color:var(--color-muted);font-size:.82rem;position:relative}.toc[data-astro-cid-zg7dkzxc]:before{z-index:1;width:.125rem;height:var(--toc-indicator-height,1.5rem);transform:translateY(var(--toc-indicator-y,0));background:var(--color-accent);content:"";opacity:0;transition:transform .36s var(--toc-ease), height .28s var(--toc-ease), opacity .18s ease-out;border-radius:999px;position:absolute;top:0;left:0}.toc[data-astro-cid-zg7dkzxc][data-ready=true]:before{opacity:1}.toc[data-astro-cid-zg7dkzxc] p[data-astro-cid-zg7dkzxc]{color:var(--color-text);margin:0 0 .6rem;font-weight:700}.toc[data-astro-cid-zg7dkzxc] ol[data-astro-cid-zg7dkzxc]{margin:0;padding:0;list-style:none}.toc[data-astro-cid-zg7dkzxc] li[data-astro-cid-zg7dkzxc]{margin:.35rem 0}.toc[data-astro-cid-zg7dkzxc] li[data-astro-cid-zg7dkzxc][data-depth="3"]{padding-left:.75rem}.toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-muted);transition:color .24s var(--toc-ease), background-color .3s var(--toc-ease), transform .36s var(--toc-ease);padding:.15rem 0 .15rem .75rem;text-decoration:none;display:block;position:relative}.toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{color:var(--color-text)}.toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc][aria-current=location]{background:color-mix(in srgb, var(--color-selected) 20%, transparent);color:var(--color-text);transform:translate(.25rem)}}
