.tag-link:where(.astro-7t72llso){--tw-text-opacity:1;color:rgba(var(--color-text-base), var(--tw-text-opacity,1));text-underline-offset:4px;text-decoration-line:underline;text-decoration-style:dashed}.tag-link:where(.astro-7t72llso):hover{--tw-text-opacity:1;color:rgba(var(--color-accent), var(--tw-text-opacity,1))}.social-icons:where(.astro-x2g37gv3){flex-flow:column wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}@media (width>=640px){.social-icons:where(.astro-x2g37gv3){align-items:flex-start}}.link-button:where(.astro-x2g37gv3){--tw-scale-x:.9;--tw-scale-y:.9;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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-x2g37gv3):hover{--tw-rotate:6deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (width>=640px){.link-button:where(.astro-x2g37gv3){padding:.25rem}}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.notification-container:where(.astro-7a7a6m64){filter:drop-shadow(0 4px 6px #0000001a)}.notification-container:where(.astro-7a7a6m64)[data-visible=true]{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideIn}.force-hidden:where(.astro-7a7a6m64){opacity:0!important;pointer-events:none!important;transition:transform .5s,opacity .5s!important;transform:translate(-120%)!important}.related-post-card:where(.astro-vrecybdq){--tw-border-opacity:1;border-width:1px;border-color:rgba(var(--color-border), var(--tw-border-opacity,1));border-radius:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden}.related-post-title:where(.astro-vrecybdq){--tw-text-opacity:1;color:rgba(var(--color-text-base), var(--tw-text-opacity,1));margin-bottom:.75rem;font-size:1.25rem;font-weight:600;line-height:1.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:where(.astro-vrecybdq):hover .related-post-title:where(.astro-vrecybdq){--tw-text-opacity:1;color:rgba(var(--color-accent), var(--tw-text-opacity,1))}.related-post-description:where(.astro-vrecybdq){color:rgba(var(--color-text-base), var(--tw-text-opacity,1));--tw-text-opacity:.8;margin-bottom:1rem;font-size:.875rem;line-height:1.25rem}.related-post-tag:where(.astro-vrecybdq){--tw-bg-opacity:1;background-color:rgba(var(--color-accent), var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgba(var(--color-fill), var(--tw-text-opacity,1));border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem}.blog-series:where(.astro-cwc7tox4){background:var(--astro-code-bg,#f8fafc);border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:2rem;padding:1rem 1.5rem}.series-title:where(.astro-cwc7tox4){margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.blog-series:where(.astro-cwc7tox4) ol:where(.astro-cwc7tox4){margin:0;padding:0;list-style:none}.blog-series:where(.astro-cwc7tox4) li:where(.astro-cwc7tox4){margin-bottom:.25rem;padding:.25rem 0}.blog-series:where(.astro-cwc7tox4) li:where(.astro-cwc7tox4).active{color:var(--astro-code-keyword,#2563eb);font-weight:700}.series-index:where(.astro-cwc7tox4){color:#94a3b8;margin-right:.5em}.current-label:where(.astro-cwc7tox4){color:#16a34a;margin-left:.5em;font-size:.9em}.series-desc:where(.astro-cwc7tox4){color:#64748b;margin-left:2em;font-size:.95em}.mermaid-fullscreen-wrapper{justify-content:center;align-items:center;width:100%;margin:2rem auto;display:flex;position:relative}.mermaid-clickable{cursor:pointer;border-radius:8px;transition:transform .2s,box-shadow .2s}.mermaid-clickable:hover{transform:scale(1.01)}.mermaid-clickable:focus-visible{outline:2px dashed rgb(var(--color-accent));outline-offset:4px}.mermaid-expand-icon{background:rgb(var(--color-card) / .9);border:1px solid rgb(var(--color-border));color:rgb(var(--color-text-base));opacity:0;pointer-events:none;z-index:10;border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:12px;font-weight:500;transition:opacity .2s,background .2s;display:flex;position:absolute;top:8px;right:8px}.mermaid-clickable:hover .mermaid-expand-icon,.mermaid-clickable:focus-visible .mermaid-expand-icon{opacity:1}.mermaid-expand-icon svg,.mermaid .mermaid-expand-icon svg{flex-shrink:0;fill:none!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;display:inline-block!important}.mermaid-modal{opacity:1;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;max-width:95vw;max-height:95vh;padding:0;transition:opacity .3s;display:flex}.mermaid-modal:not([open]){display:none}.mermaid-modal::backdrop{backdrop-filter:blur(4px);background:#000000d9;animation:.3s backdropFadeIn}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.mermaid-modal-content{flex-direction:column;align-items:center;gap:16px;max-width:95vw;max-height:95vh;padding:24px;animation:.3s slideIn;display:flex;position:relative}.mermaid-modal-close{background:rgb(var(--color-accent));width:40px;height:40px;color:rgb(var(--color-fill));cursor:pointer;z-index:10;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 12px #0006}.mermaid-modal-close:hover{background:rgb(var(--color-accent));transform:scale(1.15);box-shadow:0 6px 16px #00000080}.mermaid-modal-close:active{transform:scale(.95)}.mermaid-modal-close:focus-visible{outline:2px dashed rgb(var(--color-accent));outline-offset:2px}.mermaid-modal-diagram{background:rgb(var(--color-fill));border:1px solid rgb(var(--color-border));border-radius:12px;max-width:95vw;max-height:calc(95vh - 120px);padding:32px;overflow:auto}.mermaid-modal-diagram svg{width:auto!important;max-width:90vw!important;height:auto!important;max-height:80vh!important;display:block!important}.mermaid-modal-hint{color:rgb(var(--color-text-base));align-items:center;gap:4px;margin-top:8px;font-size:13px;font-weight:500;display:flex}.mermaid-modal-hint kbd{background:rgb(var(--color-card));border:1px solid rgb(var(--color-border));border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}html:has(dialog[open]){overflow:hidden}html{scrollbar-gutter:stable}
