*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;line-height:1.6}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}button{cursor:pointer;background:0 0;border:none;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Geist", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--content-width:680px;--wide-width:800px;--page-width:768px;--transition:.15s ease}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,[data-theme=light]{--color-bg:#fafafa;--color-text:#171717;--color-text-muted:#6b6b6b;--color-text-subtle:#717171;--color-border:#e5e5e5;--color-accent:#0f766e;--color-accent-hover:#115e59;--color-code-bg:#f4f4f5;--viz-gold:#b8860b;--viz-gold-text:#8a6508;--viz-green:#2e7d32;--viz-slate:#64748b;--viz-ember:#c1440e;--viz-line:#9a9a9a;--viz-grid:#d4d4d4;--viz-box:#fff}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0a0a;--color-text:#fafafa;--color-text-muted:#a3a3a3;--color-text-subtle:#8c8c8c;--color-border:#262626;--color-accent:#5eead4;--color-accent-hover:#99f6e4;--color-code-bg:#171717;--viz-gold:#d4a53a;--viz-gold-text:#d4a53a;--viz-green:#5fae63;--viz-slate:#94a3b8;--viz-ember:#e8794a;--viz-line:#737373;--viz-grid:#333;--viz-box:#171717}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0a0a0a;--color-text:#fafafa;--color-text-muted:#a3a3a3;--color-text-subtle:#8c8c8c;--color-border:#262626;--color-accent:#5eead4;--color-accent-hover:#99f6e4;--color-code-bg:#171717;--viz-gold:#d4a53a;--viz-gold-text:#d4a53a;--viz-green:#5fae63;--viz-slate:#94a3b8;--viz-ember:#e8794a;--viz-line:#737373;--viz-grid:#333;--viz-box:#171717}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);transition:background var(--transition), color var(--transition)}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;font-weight:600;line-height:1.25}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h1,h2,h3{text-wrap:balance}p,li,figcaption{text-wrap:pretty}a{color:var(--color-accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-accent-hover)}.section-ref{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:.15em}.section-ref:hover{color:var(--color-accent);text-decoration-color:currentColor}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}main{max-width:var(--content-width);margin:var(--space-24) auto var(--space-16);padding:0 var(--space-4)}.body p{margin-top:var(--space-4);line-height:1.7}.body :is(p,li,td,blockquote) a:not(.section-ref){text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.15em}.body :is(p,li,td,blockquote) a:not(.section-ref):hover{text-decoration-color:currentColor}.body h2{margin-top:var(--space-8);margin-bottom:var(--space-3)}.body h3{margin-top:var(--space-6);margin-bottom:var(--space-2)}.body :is(ul,ol){margin-top:var(--space-4)}.body ul{padding-left:var(--space-6)}.body ol{padding-left:var(--space-8)}.body li{margin-top:var(--space-1)}.body blockquote{margin-block:var(--space-6);padding-left:var(--space-4);border-left:2px solid var(--color-border);color:var(--color-text-muted)}code{font-family:var(--font-mono);background:var(--color-code-bg);border-radius:3px;padding:.1em .35em;font-size:.9em}.code-block{margin:var(--space-6) 0;position:relative}pre{font-family:var(--font-mono);background:var(--color-code-bg);padding:var(--space-4);margin:var(--space-6) 0;border-radius:6px;font-size:.9375rem;overflow-x:auto}.code-block>pre{margin:0}pre code{font-size:inherit;background:0 0;padding:0}.copy-btn{top:var(--space-2);right:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);z-index:1;opacity:0;transition:opacity var(--transition), color var(--transition);border-radius:4px;padding:.2rem .5rem;position:absolute}.code-block:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--color-text)}.muted,.body>p:first-child{color:var(--color-text-muted)}::selection{background:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{left:var(--space-4);top:calc(-1 * var(--space-12));padding:var(--space-2) var(--space-3);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);z-index:10;position:absolute}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/geist-latin-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.site-header[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-2) var(--space-6);max-width:var(--content-width);padding:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--color-text);font-weight:600;font-size:var(--text-base)}.brand[data-astro-cid-fzpbxy5g]:hover{color:var(--color-text)}.primary-nav[data-astro-cid-fzpbxy5g]{gap:var(--space-4);font-size:var(--text-sm);margin-right:auto;display:flex}.primary-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{padding-block:var(--space-1);color:var(--color-text-muted)}.primary-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover{color:var(--color-text)}.theme-toggle[data-astro-cid-fzpbxy5g]{width:36px;height:36px;color:var(--color-text-muted);transition:color var(--transition), background var(--transition);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle[data-astro-cid-fzpbxy5g]:hover{color:var(--color-text);background:var(--color-code-bg)}.icon-moon[data-astro-cid-fzpbxy5g]{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun[data-astro-cid-fzpbxy5g]{display:none}:root:not([data-theme=light]) .icon-moon[data-astro-cid-fzpbxy5g]{display:block}}:root[data-theme=dark] .icon-sun[data-astro-cid-fzpbxy5g]{display:none}:root[data-theme=dark] .icon-moon[data-astro-cid-fzpbxy5g]{display:block}.site-footer[data-astro-cid-nns7i3if]{max-width:var(--content-width);margin:var(--space-16) auto var(--space-8);padding:0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.site-footer[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{padding-block:var(--space-1);color:var(--color-text-muted)}.site-footer[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--color-text)}
