.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}header[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--border)}nav[data-astro-cid-3ef6ksr2]{max-width:48rem;margin:0 auto;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.brand[data-astro-cid-3ef6ksr2]{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--foreground);text-decoration:none}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:1.5rem}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .2s}.nav-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}#theme-toggle[data-astro-cid-3ef6ksr2]{background:none;border:1px solid var(--border);border-radius:6px;padding:.25rem .625rem;font-family:var(--font-body);font-size:.8125rem;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}#theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);border-color:var(--accent)}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding:2rem 1.5rem;text-align:center}p[data-astro-cid-sz7xmlte]{font-size:.875rem;color:var(--muted)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lora-latin-400-normal.DnxXpLNu.woff2) format("woff2"),url(/_astro/lora-latin-400-normal.DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/lora-latin-600-normal.B-3RcLOQ.woff2) format("woff2"),url(/_astro/lora-latin-600-normal.Dc3EneHn.woff) format("woff")}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-latin-400-italic.DYjZp4sZ.woff2) format("woff2"),url(/_astro/lora-latin-400-italic.wRLkZNVE.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}:root{--stone-950: #0c0a09;--stone-900: #1c1917;--stone-800: #292524;--stone-700: #44403c;--stone-600: #57534e;--stone-500: #78716c;--stone-400: #a8a29e;--stone-300: #d6d3d1;--stone-200: #e7e5e4;--stone-100: #f5f5f4;--stone-50: #fafaf9;--teal-400: #2dd4bf;--teal-500: #14b8a6;--teal-600: #0d9488;--background: var(--stone-100);--foreground: var(--stone-800);--surface: var(--stone-50);--muted: var(--stone-500);--accent: var(--teal-600);--accent-hover: var(--teal-500);--border: var(--stone-300);--font-heading: "Lora", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", Consolas, "Courier New", monospace}:root[data-theme=dark]{--background: var(--stone-900);--foreground: var(--stone-300);--surface: var(--stone-800);--muted: var(--stone-400);--accent: var(--teal-400);--accent-hover: var(--teal-500);--border: var(--stone-600)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--background: var(--stone-900);--foreground: var(--stone-300);--surface: var(--stone-800);--muted: var(--stone-400);--accent: var(--teal-400);--accent-hover: var(--teal-500);--border: var(--stone-600)}}*,*:before,*:after{box-sizing:border-box;margin:0}html{font-family:var(--font-body);color:var(--foreground);background-color:var(--background);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-y:scroll}body{min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}.prose{max-width:48rem;font-family:var(--font-body);font-size:1.125rem;line-height:1.7;color:var(--foreground)}.prose h1,.prose h2,.prose h3{font-family:var(--font-heading);font-weight:600;color:var(--foreground)}.prose h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem}.prose h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.25rem}.prose li{margin-bottom:.5rem}.prose strong{font-weight:600}.prose em{color:var(--muted)}.prose blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1.5rem 0;color:var(--muted);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--surface);padding:.15em .4em;border-radius:4px;border:1px solid var(--border)}.prose pre{background:var(--stone-800);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin:1.5rem 0;overflow-x:auto}.prose pre code{background:none;padding:0;border:none;font-size:.875rem;color:var(--stone-200)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--accent-hover)}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}
