[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)}.blog-page-transition{animation:blog-page-enter .28s var(--blog-motion-ease) backwards}.blog-page-transition .mz-article{animation:none}@keyframes blog-page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.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:.84rem;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-list .mz-archive-row{display:grid;grid-template-columns:3.2rem .35rem minmax(0,1fr);align-items:center;gap:1.1rem;width:100%;padding:.8rem .9rem;border-radius:.75rem;transition:background-color .18s ease,color .18s ease}.mz-archive-list .mz-archive-row:before{content:"";grid-column:2;grid-row:1;width:.3rem;height:.3rem;justify-self:center;border-radius:1rem;background:var(--blog-accent);opacity:.35;transition:height .2s var(--blog-motion-ease),opacity .16s ease}.mz-archive-row .date{grid-column:1;grid-row:1}.mz-archive-title{grid-column:3;transition:translate .2s var(--blog-motion-ease)}.mz-archive-count{margin-left:1rem;font-size:.85rem;font-weight:400;color:var(--mz-text-50)}.mz-archive-list .mz-archive-row:focus-visible,.mz-archive-list .mz-archive-row:hover{color:var(--blog-accent);background:var(--mz-btn-bg)}.mz-archive-row:focus-visible:before,.mz-archive-row:hover:before{height:1.35rem;opacity:1}@media (hover:hover) and (pointer:fine){.mz-archive-row:hover .mz-archive-title{translate:3px 0}}@media (prefers-reduced-motion:reduce){.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:hover .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}:is([data-blog-theme=mizuki],[data-blog-admin]) :is(main,#admin-content){transition:opacity .14s ease}:is([data-blog-theme=mizuki],[data-blog-admin])[data-navigating] :is(main,#admin-content){opacity:.55}.blog-page-transition{animation-duration:.38s}@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: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%}