body{padding-inline:var(--gutter);letter-spacing:-.003em;text-wrap:pretty;padding-block-start:clamp(2.5rem,8vh,5.5rem);line-height:1.68}body>*{width:100%;max-width:var(--measure-prose);order:2;margin-inline:auto}.backlink[data-astro-cid-ymihodss]{line-height:1.5;font-family:var(--font-mono);font-size:var(--step--1);opacity:.8;border:none;margin-bottom:2em;text-decoration:none}time[data-astro-cid-ymihodss]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;color:var(--text-faint);margin-block:0;line-height:1.5;display:block}h1[data-astro-cid-ymihodss]{font-weight:500;font-size:var(--step-4);letter-spacing:-.02em;color:var(--text-strong);text-wrap:balance;margin-block:1.375rem 0;line-height:1.04}body>*+*{margin-block-start:1em}body>p{margin-block:.95em 0}body>h2{font-size:var(--step-3);margin-block-start:2em}body>h3{font-size:var(--step-2);margin-block-start:1.9em}body>h4{font-size:var(--step-1);margin-block-start:1.8em}body>:is(h2,h3,h4){letter-spacing:-.015em;color:var(--text-strong);text-wrap:balance;font-weight:600;line-height:1.22}body>:is(h2,h3,h4)+*{margin-block-start:calc(.65 * var(--step-0))}body>:is(ul,ol){margin-block-start:.8em;padding-inline-start:1.35em}body li+li{margin-block-start:.5em}body li{padding-inline-start:.3em}body li::marker{color:var(--text-dim)}body>blockquote{border-inline-start:3px solid var(--accent-deep);font-size:var(--step-0);opacity:.8;margin-block-start:calc(1.8 * var(--step-0));padding-block:.25rem;padding-inline-start:1.625rem;line-height:1.5}body>blockquote:has(>*+*){border:1px solid var(--callout-rule);background:var(--callout-bg);font-style:normal;font-size:var(--step-0);border-radius:6px;padding:1.25rem 1.5rem;line-height:1.6}body>blockquote>*{margin-block:0 .9em}body>blockquote>:last-child{margin-block-end:0}.callout{--callout-accent:var(--text-faint);border:1px solid color-mix(in oklab, var(--callout-accent) 28%, transparent);background:color-mix(in oklab, var(--callout-accent) 7%, transparent);border-radius:6px;margin-block-start:calc(1.8 * var(--step-0));padding:1.1rem 1.35rem;line-height:1.6}.callout[data-callout=info]{--callout-accent:var(--callout-info)}.callout[data-callout=warning]{--callout-accent:var(--callout-warn)}.callout-title{color:var(--callout-accent);text-wrap:pretty;gap:.6em;font-weight:600;display:flex}.callout-title-icon{flex-shrink:0;order:1;align-items:center;height:1lh;display:flex;translate:0 -.12em}.callout-title-text{order:2}.callout-fold-icon{order:0}.callout-content{margin-block-start:.75em}.callout-content>*{margin-block:0}.callout-content>*+*{margin-block-start:.9em}.callout-content :is(ul,ol){padding-inline-start:1.35em}body>pre{border:1px solid var(--code-rule);font-size:var(--step--1);letter-spacing:0;tab-size:4;border-radius:8px;margin-block-start:calc(var(--step-0));padding:1.125rem 1.25rem;line-height:1.7;background-color:var(--code-bg)!important}body code{font-family:var(--font-mono);background:var(--code-inline-bg);border-radius:3px;padding:.0625rem .3125rem;font-size:.75em}body pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}body>figure{margin-block-start:2em}body img{border:1px solid var(--code-rule);cursor:zoom-in;border-radius:8px;width:100%;height:auto;transition:transform .28s cubic-bezier(.2,0,.2,1);display:block}html{scrollbar-gutter:stable}body:after{content:"";opacity:0;z-index:1;backdrop-filter:blur(1px);pointer-events:none;background:oklch(14% .01 60/.45);transition:opacity .25s;position:fixed;inset:0}body:has(.img-clicked){overflow:hidden}body:has(.img-clicked):after{opacity:1}.img-clicked{z-index:2;cursor:zoom-out;transform:translate(var(--dx,0px), var(--dy,0px)) scale(var(--k,1));position:relative}@media (prefers-reduced-motion:reduce){body img{transition:none}}body figcaption{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.02em;color:var(--text-faint);text-align:center;margin-block-start:.75rem;line-height:1.5}body a{color:var(--accent);border-bottom:1px solid var(--accent-rule);text-decoration:none;transition:border-color .15s}body a:hover,body a:focus-visible{border-bottom-color:var(--accent)}body strong{color:var(--text-strong);font-weight:600}body>time+*{margin-block-start:clamp(2.5rem,6vh,4rem)}body>footer{text-align:center;margin-block-start:clamp(3rem,8vh,6rem)}
