:root{color-scheme:light;--bg:#fbfbfa;--fg:#16181d;--muted:#5d6470;--faint:#6b717b;--border:#e4e5e8;--control-border:#8a909a;--surface:#fff;--danger:#b42318;--accent:#c2410c;--accent-soft:#fbeee7;--on-accent:#fff;--serif:var(--font-serif), Georgia, serif;--sans:var(--font-sans), system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--radius:12px;--wide:1120px;--prose:68ch;--bar-h:64px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0e0f11;--fg:#ecedee;--muted:#a3a8b0;--faint:#8b919a;--border:#25282d;--control-border:#646a73;--surface:#15171a;--danger:#fda29b;--accent:#fb923c;--accent-soft:#2e1a0e;--on-accent:#0e0f11}}:root[data-theme=dark]{color-scheme:dark;--bg:#0e0f11;--fg:#ecedee;--muted:#a3a8b0;--faint:#8b919a;--border:#25282d;--control-border:#646a73;--surface:#15171a;--danger:#fda29b;--accent:#fb923c;--accent-soft:#2e1a0e;--on-accent:#0e0f11}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--bar-h) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.65;display:flex}main{flex:1 0 auto}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}img,svg,video{max-width:100%}img{height:auto}h1,h2,h3,h4{font-family:var(--serif);text-wrap:balance;font-weight:600;line-height:1.2}p,li,dd,blockquote{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--fg)}html{scrollbar-color:var(--control-border) var(--bg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.wrap{max-width:var(--wide);margin:0 auto;padding:0 24px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:20;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:10px 16px;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.btn{background:var(--accent);min-height:44px;color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;transition:filter .15s ease-out;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:focus-visible{border-radius:999px}.btn:disabled{opacity:.7;cursor:progress}.btn--lg{padding:16px 28px;font-size:1.05rem}.link{color:var(--accent);font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.page-head{margin-bottom:40px;padding-top:72px}.page-head h1{letter-spacing:-.02em;max-width:22ch;margin:0 0 16px;font-size:clamp(2.1rem,4.5vw,3.2rem);line-height:1.1}.page-head .lede{color:var(--muted);max-width:60ch;margin:0;font-size:1.15rem}.page-head .meta{color:var(--faint);margin:0 0 12px;font-size:.9rem}.section{margin-top:88px}.section h2{margin:0 0 24px;font-size:1.9rem}.prose{max-width:var(--prose)}.prose>*{margin-top:0;margin-bottom:1.15em}.prose h2{margin:2.2em 0 .6em;font-size:1.6rem;line-height:1.25}.prose h3{margin:1.8em 0 .5em;font-size:1.3rem;line-height:1.3}.prose h4{margin:1.6em 0 .4em;font-size:1.1rem}.prose a{color:var(--accent)}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.35em}.prose li>p{margin:0 0 .5em}.prose blockquote{border-left:1px solid var(--control-border);color:var(--muted);margin-left:0;padding-left:20px;font-style:italic}.prose figure{margin-left:0;margin-right:0}.prose figcaption{color:var(--faint);margin-top:8px;font-size:.875rem}.prose img{border-radius:8px}.prose hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.prose th,.prose strong{font-weight:600}.prose code{font-family:var(--mono);font-size:.88em}.prose :not(pre)>code{background:var(--accent-soft);overflow-wrap:anywhere;border-radius:4px;padding:.1em .35em}.prose pre{border:1px solid var(--border);border-radius:var(--radius);tab-size:2;margin:0 0 1.4em;padding:16px 18px;font-size:.875rem;line-height:1.6;position:relative;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .prose pre,:root:not([data-theme=light]) .prose pre span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}:root[data-theme=dark] .prose pre,:root[data-theme=dark] .prose pre span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.prose pre span{background-color:#0000!important}.code-block{position:relative}.code-copy{min-height:32px;font:inherit;color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;opacity:0;border-radius:6px;padding:4px 10px;font-size:.8rem;transition:opacity .15s ease-out;position:absolute;top:8px;right:8px}.code-block:hover .code-copy,.code-copy:focus-visible,.code-copy[data-copied]{opacity:1}@media (hover:none){.code-copy{opacity:1}}.code-copy:hover{color:var(--fg)}.anchor.before{color:var(--faint);padding-right:6px;position:absolute;top:.2em;left:0;transform:translate(-100%)}.anchor svg{fill:currentColor;visibility:hidden}:is(h1,h2,h3,h4,h5,h6):hover .anchor svg,.anchor:focus-visible svg{visibility:visible}@media (width<=760px){.anchor.before{display:none}}.theme[data-astro-cid-dwpsah5p]{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;margin-right:-10px;display:inline-grid}.theme[data-astro-cid-dwpsah5p]:hover{color:var(--fg);background:var(--accent-soft)}.theme__sun[data-astro-cid-dwpsah5p]{display:none}.theme[data-astro-cid-dwpsah5p][aria-pressed=true] .theme__sun[data-astro-cid-dwpsah5p]{display:block}.theme[data-astro-cid-dwpsah5p][aria-pressed=true] .theme__moon[data-astro-cid-dwpsah5p]{display:none}@media (width<=760px){.theme[data-astro-cid-dwpsah5p]{order:2}}.bar[data-astro-cid-flfx4z52]{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);position:sticky;top:0}.bar__in[data-astro-cid-flfx4z52]{height:var(--bar-h);align-items:center;gap:16px;display:flex}.bar__name[data-astro-cid-flfx4z52]{font-family:var(--serif);white-space:nowrap;margin-right:auto;padding:10px 0;font-size:1.2rem;font-weight:600;text-decoration:none}.bar__nav[data-astro-cid-flfx4z52]{align-items:center;gap:22px;display:flex}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52]{gap:22px;margin:0;padding:0;list-style:none;display:flex}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52]{color:var(--muted);padding:12px 0;font-size:.95rem;text-decoration:none;display:inline-block}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52]:hover,.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52][aria-current]{color:var(--fg)}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52][aria-current]{text-decoration:underline;text-decoration-color:var(--control-border);text-underline-offset:6px}.bar__cta[data-astro-cid-flfx4z52]{padding:10px 16px;font-size:.875rem}@media (width<=760px){:root{--bar-h:0px}.bar[data-astro-cid-flfx4z52]{-webkit-backdrop-filter:none;background:var(--bg);position:static}.bar__in[data-astro-cid-flfx4z52]{flex-wrap:wrap;row-gap:0;height:auto;padding-block:6px}.bar__nav[data-astro-cid-flfx4z52]{order:3;justify-content:space-between;gap:12px;width:100%}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52]{gap:14px}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52]{font-size:.9rem}.bar__cta[data-astro-cid-flfx4z52]{padding:10px 14px}}@media (width<=380px){.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52]{gap:10px}.bar__nav[data-astro-cid-flfx4z52] ul[data-astro-cid-flfx4z52] a[data-astro-cid-flfx4z52]{font-size:.85rem}}.foot[data-astro-cid-qs723wb2]{border-top:1px solid var(--border);color:var(--faint);margin-top:104px;padding:24px 0;font-size:.875rem}.foot__in[data-astro-cid-qs723wb2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.foot[data-astro-cid-qs723wb2] ul[data-astro-cid-qs723wb2]{flex-wrap:wrap;gap:0 20px;margin:0;padding:0;list-style:none;display:flex}.foot[data-astro-cid-qs723wb2] a[data-astro-cid-qs723wb2]{color:var(--muted);padding:12px 0;text-decoration:none;display:inline-block}.foot[data-astro-cid-qs723wb2] a[data-astro-cid-qs723wb2]:hover{color:var(--fg);text-decoration:underline}
