.site-header[data-astro-cid-3ef6ksr2]{padding:1.45rem 0;margin-bottom:0}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding-left:var(--space-md);padding-right:var(--space-md)}.site-title[data-astro-cid-3ef6ksr2]{text-decoration:none;display:flex;align-items:center}.logo[data-astro-cid-3ef6ksr2]{height:3.75rem;width:auto;display:block}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-md)}.nav-link[data-astro-cid-3ef6ksr2]{color:var(--color-text-muted);text-decoration:none;font-size:.95rem;font-weight:450}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent)}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-accent);font-weight:550}.site-footer[data-astro-cid-sz7xmlte]{margin-top:0;padding:var(--space-lg) 0;font-size:.875rem;color:#ccc;background-color:var(--color-accent)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;justify-content:space-between}.footer-links[data-astro-cid-sz7xmlte],.footer-legal[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-sm)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte],.footer-legal[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:#ccc;text-decoration:none}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.footer-legal[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:#fff}.footer-copyright[data-astro-cid-sz7xmlte]{margin:0}@media(max-width:600px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:flex-start}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/GeistVariable.woff2) format("woff2")}:root{--color-bg: #FAF8F5;--color-bg-alt: #F2EFEB;--color-text: #1A1A1A;--color-text-muted: #6B6560;--color-accent: #2D2D2D;--color-border: #E5E0DA;--color-link: #1a5a3a;--color-link-hover: #0d3d26;--max-width: 720px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-accent);scroll-behavior:smooth}body{font-family:Geist,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);background-image:url(/bg-pattern.svg);background-repeat:repeat;position:relative}body:after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}h1,h2,h3,h4{font-weight:600;line-height:1.3;color:var(--color-accent);letter-spacing:-.02em;text-wrap:balance}h1{font-size:2rem}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:500}p{margin-bottom:var(--space-sm)}a{color:var(--color-link);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}a:hover{color:var(--color-link-hover)}ul,ol{padding-left:var(--space-md)}li{margin-bottom:var(--space-xs)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}img{max-width:100%;height:auto}code{font-size:.9em;background:var(--color-bg-alt);padding:.15em .35em;border-radius:3px}pre{background:var(--color-accent);color:var(--color-bg);padding:var(--space-sm);border-radius:6px;overflow-x:auto;margin-bottom:var(--space-sm)}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.skip-to-content{position:absolute;top:-100%;left:var(--space-md);z-index:100;padding:.5rem 1rem;background:var(--color-accent);color:var(--color-bg);border-radius:0 0 6px 6px;text-decoration:none;font-size:.875rem;font-weight:500;transition:top .15s ease}.skip-to-content:focus{top:0}
