.image-error-placeholder[data-astro-cid-d6kocagd]{border-width:1px;border-color:#1f29371a;border-radius:.5rem;background-color:#1f29370d;padding:1rem}.error-boundary[data-astro-cid-d6kocagd]{position:relative}[data-astro-cid-d6kocagd][data-error=true]{pointer-events:none;opacity:.5}[data-astro-cid-d6kocagd][data-error=true]:after{content:"⚠️ Error loading content";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:.25rem;background-color:#ffffffe6;font-size:.875rem;line-height:1.25rem;--un-text-opacity:1;color:rgb(239 68 68/var(--un-text-opacity));font-weight:500}#newsletter-modal[data-astro-cid-aoni7etr]{animation:fadeIn .2s ease-out}#newsletter-modal[data-astro-cid-aoni7etr]>div[data-astro-cid-aoni7etr]{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}#newsletter-email[data-astro-cid-aoni7etr]:focus{box-shadow:0 0 0 3px oklch(var(--un-preset-theme-colors-primary)/.1)}#newsletter-submit[data-astro-cid-aoni7etr]:hover{transform:translateY(-1px);box-shadow:0 4px 12px oklch(var(--un-preset-theme-colors-primary)/.3)}#newsletter-submit[data-astro-cid-aoni7etr]:active{transform:translateY(0)}#search-modal[data-astro-cid-2bpgkded]{animation:searchFadeIn .2s ease-out}#search-modal[data-astro-cid-2bpgkded]>div[data-astro-cid-2bpgkded]{animation:searchSlideDown .3s ease-out}@keyframes searchFadeIn{0%{opacity:0}to{opacity:1}}@keyframes searchSlideDown{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}mark[data-astro-cid-2bpgkded]{border-radius:2px;padding:1px 4px;font-weight:600}.animate-spin[data-astro-cid-2bpgkded]{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.line-clamp-2[data-astro-cid-2bpgkded]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}kbd[data-astro-cid-2bpgkded]{font-family:monospace;font-size:.75rem;font-weight:500;border:1px solid oklch(var(--un-preset-theme-colors-secondary)/.2)}html{scroll-behavior:smooth;font-size:16px;line-height:1.6;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;scrollbar-gutter:stable}body{font-family:Sofia Pro,Sofia Pro Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-display:swap;line-height:1.6;color:#1f2937;background-color:#fff;margin:0;padding:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.layout-outer[data-astro-cid-ju2bifmt]{max-width:1200px;margin:0 auto;padding:0 1rem}.layout-inner[data-astro-cid-ju2bifmt]{max-width:920px;margin:0 auto}.hero-section[data-astro-cid-ju2bifmt]{padding:5rem 0;background:linear-gradient(to bottom,#fff,#f8fafc);text-align:center}.hero-title[data-astro-cid-ju2bifmt]{font-size:2.5rem;font-weight:900;color:#1f2937;margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}header[data-astro-cid-ju2bifmt]{position:sticky;top:0;background:#fff;z-index:50;border-bottom:1px solid #e2e8f0}h1[data-astro-cid-ju2bifmt],h2[data-astro-cid-ju2bifmt],h3[data-astro-cid-ju2bifmt],h4[data-astro-cid-ju2bifmt],h5[data-astro-cid-ju2bifmt],h6[data-astro-cid-ju2bifmt]{font-weight:600;line-height:1.2;margin-bottom:.5rem;color:#1f2937}p[data-astro-cid-ju2bifmt]{margin-bottom:1rem;color:#374151}a[data-astro-cid-ju2bifmt]{color:#dc2626;text-decoration:none;transition:color .2s ease}a[data-astro-cid-ju2bifmt]:hover{color:#1f2937}button[data-astro-cid-ju2bifmt]{cursor:pointer;transition:all .2s ease}[data-astro-cid-ju2bifmt]{box-sizing:border-box}img[data-astro-cid-ju2bifmt]{max-width:100%;height:auto}@media (min-width:640px){.hero-title[data-astro-cid-ju2bifmt]{font-size:3rem}.layout-outer[data-astro-cid-ju2bifmt]{padding:0 1.5rem}}@media (min-width:768px){.hero-title[data-astro-cid-ju2bifmt]{font-size:4rem}}@media (min-width:1024px){.hero-title[data-astro-cid-ju2bifmt]{font-size:5rem}.layout-outer[data-astro-cid-ju2bifmt]{padding:0 2rem}}@media (max-width:639px){.layout-inner[data-astro-cid-ju2bifmt]{max-width:calc(100vw - 2rem)}}@font-face{font-family:Sofia Pro;src:local("Sofia Pro"),url(/fonts/subset-SofiaPro.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sofia Pro;src:local("Sofia Pro Bold"),url(/fonts/subset-SofiaPro-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Minion Pro;src:local("Minion Pro"),url(/fonts/subset-MinionPro-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Minion Pro;src:local("Minion Pro Bold"),url(\ /fonts/subset-MinionPro-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sofia Pro Fallback;src:local("system-ui"),local("Arial"),local(sans-serif);font-display:swap;ascent-override:90%;descent-override:22%;line-gap-override:0%;size-adjust:100%}html{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;scrollbar-gutter:stable;font-size:16px;line-height:35px;scroll-behavior:smooth;background-color:#fff;color:#1f2937}body{backface-visibility:hidden;-webkit-backface-visibility:hidden;color:#1f2937;font-family:Sofia Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}.pswp .pswp__bg{--un-bg-opacity:1!important;background-color:rgb(255 255 255/var(--un-bg-opacity))!important}.katex-display{margin-top:1.5rem;margin-bottom:1.5rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.katex-display::-webkit-scrollbar{display:none}.heading-anchor-link{display:inline-block;--un-translate-y:.1em;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}h1:hover .heading-anchor-link svg,h2:hover .heading-anchor-link svg,h3:hover .heading-anchor-link svg,h4:hover .heading-anchor-link svg{opacity:.4}.heading-anchor-link svg{margin-left:.4em;aspect-ratio:1/1;width:.9em;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.heading-anchor-link svg:active{--un-scale-x:.9;--un-scale-y:.9;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}h1:hover .heading-anchor-link svg:hover,h2:hover .heading-anchor-link svg:hover,h3:hover .heading-anchor-link svg:hover,h4:hover .heading-anchor-link svg:hover{opacity:.8}.code-copy-button{position:absolute;right:.55rem;top:.55rem;z-index:99;aspect-ratio:1/1;width:2rem;cursor:pointer;border-width:1px;--un-border-opacity:1;border-color:rgb(226 232 240/var(--un-border-opacity));border-radius:.25rem;border-style:solid;border-color:#1f293726;--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity));color:#1f2937cc;opacity:0;transition:opacity .3s ease-out,background-color .15s ease-out}.code-copy-button:hover{border-color:#00000026;color:#000c}.code-block-wrapper:hover .code-copy-button{opacity:1}.code-copy-button.copy-success{border-style:none;--un-bg-opacity:1;background-color:rgb(5 150 105/var(--un-bg-opacity));--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}.code-copy-button svg{margin-left:auto;margin-right:auto;aspect-ratio:1/1;width:50%}.code-copy-button svg,.code-copy-button svg path{pointer-events:none}.cta-icons-container{position:fixed;bottom:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:1rem}@media (min-width:1024px){.cta-icons-container{position:fixed;bottom:min(10.27rem + 1.92vw,12rem);right:max(5rem,calc(50vw - 35rem));z-index:50}}footer{margin-bottom:env(safe-area-inset-bottom,0)}@media (max-width:1023px){footer{padding-bottom:6rem}}.container,.container-content,.container-wide,.container-article{margin:0 auto;padding:0 1rem}.container{max-width:1200px}.container-content{max-width:920px}.container-wide{max-width:1400px}.container-article{max-width:800px}@media (min-width:640px){.container,.container-wide{padding:0 1.5rem}}@media (min-width:1024px){.container,.container-wide{padding:0 2rem}}.layout-outer{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.layout-inner{max-width:920px;margin:0 auto;padding:0}@media (min-width:640px){.layout-outer{padding:0 1.5rem}}@media (min-width:1024px){.layout-outer{padding:0 2rem}}@media (max-width:639px){.layout-outer{padding:0 2rem}.layout-inner{max-width:calc(100vw - 2rem);margin:0 auto;padding:0}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:.5rem;color:#1f2937}p{margin-bottom:1rem;line-height:35px;color:#111}a{color:#dc2626;text-decoration:none;transition:color .2s ease}a:hover{color:#1f2937}button{cursor:pointer;transition:all .2s ease}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{font-family:inherit;font-size:inherit}input:focus,textarea:focus{outline:0}:root{--font-sans:"Sofia Pro", "Sofia Pro Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-serif:"Minion Pro", "Sofia Pro Fallback", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-heading:var(--font-sans);--font-body:var(--font-serif);color-scheme:light;forced-color-adjust:none}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.bg-grid-pattern{background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px}.hero-section{min-height:100vh;position:relative;display:flex;align-items:center}.hero-title{text-shadow:0 2px 4px rgba(0,0,0,.1)}@media (max-width:640px){.hero-section{min-height:90vh;padding-top:4rem;padding-bottom:4rem}}.hero-section *{will-change:transform}@media (prefers-reduced-motion:reduce){.hero-section *{animation:none!important;transition:none!important}}