﻿:root{--hue: 250;--theme-accent: #cba6f7;--motion-factor: 1;--radius-large: 1rem;--content-delay: 150ms;--page-width: 75rem;--dur-fast: calc(140ms * var(--motion-factor));--dur-normal: calc(200ms * var(--motion-factor));--dur-slow: calc(260ms * var(--motion-factor));--ease-standard: cubic-bezier(0.2, 0, 0, 1);--ease-out-strong: cubic-bezier(0.22, 1, 0.36, 1);--ease-collapse: cubic-bezier(0.22, 1, 0.36, 1);--primary: var(--gen-primary-light, #5f6c86);--page-bg: var(--gen-page-bg-light, #f2f4f8);--card-bg: var(--gen-card-bg-light, #ffffff);--btn-content: var(--gen-btn-content-light, #42506b);--btn-regular-bg: var(--gen-btn-regular-bg-light, #eef1f7);--btn-regular-bg-hover: var(--gen-btn-regular-bg-hover-light, #e5eaf4);--btn-regular-bg-active: var(--gen-btn-regular-bg-active-light, #dce3f0);--btn-plain-bg-hover: var(--gen-btn-plain-bg-hover-light, #f1f4fa);--btn-plain-bg-active: var(--gen-btn-plain-bg-active-light, #e9edf7);--btn-card-bg-hover: var(--gen-btn-card-bg-hover-light, #f7f9fd);--btn-card-bg-active: var(--gen-btn-card-bg-active-light, #edf1f8);--enter-btn-bg: var(--btn-regular-bg);--enter-btn-bg-hover: var(--btn-regular-bg-hover);--enter-btn-bg-active: var(--btn-regular-bg-active);--deep-text: #1b1f28;--muted-text: rgba(0, 0, 0, 0.68);--title-active: var(--gen-title-active-light, #34415a);--line-divider: rgba(0, 0, 0, 0.08);--line-color: rgba(0, 0, 0, 0.1);--meta-divider: rgba(0, 0, 0, 0.2);--inline-code-bg: var(--btn-regular-bg);--inline-code-color: var(--btn-content);--selection-bg: var(--gen-selection-bg-light, #cfdaf0);--codeblock-bg: oklch(0.17 0.015 var(--hue));--link-underline: var(--gen-link-underline-light, #d8e1f3);--link-hover: var(--gen-link-hover-light, #e7edf8);--link-active: var(--gen-link-active-light, #c5d2ea);--float-panel-bg: #fff;--toc-btn-hover: var(--gen-toc-btn-hover-light, #e8edf7);--toc-btn-active: var(--gen-toc-btn-hover-light, #dde5f4);--toc-width: calc((100vw - var(--page-width)) / 2 - 1rem);--archive-dot: var(--gen-archive-dot-light, #74829b);--admonitions-color-tip: oklch(0.7 0.14 180);--admonitions-color-note: oklch(0.7 0.14 250);--admonitions-color-important: oklch(0.7 0.14 310);--admonitions-color-warning: oklch(0.7 0.14 60);--admonitions-color-caution: oklch(0.6 0.2 25)}html.dark{--primary: var(--gen-primary-dark, #91a0bc);--page-bg: var(--gen-page-bg-dark, #0c0f15);--card-bg: var(--gen-card-bg-dark, #171b24);--deep-text: rgba(255, 255, 255, 0.9);--btn-content: var(--gen-btn-content-dark, #aebbd4);--btn-regular-bg: var(--gen-btn-regular-bg-dark, #202632);--btn-regular-bg-hover: var(--gen-btn-regular-bg-hover-dark, #262d3a);--btn-regular-bg-active: var(--gen-btn-regular-bg-active-dark, #2c3544);--btn-plain-bg-hover: var(--gen-btn-plain-bg-hover-dark, #1c2230);--btn-plain-bg-active: var(--gen-btn-plain-bg-active-dark, #222938);--btn-card-bg-hover: var(--gen-btn-card-bg-hover-dark, #1f2635);--btn-card-bg-active: var(--gen-btn-card-bg-active-dark, #252d3e);--line-divider: rgba(255, 255, 255, 0.08);--line-color: rgba(255, 255, 255, 0.1);--meta-divider: rgba(255, 255, 255, 0.2);--muted-text: rgba(255, 255, 255, 0.62);--selection-bg: var(--gen-selection-bg-dark, #2f384a);--float-panel-bg: var(--gen-float-panel-bg-dark, #1a202d);--link-underline: var(--gen-link-underline-dark, #39445b);--link-hover: var(--gen-link-hover-dark, #44506b);--link-active: var(--gen-link-active-dark, #4d5a77);--toc-btn-hover: var(--gen-toc-btn-hover-dark, #242b3a);--toc-btn-active: var(--gen-toc-btn-hover-dark, #2b3447);--archive-dot: var(--gen-archive-dot-dark, #8ea0bf)}*{box-sizing:border-box}::selection{background:var(--selection-bg)}.material-symbols-rounded{font-family:"Material Symbols Rounded",sans-serif;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}html,body{margin:0;padding:0;min-height:100%;background:var(--page-bg);color:var(--deep-text);font-family:Roboto,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;transition:background-color .3s ease,color .3s ease}html.theme-preload,html.theme-preload body{transition:none !important}html.dark,html.dark body{color:var(--deep-text)}html{font-size:14px}@media (min-width: 768px){html{font-size:16px}}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px;top:.5rem;z-index:999;border-radius:.5rem;border:1px solid var(--line-divider);background:var(--card-bg);padding:.4rem .7rem}.skip-link:focus{left:.8rem}.card-base{border-radius:var(--radius-large);overflow:hidden;background:var(--card-bg);transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}h1,h2,h3,h4,h5,h6,p,a,span,li,ul,ol,blockquote,code,pre,table,th,td,strong{transition:color var(--dur-fast) var(--ease-standard),text-decoration-color var(--dur-fast) var(--ease-standard)}.top-row{max-width:var(--page-width);margin:0 auto;padding:0 1rem;position:relative;z-index:50}.navbar-wrapper{position:sticky;top:0;z-index:60;transition:transform var(--dur-slow) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard),background-color var(--dur-normal) var(--ease-standard)}.navbar{height:4.5rem;border-top-left-radius:0;border-top-right-radius:0;display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding:0 1rem;background:var(--card-bg);overflow:visible}.home-button{border-radius:.75rem;display:inline-flex;align-items:center;gap:.45rem;height:3.25rem;min-height:3.25rem;padding:0 1.05rem;font-weight:700;line-height:1}.home-button.btn-plain.scale-animation{padding:0 1.05rem;min-height:3.25rem}.home-icon{color:var(--primary);font-size:1.55rem;transform:translateY(-.08rem)}.home-text{color:var(--primary);font-size:1.1rem;line-height:1;transform:translateY(.01rem)}.nav-links{display:none;align-items:center;gap:.1rem}.nav-link-item{height:2.75rem;padding:0 1.18rem;border-radius:.65rem;font-size:1rem;font-weight:700;line-height:1;gap:.42rem;align-items:center}.nav-link-label{display:inline-flex;align-items:center;line-height:1}.nav-link-icon{font-size:1.18rem;transform:translateY(-.01rem)}.nav-link-external{margin-left:.18rem;font-size:1rem;color:rgba(0,0,0,.28);transition:color var(--dur-fast) var(--ease-standard)}html.dark .nav-link-external{color:rgba(255,255,255,.28)}.nav-link-item:hover .nav-link-external,.nav-link-item:active .nav-link-external{color:var(--primary)}.nav-actions{display:flex;align-items:center;gap:.2rem}.btn-plain,.btn-card,.page-nav-btn,.widget-link,.tag-link,.social-btn{border:0;border-radius:.65rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:transform var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.btn-plain{background:rgba(0,0,0,0);color:rgba(0,0,0,.75);font-weight:700}html.dark .btn-plain{color:rgba(255,255,255,.75)}.btn-plain.scale-animation{padding:.55rem .75rem;min-height:2.75rem;position:relative;z-index:0}.btn-plain.scale-animation::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:scale(.86);transition:transform var(--dur-normal) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard);z-index:-1}.btn-plain.scale-animation:hover::before{background:var(--btn-plain-bg-hover);transform:scale(1)}.btn-plain.scale-animation:active::before{background:var(--btn-plain-bg-active)}.btn-plain:active{transform:scale(.95)}.expand-animation{position:relative;z-index:0;transition:color var(--dur-fast) var(--ease-standard),transform var(--dur-normal) var(--ease-out-strong)}.expand-animation::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--btn-plain-bg-hover);transform:scale(.84);opacity:0;transition:transform var(--dur-normal) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard);z-index:-1}.expand-animation:hover::before{transform:scale(1);opacity:1}.expand-animation:active::before{transform:scale(.98);opacity:1;background:var(--btn-plain-bg-active)}.link{display:inline-block;border-radius:.5rem;text-decoration:none}.link{padding:.25rem;margin:-.25rem}.link-underline{text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:2px;text-decoration-color:var(--link-underline);text-underline-offset:.25rem}.link-underline:hover{text-decoration-color:var(--link-hover)}.link-underline:active{text-decoration-color:var(--link-active)}.btn-card{background:var(--card-bg)}.btn-card:hover{background:var(--btn-card-bg-hover)}.btn-card:active{background:var(--btn-card-bg-active);transform:scale(.95)}.float-panel{background:var(--float-panel-bg);border-radius:var(--radius-large);box-shadow:0 10px 30px rgba(0,0,0,.22);transition:transform var(--dur-normal) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.float-panel-closed{transform:translateY(-.3rem) scale(.98);opacity:0;pointer-events:none}.toc-hide,.toc-not-ready{opacity:0;pointer-events:none}.theme-switch-wrap{position:relative;z-index:90}.light-dark-panel{position:absolute;top:2.9rem;right:-.2rem;padding:.5rem;min-width:10rem;z-index:90;display:flex;flex-direction:column;gap:.28rem}.mode-btn{width:100%;justify-content:flex-start;padding:0 .75rem;min-height:2.25rem;height:2.25rem;border-radius:.65rem;font-weight:500;transition:color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong),background-color var(--dur-fast) var(--ease-standard)}.mode-btn.btn-plain.scale-animation{padding:0 .75rem;min-height:2.25rem;height:2.25rem}.mode-btn .material-symbols-rounded{margin-right:.75rem;font-size:1.25rem;transition:color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong)}.mode-btn:hover .material-symbols-rounded{transform:translateY(-.02rem)}.mode-btn.current-theme-btn{color:var(--primary)}.mode-btn.current-theme-btn::before{background:var(--btn-plain-bg-hover);transform:scale(.96);opacity:1}.search-bar{position:relative;display:none;align-items:center;height:2.75rem;width:9.8rem;border-radius:.65rem;background:rgba(0,0,0,.04);transition:width var(--dur-slow) var(--ease-out-strong),background-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.search-bar:hover,.search-bar:focus-within{background:rgba(0,0,0,.06)}.search-bar.search-focus{width:14rem}html.dark .search-bar{background:rgba(255,255,255,.06)}html.dark .search-bar:hover,html.dark .search-bar:focus-within{background:rgba(255,255,255,.1)}.search-icon{position:absolute;left:.7rem;color:rgba(0,0,0,.3);pointer-events:none}html.dark .search-icon{color:rgba(255,255,255,.3)}.search-bar input{width:100%;height:100%;border:0;outline:0;background:rgba(0,0,0,0);color:rgba(0,0,0,.5);padding:0 .7rem 0 2.3rem;font-size:.9rem}.search-bar input:focus{color:rgba(0,0,0,.75)}html.dark .search-bar input{color:rgba(255,255,255,.5)}html.dark .search-bar input:focus{color:rgba(255,255,255,.75)}.search-panel{position:fixed;top:5.25rem;left:max(1rem,(100vw - var(--page-width))/2 + 44rem);right:auto;width:min(30rem,100vw - 2rem);z-index:85;padding:.55rem;transform-origin:top right;will-change:transform,opacity}.search-bar.inside{display:flex;width:100%}.search-results{list-style:none;margin:.45rem 0 0;padding:0;max-height:min(26rem,100vh - 8rem);overflow-y:auto;overflow-x:hidden}.search-results>li{transition:opacity .18s ease,transform .18s ease}.search-result-item{display:block;border-radius:.75rem;padding:.6rem .7rem;transition:background-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong)}.search-result-item:hover{background:var(--btn-plain-bg-hover);transform:translateY(-1px)}.search-result-item.is-active{background:var(--btn-plain-bg-hover);transform:translateY(-1px)}.search-result-item:active{background:var(--btn-plain-bg-active);transform:scale(.99)}.search-result-title-wrap{display:inline-flex;align-items:center;font-weight:700;color:rgba(0,0,0,.9);transition:color var(--dur-fast) var(--ease-standard)}html.dark .search-result-title-wrap{color:rgba(255,255,255,.9)}.search-result-item:hover .search-result-title-wrap{color:var(--primary)}.search-result-item.is-active .search-result-title-wrap{color:var(--primary)}.search-result-arrow{margin-left:.25rem;font-size:1rem;color:var(--primary);transform:translateX(0);transition:transform var(--dur-fast) var(--ease-out-strong),opacity var(--dur-fast) var(--ease-standard)}.search-result-item:hover .search-result-arrow,.search-result-item.is-active .search-result-arrow{transform:translateX(.12rem)}.search-result-excerpt{margin:.26rem 0 0;color:rgba(0,0,0,.5);font-size:.87rem}html.dark .search-result-excerpt{color:rgba(255,255,255,.5)}.search-results mark{background:linear-gradient(180deg, rgba(0,0,0,0) 55%, var(--btn-regular-bg-hover) 55%);color:var(--primary);border-radius:.2rem;padding:0 .05rem}.search-state{padding:.7rem;color:rgba(0,0,0,.5);border-radius:.7rem}.search-loading,.search-hint{background:rgba(0,0,0,.03)}.search-error{color:oklch(.6 .18 25);background:rgba(255,90,90,.08)}html.dark .search-state{color:rgba(255,255,255,.5)}html.dark .search-loading,html.dark .search-hint{background:rgba(255,255,255,.04)}html.dark .search-error{color:oklch(.72 .18 25);background:rgba(255,90,90,.12)}.nav-menu-panel{position:fixed;top:5.1rem;right:1rem;width:fit-content;min-width:10rem;max-width:min(15rem,100vw - 2rem);z-index:84;padding:.35rem;display:flex;flex-direction:column;gap:.16rem}.nav-menu-link{width:100%;justify-content:space-between;padding:0 .4rem 0 .7rem;min-height:2.2rem;height:2.2rem;font-weight:700;gap:.5rem}.nav-menu-link.btn-plain.scale-animation{min-height:2.2rem;height:2.2rem;padding:0 .4rem 0 .7rem}.nav-menu-link-label{color:rgba(0,0,0,.75);line-height:1;transition:color var(--dur-fast) var(--ease-standard)}html.dark .nav-menu-link-label{color:rgba(255,255,255,.75)}.nav-menu-link-arrow{font-size:1.18rem;color:var(--primary);transition:color var(--dur-fast) var(--ease-standard)}.nav-menu-link.is-external .nav-menu-link-arrow{font-size:1rem}.nav-menu-link:hover .nav-menu-link-label,.nav-menu-link:active .nav-menu-link-label,.nav-menu-link:hover .nav-menu-link-arrow,.nav-menu-link:active .nav-menu-link-arrow{color:var(--primary)}.nav-menu-link.btn-plain:active{transform:none}.main-grid{max-width:var(--page-width);margin:1rem auto 0;padding:0 1rem;display:grid;grid-template-columns:17.5rem minmax(0, 1fr);gap:1rem}#sidebar{display:flex;flex-direction:column;gap:1rem}.sidebar-section{display:flex;flex-direction:column;gap:1rem}.sidebar-sticky{position:sticky;top:1rem;display:flex;flex-direction:column;gap:1rem;transition:transform var(--dur-slow) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard)}.profile-card{padding:.75rem}.avatar-wrap{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:1rem;margin-bottom:.7rem}.avatar{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1) translate(0, 0);transition:transform var(--dur-slow) var(--ease-out-strong)}.avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.avatar-overlay .material-symbols-rounded{font-size:2.8rem}.avatar-wrap:hover .avatar{transform:scale(1.05)}.avatar-wrap:hover .avatar-overlay{opacity:1;background:rgba(0,0,0,.3)}.profile-name{text-align:center;margin:.35rem 0 .25rem;font-size:1.25rem;font-weight:700}.profile-name::after{content:"";display:block;width:1.3rem;height:.22rem;border-radius:999px;background:var(--primary);margin:.35rem auto 0}.profile-bio{text-align:center;color:rgba(0,0,0,.45);margin-top:.6rem}html.dark .profile-bio{color:rgba(255,255,255,.45)}.profile-socials{display:flex;justify-content:center;gap:.45rem;margin-top:.75rem}.social-btn{width:2.5rem;height:2.5rem;background:var(--btn-regular-bg);color:var(--btn-content)}.social-btn span{font-size:1.2rem;line-height:1}.social-btn:hover{background:var(--btn-regular-bg-hover)}.social-btn:active{background:var(--btn-regular-bg-active);transform:scale(.9)}.widget{padding:.9rem}.sidebar-widget-body{position:relative;overflow:hidden;transition:max-height var(--dur-slow) var(--ease-collapse)}.sidebar-widget-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:.85rem;pointer-events:none;opacity:0;background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, var(--card-bg) 100%);transition:opacity var(--dur-fast) var(--ease-standard)}.sidebar-widget.is-collapsible:not(.is-collapsed) .sidebar-widget-body{max-height:var(--sidebar-widget-expanded-height, 120rem)}.sidebar-widget.is-collapsed .sidebar-widget-body{max-height:var(--sidebar-widget-collapsed-height, 7.5rem)}.sidebar-widget.is-collapsed .sidebar-widget-body::after{opacity:1}.widget-title{margin:.15rem 0 .72rem;font-size:1.125rem;font-weight:700;padding-left:.75rem;position:relative;line-height:1.25;min-height:1.4rem;display:flex;align-items:center}.widget-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:.22rem;height:1rem;border-radius:.2rem;background:var(--primary)}.widget-list{display:flex;flex-direction:column;gap:.22rem}.widget-link{height:2.5rem;justify-content:space-between;padding:0 .5rem 0 .6rem;color:rgba(0,0,0,.75)}.widget-link:hover{background:var(--btn-plain-bg-hover);color:var(--primary)}.widget-link:active{background:var(--btn-plain-bg-active);transform:scale(.98)}html.dark .widget-link{color:rgba(255,255,255,.75)}[data-sidebar-widget=categories] .widget-list{gap:.16rem}[data-sidebar-widget=categories] .category-link{height:2.45rem;padding:0;border-radius:.62rem;text-decoration:none}[data-sidebar-widget=categories] .category-link-inner{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .5rem 0 .6rem;transition:padding var(--dur-fast) var(--ease-out-strong),color var(--dur-fast) var(--ease-standard)}[data-sidebar-widget=categories] .category-link-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}[data-sidebar-widget=categories] .category-link:hover{background:var(--btn-plain-bg-hover);color:var(--primary)}[data-sidebar-widget=categories] .category-link:hover .category-link-inner{padding-left:.85rem}[data-sidebar-widget=categories] .category-link:active{background:var(--btn-plain-bg-active);transform:none}[data-sidebar-widget=categories] .category-badge{transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong)}[data-sidebar-widget=categories] .category-link:hover .category-badge{transform:translateY(-.5px)}.badge{min-width:2rem;height:1.75rem;padding:0 .45rem;border-radius:.55rem;background:var(--btn-regular-bg);color:var(--btn-content);display:inline-flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:700}html.dark .badge{background:var(--primary);color:var(--deep-text)}.tag-list{display:flex;gap:.45rem;flex-wrap:wrap}.tag-link{height:2rem;padding:0 .7rem;background:var(--btn-regular-bg);color:var(--btn-content);font-size:.95rem}.tag-link:hover{background:var(--btn-regular-bg-hover)}.tag-link:active{background:var(--btn-regular-bg-active);transform:scale(.95)}.sidebar-widget-toggle-wrap{margin-top:.55rem}.sidebar-widget-toggle-wrap[hidden]{display:none}.sidebar-widget-toggle{width:100%;justify-content:center;gap:.35rem;min-height:2.25rem;height:2.25rem;padding:0 .65rem;border-radius:.65rem}.sidebar-widget-toggle.btn-plain{min-height:2.25rem;height:2.25rem;padding:0 .65rem}.sidebar-widget-toggle.btn-plain:hover{background:var(--btn-plain-bg-hover)}.sidebar-widget-toggle.btn-plain:active{background:var(--btn-plain-bg-active);transform:none}.sidebar-widget-toggle-icon,.sidebar-widget-toggle-label{color:var(--primary)}.sidebar-widget-toggle-icon{font-size:1.3rem}.sidebar-widget-toggle-label{font-size:.95rem;font-weight:600}.post-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.post-card{position:relative;display:flex;flex-direction:column;padding:.7rem}.post-card.has-cover{flex-direction:column-reverse}.post-card-main{position:relative;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.52rem}.post-card-main.with-cover{width:calc(72% - 12px)}.post-card-main.no-cover{width:calc(100% - 52px - 12px)}.post-title{margin:0;position:relative;padding-left:.85rem;line-height:1.18;min-height:1.8rem;display:flex;align-items:center;font-size:clamp(1.65rem,2.3vw,2.05rem)}.post-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:.22rem;height:1.15rem;border-radius:.2rem;background:var(--primary)}.post-title a{color:rgba(0,0,0,.9)}.post-title a:hover{color:var(--primary)}.post-title a:active{color:var(--title-active)}html.dark .post-title a{color:rgba(255,255,255,.9)}.post-title-link{position:relative;display:inline-block;padding-right:2.2rem;transition:color var(--dur-fast) var(--ease-standard)}.post-title-arrow,.post-title-arrow-mobile{position:absolute;top:50%;color:var(--primary);transform:translateY(-50%)}.post-title-arrow{right:0;opacity:0;transform:translate(-.22rem, -50%);transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-normal) var(--ease-out-strong)}.post-title-link:hover .post-title-arrow{opacity:1;transform:translate(0, -50%)}.post-title-arrow-mobile{right:-.06rem;font-size:1.75rem}@media (min-width: 768px){.post-title-arrow-mobile{display:none}}@media (max-width: 767px){.post-title-arrow{display:none}}.post-meta{display:flex;flex-wrap:wrap;align-items:center;column-gap:.66rem;row-gap:.34rem;color:rgba(0,0,0,.5);margin-bottom:.2rem}.post-card .post-meta{column-gap:.62rem;row-gap:.3rem;margin-bottom:.16rem}.post-card .meta-group,.post-card .meta-item,.post-card .meta-link{align-items:center}html.dark .post-meta{color:rgba(255,255,255,.5)}.meta-group{display:inline-flex;align-items:center;min-height:1.72rem}.meta-item{display:inline-flex;align-items:center;font-size:.92rem;font-weight:500;line-height:1.1;position:relative;border-radius:.45rem;padding:0;margin:0;transition:color .2s ease;z-index:0}.meta-link{padding:.1rem .22rem;margin:-.1rem -.22rem}.meta-link::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--btn-plain-bg-hover);transform:scale(.84);opacity:0;transition:transform .22s cubic-bezier(.22, 1, .36, 1),opacity .2s ease,background-color .2s ease}.meta-link:hover::after{opacity:1;transform:scale(1)}.meta-link:hover{color:var(--primary)}.meta-link:active::after{opacity:1;transform:scale(.98);background:var(--btn-plain-bg-active)}.meta-icon{width:1.72rem;height:1.72rem;border-radius:.45rem;margin-right:.4rem;background:var(--btn-regular-bg);color:var(--btn-content);font-size:1.06rem;flex-shrink:0}.meta-tag-link{margin-left:.02rem}.meta-sep{margin:0 .3rem;color:var(--meta-divider);font-size:.9rem;line-height:1}.post-desc{color:rgba(0,0,0,.75);line-height:1.62;margin-bottom:.18rem}html.dark .post-desc{color:rgba(255,255,255,.75)}.post-tags{display:flex;flex-wrap:wrap;gap:.42rem}.post-footline{margin-top:.34rem;color:rgba(0,0,0,.3);font-size:.88rem;display:flex;gap:.6rem}html.dark .post-footline{color:rgba(255,255,255,.3)}.post-cover-wrap{width:28%;position:absolute;right:.75rem;top:.75rem;bottom:.75rem;border-radius:.75rem;overflow:hidden}.cover-mask{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,0);transition:background-color var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}.cover-arrow{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%, -50%) scale(.75);color:#fff;font-size:3rem;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-normal) var(--ease-out-strong)}.post-cover{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1) translate(0, 0);transition:transform var(--dur-slow) var(--ease-out-strong)}.post-cover-wrap:hover .post-cover{transform:scale(1.05)}.post-cover-wrap:hover .cover-mask{background:rgba(0,0,0,.3)}.post-cover-wrap:hover .cover-arrow{opacity:1;transform:translate(-50%, -50%) scale(1)}html.touch-device .avatar-wrap:hover .avatar,html.touch-device .post-cover-wrap:hover .post-cover{transform:scale(1) translate(0, 0)}html.touch-device .avatar-wrap:hover .avatar-overlay,html.touch-device .post-cover-wrap:hover .cover-mask,html.touch-device .post-cover-wrap:hover .cover-arrow{opacity:0;background:rgba(0,0,0,0)}html.touch-device .avatar-wrap:active .avatar{transform:scale(1.04) translate(0, 0)}html.touch-device .post-cover-wrap:active .post-cover{transform:scale(1.03) translate(0, 0)}html.touch-device .avatar-wrap:active .avatar-overlay,html.touch-device .post-cover-wrap:active .cover-mask{opacity:1;background:rgba(0,0,0,.22)}html.touch-device .post-cover-wrap:active .cover-arrow{opacity:1;transform:translate(-50%, -50%) scale(.9)}.post-enter-btn{width:3.25rem;position:absolute;right:.75rem;top:.75rem;bottom:.75rem;border-radius:.75rem;background:var(--enter-btn-bg);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);transition:transform var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.post-enter-btn .material-symbols-rounded{font-size:2.25rem;transform:translateX(0);transition:transform var(--dur-normal) var(--ease-out-strong)}.post-enter-btn:hover{background:var(--enter-btn-bg-hover)}.post-enter-btn:hover .material-symbols-rounded{transform:translateX(.18rem)}.post-enter-btn:active{background:var(--enter-btn-bg-active);transform:scale(.95)}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.4rem 0 1rem}.page-list{display:inline-flex;align-items:center;gap:.22rem;padding:0 .08rem;border-radius:.65rem;background:var(--card-bg)}.page-nav-btn,.page-current,.page-ellipsis{width:2.75rem;height:2.75rem;border-radius:.65rem;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:700;font-size:1rem}.page-nav-btn{background:var(--card-bg);transition:background-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.page-nav-btn .material-symbols-rounded{font-size:1.75rem;line-height:1}.page-number-btn{color:rgba(0,0,0,.75)}html.dark .page-number-btn{color:rgba(255,255,255,.82)}.page-nav-btn:hover{background:var(--btn-card-bg-hover)}.page-nav-btn:active{background:var(--btn-card-bg-active);transform:scale(.9)}.page-current{background:var(--primary);color:#fff}.page-ellipsis{color:rgba(0,0,0,.45);font-weight:600}.page-ellipsis .material-symbols-rounded{font-size:1.25rem;line-height:1}html.dark .page-ellipsis{color:rgba(255,255,255,.45)}.page-nav-btn.disabled{color:rgba(0,0,0,.1);pointer-events:none}html.dark .page-nav-btn.disabled{color:rgba(255,255,255,.1)}.section-intro,.page-about,.post-container{padding:1rem 1.2rem;margin-bottom:1rem}.archive-panel{padding:1.1rem 1.25rem}.archive-group+.archive-group{margin-top:.9rem}.archive-group-head{display:flex;align-items:center;height:3.4rem}.archive-year{width:10%;min-width:3.6rem;text-align:right;color:rgba(0,0,0,.75);font-weight:700;font-size:1.35rem}html.dark .archive-year{color:rgba(255,255,255,.75)}.archive-line-dot{width:10%;position:relative;height:100%}.archive-line-dot::before{content:"";width:2px;border-left:2px dashed var(--line-color);position:absolute;left:calc(50% - 1px);top:0;bottom:0}.archive-line-dot::after{content:"";width:.65rem;height:.65rem;border-radius:999px;border:2px solid var(--primary);background:var(--card-bg);position:absolute;top:calc(50% - .325rem);left:calc(50% - .325rem)}.archive-count{width:80%;color:rgba(0,0,0,.5)}html.dark .archive-count{color:rgba(255,255,255,.5)}.archive-item{display:flex;align-items:center;height:2.5rem;border-radius:.65rem;transition:background-color .2s ease}.archive-item:hover{background:var(--btn-plain-bg-hover)}.archive-item:active{background:var(--btn-plain-bg-active)}.archive-date{width:10%;min-width:3.6rem;text-align:right;font-size:.86rem;color:rgba(0,0,0,.5)}html.dark .archive-date{color:rgba(255,255,255,.5)}.archive-line-wrap{width:10%;position:relative;height:100%}.archive-line-wrap::before{content:"";width:2px;border-left:2px dashed var(--line-color);position:absolute;left:calc(50% - 1px);top:0;bottom:0}.archive-item-dot{width:.24rem;height:.24rem;border-radius:999px;background:var(--archive-dot);position:absolute;top:calc(50% - .12rem);left:calc(50% - .12rem);transition:width var(--dur-fast) var(--ease-out-strong),height var(--dur-fast) var(--ease-out-strong),top var(--dur-fast) var(--ease-out-strong),left var(--dur-fast) var(--ease-out-strong),border-radius var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.archive-item:hover .archive-item-dot{width:.36rem;height:1rem;border-radius:.3rem;top:calc(50% - .5rem);left:calc(50% - .18rem);background:var(--primary)}.archive-title{width:58%;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(0,0,0,.75);transition:transform .2s ease,color .2s ease}.archive-item:hover .archive-title{color:var(--primary);transform:translateX(.2rem)}html.dark .archive-title{color:rgba(255,255,255,.75)}.archive-tags{width:22%;font-size:.84rem;color:rgba(0,0,0,.32);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.dark .archive-tags{color:rgba(255,255,255,.3)}.archive-filter-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:.65rem}.archive-filter-item{height:2.6rem;border-radius:.7rem;background:var(--btn-regular-bg);color:var(--btn-content);display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;font-weight:500}.archive-filter-item:hover{background:var(--btn-regular-bg-hover)}.archive-filter-item:active{background:var(--btn-regular-bg-active);transform:scale(.98)}.post-stat{display:flex;gap:.85rem;color:rgba(0,0,0,.35);font-size:.94rem;margin-bottom:.48rem}.post-stat-item{display:inline-flex;align-items:center;gap:.34rem}.post-stat-item .material-symbols-rounded{width:1.45rem;height:1.45rem;border-radius:.45rem;font-size:.95rem;background:rgba(0,0,0,.08);color:rgba(0,0,0,.35)}html.dark .post-stat{color:rgba(255,255,255,.33)}html.dark .post-stat-item .material-symbols-rounded{background:rgba(255,255,255,.08);color:rgba(255,255,255,.33)}.post-heading{margin:0 0 .6rem;font-size:clamp(1.65rem,2.7vw,2rem);line-height:1.16}.post-meta-detail .post-meta{margin-top:.08rem;margin-bottom:.58rem;column-gap:.74rem;row-gap:.42rem}.detail-cover{width:100%;border-radius:.75rem;margin:1rem 0}.markdown-body{line-height:1.75}.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:1.6rem;margin-bottom:.55rem;scroll-margin-top:6rem}.markdown-body .zola-anchor{margin-left:.25rem;font-size:0;opacity:0;text-decoration:none;vertical-align:middle;transition:opacity .15s ease,transform .15s ease;transform:translateX(-.1rem)}.markdown-body .zola-anchor::before{content:"link";font-family:"Material Symbols Rounded",sans-serif;font-size:1.45rem;color:var(--primary)}.markdown-body h1:hover .zola-anchor,.markdown-body h2:hover .zola-anchor,.markdown-body h3:hover .zola-anchor,.markdown-body h4:hover .zola-anchor{opacity:1;transform:translateX(0)}.markdown-body a:not(.zola-anchor){position:relative;z-index:0;display:inline-block;padding:.06rem .28rem;margin:-.06rem -.28rem;border-radius:.35rem;text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:2px;text-decoration-color:var(--link-underline);text-underline-offset:.25rem}.markdown-body a:not(.zola-anchor)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--btn-plain-bg-hover);transform:scale(.82);opacity:0;transition:transform .22s cubic-bezier(.22, 1, .36, 1),opacity .2s ease,background-color .2s ease}.markdown-body a:not(.zola-anchor):hover::before{transform:scale(1);opacity:1}.markdown-body a:not(.zola-anchor):active::before{transform:scale(.98);opacity:1;background:var(--btn-plain-bg-active)}.markdown-body a:not(.zola-anchor):hover{text-decoration-color:var(--link-hover)}.markdown-body a:not(.zola-anchor):active{text-decoration-color:var(--link-active)}.markdown-body pre{position:relative;border-radius:.75rem;overflow:auto;background:var(--codeblock-bg);padding:.82rem .85rem;border:1px solid color-mix(in srgb, var(--line-divider) 90%, rgba(0,0,0,0));scrollbar-width:thin}.markdown-body pre.giallo.has-language-badge{padding-top:1.56rem}.markdown-body pre.giallo[data-language]::before{content:attr(data-language);position:absolute;top:.46rem;right:.7rem;z-index:2;height:1.65rem;border-radius:.66rem;padding:0 .58rem;display:inline-flex;align-items:center;justify-content:center;background:var(--btn-regular-bg);color:var(--btn-content);font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:700;letter-spacing:.02em;opacity:.95;transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out-strong)}.code-copy-btn{position:absolute;top:.46rem;right:.7rem;z-index:3;border:0;border-radius:.66rem;height:1.65rem;padding:0 .55rem;display:inline-flex;align-items:center;gap:.28rem;background:var(--btn-regular-bg-hover);color:var(--btn-content);cursor:pointer;opacity:0;transform:translateY(-.14rem) scale(.96);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-normal) var(--ease-out-strong),background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.code-copy-btn .material-symbols-rounded{font-size:1rem}.code-copy-text{font-size:.78rem;font-weight:600;line-height:1}.markdown-body pre.giallo:hover .code-copy-btn,.markdown-body pre.giallo:focus-within .code-copy-btn,.markdown-body pre.giallo.touch-actions-visible .code-copy-btn{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.markdown-body pre.giallo:hover::before,.markdown-body pre.giallo:focus-within::before,.markdown-body pre.giallo.touch-actions-visible::before{opacity:0;transform:translateY(-.12rem) scale(.96)}.code-copy-btn:hover{background:var(--btn-regular-bg-active)}.code-copy-btn:active{transform:translateY(0) scale(.94)}.code-copy-btn[data-state=success]{background:color-mix(in srgb, var(--primary) 18%, var(--btn-regular-bg-hover));color:var(--primary)}.code-copy-btn[data-state=error]{color:oklch(.72 .18 25)}.markdown-body pre.giallo code{display:block;line-height:1.55}.markdown-body pre.giallo .giallo-l{display:inline-block;width:100%;min-height:1lh;line-height:1.55;vertical-align:top}.markdown-body pre.giallo.has-native-linenos .giallo-ln{display:inline-flex;align-items:center;justify-content:flex-end;min-width:2.6ch;margin-right:.58rem;color:rgba(255,255,255,.42);user-select:none;line-height:1.55}html:not(.dark) .markdown-body pre.giallo.has-native-linenos .giallo-ln{color:rgba(0,0,0,.42)}.markdown-body pre.giallo.has-auto-linenos code{counter-reset:line}.markdown-body pre.giallo.has-auto-linenos .giallo-l{position:relative;padding-left:2.72rem}.markdown-body pre.giallo.has-auto-linenos .giallo-l::before{content:counter(line);counter-increment:line;position:absolute;left:0;top:0;width:2.05rem;text-align:right;color:rgba(255,255,255,.42);user-select:none;line-height:1.55}html:not(.dark) .markdown-body pre.giallo.has-auto-linenos .giallo-l::before{color:rgba(0,0,0,.42)}@media (hover: none),(pointer: coarse){.markdown-body pre.giallo[data-language]::before{opacity:1;transform:none}.markdown-body pre.giallo .code-copy-btn{opacity:0;pointer-events:none}.markdown-body pre.giallo.touch-actions-visible::before{opacity:0}.markdown-body pre.giallo.touch-actions-visible .code-copy-btn{opacity:1;transform:none;pointer-events:auto}}.markdown-body :not(pre)>code{border-radius:.4rem;padding:.1rem .35rem;background:var(--inline-code-bg);color:var(--inline-code-color);font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-body ul,.markdown-body ol{padding-left:1.35rem}.markdown-body li::marker{color:var(--primary)}.markdown-body blockquote{--quote-line-color: var(--btn-regular-bg);border-left:0;margin:.9rem 0;padding:.6rem .9rem;border-radius:.6rem;position:relative;background:rgba(0,0,0,0)}.markdown-body blockquote::before{content:"";position:absolute;left:-1px;top:0;width:4px;height:100%;border-radius:999px;background:var(--quote-line-color)}.markdown-body blockquote.markdown-alert-note,.markdown-body blockquote.markdown-alert-tip,.markdown-body blockquote.markdown-alert-important,.markdown-body blockquote.markdown-alert-warning,.markdown-body blockquote.markdown-alert-caution{padding-top:1.95rem;padding-left:.9rem}.markdown-body blockquote.markdown-alert-note::after,.markdown-body blockquote.markdown-alert-tip::after,.markdown-body blockquote.markdown-alert-important::after,.markdown-body blockquote.markdown-alert-warning::after,.markdown-body blockquote.markdown-alert-caution::after{content:var(--alert-title);position:absolute;top:.44rem;left:.9rem;display:inline-flex;align-items:center;font-weight:700;font-size:.84rem;line-height:1.2;letter-spacing:.01em;color:var(--alert-color);padding-left:1.55rem;background-image:var(--alert-icon);background-repeat:no-repeat;background-position:0 50%;background-size:.9rem .9rem;min-height:1.05rem}.markdown-body blockquote.markdown-alert-note{--alert-color: var(--admonitions-color-note);--quote-line-color: var(--admonitions-color-note);--alert-title: "注释";--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2354a7ff' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E")}.markdown-body blockquote.markdown-alert-tip{--alert-color: var(--admonitions-color-tip);--quote-line-color: var(--admonitions-color-tip);--alert-title: "提示";--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2318e2d0' d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'/%3E%3C/svg%3E")}.markdown-body blockquote.markdown-alert-important{--alert-color: var(--admonitions-color-important);--quote-line-color: var(--admonitions-color-important);--alert-title: "重要";--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23c18aff' d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E")}.markdown-body blockquote.markdown-alert-warning{--alert-color: var(--admonitions-color-warning);--quote-line-color: var(--admonitions-color-warning);--alert-title: "警告";--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23f3a13d' d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E")}.markdown-body blockquote.markdown-alert-caution{--alert-color: var(--admonitions-color-caution);--quote-line-color: var(--admonitions-color-caution);--alert-title: "注意";--alert-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff4d5a' d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E")}.md-table-scroll{width:100%;margin:1.15rem 0 1.35rem;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line-divider);border-radius:.78rem;background:color-mix(in srgb, var(--card-bg) 92%, var(--btn-regular-bg) 8%);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.md-table-scroll .markdown-body table,.markdown-body .md-table-scroll table{margin:0}.markdown-body table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.96rem;line-height:1.6}.markdown-body caption{caption-side:bottom;margin-top:.5rem;text-align:left;font-size:.86rem;color:var(--muted-text)}.markdown-body thead th{position:sticky;top:0;z-index:1;background:color-mix(in srgb, var(--btn-regular-bg) 84%, var(--card-bg) 16%);color:color-mix(in srgb, var(--deep-text) 88%, rgba(0,0,0,0));font-weight:700;text-align:left;border-bottom:1px solid var(--line-divider)}.markdown-body th,.markdown-body td{padding:.62rem .82rem;vertical-align:middle;border-right:1px solid var(--line-divider)}.markdown-body th:last-child,.markdown-body td:last-child{border-right:0}.markdown-body tbody td{border-bottom:1px solid var(--line-divider);color:color-mix(in srgb, var(--deep-text) 86%, rgba(0,0,0,0));background:rgba(0,0,0,0)}.markdown-body tbody tr:last-child td{border-bottom:0}.markdown-body tbody tr{transition:background-color var(--dur-fast) var(--ease-standard)}.markdown-body tbody tr:hover td{background:color-mix(in srgb, var(--btn-plain-bg-hover) 62%, rgba(0,0,0,0))}.markdown-body th[align=center],.markdown-body td[align=center]{text-align:center}.markdown-body th[align=right],.markdown-body td[align=right]{text-align:right}.markdown-body th[align=left],.markdown-body td[align=left]{text-align:left}html.dark .md-table-scroll{background:color-mix(in srgb, var(--card-bg) 90%, var(--btn-regular-bg) 10%)}html.dark .markdown-body thead th{background:color-mix(in srgb, var(--btn-regular-bg) 86%, var(--card-bg) 14%)}html.dark .markdown-body tbody tr:hover td{background:color-mix(in srgb, var(--btn-plain-bg-hover) 52%, rgba(0,0,0,0))}.markdown-body hr{border-style:dashed;border-color:var(--line-divider)}.markdown-body img,#post-cover{cursor:zoom-in;border-radius:.75rem}.markdown-body .footnote-definition{margin-top:.5rem;color:rgba(0,0,0,.7)}html.dark .markdown-body .footnote-definition{color:rgba(255,255,255,.7)}.license-card{position:relative;overflow:hidden;border-radius:var(--radius-large);margin-top:1.2rem;padding:1.2rem 1.35rem;background:rgba(0,0,0,.03)}html.dark .license-card{background:rgba(255,255,255,.05)}.license-title{font-weight:700;color:rgba(0,0,0,.82)}html.dark .license-title{color:rgba(255,255,255,.82)}.license-url{color:var(--primary);display:inline-block;margin-top:.2rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-meta-grid{margin-top:.65rem;display:flex;gap:1.5rem;position:relative;z-index:2}.license-meta-label{color:rgba(0,0,0,.35);font-size:.88rem}html.dark .license-meta-label{color:rgba(255,255,255,.35)}.license-meta-value{color:rgba(0,0,0,.75);font-weight:500}a.license-meta-value{color:var(--primary)}html.dark .license-meta-value{color:rgba(255,255,255,.75)}html.dark a.license-meta-value{color:var(--primary)}.post-neighbors{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.neighbor-wrap{display:block}.neighbor-wrap.disabled{pointer-events:none}.neighbor{min-height:3.75rem;border-radius:1rem;padding:0 1rem;display:flex;align-items:center;gap:.6rem}.neighbor.left{justify-content:flex-start}.neighbor.right{justify-content:flex-end}.neighbor .material-symbols-rounded{font-size:1.7rem;color:var(--primary)}.neighbor-text{max-width:calc(100% - 2.5rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:rgba(0,0,0,.75)}html.dark .neighbor-text{color:rgba(255,255,255,.75)}.toc-rail{display:none}.toc-wrapper{width:var(--toc-width);transition:opacity var(--dur-normal) var(--ease-standard)}#toc-inner-wrapper{position:fixed;top:5.5rem;width:var(--toc-width);height:calc(100vh - 20rem);overflow-y:auto;overflow-x:hidden;mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #000 2rem, #000 calc(100% - 2rem), rgba(0,0,0,0) 100%)}.toc-spacer{width:100%;height:2rem;pointer-events:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.toc-card{padding:.72rem}.toc-list-wrap{position:relative;isolation:isolate}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.12rem}.toc-entry{position:relative;z-index:1;display:flex;align-items:center;width:100%;min-height:2.25rem;gap:.5rem;border-radius:.75rem;padding:.48rem .5rem;color:rgba(0,0,0,.52);transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}html.dark .toc-entry{color:rgba(255,255,255,.52)}.toc-entry:hover{background:var(--toc-btn-hover)}.toc-entry:active{background:var(--toc-btn-active)}.toc-entry.visible{color:var(--primary)}.toc-entry.visible .toc-title{color:var(--primary)}.toc-entry.visible .toc-badge-1{background:color-mix(in srgb, var(--primary) 18%, var(--btn-regular-bg));color:var(--primary)}.toc-badge{width:1.25rem;height:1.25rem;flex-shrink:0;border-radius:.45rem;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.toc-badge-1{background:var(--btn-regular-bg);color:var(--btn-content)}.toc-badge-2{margin-left:1rem}.toc-badge-2::before{content:"";width:.48rem;height:.48rem;border-radius:.14rem;background:var(--btn-regular-bg)}.toc-badge-3{margin-left:2rem}.toc-badge-3::before{content:"";width:.36rem;height:.36rem;border-radius:.09rem;background:rgba(0,0,0,.16)}html.dark .toc-badge-3::before{background:rgba(255,255,255,.18)}.toc-title{font-size:.9rem;line-height:1.35}.toc-entry-depth-3 .toc-title{opacity:.8}#active-indicator{position:absolute;left:0;right:0;top:0;height:0;opacity:0;border-radius:.75rem;background:var(--toc-btn-hover);border:2px dashed var(--toc-btn-hover);transition:top var(--dur-fast) var(--ease-standard),height var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);z-index:0}.toc-list-wrap:hover #active-indicator{background:rgba(0,0,0,0);border-color:var(--toc-btn-active)}.footer{grid-column:1/-1;margin:.6rem 0 1rem}.footer-card{border-radius:var(--radius-large);padding:.95rem;text-align:center;color:rgba(0,0,0,.55);display:flex;flex-direction:column;gap:.4rem}html.dark .footer-card{color:rgba(255,255,255,.55)}.footer-card a{color:var(--primary)}.footer-sep{margin:0 .35rem}.back-to-top-btn{position:fixed;bottom:10rem;right:1rem;width:3.75rem;height:3.75rem;border:0;border-radius:1rem;background:var(--card-bg);color:var(--primary);z-index:80;transform:translateX(5rem);transition:transform var(--dur-normal) var(--ease-out-strong),opacity var(--dur-normal) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.back-to-top-btn .material-symbols-rounded{font-size:1.75rem}.back-to-top-btn.hide{opacity:0;pointer-events:none;transform:translateX(5rem) scale(.9)}.back-to-top-btn:not(.hide){opacity:1;transform:translateX(0)}.back-to-top-btn:active{transform:translateX(0) scale(.9)}#swup-container{outline:none}html.is-changing .transition-swup-fade{transition:opacity var(--dur-normal) var(--ease-standard),transform var(--dur-normal) var(--ease-out-strong)}html.is-animating .transition-swup-fade{opacity:0;transform:translateY(1rem)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(2rem)}100%{opacity:1;transform:translateY(0)}}.onload-animation{opacity:0;animation:calc(300ms*var(--motion-factor)) fade-in-up forwards}#navbar{animation-delay:0ms}#sidebar{animation-delay:100ms}#content-wrapper{animation-delay:var(--content-delay)}#post-container :nth-child(1){animation-delay:calc(var(--content-delay) + 0ms)}#post-container :nth-child(2){animation-delay:calc(var(--content-delay) + 50ms)}#post-container :nth-child(3){animation-delay:calc(var(--content-delay) + 100ms)}#post-container :nth-child(4){animation-delay:calc(var(--content-delay) + 175ms)}#post-container :nth-child(5){animation-delay:calc(var(--content-delay) + 250ms)}#post-container :nth-child(6){animation-delay:calc(var(--content-delay) + 325ms)}@media (min-width: 768px){.post-card{flex-direction:column}.nav-links{display:flex}.search-bar{display:flex}.search-switch,.nav-menu-switch{display:none}#search-bar-inside{display:none}}@media (min-width: 1536px){.main-grid{grid-template-columns:17.5rem minmax(0, 1fr)}.toc-rail{display:block;position:absolute;top:0;left:0;width:100%;z-index:0}.toc-rail-inner{position:relative;max-width:var(--page-width);margin:0 auto}.toc-wrapper{position:absolute;top:0;right:calc(-1*var(--toc-width))}}@media (max-width: 1160px){.archive-tags{display:none}.archive-title{width:80%}}@media (max-width: 1023px){.top-row{padding:0 .75rem}.navbar{height:4rem;padding:0 .7rem;gap:.35rem}.home-button,.home-button.btn-plain.scale-animation{height:2.9rem;min-height:2.9rem;padding:0 .78rem;gap:.35rem}.home-icon{font-size:1.4rem;transform:translateY(-.02rem)}.home-text{font-size:1rem}.nav-link-item{height:2.5rem;padding:0 .82rem;font-size:.9rem}.nav-actions{gap:.12rem}.search-bar.search-focus{width:12rem}.light-dark-panel{top:2.55rem}.main-grid{grid-template-columns:1fr;margin-top:.75rem;padding:0 .75rem}#swup-container{order:1}#sidebar{order:2}.footer{order:3}.sidebar-sticky{position:static}.sidebar-widget-body{max-height:none !important}.sidebar-widget-toggle-wrap{display:none}.widget{padding:.8rem}.widget-title{margin:.05rem 0 .62rem;font-size:1.07rem}.profile-card{padding:.65rem}.profile-name{font-size:1.2rem}.profile-bio{margin-top:.5rem;font-size:.98rem}.profile-socials{gap:.4rem}.social-btn{width:2.35rem;height:2.35rem}.post-card-main.with-cover,.post-card-main.no-cover{width:100%;padding:.7rem .75rem;gap:.46rem}.post-cover-wrap,.post-enter-btn{position:static;width:auto;margin:.2rem .75rem .75rem}.post-cover-wrap{min-height:11rem}.post-enter-btn{display:none}.cover-arrow{display:none}html.touch-device .post-cover-wrap:active .post-cover{transform:scale(1) translate(0, 0)}html.touch-device .post-cover-wrap:active .cover-mask{opacity:0;background:rgba(0,0,0,0)}html.touch-device .post-cover-wrap:active .cover-arrow{opacity:0;transform:translate(-50%, -50%) scale(.75)}.post-neighbors{grid-template-columns:1fr}.archive-filter-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.search-panel{left:1rem;right:1rem;width:auto;top:4.8rem}.nav-menu-panel{top:4.7rem;right:1rem;max-width:min(14.5rem,100vw - 2rem)}.back-to-top-btn{display:none}}@media (max-width: 960px){.nav-links{display:none}.search-bar{display:none}.search-switch,.nav-menu-switch{display:inline-flex;width:2.7rem;height:2.7rem}}@media (max-width: 640px){.top-row,.main-grid{padding-left:.5rem;padding-right:.5rem}.navbar{padding:.45rem;gap:.35rem;height:3.7rem;border-radius:0 0 .9rem .9rem}.home-button{flex:0 1 auto;max-width:calc(100vw - 15rem);height:2.6rem;min-height:2.6rem;padding:0 .62rem}.home-icon{font-size:1.26rem}.home-text{font-size:.9rem}.nav-actions{gap:.08rem}#scheme-switch,.search-switch,.nav-menu-switch{width:2.5rem;height:2.5rem}.post-list{gap:.82rem}.post-card{padding:.5rem}.post-title{font-size:1.5rem;min-height:1.65rem;padding-left:.7rem}.post-title::before{width:.19rem;height:1rem}.post-card .post-meta{column-gap:.54rem;row-gap:.26rem}.meta-group{min-height:1.58rem}.meta-item{font-size:.88rem}.meta-icon{width:1.58rem;height:1.58rem;margin-right:.3rem;font-size:.92rem;border-radius:.42rem}.meta-sep{margin:0 .23rem}.post-desc{line-height:1.55;margin-bottom:.08rem}.post-tags{gap:.36rem}.post-footline{margin-top:.22rem;font-size:.84rem}.post-cover-wrap,.post-enter-btn{margin:.1rem .55rem .55rem}.post-cover-wrap{min-height:10.5rem}.post-stat{gap:.6rem;margin-bottom:.36rem}.post-stat-item .material-symbols-rounded{width:1.32rem;height:1.32rem;font-size:.88rem}.post-heading{font-size:clamp(1.95rem,8vw,2.4rem);margin:0 0 .48rem}.post-meta-detail .post-meta{margin-bottom:.42rem;row-gap:.26rem}.profile-name{font-size:1.14rem}.widget-title{font-size:1.04rem}.post-container,.section-intro,.page-about,.archive-panel{padding:.85rem}.archive-year,.archive-date{width:16%;min-width:3rem;font-size:.88rem}.archive-line-dot,.archive-line-wrap{width:12%}.archive-title{width:72%;font-size:.92rem}.search-panel{top:4.35rem;left:.5rem;right:.5rem;padding:.45rem}.search-results{max-height:min(24rem,100vh - 7rem)}.search-result-item{padding:.52rem .6rem}.search-result-excerpt{font-size:.84rem}.nav-menu-panel{top:4.3rem;right:.5rem;max-width:min(14rem,100vw - 1rem)}.light-dark-panel{top:2.6rem;right:-.2rem;min-width:10rem;padding:.5rem}.archive-filter-grid{grid-template-columns:1fr}.license-meta-grid{flex-direction:column;gap:.45rem}.pagination{gap:.45rem}.page-list{gap:.12rem;padding:0 .05rem}.page-nav-btn,.page-current,.page-ellipsis{width:2.45rem;height:2.45rem;border-radius:.6rem;font-size:.9rem}.page-nav-btn .material-symbols-rounded{font-size:1.5rem}.page-ellipsis .material-symbols-rounded{font-size:1.15rem}.footer{margin:.5rem 0 .75rem}.footer-card{padding:.78rem;gap:.3rem;font-size:.9rem}}@media (max-width: 420px){.home-text{font-size:.84rem}.post-title{font-size:1.42rem}.post-container,.section-intro,.page-about,.archive-panel{padding:.76rem}.meta-item{font-size:.86rem}.tag-link{height:1.86rem;padding:0 .62rem;font-size:.9rem}}