[data-blog-theme=chirpy]{--chirpy-sidebar-width:260px;--chirpy-sidebar-width-xl:300px;--chirpy-bp:850px;--main-bg:#ffffff;--mask-bg:#c1c3c5;--main-border-color:#f3f3f3;--text-color:#34343c;--text-muted-color:#757575;--heading-color:#2a2a2a;--label-color:#585858;--link-color:#0056b2;--link-underline-color:#dee2e6;--link-hover:#d2603a;--site-title-color:rgb(113,113,113);--site-subtitle-color:#717171;--sidebar-bg:#f6f8fa;--sidebar-border-color:#efefef;--sidebar-muted-color:#545454;--sidebar-active-color:#1d1d1d;--sidebar-hover-bg:rgb(223,233,241,0.64);--sidebar-btn-bg:#ffffff;--sidebar-btn-color:#8e8e8e;--avatar-border-color:#ffffff;--topbar-bg:rgb(255,255,255,0.92);--topbar-text-color:rgb(78,78,78);--search-border-color:rgb(240,240,240);--search-icon-color:#c2c6cc;--card-bg:#ffffff;--card-hover-bg:#e2e2e2;--card-shadow:rgb(104,104,104,0.05) 0 2px 6px 0,rgba(211,209,209,0.15) 0 0 0 1px;--post-list-text-color:dimgray;--btn-border-color:#e9ecef;--btn-paginator-hover-color:var(--sidebar-bg);--tag-border:#dee2e6;--tag-hover:rgb(222,226,230);--timeline-color:rgba(0,0,0,0.075);--timeline-node-bg:#c2c6cc;--timeline-year-dot-color:#ffffff;--selection-bg:rgb(0 86 178/0.24);--selection-color:#1f2937;color:var(--text-color);background:var(--main-bg);font-family:var(--font-site);font-size:16px;line-height:1.5;min-height:100svh}.dark [data-blog-theme=chirpy],[data-blog-theme=chirpy].dark{color-scheme:dark;--main-bg:rgb(27,27,30);--mask-bg:rgb(68,69,70);--main-border-color:rgb(44,45,45);--text-color:rgb(175,176,177);--text-muted-color:#868686;--heading-color:#cccccc;--label-color:#a7a7a7;--link-color:rgb(138,180,248);--link-underline-color:rgb(82,108,150);--link-hover:#d2603a;--site-title-color:#717070;--site-subtitle-color:#868686;--sidebar-bg:#1e1e1e;--sidebar-border-color:#292929;--sidebar-muted-color:#868686;--sidebar-active-color:rgb(255,255,255,0.95);--sidebar-hover-bg:#262626;--sidebar-btn-bg:#232328;--sidebar-btn-color:#787878;--avatar-border-color:rgb(206,206,206,0.9);--topbar-bg:rgb(27,27,30,0.9);--topbar-text-color:var(--text-color);--search-border-color:rgb(55,55,55);--search-icon-color:rgb(100,102,105);--card-bg:#1e1e1e;--card-hover-bg:#464d51;--card-shadow:rgb(21,21,21,0.72) 0 6px 18px 0,rgb(137,135,135,0.24) 0 0 0 1px;--post-list-text-color:rgb(175,176,177);--btn-border-color:#2e2f31;--btn-paginator-hover-color:#2e2e2e;--tag-border:#3a3a3a;--tag-hover:rgb(43,56,62);--timeline-color:rgba(255,255,255,0.08);--timeline-node-bg:#6c757d;--timeline-year-dot-color:#1e1e1e;--selection-bg:rgb(138 180 248/0.32);--selection-color:#f5f5f5}@media (min-width:1650px){[data-blog-theme=chirpy]{--chirpy-sidebar-width:var(--chirpy-sidebar-width-xl)}}.chirpy-shell{position:relative;min-height:100svh;background:var(--main-bg);color:var(--text-color);--chirpy-topbar-h:3rem}.chirpy-sidebar{position:fixed;top:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:flex-end;width:var(--chirpy-sidebar-width);height:100svh;max-height:100svh;overflow-y:auto;overscroll-behavior:contain;padding:0;box-sizing:border-box;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border-color);scrollbar-width:none;transition:transform .4s ease}.chirpy-sidebar::-webkit-scrollbar{display:none}@media (max-width:849px){.chirpy-sidebar{transform:translateX(-100%)}.chirpy-shell[data-sidebar-open="1"] .chirpy-sidebar{transform:translateX(0)}}.chirpy-profile{width:100%;margin-top:2.5rem;margin-bottom:2.5rem;padding-left:2.5rem;padding-right:1.25rem}@media (min-width:850px){.chirpy-profile{margin-top:3rem}}@media (min-width:1650px){.chirpy-profile{margin-top:3.5rem;padding-left:3.5rem}}.chirpy-avatar{display:block;width:6.5rem;height:6.5rem;overflow:hidden;border-radius:50%;box-shadow:var(--avatar-border-color) 0 0 0 2px;background:var(--sidebar-btn-bg)}@media (min-width:576px){.chirpy-avatar{width:7rem;height:7rem}}.chirpy-avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.chirpy-avatar:hover img{transform:scale(1.2)}.chirpy-site-title{display:block;width:fit-content;margin-top:1.25rem;margin-bottom:.5rem;font-weight:900;font-size:1.75rem;line-height:1.2;letter-spacing:.25px;color:var(--site-title-color);text-decoration:none;transition:color .3s ease}.chirpy-site-title:hover{color:var(--sidebar-active-color)}.chirpy-site-subtitle{margin:.25rem 0 0;font-size:95%;font-style:italic;color:var(--site-subtitle-color);word-spacing:1px;user-select:none}.chirpy-nav{display:flex;flex-direction:column;flex-grow:1;width:100%;padding:0;margin:0 0 2rem;list-style:none}.chirpy-nav-item{width:100%;padding-left:1.5rem;padding-right:1.5rem;opacity:.9}@media (min-width:1650px){.chirpy-nav-item{padding-left:2.75rem;padding-right:2.75rem}}.chirpy-nav-link{display:flex;align-items:center;gap:.65rem;padding:.6rem 0;color:var(--sidebar-muted-color);text-decoration:none;user-select:none;transition:color .2s ease}.chirpy-nav-link:hover{color:var(--sidebar-active-color)}.chirpy-nav-item.is-active .chirpy-nav-link{color:var(--sidebar-active-color);font-weight:600}.chirpy-nav-link svg{width:1.1rem;height:1.1rem;flex-shrink:0;opacity:.9}.chirpy-sidebar-bottom{display:flex;flex-wrap:wrap;align-items:center;width:100%;gap:.35rem .5rem;padding-left:2rem;padding-right:1rem;margin-bottom:1.5rem}@media (min-width:1650px){.chirpy-sidebar-bottom{padding-left:2.75rem;margin-bottom:1.75rem}}.chirpy-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-bottom:.5rem;border:0;border-radius:50%;color:var(--sidebar-btn-color);background:var(--sidebar-btn-bg);box-shadow:var(--sidebar-border-color) 0 0 0 1px;cursor:pointer;text-decoration:none;transition:background .25s ease,color .25s ease}.chirpy-icon-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-color)}.chirpy-icon-btn svg{width:.85rem;height:.85rem}.chirpy-icon-border{display:inline-block;width:1px;height:1.1rem;margin:0 .15rem .5rem;background:var(--sidebar-border-color);align-self:center}.chirpy-main-wrapper{position:relative;z-index:1;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;align-items:center;background:var(--main-bg)}@media (min-width:850px){.chirpy-main-wrapper{margin-left:var(--chirpy-sidebar-width)}}.chirpy-main-wrapper>.blog-subsite-bar{width:100%;flex-shrink:0;box-sizing:border-box}.chirpy-container{display:flex;flex-direction:column;width:100%;min-height:100svh;max-width:1140px;padding-left:.5rem;padding-right:.5rem}@media (min-width:1200px){.chirpy-container{max-width:1140px}}@media (min-width:1400px){.chirpy-container{max-width:1320px;padding-left:3rem;padding-right:3rem}}@media (max-width:768px){.chirpy-container{max-width:100%;padding-left:0;padding-right:0}}.chirpy-topbar-wrapper{flex-shrink:0;height:var(--chirpy-topbar-h);position:sticky;top:0;z-index:30;width:100%;max-width:100%;background:var(--topbar-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media (prefers-reduced-transparency:reduce){.chirpy-topbar-wrapper{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--main-bg)}}.chirpy-topbar{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:100%;padding:0 .75rem}@media (min-width:992px){.chirpy-topbar{padding-left:1rem;padding-right:1rem}}.chirpy-breadcrumb{font-size:1rem;color:var(--text-muted-color);padding-left:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chirpy-breadcrumb a{color:inherit;text-decoration:none}.chirpy-breadcrumb a:hover{color:var(--link-hover);border-bottom:1px solid var(--link-hover)}.chirpy-breadcrumb span+span:before{content:"›";padding:0 .3rem;color:var(--text-muted-color)}@media (max-width:849px){.chirpy-breadcrumb{display:none}}.chirpy-topbar-title{display:none;font-size:1.1rem;font-weight:600;color:var(--topbar-text-color);text-align:center;width:70%;word-break:keep-all}@media (max-width:849px){.chirpy-topbar-title{display:block}}.chirpy-topbar-btn{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:0;background:transparent;color:var(--topbar-text-color);cursor:pointer}@media (max-width:849px){.chirpy-topbar-btn{display:inline-flex}}.chirpy-search-wrap{display:flex;align-items:center;gap:.35rem;margin-left:.75rem;min-width:0}@media (max-width:849px){.chirpy-search-wrap:not(.is-open){display:none}.chirpy-search-wrap.is-open{position:absolute;inset:0;margin:0;padding:0 .75rem;background:var(--topbar-bg);z-index:2}}.chirpy-search-input{height:2rem;min-width:10rem;flex:1;border:1px solid var(--search-border-color);border-radius:.5rem;background:transparent;color:var(--text-color);padding:0 .75rem 0 2rem;font-size:.95rem;outline:none}.chirpy-search-input:focus{border-color:var(--text-muted-color)}.chirpy-search-field{position:relative;display:flex;align-items:center;flex:1}.chirpy-search-field>svg{position:absolute;left:.55rem;width:.9rem;height:.9rem;color:var(--search-icon-color);pointer-events:none}.chirpy-search-cancel{border:0;background:transparent;color:var(--link-color);cursor:pointer;font-size:.9rem;white-space:nowrap;display:none}@media (max-width:849px){.chirpy-search-wrap.is-open .chirpy-search-cancel{display:inline}}.chirpy-content-row{display:flex;flex-grow:1;flex-wrap:wrap;align-items:flex-start;width:100%}.chirpy-main{flex:1 1 auto;width:100%;max-width:100%;padding:0 1rem 2rem;min-width:0}@media (min-width:992px){.chirpy-main{width:91.666%;max-width:91.666%}.chirpy-content-row:not(:has(.chirpy-panel)) .chirpy-main{width:100%;max-width:100%}}@media (min-width:1200px){.chirpy-main{width:75%;max-width:75%;padding-left:1.5rem;padding-right:1.5rem}.chirpy-content-row:not(:has(.chirpy-panel)) .chirpy-main{width:100%;max-width:100%}}.chirpy-panel{display:none;width:25%;max-width:25%;padding-left:.5rem;color:var(--text-muted-color)}@media (min-width:992px){.chirpy-panel{display:flex;flex-direction:column;align-self:stretch}}@media (min-width:992px) and (max-width:1199px){.chirpy-main{width:72%;max-width:72%}.chirpy-panel{width:28%;max-width:28%}}.chirpy-toc-list{list-style:none;margin:0;padding:0}.chirpy-toc-item{line-height:1.45;margin:.15rem 0;overflow:visible;white-space:normal}.chirpy-toc-link{display:block;padding:.28rem 0 .28rem .65rem;border-left:2px solid transparent;color:var(--text-muted-color);text-decoration:none;font-size:.9rem;word-break:break-word;transition:color .15s ease,border-color .15s ease,background .15s ease}.chirpy-toc-link:hover{color:var(--link-hover);border-left-color:var(--link-hover)}.chirpy-toc-link.is-active{color:var(--heading-color,var(--text-color));font-weight:600;border-left-color:var(--link-color,#0056b2);background:color-mix(in srgb,var(--link-color,#0056b2) 8%,transparent)}.chirpy-toc .chirpy-panel-heading{margin-bottom:.35rem}.chirpy-toc-mobile summary{list-style:none}.chirpy-toc-mobile summary::-webkit-details-marker{display:none}.chirpy-panel .access{flex:1;margin-top:1.5rem}.chirpy-toc{padding-bottom:1rem}.toc-card{position:sticky;top:calc(var(--chirpy-topbar-h, var(--mz-nav-h, 4.25rem)) + .75rem);z-index:5;max-height:calc(100svh - var(--chirpy-topbar-h, var(--mz-nav-h, 4.25rem)) - 1.5rem);overflow-y:auto;flex-shrink:0;transition:box-shadow .25s ease}.toc-item{position:relative;animation:toc-item-in .22s ease both}.toc-toggle{position:absolute;left:0;border:0;background:transparent;color:inherit;cursor:pointer;transition:transform .2s ease}.toc-toggle.is-collapsed{transform:rotate(-90deg)}@keyframes toc-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.chirpy-panel-heading{margin:0;font-size:inherit;font-weight:600;line-height:inherit;color:var(--label-color)}.chirpy-panel-list{list-style:none;padding:0 0 .25rem .25rem;margin:.5rem 0 1.5rem}.chirpy-panel-list li{line-height:1.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chirpy-panel-list a{color:inherit;text-decoration:none}.chirpy-panel-list a:hover{color:var(--link-hover);border-bottom:1px solid var(--link-hover)}.chirpy-post-tag{display:inline-block;line-height:1.05rem;font-size:.85rem;border-radius:.8rem;padding:.3rem .5rem;margin:0 .35rem .5rem 0;border:1px solid var(--tag-border);color:var(--link-color);text-decoration:none;background:transparent;cursor:pointer;transition:background .3s ease}.chirpy-post-tag:hover{background:var(--tag-hover);border-color:var(--tag-hover)}.chirpy-post-list{margin-top:2rem;flex-grow:1;padding:0 .25rem}@media (min-width:850px){.chirpy-post-list{margin-top:2.5rem}}.chirpy-card{display:block;margin-bottom:1.25rem;border-radius:10px;background:var(--card-bg);box-shadow:var(--card-shadow);text-decoration:none;color:inherit;overflow:hidden;transition:background .25s ease}.chirpy-card:hover{text-decoration:none;background:var(--card-hover-bg)}.chirpy-card-body{display:flex;flex-direction:column;height:100%;padding:1rem}@media (min-width:768px){.chirpy-card-body{padding:1.75rem 1.75rem 1.25rem}}.chirpy-card-title{margin:.5rem 0;color:var(--heading-color)!important;font-size:1.25rem;font-weight:600;line-height:1.35}.chirpy-card-text,.chirpy-card-title{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chirpy-card-text{color:var(--text-muted-color)!important;margin:0 0 .75rem;flex:1;line-height:1.5}.chirpy-card-text .markdown-summary .md-summary-code,.markdown-summary .md-summary-code{font-family:var(--font-site);font-size:.9em;padding:.05em .3em;border-radius:.25rem;background:color-mix(in oklab,var(--text-muted-color,#6c757d) 12%,transparent)}.chirpy-card-text .markdown-summary .katex,.markdown-summary .katex{font-size:1em}.chirpy-post-meta{display:flex;align-items:flex-end;flex-grow:1;color:var(--text-muted-color)!important;font-size:.9rem;gap:.25rem}.chirpy-post-meta .meta-left{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem;margin-right:auto}.chirpy-post-meta svg{width:.9rem;height:.9rem;margin-right:.15rem;vertical-align:-.1em;opacity:.85}.chirpy-post-meta .meta-sep{margin-left:1rem}@media (min-width:768px){.chirpy-post-meta .meta-sep{margin-left:1.75rem}}.chirpy-article header h1{margin:0;font-size:2rem;font-weight:700;color:var(--heading-color);line-height:1.25}.chirpy-article .post-meta{margin-top:1.5rem;color:var(--text-muted-color);font-size:.95rem}.chirpy-article .post-meta span+span:before{content:"•";padding:0 .25rem}.chirpy-article .post-desc{font-size:1.125rem;line-height:1.6;color:var(--text-muted-color);margin-top:.75rem}.chirpy-prose{margin-top:2rem;color:var(--text-color);line-height:1.75;font-size:1.05rem}.chirpy-prose a{color:var(--link-color);text-decoration:none;border-bottom:1px solid var(--link-underline-color)}.chirpy-prose a:hover{color:var(--link-hover)!important;border-bottom-color:var(--link-hover)}.chirpy-prose h2{margin:2.5rem 0 1.25rem;font-size:1.54rem;color:var(--heading-color)}.chirpy-prose h3{font-size:1.36rem}.chirpy-prose h3,.chirpy-prose h4{margin:2rem 0 1rem;color:var(--heading-color)}.chirpy-prose h4{font-size:1.18rem}.chirpy-prose h5{font-size:1.05rem}.chirpy-prose h5,.chirpy-prose h6{margin:1.5rem 0 .75rem;color:var(--heading-color)}.chirpy-prose h6{font-size:.95rem;opacity:.8}.chirpy-prose p{margin:0 0 1rem}.chirpy-prose blockquote{margin:0 0 1rem;padding-left:1rem;border-left:.125rem solid var(--main-border-color);color:var(--text-muted-color)}.chirpy-prose img{max-width:100%;height:auto;border-radius:.35rem}@media (max-width:640px){.chirpy-prose .md-img-block img,.chirpy-prose img{width:100%!important;height:auto}}.chirpy-prose .md-img-block{display:flex;max-width:100%;margin:.75rem 0}.chirpy-prose .md-img-align-left{justify-content:flex-start}.chirpy-prose .md-img-align-center{justify-content:center}.chirpy-prose .md-img-align-right{justify-content:flex-end}.chirpy-prose pre{border-radius:10px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.chirpy-prose pre code{display:block;width:max-content;min-width:100%;white-space:pre}.chirpy-archives{letter-spacing:.03rem;margin-top:1.5rem;padding-left:.5rem}.chirpy-archives .year{height:3.5rem;font-size:1.5rem;font-weight:700;color:var(--heading-color);position:relative;display:flex;align-items:center;margin-left:-4px;padding-left:.25rem}.chirpy-archives .year:before{content:"";width:4px;height:72px;position:absolute;left:79px;bottom:16px;background:var(--timeline-color)}.chirpy-archives .year:after{content:"";display:inline-block;position:relative;border-radius:50%;width:12px;height:12px;left:21.5px;border:3px solid var(--timeline-node-bg);background:var(--timeline-year-dot-color);box-shadow:0 0 2px 0 #c2c6cc;z-index:1}.chirpy-archives ul{list-style:none;padding:0;margin:0 0 1rem}.chirpy-archives ul li{font-size:1.1rem;line-height:3rem;position:relative;padding-left:0}.chirpy-archives ul li:before{content:"";width:4px;position:absolute;top:0;left:77px;height:3.1rem;background:var(--timeline-color)}.chirpy-archives .date{white-space:nowrap;display:inline-block;position:relative;right:.5rem;width:4.5rem;text-align:right;color:var(--text-muted-color);font-family:var(--font-site);font-size:.95rem}.chirpy-archives a{margin-left:2.5rem;position:relative;top:.1rem;color:var(--link-color);text-decoration:none}.chirpy-archives a:hover{color:var(--link-hover)}.chirpy-archives a:before{content:"";display:inline-block;position:relative;border-radius:50%;width:8px;height:8px;float:left;top:1.35rem;left:71px;background:var(--timeline-node-bg);box-shadow:0 0 3px 0 #c2c6cc;z-index:1}.chirpy-cat-card{margin-bottom:1.25rem;border:1px solid var(--main-border-color);border-radius:9px;overflow:hidden;background:var(--card-bg)}.chirpy-cat-header{padding:.75rem 1rem;font-weight:600;color:var(--heading-color);display:flex;align-items:center;gap:.5rem}.chirpy-cat-header span{margin-left:auto;font-size:.85rem;font-weight:400;color:var(--text-muted-color)}.chirpy-footer{margin-top:3rem;padding:1.25rem 1rem 1.5rem;border-top:1px solid var(--main-border-color);background:var(--main-bg);color:var(--text-muted-color);font-size:.9rem}.chirpy-footer-inner{display:flex;flex-direction:column;gap:.5rem;max-width:100%}@media (min-width:992px){.chirpy-footer-inner{flex-direction:row;justify-content:space-between;align-items:center}}.chirpy-footer a{color:inherit;text-decoration:none}.chirpy-footer a:hover{color:var(--link-hover);border-bottom:1px solid var(--link-hover)}.chirpy-mask{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:rgb(0 0 0/.35)}.chirpy-shell[data-sidebar-open="1"] .chirpy-mask{display:block}@media (min-width:850px){.chirpy-mask{display:none!important}}.chirpy-back-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:35;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--btn-border-color);background:var(--card-bg);color:var(--text-muted-color);box-shadow:var(--card-shadow);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease}.chirpy-back-top.is-visible{opacity:1;pointer-events:auto}.chirpy-pagination{display:flex;justify-content:center;gap:.5rem;margin:2rem 0 1rem;flex-wrap:wrap}.chirpy-page-btn{min-width:2rem;height:2rem;padding:0 .6rem;border:0;border-radius:.5rem;background:transparent;color:var(--text-color);cursor:pointer;font-size:.9rem}.chirpy-page-btn:hover:not(:disabled){box-shadow:inset var(--btn-border-color) 0 0 0 1px}.chirpy-page-btn.is-active{background:var(--btn-paginator-hover-color)}.chirpy-page-btn:disabled{opacity:.45;cursor:not-allowed}.chirpy-empty{margin-top:3rem;text-align:center;color:var(--text-muted-color);padding:2rem 1rem}.chirpy-search-results{min-height:50vh;flex:1}.chirpy-search-results h2 a{color:var(--heading-color);text-decoration:none}.chirpy-search-results h2 a:hover{color:var(--link-hover)}@media (min-width:850px){.chirpy-search-wrap{display:flex!important;position:relative;max-width:16rem}.chirpy-search-cancel{display:none!important}.chirpy-shell[data-search-mode="1"] .chirpy-breadcrumb{display:none}}.chirpy-owner-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0 .25rem}.chirpy-owner-bar a{font-size:.85rem;color:var(--link-color);text-decoration:none;border:1px solid var(--btn-border-color);border-radius:.5rem;padding:.25rem .65rem;background:var(--card-bg)}.chirpy-owner-bar a:hover{background:var(--sidebar-hover-bg)}[data-blog-theme=chirpy],[data-blog-theme=chirpy] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}[data-blog-theme=chirpy] ::selection{color:var(--selection-color);background:var(--selection-bg)}[data-blog-theme]{--blog-motion-ease:cubic-bezier(0.22,1,0.36,1);--blog-accent:var(--mz-primary,var(--link-color,var(--primary)));--blog-reading-bg:color-mix(in srgb,var(--blog-accent) 14%,transparent)}.mz-title-tooltip{pointer-events:none;z-index:70;max-width:min(28rem,calc(100vw - 2rem));padding:.65rem .85rem;border:1px solid var(--border);border-radius:.75rem;background:var(--popover);color:var(--popover-foreground);box-shadow:0 8px 28px rgb(0 0 0/12%);font-family:var(--font-site);font-size:.875rem;font-weight:500;line-height:1.65;white-space:normal;overflow-wrap:anywhere;animation:mz-tooltip-enter .14s ease-out}.mz-title-tooltip[data-state=closed]{animation:mz-tooltip-exit .12s ease-in both}@keyframes mz-tooltip-enter{0%{opacity:0;translate:0 3px}to{opacity:1;translate:0 0}}@keyframes mz-tooltip-exit{0%{opacity:1;translate:0 0}to{opacity:0;translate:0 3px}}@media (prefers-reduced-motion:reduce){.mz-title-tooltip[data-state]{animation:none}}.blog-page-transition,.blog-page-transition .mz-article,.blog-page-transition .mz-cat-card,.blog-page-transition .mz-feed-card,.blog-page-transition .mz-post-card{animation:none}.mz-article-header>.mz-article-info,.mz-article-header>h1,.mz-article>#article-body{animation:mz-document-enter .3s var(--mz-ease) backwards}.mz-article-header>h1{animation-delay:50ms}.mz-article-header>.mz-article-info{animation-delay:.1s}.mz-article>#article-body{animation-delay:175ms}.mz-shell:not([data-blog-transitions]) :is(.mz-pagination,.mz-feed-filter,.mz-page-title,.mz-article-nav:not([aria-busy=true]),.mz-article-header>h1,.mz-article-header>.mz-article-info:not(:has(.mz-article-meta[aria-hidden=true])),.mz-article>#article-body){animation:none}.mz-article-header>.mz-article-info:has(.mz-article-meta[aria-hidden=true]),.mz-article-header>.mz-skeleton-title,.mz-article-nav[aria-busy=true],.mz-article>.mz-article-skeleton,.mz-sidebar>.mz-toc-loading{animation:mz-fade-in .16s var(--mz-ease) .28s backwards}.mz-page-loading{pointer-events:none;animation:mz-loading-reveal .16s var(--mz-ease) .3s backwards}@keyframes mz-loading-reveal{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}.mz-page-loading .mz-article{animation:none;min-height:26rem}.mz-loading-toolbar{height:2.75rem;margin-bottom:1rem}.mz-loading-toolbar>span{display:block;width:10rem;height:100%;border-radius:var(--mz-radius)}.mz-loading-lines{display:flex;flex-direction:column;gap:.85rem;margin:.75rem 0}.mz-loading-title{height:1.5rem;width:72%}.mz-loading-meta{height:.7rem;width:50%;margin-top:.5rem}@keyframes mz-document-enter{0%{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}.toc-outline{position:relative;isolation:isolate;margin-top:.65rem}.toc-outline-list{list-style:none;margin:0;padding:0}.toc-reading-range{position:absolute;inset:0 0 auto;z-index:-1;border-radius:.8rem;background:var(--blog-reading-bg);pointer-events:none;opacity:0;transition:transform .22s var(--blog-motion-ease),height .22s var(--blog-motion-ease),opacity .15s ease}.toc-outline-row{position:relative;margin:0}.toc-outline-link{display:flex;align-items:baseline;gap:.55rem;padding:.38rem 1.6rem .38rem .65rem;border-radius:.65rem;color:var(--mz-text-75,var(--text-muted-color));font-size:.8125rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;transition:color .16s ease,background-color .16s ease}.toc-outline-link:focus-visible,.toc-outline-link:hover{color:var(--blog-accent);background:color-mix(in srgb,var(--blog-accent) 8%,transparent)}.toc-outline-link.is-active,.toc-outline-link.is-root{font-weight:600}.toc-section-dot,.toc-section-number{flex:0 0 auto;align-self:center;color:var(--blog-accent)}.toc-section-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .2rem;border-radius:.5rem;font-size:.7rem;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--blog-accent) 16%,transparent)}.toc-section-dot{width:.35rem;height:.35rem;border-radius:50%;background:var(--blog-accent);opacity:.3;transition:opacity .16s ease,scale .16s ease}.is-reading .toc-section-dot{opacity:1;scale:1.15}.toc-outline-toggle{position:absolute;top:.2rem;right:.1rem;display:grid;place-items:center;width:1.35rem;height:1.6rem;border-radius:.35rem;color:var(--blog-accent);cursor:pointer;transition:transform .16s ease,background-color .16s ease}.toc-outline-toggle:hover{background:var(--blog-reading-bg)}.toc-outline-toggle.is-collapsed{transform:rotate(-90deg)}.mz-archive-panel{border-radius:var(--mz-radius);background:var(--mz-card-bg);padding:1.5rem 2rem;overflow:hidden}.mz-archive-year{display:grid;grid-template-columns:10% 10% minmax(0,1fr);align-items:center;height:3.75rem;margin:0;color:var(--mz-text-75)}.mz-archive-year h2{margin:0;text-align:right;font-size:1.5rem;font-weight:700}.mz-archive-year-marker{position:relative;justify-self:center;width:.8rem;height:.8rem;border:3px solid var(--mz-primary);border-radius:50%}.mz-archive-year-marker:after{content:"";position:absolute;left:50%;top:calc(100% + 5px);height:1.15rem;border-left:1px dashed var(--mz-line)}.mz-archive-count{margin:0;font-size:.875rem;font-weight:400;color:var(--mz-text-50)}.mz-archive-panel .mz-archive-list{gap:0}.mz-archive-list .mz-archive-row{display:grid;grid-template-columns:10% 10% minmax(0,65fr) minmax(0,15fr);align-items:center;width:100%;height:2.5rem;border-radius:.5rem;transition:background-color .15s var(--mz-ease)}.mz-archive-row .date{width:auto;font-size:.875rem;text-align:right;color:var(--mz-text-50)}.mz-archive-dot{position:relative;display:grid;place-items:center;height:100%}.mz-archive-dot:before{content:"";position:absolute;inset:0 auto;border-left:1px dashed var(--mz-line)}.mz-archive-dot:after{content:"";z-index:1;width:4px;height:4px;border-radius:999px;background:color-mix(in oklch,var(--mz-primary) 40%,var(--mz-text-50));outline:4px solid var(--mz-card-bg);transition:height .15s var(--mz-ease),background-color .15s var(--mz-ease),outline-color .15s var(--mz-ease)}.mz-archive-title{padding-right:2rem;color:var(--mz-text-75);font-weight:700;transition:translate .15s var(--mz-ease),color .15s var(--mz-ease)}.mz-archive-tags,.mz-archive-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mz-archive-tags{font-size:.8rem;color:var(--mz-muted);opacity:.65}.mz-archive-list .mz-archive-row:is(:hover,:focus-visible){background:var(--mz-btn-bg)}.mz-archive-row:is(:hover,:focus-visible) .mz-archive-title{translate:4px 0;color:var(--mz-primary)}.mz-archive-row:is(:hover,:focus-visible) .mz-archive-dot:after{height:1.25rem;background:var(--mz-primary);outline-color:var(--mz-btn-bg)}.mz-archive-row:focus-visible{outline:2px solid var(--mz-primary);outline-offset:-2px}.mz-archive-empty{padding:3rem 0;text-align:center;color:var(--mz-text-50)}.mz-archive-categories{display:flex;flex-direction:column}.mz-archive-category{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;border-radius:.5rem;color:var(--mz-text-75);text-decoration:none;transition:color .15s var(--mz-ease),background-color .15s var(--mz-ease)}.mz-archive-category:is(:hover,.is-active){color:var(--mz-primary);background:var(--mz-btn-bg)}.mz-archive-category-count{padding:.1rem .45rem;font-size:.875rem;font-weight:700;background:var(--mz-btn-bg);color:var(--mz-primary);border-radius:.5rem}@media (min-width:1024px){.mz-grid.has-sidebar.is-archives{grid-template-columns:17.5rem minmax(0,1fr)}.mz-grid.is-archives>.mz-content{grid-column:2;grid-row:1}.mz-grid.is-archives>.mz-sidebar{grid-column:1;grid-row:1}}@media (max-width:1023px){.mz-grid.is-archives>.mz-sidebar{display:flex;grid-row:1}.mz-grid.is-archives .mz-archive-categories{flex-direction:row;flex-wrap:wrap;gap:.5rem}.mz-grid.is-archives .mz-archive-category{gap:1rem}}@media (max-width:767px){.mz-archive-panel{padding:1rem}.mz-archive-list .mz-archive-row,.mz-archive-year{grid-template-columns:15% 15% minmax(0,1fr)}.mz-archive-tags{display:none}.mz-archive-title{padding-right:.5rem;font-size:.9rem}}@media (prefers-reduced-motion:reduce){[data-blog-theme] .mz-page-loading{animation:mz-loading-reveal 0s linear .3s backwards!important}.blog-page-transition,.mz-archive-row,.mz-archive-row:before,.mz-archive-title,.toc-outline *,.toc-reading-range{animation:none!important;transition:none!important}.mz-archive-row:is(:hover,:focus-visible) .mz-archive-title{translate:none}}:root{--motion-ease:cubic-bezier(0.22,1,0.36,1);--motion-spring:cubic-bezier(0.34,1.56,0.64,1)}.motion-reading-progress,.motion-route-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:80}.motion-route-progress{opacity:0;box-shadow:0 0 12px color-mix(in srgb,var(--primary) 45%,transparent)}.motion-reading-progress{height:2px;z-index:45;transition:transform .18s linear}[data-motion-nav]{position:relative;isolation:isolate}.motion-nav-indicator{position:absolute;top:0;left:0;border-radius:.5rem;pointer-events:none;opacity:0;z-index:-1;background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent)}[data-motion-nav] .mz-nav-link.is-active,[data-motion-nav] [data-active=true]{background:transparent}[data-motion-reveal]{animation:none!important}[data-blog-admin] :is(main,#admin-content){transition:opacity .14s ease}[data-blog-admin][data-navigating] :is(main,#admin-content){opacity:.55}@media (hover:hover) and (pointer:fine){.mz-cat-card,.mz-post-card{transition:transform .3s var(--motion-ease),box-shadow .3s ease}.mz-cat-card:hover,.mz-post-card:hover{transform:translateY(-5px);box-shadow:var(--mz-shadow-hover)}.mz-post-title{transition:color .2s ease,translate .3s var(--motion-ease)}.mz-post-card:hover .mz-post-title{translate:3px 0;color:var(--mz-primary)}.mz-post-cover img{transition:transform .6s var(--motion-ease)}.mz-post-card:hover .mz-post-cover img{transform:scale(1.07)}.mz-post-enter svg{transition:translate .3s var(--motion-spring)}.mz-post-card:hover .mz-post-enter svg{translate:4px 0}.mz-tag,[data-slot=badge]{transition:translate .18s var(--motion-ease),background-color .18s ease,box-shadow .18s ease}.mz-tag:hover,a[data-slot=badge]:hover{translate:0 -2px}[data-blog-admin] [data-slot=card]{transition:box-shadow .24s ease,border-color .24s ease}[data-blog-admin] [data-slot=card]:hover{box-shadow:0 5px 22px color-mix(in srgb,var(--foreground) 5%,transparent)}.mz-icon-btn svg,[data-slot=button] svg{transition:translate .22s var(--motion-spring),rotate .22s var(--motion-spring)}[data-slot=button]:hover svg[data-icon=inline-end]{translate:3px 0}.mz-icon-btn:hover svg{rotate:-8deg}}:is([data-slot=button],.mz-icon-btn,.mz-tag,.md-code-copy){transition-property:color,background-color,border-color,box-shadow,scale;transition-duration:.18s;transition-timing-function:var(--motion-ease)}:is([data-slot=button],.mz-icon-btn,.md-code-copy):active:not(:disabled){scale:.95}[data-slot=button]{position:relative}[data-slot=button][aria-current=page]{animation:motion-selected .24s var(--motion-spring)}[data-slot=button][data-pending]{overflow:hidden}[data-slot=button][data-pending]:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:currentColor;opacity:.65;transform-origin:left;animation:motion-working 1.15s ease-in-out infinite}.md-code-copy[data-state=copied],[data-slot=button][data-saved]{animation:motion-confirm .38s var(--motion-spring)}.motion-success-icon{animation:motion-selected .3s var(--motion-spring)}:is(input,textarea,[role=combobox]){transition:box-shadow .22s ease,border-color .18s ease,background-color .18s ease}[data-slot=switch]{transition:background-color .22s ease}[role=switch]>span{transition:transform .24s var(--motion-spring)}[data-slot=alert-dialog-content][data-state=open],[data-slot=dialog-content][data-state=open]{animation:motion-dialog-in .28s var(--motion-ease)}[data-slot=alert-dialog-content][data-state=closed],[data-slot=dialog-content][data-state=closed]{animation:motion-dialog-out .16s ease-in}[data-slot=dropdown-menu-content],[data-slot=select-content]{transform-origin:var(
    --radix-dropdown-menu-content-transform-origin,var(--radix-select-content-transform-origin,top center)
  )}:is([data-slot=dropdown-menu-content],[data-slot=select-content])[data-state=open]{animation:motion-menu-in .2s var(--motion-ease)}:is([data-slot=dropdown-menu-content],[data-slot=select-content])[data-state=closed]{animation:motion-menu-out .14s ease-in}[role=menuitem],[role=option]{transition:background-color .14s ease,color .14s ease}[data-slot=tabs-content][data-state=active]{animation:motion-content-in .26s var(--motion-ease)}[role=tab]{transition:background-color .2s ease,box-shadow .2s ease,color .2s ease,scale .18s var(--motion-spring)}[role=tab]:active{scale:.96}[role=tab][data-state=active]{animation:motion-selected .22s var(--motion-ease)}[data-slot=field-error],[role=alert]:not([data-sonner-toast]){animation:motion-content-in .22s var(--motion-ease)}[data-slot=skeleton]{position:relative;overflow:hidden;animation:motion-skeleton-in .2s var(--motion-ease) backwards}[data-slot=skeleton]:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--background) 55%,transparent) 50%,transparent 80%);animation:motion-shimmer 1.6s ease-in-out infinite}[data-slot=table-row]{transition:background-color .18s ease}[data-motion-key]{position:relative}.motion-stat-bar{height:3px;margin-top:.4rem;margin-left:auto;border-radius:1rem;background:var(--primary);transform-origin:left;animation:motion-bar-in .65s var(--motion-ease) backwards}.toc-outline-row{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s var(--motion-ease),opacity .18s ease}.toc-outline-row[data-collapsed=true]{grid-template-rows:0fr;opacity:0;pointer-events:none}.toc-row-inner{min-height:0;overflow:hidden;position:relative}.toc-reading-range{transition-duration:.32s,.32s,.18s}.motion-reply{animation:motion-content-in .24s var(--motion-ease)}[data-comment-row] button[aria-pressed=true] svg,button[aria-pressed=true] .lucide-heart{animation:motion-heart .38s var(--motion-spring)}.markdown-body img{transition:filter .24s ease,box-shadow .24s ease}.markdown-body img:hover{box-shadow:0 8px 28px color-mix(in srgb,var(--foreground) 12%,transparent)}.viewer-transition{transition:width .2s var(--motion-ease),height .2s var(--motion-ease),margin-left .2s var(--motion-ease),margin-top .2s var(--motion-ease),transform .32s var(--motion-ease),opacity .24s ease}.mz-back-top{transition:opacity .22s ease,translate .25s var(--motion-spring),box-shadow .2s ease}.mz-back-top:hover{translate:0 -4px}@keyframes motion-skeleton-in{0%{opacity:0}to{opacity:1}}@keyframes motion-content-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes motion-selected{0%{scale:.92}to{scale:1}}@keyframes motion-confirm{0%,to{scale:1}40%{scale:1.05}}@keyframes motion-heart{0%,to{scale:1}40%{scale:1.3}70%{scale:.95}}@keyframes motion-working{0%{translate:-100% 0}to{translate:100% 0}}@keyframes motion-shimmer{0%{translate:-100% 0}to{translate:100% 0}}@keyframes motion-bar-in{0%{scale:0 1}to{scale:1 1}}@keyframes motion-dialog-in{0%{opacity:0;scale:.96;transform:translateY(10px)}to{opacity:1;scale:1;transform:translateY(0)}}@keyframes motion-dialog-out{to{opacity:0;scale:.97;transform:translateY(6px)}}@keyframes motion-menu-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@keyframes motion-menu-out{to{opacity:0;scale:.97}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}.motion-route-progress{display:none}.mz-cat-card:hover,.mz-post-card:hover{transform:none}.mz-back-top:hover,.mz-post-card:hover .mz-post-enter svg,.mz-post-card:hover .mz-post-title,.mz-tag:hover{translate:none}.mz-post-card:hover .mz-post-cover img{transform:none}:is([data-slot=button],.mz-icon-btn,.md-code-copy):active{scale:1}}[data-motion-tabs=true]:before{content:"";position:absolute;top:var(--tab-y);left:var(--tab-x);width:var(--tab-width);height:var(--tab-height);border-radius:.375rem;background:var(--background);box-shadow:0 1px 3px color-mix(in srgb,var(--foreground) 10%,transparent);pointer-events:none;z-index:-1;transition:top .26s var(--motion-ease),left .26s var(--motion-ease),width .26s var(--motion-ease),height .26s var(--motion-ease)}[data-motion-tabs=true] [role=tab][data-state=active]{background:transparent;box-shadow:none;animation:none}[data-slot=sheet-content][data-state=open]{animation-duration:.28s;animation-timing-function:var(--motion-ease)}@property --motion-link-join{syntax:"<percentage>";inherits:false;initial-value:50%}.mz-prose a:not(:has(img)){--motion-link-join:50%;text-decoration:none;background-image:linear-gradient(to right,currentColor 0 var(--motion-link-join),transparent var(--motion-link-join) 100%);background-size:8px 1px;background-position:left calc(100% - .05em);background-repeat:repeat-x;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:--motion-link-join .36s var(--motion-ease),color .18s ease,opacity .18s ease}.mz-prose a:not(:has(img)):is(:hover,:focus-visible){--motion-link-join:100%}.chirpy-prose,.markdown-body,.mz-prose,.prose-blog{font-family:var(--font-body)}.chirpy-prose code,.markdown-body code,.mz-prose code,.prose-blog code{font-family:inherit}.chirpy-prose pre,.chirpy-prose pre code,.markdown-body .math-fallback,.markdown-body pre,.markdown-body pre code,.mz-prose pre,.mz-prose pre code,.prose-blog pre,.prose-blog pre code{font-family:var(--font-code)}.markdown-body .md-code-header{font-family:var(--font-ui)}