:root{color-scheme:light;--color-page:#fafafa;--color-surface:#fff;--color-surface-muted:#f4f4f5;--color-border:#e4e4e7;--color-border-strong:#d4d4d8;--color-text:#18181b;--color-text-muted:#52525b;--color-text-subtle:#a1a1aa;--color-accent:#18181b;--color-code-bg:#18181b;--color-code-gutter:#52525b;--font-sans:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--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;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 2px #0000000a;--shadow-dialog:0 16px 40px #00000029;--color-backdrop:#00000059;--content-width:44rem;--page-width:72rem;--header-height:3.5rem}[data-theme=dark]{color-scheme:dark;--color-page:#09090b;--color-surface:#18181b;--color-surface-muted:#27272a;--color-border:#27272a;--color-border-strong:#3f3f46;--color-text:#fafafa;--color-text-muted:#a1a1aa;--color-text-subtle:#71717a;--color-accent:#fafafa;--shadow-card:0 1px 2px #0000004d;--shadow-dialog:0 16px 40px #00000080;--color-backdrop:#0009}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-page);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.65;display:flex}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer}.page-shell{max-width:var(--page-width);padding:0 var(--space-6);margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);font-weight:500}.icon-button{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.image-fallback{background:linear-gradient(135deg, var(--color-surface-muted), var(--color-border))}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.prose h2{font-size:var(--text-xl);margin:var(--space-12) 0 var(--space-3)}.prose p{margin:0 0 var(--space-4)}.prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--color-border-strong)}@media (width<=640px){.page-shell{padding:0 var(--space-4)}}.code-block{margin:0 0 var(--space-6);position:relative}.astro-code{padding:var(--space-4) 0;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);tab-size:4;margin:0;line-height:1.5;overflow-x:auto;background:var(--color-code-bg)!important}.astro-code code{counter-reset:code-line;min-width:max-content;display:block}.astro-code .line{padding:0 var(--space-4)}.astro-code .line:before{counter-increment:code-line;content:counter(code-line);width:2rem;margin-right:var(--space-4);text-align:right;color:var(--color-code-gutter);user-select:none;display:inline-block}.astro-code .line:last-child:empty{display:none}@media (width<=640px){.astro-code{font-size:var(--text-xs)}.astro-code code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;display:grid}.astro-code .line{padding:0 var(--space-3) 0 calc(var(--space-3) + 1.5rem + var(--space-3));text-indent:calc(-1.5rem - var(--space-3));display:block}.astro-code .line:before{width:1.5rem;margin-right:var(--space-3);text-indent:0}.astro-code .line:first-child{padding-right:4rem}}.copy-button{top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:#a1a1aa;font-size:var(--text-xs);font-family:var(--font-sans);opacity:0;background:#27272a;border:1px solid #3f3f46;transition:opacity .12s;position:absolute}.code-block:hover .copy-button,.copy-button:focus-visible{opacity:1}@media (hover:none){.copy-button{opacity:1}}.copy-button:hover{color:#fafafa;border-color:#52525b}svg[data-astro-cid-f7espo7c]{color:var(--color-text);flex-shrink:0}.icon-moon[data-astro-cid-l6lhmie6]{display:none}[data-theme=dark] .icon-moon[data-astro-cid-l6lhmie6]{display:block}[data-theme=dark] .icon-sun[data-astro-cid-l6lhmie6]{display:none}.site-header[data-astro-cid-fzpbxy5g]{z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header-inner[data-astro-cid-fzpbxy5g]{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-sm);letter-spacing:-.01em;min-width:0;display:flex}.brand[data-astro-cid-fzpbxy5g] svg{max-width:100%;height:auto;display:block}.brand[data-astro-cid-fzpbxy5g]:hover{text-decoration:none}.nav[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.nav-link[data-astro-cid-fzpbxy5g]{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-muted)}.nav-link[data-astro-cid-fzpbxy5g]:hover{background:var(--color-surface-muted);color:var(--color-text);text-decoration:none}.nav-link[data-astro-cid-fzpbxy5g].active{color:var(--color-text);font-weight:500}@media (width<=480px){.header-inner[data-astro-cid-fzpbxy5g]{gap:var(--space-3)}.nav[data-astro-cid-fzpbxy5g]{gap:var(--space-1)}.nav-link[data-astro-cid-fzpbxy5g]{padding:var(--space-1) var(--space-2)}}.site-footer[data-astro-cid-nns7i3if]{border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-inner[data-astro-cid-nns7i3if]{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-6);padding-bottom:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.search-dialog[data-astro-cid-e66w4awt]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(36rem,100vw - 2rem);color:var(--color-text);box-shadow:var(--shadow-dialog);margin-top:12vh;padding:0}.search-dialog[data-astro-cid-e66w4awt]::backdrop{background:var(--color-backdrop)}.search-inner[data-astro-cid-e66w4awt]{flex-direction:column;display:flex}.search-input[data-astro-cid-e66w4awt]{font:inherit;font-size:var(--text-lg);padding:var(--space-4);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);background:0 0;outline:none}.search-results[data-astro-cid-e66w4awt]{max-height:22rem;margin:0;padding:0;list-style:none;overflow-y:auto}.search-results[data-astro-cid-e66w4awt]:empty{display:none}.search-results[data-astro-cid-e66w4awt] a{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:block}.search-results[data-astro-cid-e66w4awt] a:hover{background:var(--color-surface-muted);text-decoration:none}.search-results[data-astro-cid-e66w4awt] .result-title{font-size:var(--text-sm);font-weight:500}.search-results[data-astro-cid-e66w4awt] .result-description{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.search-hint[data-astro-cid-e66w4awt]{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--color-text-subtle);margin:0}.main[data-astro-cid-z4jru4n3]{width:100%;max-width:var(--content-width);padding:var(--space-12) var(--space-6);flex:1;margin:0 auto}.main[data-astro-cid-z4jru4n3].wide{max-width:var(--page-width)}@media (width<=640px){.main[data-astro-cid-z4jru4n3]{padding:var(--space-8) var(--space-4)}}
