.center{width:100%;max-width:calc(var(--max-width) + var(--gutter) * 2);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.text{margin:0;line-height:var(--leading-normal);color:var(--text-secondary)}.text--sm{font-size:var(--text-sm)}.text--base{font-size:var(--text-base)}.text--lg{font-size:var(--text-lg)}.text--normal{font-weight:400}.text--medium{font-weight:500}.text--muted{color:var(--text-muted)}.link{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.link--sm{font-size:var(--text-sm)}.link--base{font-size:var(--text-base)}.link--lg{font-size:var(--text-lg)}.link--normal{font-weight:400}.link--medium{font-weight:500}.link--inline{color:inherit;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:.15em}.link--inline:hover{text-decoration-color:currentColor}.link--nav{--link-padding-x: .5em;--link-padding-y: .25em;position:relative}.link--nav:before{content:"";position:absolute;inset:calc(var(--link-padding-y) * -1) calc(var(--link-padding-x) * -1);border-radius:var(--radius-sm);background-color:transparent;transition:background-color var(--transition-fast);z-index:-1}.link--nav:hover{color:var(--text-emphasis)}.link--nav:hover:before{background-color:var(--surface-hover)}.link--nav.link--muted{color:var(--text-muted)}.link--nav.link--muted:hover{color:var(--text-primary)}footer{margin-top:var(--space-section);padding-block:var(--space-layout);background:var(--surface)}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-tight)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-standard)}nav[data-astro-cid-4lunwx2e]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-tight)}.nav-links[data-astro-cid-4lunwx2e]{display:flex;flex-wrap:wrap;gap:var(--space-standard)}:root{--gray-1: #f7f5f3;--gray-2: #ebe7e3;--gray-3: #dcd7d0;--gray-4: #c2bbb1;--gray-5: #99917f;--gray-6: #706853;--gray-7: #4d4434;--gray-8: #312b21;--gray-9: #1d1a14;--gray-10: #0d0b0a;--accent: #ed8008;--accent-text: #f7f5f3;--space-micro: clamp(3px, .25vw + 3px, 6px);--space-tight: clamp(6px, .5vw + 6px, 12px);--space-standard: clamp(12px, 1vw + 12px, 24px);--space-container: clamp(24px, 2vw + 24px, 48px);--space-layout: clamp(32px, 2.5vw + 32px, 56px);--space-section: clamp(64px, 5vw + 64px, 120px);--background: var(--gray-1);--surface: var(--gray-2);--surface-hover: var(--gray-2);--surface-elevated: var(--gray-1);--border-subtle: var(--gray-3);--border: var(--gray-4);--border-emphasis: var(--gray-5);--text-muted: var(--gray-6);--text-tertiary: var(--gray-7);--text-secondary: var(--gray-8);--text-primary: var(--gray-9);--text-emphasis: var(--gray-10);--interactive: var(--accent);--interactive-text: var(--accent-text);--focus-ring: var(--accent);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Cascadia Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--leading-tight: 1.3;--leading-normal: 1.5;--container-sm: 640px;--container-md: 900px;--container-lg: 1200px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}.prose{max-width:65ch}.prose h2,.prose h3,.prose h4{margin:0;margin-top:var(--space-layout);line-height:var(--leading-tight);color:var(--text-emphasis)}.prose h2{font-size:var(--text-lg)}.prose h3{font-size:var(--text-base)}.prose h4{font-size:var(--text-base);font-weight:500}.prose p{margin-top:var(--space-standard)}.prose h2+p,.prose h3+p,.prose h4+p{margin-top:var(--space-tight)}.prose>:first-child{margin-top:0}.prose a{color:inherit;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:.15em}.prose a:hover{text-decoration-color:currentColor}.prose strong{font-weight:500;color:var(--text-emphasis)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:.15em .4em;border-radius:var(--radius-sm)}.prose pre{margin-top:var(--space-standard);padding:var(--space-standard);background:var(--gray-2);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.prose pre code{background:none;padding:0;font-size:inherit;color:inherit}.prose blockquote{margin:var(--space-standard) 0;padding-left:var(--space-standard);border-left:3px solid var(--border);color:var(--text-secondary)}.prose blockquote p{margin-top:var(--space-tight)}.prose blockquote p:first-child{margin-top:0}.prose ul,.prose ol{margin:var(--space-standard) 0;padding-left:1.5em}.prose li{margin-top:var(--space-tight)}.prose li:first-child{margin-top:0}.prose li>ul,.prose li>ol{margin:var(--space-tight) 0}.prose ul:has(input[type=checkbox]){list-style:none;padding-left:0}.prose li:has(>input[type=checkbox]){display:flex;gap:var(--space-tight);align-items:baseline}.prose hr{margin:var(--space-layout) 0;border:none;border-top:1px solid var(--border-subtle)}.prose table{margin-top:var(--space-standard);width:100%;border-collapse:collapse;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-tight) var(--space-standard);text-align:left;border-bottom:1px solid var(--border-subtle)}.prose th{font-weight:500;color:var(--text-emphasis)}.prose img{margin-top:var(--space-standard);max-width:100%;height:auto;border-radius:var(--radius-md)}*{box-sizing:border-box}html{font-family:var(--font-sans);background-color:var(--background);color:var(--text-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}p{margin:0;text-wrap:pretty}html{scrollbar-gutter:stable}body{display:flex;flex-direction:column;min-height:100vh}.content-wrapper{flex:1}header{padding-block:var(--space-layout)}main{width:100%}.stack{display:flex;flex-direction:column}.stack--micro{gap:var(--space-micro)}.stack--tight{gap:var(--space-tight)}.stack--standard{gap:var(--space-standard)}.stack--container{gap:var(--space-container)}.stack--layout{gap:var(--space-layout)}.stack--section{gap:var(--space-section)}.heading{margin:0;color:var(--text-primary);line-height:var(--leading-tight);text-wrap:balance}.heading--base{font-size:var(--text-base)}.heading--lg{font-size:var(--text-lg)}.heading--normal{font-weight:400}.heading--medium{font-weight:500}.heading--muted{color:var(--text-muted)}
