.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}header[data-astro-cid-fzpbxy5g]{border-bottom:1px solid var(--line)}.bar[data-astro-cid-fzpbxy5g]{justify-content:space-between;align-items:center;padding-block:.9rem;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--ink);font-weight:600;text-decoration:none}nav[data-astro-cid-fzpbxy5g]{align-items:center;gap:1.1rem;display:flex}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--ink-soft);font-size:.9375rem;text-decoration:none}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--ink)}@media (width<=480px){.bar[data-astro-cid-fzpbxy5g]{flex-wrap:wrap;gap:.35rem 1rem;padding-block:.75rem}.brand[data-astro-cid-fzpbxy5g]{white-space:nowrap;font-size:.9375rem}nav[data-astro-cid-fzpbxy5g]{gap:.75rem}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{font-size:.875rem}}button[data-astro-cid-fzpbxy5g]{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:2rem;height:2rem;display:grid}button[data-astro-cid-fzpbxy5g]:hover{color:var(--ink);border-color:var(--ink-soft)}html[data-theme=dark] .moon[data-astro-cid-fzpbxy5g],html:not([data-theme=dark]) .sun[data-astro-cid-fzpbxy5g]{display:none}footer[data-astro-cid-nns7i3if]{border-top:1px solid var(--line);margin-top:4rem}.row[data-astro-cid-nns7i3if]{color:var(--ink-soft);justify-content:space-between;padding-block:1.5rem .5rem;font-size:.875rem;display:flex}.links[data-astro-cid-nns7i3if]{gap:1rem;display:flex}a[data-astro-cid-nns7i3if]{color:var(--ink-soft)}.colophon[data-astro-cid-nns7i3if]{color:var(--ink-soft);padding-bottom:1.5rem;font-size:.8125rem}:root{--bg:oklch(97.5% .01 95);--bg-raised:oklch(99.2% .005 95);--ink:oklch(24% .02 60);--ink-soft:oklch(46% .015 60);--line:oklch(89% .01 90);--accent:oklch(60% .13 65);--accent-soft:oklch(60% .13 65/.12)}html[data-theme=dark]{--bg:oklch(17.5% .012 270);--bg-raised:oklch(21% .012 270);--ink:oklch(90% .008 90);--ink-soft:oklch(66% .012 270);--line:oklch(28% .012 270);--accent:oklch(76% .12 70);--accent-soft:oklch(76% .12 70/.14);color-scheme:dark}*{box-sizing:border-box;margin:0}html{color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1.0625rem;font-weight:400;line-height:1.75}::selection{background:var(--accent-soft);color:var(--ink)}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5vw,2.75rem)}h2{font-size:1.5rem}h3{font-size:1.125rem}p{text-wrap:pretty}time,.numeric{font-variant-numeric:tabular-nums}code,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--accent-soft);border-radius:4px;padding:.1em .35em}pre{border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem;line-height:1.6;position:relative;overflow-x:auto}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.container{max-width:44rem;margin-inline:auto;padding-inline:1.25rem}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.8125rem;font-weight:500}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2.2em}.prose h3{margin-top:1.8em}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.4em}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);padding-left:1rem;font-style:italic}.prose img{border-radius:10px;max-width:100%}.prose hr{border:0;border-top:1px solid var(--line)}.back{color:var(--ink-soft);margin-bottom:1.25rem;font-size:.9375rem;text-decoration:none;display:inline-block}.back:hover{color:var(--ink)}.progress{background:var(--accent);transform-origin:0;z-index:10;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}html.js [data-reveal]{opacity:0;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);transform:translateY(10px)}html.js [data-reveal].revealed{opacity:1;transform:none}.prose .heading-anchor{color:var(--ink-soft);opacity:0;margin-left:.4em;text-decoration:none;transition:opacity .15s}.prose .heading-anchor:after{content:"#"}.prose :is(h2,h3,h4):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover{color:var(--accent)}.copy-btn{font:500 .75rem var(--font-sans);color:var(--ink-soft);background:var(--bg-raised);border:1px solid var(--line);cursor:pointer;opacity:0;border-radius:6px;padding:.2rem .55rem;transition:opacity .15s;position:absolute;top:.5rem;right:.5rem}pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--ink);border-color:var(--ink-soft)}@media (hover:none){.copy-btn{opacity:1}.prose .heading-anchor{opacity:.55}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js [data-reveal]{opacity:1;transition:none;transform:none}*,:before,:after{transition:none!important;animation:none!important}}@media print{body>header,footer,.progress,.back,.copy-btn,.heading-anchor{display:none!important}body{color:#000;background:#fff}a{color:#000}html.js [data-reveal]{opacity:1!important;transform:none!important}.prose a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:.875em}}
