.site-header[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--color-border);padding:var(--space-4) 0;position:sticky;top:0;background:var(--color-bg);z-index:100}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.site-logo[data-astro-cid-3ef6ksr2]{font-weight:700;font-size:var(--text-lg);color:var(--color-text);text-decoration:none;white-space:nowrap;flex-shrink:0}.site-logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-accent)}.site-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;gap:var(--space-6);flex-wrap:wrap;padding:0;margin:0;justify-content:flex-end}.nav-link[data-astro-cid-3ef6ksr2]{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;transition:color .15s;white-space:nowrap}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-accent)}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:var(--space-2);flex-shrink:0}.nav-toggle[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:background .15s}@media(max-width:900px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:flex}.site-nav[data-astro-cid-3ef6ksr2]{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-6)}.site-nav[data-astro-cid-3ef6ksr2].open{display:block}.site-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--space-3);justify-content:flex-start}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-8);margin-top:auto;background:var(--color-surface)}.footer-inner[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr auto;gap:var(--space-8);align-items:start}.footer-newsletter-label[data-astro-cid-sz7xmlte]{font-weight:600;margin-bottom:var(--space-3);max-width:none;font-size:var(--text-sm)}.footer-nav[data-astro-cid-sz7xmlte]{padding-top:var(--space-1)}.footer-nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);padding:0;margin:0;align-items:flex-end}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm)}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.footer-copy[data-astro-cid-sz7xmlte]{grid-column:1 / -1;font-size:var(--text-sm);color:var(--color-text-muted);max-width:none;margin-top:var(--space-4)}@media(max-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}.footer-nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-text: #1a1a1a;--color-text-muted: #555555;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-border: #e5e7eb;--color-surface: #f9fafb;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.6;--leading-loose: 1.8;--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;--max-width-content: 680px;--max-width-wide: 1100px;--border-radius: 6px}html{font-family:var(--font-sans);font-size:18px;line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}body{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight);font-weight:700;color:var(--color-text)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl);margin-top:var(--space-12);margin-bottom:var(--space-4)}h3{font-size:var(--text-2xl);margin-top:var(--space-8);margin-bottom:var(--space-3)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-4);max-width:65ch}ul,ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-2)}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-4);color:var(--color-text-muted);font-style:italic;margin:var(--space-6) 0}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface);padding:.1em .3em;border-radius:3px}pre{background:var(--color-surface);padding:var(--space-4);border-radius:var(--border-radius);overflow-x:auto;margin:var(--space-6) 0}pre code{background:none;padding:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}.container{width:100%;max-width:var(--max-width-content);margin:0 auto;padding:0 var(--space-6)}.container--wide{max-width:var(--max-width-wide)}.page-content{flex:1;padding:var(--space-12) 0}.prose h1{margin-bottom:var(--space-6)}.prose h2{margin-top:var(--space-8)}.prose p{line-height:var(--leading-loose)}.prose a{font-weight:500}.prose img{border-radius:var(--border-radius);margin:var(--space-6) auto}.prose ul,.prose ol{max-width:65ch}.links-page{padding:var(--space-12) 0}.links-page h1{margin-bottom:var(--space-6)}.links-section{margin-bottom:var(--space-8)}.links-list{list-style:none;padding-left:0}.link-item{margin-bottom:var(--space-3);line-height:var(--leading-normal)}.link-anchor{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;vertical-align:middle}.link-favicon{width:16px;height:16px;border-radius:2px;flex-shrink:0}.link-note{color:var(--color-text-muted)}@media(max-width:640px){html{font-size:16px}h1{font-size:var(--text-3xl)}.container{padding:0 var(--space-4)}}
