.social-icons:where(.astro-wkojbtzc){display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem}@media(min-width:640px){.social-icons:where(.astro-wkojbtzc){align-items:flex-start}}.link-button:where(.astro-wkojbtzc){--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:.5rem}.link-button:where(.astro-wkojbtzc):hover{--tw-rotate: 6deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(min-width:640px){.link-button:where(.astro-wkojbtzc){padding:.25rem}}.blog-series:where(.astro-uslizs3b){background:var(--astro-code-bg, #f8fafc);border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:2rem;border:1px solid #e5e7eb}.series-title:where(.astro-uslizs3b){font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.blog-series:where(.astro-uslizs3b) ol:where(.astro-uslizs3b){list-style:none;padding:0;margin:0}.blog-series:where(.astro-uslizs3b) li:where(.astro-uslizs3b){margin-bottom:.25rem;padding:.25rem 0}.blog-series:where(.astro-uslizs3b) li:where(.astro-uslizs3b).active{font-weight:700;color:var(--astro-code-keyword, #2563eb)}.series-index:where(.astro-uslizs3b){color:#94a3b8;margin-right:.5em}.current-label:where(.astro-uslizs3b){color:#16a34a;font-size:.9em;margin-left:.5em}.series-desc:where(.astro-uslizs3b){font-size:.95em;color:#64748b;margin-left:2em}main{margin-left:auto;margin-right:auto;width:100%;max-width:64rem;padding-left:1rem;padding-right:1rem;padding-bottom:3rem}.post-title{margin-bottom:1.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700;--tw-text-opacity: 1;color:rgba(var(--color-accent),var(--tw-text-opacity, 1))}.custom-table{margin-top:1rem;margin-bottom:1rem;width:100%;border-collapse:collapse;--tw-bg-opacity: 1;background-color:rgba(var(--color-card),var(--tw-bg-opacity, 1))}.custom-table th{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--color-border),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--color-card-muted),var(--tw-bg-opacity, 1));padding:.5rem;text-align:left;font-weight:700;--tw-text-opacity: 1;color:rgba(var(--color-text-base),var(--tw-text-opacity, 1))}.custom-table td{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--color-border),var(--tw-border-opacity, 1));padding:.5rem;--tw-text-opacity: 1;color:rgba(var(--color-text-base),var(--tw-text-opacity, 1))}.custom-table tr{--tw-bg-opacity: 1;background-color:rgba(var(--color-card),var(--tw-bg-opacity, 1))}.custom-table tr:hover{background-color:rgba(var(--color-accent),var(--tw-bg-opacity, 1));--tw-bg-opacity: .1 }.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{--tw-text-opacity: 1;color:rgba(var(--color-accent),var(--tw-text-opacity, 1));scroll-margin-top:2rem}.prose h1{font-size:1.875rem;line-height:2.25rem;font-weight:700}.prose h2{font-size:1.5rem;line-height:2rem;font-weight:600}.prose h3{font-size:1.25rem;line-height:1.75rem;font-weight:500}.heading-link{margin-left:.5rem;text-decoration-line:none;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.heading-link:hover{--tw-text-opacity: 1;color:rgba(var(--color-accent),var(--tw-text-opacity, 1))}.heading-link:focus{opacity:1}.group:hover .heading-link{opacity:1}.heading-link-icon{--tw-text-opacity: 1;color:rgba(var(--color-accent),var(--tw-text-opacity, 1))}@keyframes slideIn{0%{transform:translate(-120%);opacity:0}to{transform:translate(0);opacity:1}}.notification-container:where(.astro-vj4tpspi){filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.notification-container:where(.astro-vj4tpspi)[data-visible=true]{animation:slideIn .5s cubic-bezier(.16,1,.3,1) forwards}.force-hidden:where(.astro-vj4tpspi){transform:translate(-120%)!important;opacity:0!important;transition:transform .5s,opacity .5s!important;pointer-events:none!important}
