@charset "UTF-8";:root{--max-bezier-to-full:cubic-bezier(.5,0,1,.5);--max-bezier-to-collapse:cubic-bezier(0,.5,.5,1)}@keyframes float-in{0%{opacity:0;transform:translateY(var(--float-distance,10%))}to{opacity:1;transform:translateY(0)}}.float-in-enter-active,.float-in-leave-active{transition:all .2s}.float-in-leave-active{position:absolute!important}.float-in-enter-from,.float-in-leave-to{opacity:0;transform:translateY(var(--float-distance,10%))}.collapse-enter-active,.collapse-leave-active{overflow:hidden;overflow:clip;transition:max-height .1s}.collapse-enter-from,.collapse-leave-to{max-height:0;transition-timing-function:var(--max-bezier-to-collapse)}.collapse-enter-to,.collapse-leave-from{max-height:50vh;transition-timing-function:var(--max-bezier-to-full)}.article{line-height:1.8;margin:1rem}.article p{margin:.5em 0}.article>*,.article>p{margin:1rem 0}.article :target{animation:highlight 3s;border-radius:.2rem}@keyframes highlight{50%{background-color:var(--c-primary-soft)}}.article>:where(h1,h2,h3,h4,h5,h6){color:var(--c-text);font-family:var(--font-creative);font-weight:550;margin:1.6em 0 .8em}.article :where(menu,ol,ul):not([class]){font-size:.9rem;list-style:revert;margin:.5em 0;padding:0 0 0 1.5em}.article :where(menu,ol,ul):not([class]) :where(ol,ul){margin-top:0}.article :where(menu,ol,ul):not([class])>li{margin:.2em 0}.article :where(menu,ol,ul):not([class])>li::marker{color:var(--c-primary)}.article blockquote{background-color:var(--c-bg-2);border-left:4px solid var(--c-border);border-radius:4px;font-size:.9rem;padding:.2rem .8rem}.article blockquote>.z-codeblock{margin:0 -.8rem}.article img{max-width:100%}.article img.icon{height:1.4em;transform:translateY(-.1em);vertical-align:middle}.article img.image,.article img:not([class]){border-radius:.5rem;display:block;margin:1rem auto}.article hr{border-top:.4em dashed var(--c-border);margin:3em 0}.article strong{background:linear-gradient(var(--c-primary-soft),var(--c-primary-soft)) no-repeat bottom/100% 30%}.article del{opacity:.5}.article.md-tech>h2>a:before{color:#fff;content:"#"}.article.md-tech>:where(h2,h3,h4,h5,h6)>a:before{background-color:var(--c-primary);border-radius:.2rem;content:"";margin-right:8px;padding:0 2px;text-autospace:no-autospace}.article.md-story .title-like,.article.md-story h1,.article.md-story h2,.article.md-story h3,.article.md-story h4,.article.md-story h5,.article.md-story h6{font-family:var(--font-serif);font-weight:bolder;position:relative;text-align:center;text-wrap:balance}.article.md-story>h2:before{background-image:linear-gradient(var(--c-primary-soft),transparent);border-radius:2.5em;content:"";height:2.5em;margin:-.4em 0 0 -.7em;position:absolute;width:2.5em;z-index:-1}.article.md-story>h3:after{background-color:var(--c-primary-soft);bottom:0;content:"";height:.7em;position:absolute;width:.4em}.article.md-story :not([class])>p,.article.md-story>p{text-indent:2em}.light,:root{--hue-theme:220deg;--c-text:hsl(var(--hue-theme) 0% 0%);--c-text-1:hsl(var(--hue-theme) 0% 20%);--c-text-2:hsl(var(--hue-theme) 0% 40%);--c-text-3:hsl(var(--hue-theme) 0% 70%);--c-bg:hsl(var(--hue-theme) 0% 100%);--c-bg-1:hsl(var(--hue-theme) 20% 98%);--c-bg-2:hsl(var(--hue-theme) 10% 95%);--c-bg-3:hsl(var(--hue-theme) 10% 92%);--c-bg-soft:hsl(var(--hue-theme) 20% 20%/10%);--c-border:hsl(var(--hue-theme) 10% 91%);--c-bg-a50:hsl(var(--hue-theme) 20% 98%/50%);--c-bg-a80:hsl(var(--hue-theme) 20% 98%/80%);--c-primary:hsl(var(--hue-theme) 100% 55%);--c-primary-soft:hsl(var(--hue-theme) 100% 60%/15%);--c-accent:#52e0e0;--ld-bg-blur:var(--c-bg-1);--ld-bg-card:var(--c-bg);--ld-bg-active:var(--c-bg);--ld-shadow:var(--c-bg-soft);color-scheme:light dark}.dark{--c-text:hsl(var(--hue-theme) 0% 100%);--c-text-1:hsl(var(--hue-theme) 0% 90%);--c-text-2:hsl(var(--hue-theme) 0% 70%);--c-text-3:hsl(var(--hue-theme) 0% 50%);--c-bg:hsl(var(--hue-theme) 0% 7%);--c-bg-1:hsl(var(--hue-theme) 10% 10%);--c-bg-2:hsl(var(--hue-theme) 10% 14%);--c-bg-3:hsl(var(--hue-theme) 10% 18%);--c-bg-soft:hsl(var(--hue-theme) 100% 95%/15%);--c-border:hsl(var(--hue-theme) 10% 20%);--c-bg-a50:hsl(var(--hue-theme) 10% 10%/50%);--c-bg-a80:hsl(var(--hue-theme) 10% 10%/80%);--c-primary:hsl(var(--hue-theme) 100% 70%);--c-primary-soft:hsl(var(--hue-theme) 100% 60%/20%);--ld-bg-blur:var(--c-bg-a80);--ld-bg-card:var(--c-bg-3);--ld-bg-active:var(--c-primary-soft);--ld-shadow:var(--c-bg-a50);color-scheme:dark}:root{--start:left;--end:right;--transform-start-far:translateX(-100%);--transform-end-far:translateX(100%);background-color:var(--c-bg-1);font:1rem/1.4 sans-serif;font-family:var(--font-basic);font-synthesis:style;word-wrap:break-word;text-autospace:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;color:var(--c-text-1);font-variant-alternates:styleset(open-digits,disambiguation,round-quotes-and-commas);scroll-behavior:smooth;scroll-padding:2rem;scrollbar-color:var(--c-text-3) transparent;transition:color .1s,background-color .2s;-webkit-tap-highlight-color:var(--c-primary-soft);scrollbar-width:none;-ms-overflow-style:none}:root:dir(rtl){--start:right;--end:left;--transform-start-far:translateX(100%);--transform-end-far:translateX(-100%)}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto;transition:none}}*{border:none;margin:0;padding:0}*,:after,:before{box-sizing:border-box}::-webkit-scrollbar{display:none}::-moz-selection{background-color:var(--c-primary-soft)}::selection{background-color:var(--c-primary-soft)}a{color:currentcolor;text-decoration:none}code,pre{font-family:var(--font-monospace);text-autospace:no-autospace}menu,ol,ul{list-style:none}button{cursor:pointer}button>.iconify:only-child{display:block}button:disabled{cursor:auto}button,input,textarea{background:none;color:currentcolor;font:inherit}:where(.iconify){display:inline-block;flex-shrink:0;font-size:1.2em;vertical-align:sub}.iconify.rtl-flip:dir(rtl){transform:scaleX(-1)}.light [class^="iconify i-catppuccin:"]{filter:invert(.7) hue-rotate(180deg) saturate(4)}.i-simple-icons\:mdnwebdocs{transform:scale(.8)}img{display:inline-block;overflow:hidden;overflow:clip;transform:scale(1)}img:before{background-color:var(--c-border);color:var(--c-bg-soft);content:attr(alt);display:grid;font:700 1.5rem/1.2 var(--font-serif);inset:0;overflow:visible;padding:.5em;place-content:center;position:absolute;text-align:center;text-shadow:none;word-break:normal}.tippy-box{animation:float-in .2s;background-color:var(--ld-bg-card);border-radius:.5em;box-shadow:0 0 1rem var(--ld-shadow);color:var(--c-text-2);font-size:.8rem;line-height:1.4;padding:.3em .6em}.tippy-box[data-state=hidden]{opacity:0}.tippy-box>.tippy-svg-arrow{fill:var(--ld-bg-card)}.shiki>.line>span{font-style:var(--shiki-light-font-style)}.dark .shiki>.line>span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)}.shiki>.line>.space:before,.shiki>.line>.tab:before{display:inline-block;opacity:.3;pointer-events:none;width:0}.shiki>.line>.space+.space:before,.shiki>.line>.space:is(:first-child,:last-child):before,.shiki>.line>:not(.space)+.space:has(+.space):before{content:"·"}.shiki>.line>.tab:before{content:"⇥"}.card{background-color:var(--ld-bg-card);border-radius:.8em;box-shadow:0 .1em .2em var(--ld-shadow);display:block;margin:.6rem 0;overflow:hidden;overflow:clip;transition:all .2s}.card:hover{box-shadow:0 .5em 1em var(--ld-shadow);transform:translateY(-2px)}.gradient-card{background:no-repeat 100%/400%;background-image:linear-gradient(45deg,var(--c-primary),var(--c-primary-soft) 40%,transparent 50%);border-radius:.5rem;position:relative;transition:all .5s;z-index:0}.gradient-card:before{border-radius:calc(.5rem - 2px);content:"";inset:2px;position:absolute;transition:all 1s;z-index:-1}.gradient-card.active,.gradient-card:hover{background-position:0;color:var(--c-text-1)}.gradient-card.active:before,.gradient-card:hover:before{background-color:var(--c-bg-a80);transition:all .2s}.scrollcheck-x,.scrollcheck-y{scrollbar-width:thin}.scrollcheck-x::-webkit-scrollbar,.scrollcheck-y::-webkit-scrollbar{background-color:var(--c-bg-2);cursor:default;height:6px;width:6px}.scrollcheck-x::-webkit-scrollbar-thumb,.scrollcheck-y::-webkit-scrollbar-thumb{background-color:var(--c-bg-soft);border-radius:4px;cursor:pointer}.scrollcheck-x{--left-offset:0px;--scrollbar-height:.5rem;--fadeout-width:2rem;animation:scrollcheck-x;overflow-x:auto;animation-timeline:scroll(x self)}@keyframes scrollcheck-x{0%{-webkit-mask:linear-gradient(to right,#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask:linear-gradient(to right,#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height))}0.01%,99.99%{-webkit-mask:linear-gradient(to right,#fff var(--left-offset),transparent var(--left-offset),#fff calc(var(--left-offset) + var(--fadeout-width)),#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask:linear-gradient(to right,#fff var(--left-offset),transparent var(--left-offset),#fff calc(var(--left-offset) + var(--fadeout-width)),#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height))}to{-webkit-mask:linear-gradient(to right,#fff var(--left-offset),transparent var(--left-offset),#fff calc(var(--left-offset) + var(--fadeout-width))),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask:linear-gradient(to right,#fff var(--left-offset),transparent var(--left-offset),#fff calc(var(--left-offset) + var(--fadeout-width))),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height))}}.scrollcheck-y{--top-offset:0px;--guessed-scrollbar-width:.5rem;--fadeout-height:2rem;animation:scrollcheck-y;overflow-y:auto;animation-timeline:scroll(y self)}@keyframes scrollcheck-y{0%{-webkit-mask:linear-gradient(to bottom,#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask:linear-gradient(to bottom,#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}0.01%,99.99%{-webkit-mask:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height)),#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height)),#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}to{-webkit-mask:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height))),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height))),linear-gradient(to left,#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}}mark{animation:line-spread .5s;background:linear-gradient(var(--c-primary-soft),var(--c-primary-soft)) no-repeat 0 100%/100% .4em;color:var(--c-primary);text-decoration:none;transition:.2s}@keyframes line-spread{0%{background-size:0 .3em}}mark:hover{background-size:100% 50%}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:revert;overflow:hidden}}.widescreen-only{display:none}@media (min-width:1080px){.widescreen-only{display:revert}}.text-center{text-align:center}.text-creative,.text-tech{font-family:var(--font-creative);font-weight:550}.text-story{font-family:var(--font-serif)}.text-repeat{text-shadow:.1em 0 var(--c-bg-soft),.2em 0 var(--c-bg-soft),.3em 0 var(--c-bg-soft),.4em 0 var(--c-bg-soft),.5em 0 var(--c-bg-soft)}.text-zoom{display:inline-block;transform-origin:left bottom}@supports (animation-timeline:view()){.text-zoom{animation:zoom 1s both;animation-timeline:view()}}@keyframes zoom{0%{transform:scale(.8)}to{transform:scale(1.25)}}.f-header{container-type:inline-size;margin:2rem 1rem}.f-title{color:transparent;font-family:var(--font-stroke-free);font-size:5em;font-weight:800;line-height:1;margin-bottom:-.3em;-webkit-mask-image:linear-gradient(#fff 50%,transparent);mask-image:linear-gradient(#fff 50%,transparent);opacity:.5;position:sticky;text-align:center;top:0;transition:color .2s;z-index:-1;-webkit-text-stroke:1px var(--c-text-3)}.f-title::-moz-selection{color:var(--c-text-3)}.f-title::selection,:hover>.f-title{color:var(--c-text-3)}.f-desc{color:var(--c-text-2);text-align:center}.welcome-card{padding:1.5rem 2rem;text-align:center}.welcome-icon{color:var(--c-brand);flex-shrink:0;font-size:3rem}@media (max-width:768px){.welcome-icon{font-size:2.5rem}}.welcome-text{flex:1}.welcome-text h3{color:var(--c-text-1);font-size:1.5rem;font-weight:600;margin:0 0 1rem}@media (max-width:768px){.welcome-text h3{font-size:1.3rem}}.welcome-text p{color:var(--c-text-2);line-height:1.6;margin:0 0 1rem}.welcome-text ul{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none;margin:1rem 0;padding:0}@media (max-width:768px){.welcome-text ul{grid-template-columns:1fr}}.welcome-text li{align-items:center;color:var(--c-text-2);display:flex;font-size:.95rem;gap:.5rem}.welcome-text li svg{color:var(--c-brand);flex-shrink:0;font-size:1.1rem}.notice{align-items:center;background:var(--c-bg-mute);border-radius:8px;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:1.5rem auto 0;padding:.75rem 1rem}.notice svg{color:var(--c-brand);flex-shrink:0;font-size:1.1rem}@media (max-width:768px){.notice{flex-direction:column;gap:.25rem;text-align:center}}.loading-container,.loading-more,.no-more{align-items:center;color:var(--c-text-2);display:flex;font-size:1.1rem;gap:.75rem;justify-content:center;padding:1rem}.loading-container .loading-icon,.loading-more .loading-icon,.no-more .loading-icon{animation:spin 1s linear infinite;color:var(--c-brand);font-size:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.posts-container{margin:0 .5rem}.author-avatar{border:2px solid var(--c-border);border-radius:50%;height:48px;-o-object-fit:cover;object-fit:cover;transition:border-color .2s ease;width:48px}@media (max-width:768px){.author-avatar{height:40px;width:40px}}.extension-content{margin:1rem .5rem .5rem}.extension-content .github-card,.extension-content .website-card{align-items:center;background:var(--c-bg-2);border:1px solid var(--c-border-soft);border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem}.extension-content .github-card:hover,.extension-content .website-card:hover{background:var(--c-bg-2);border-color:var(--c-brand);box-shadow:0 4px 12px #0000001a}.extension-content .github-card .ext-icon,.extension-content .website-card .ext-icon{flex-shrink:0;font-size:2.5rem}.extension-content .github-card .ext-info,.extension-content .website-card .ext-info{flex:1;min-width:0}.extension-content .github-card .ext-info .ext-title,.extension-content .website-card .ext-info .ext-title{color:var(--c-text-1);font-size:1rem;font-weight:600;line-height:1.2;margin:0 0 .25rem}.extension-content .github-card .ext-info .ext-url,.extension-content .website-card .ext-info .ext-url{color:var(--c-text-2);font-size:.9rem;line-height:1.3;margin:0;word-break:break-all}.extension-content .website-card .website-icon{border-radius:8px;flex-shrink:0;height:48px;-o-object-fit:contain;object-fit:contain;width:48px}.extension-content .website-card .ext-icon{color:#2563eb}.extension-content .github-card .ext-icon{color:#333}@media (prefers-color-scheme:dark){.extension-content .github-card .ext-icon{color:var(--c-text-2)}}.extension-content .github-card{align-items:center;background:var(--c-bg-2);border:1px solid var(--c-border-soft);border-radius:12px;box-sizing:border-box;cursor:pointer;display:flex;gap:1rem;padding:1rem}.extension-content .github-card:hover{background:var(--c-bg-2);border-color:var(--c-brand);box-shadow:0 4px 12px #0000001a}.extension-content .github-card .github-logo{background:#fff;border:1px solid var(--c-border);border-radius:8px;flex-shrink:0;height:48px;margin-right:1rem;-o-object-fit:contain;object-fit:contain;width:48px}.extension-content .github-card .ext-info{flex:1;min-width:0}.extension-content .github-card .ext-info .ext-title{color:var(--c-text-1);font-size:1.1rem;font-weight:700;line-height:1.2;margin:0 0 .25rem}.extension-content .github-card .ext-info .ext-desc{color:var(--c-text-2);font-size:.95rem;line-height:1.3;margin:0 0 .5rem;word-break:break-all}.extension-content .github-card .ext-info .ext-meta{align-items:center;color:var(--c-text-3);display:flex;font-size:.95rem;gap:1.2em}.extension-content .github-card .ext-info .ext-meta .ext-fork,.extension-content .github-card .ext-info .ext-meta .ext-star{align-items:center;display:inline-flex;gap:.3em}.extension-content .github-card .ext-info .ext-meta .ext-fork svg,.extension-content .github-card .ext-info .ext-meta .ext-star svg{color:#ffb300;font-size:1em}.extension-content .github-card .ext-info .ext-meta .ext-fork svg{color:#8e8e8e}@media (max-width:768px){.extension-content{margin:.75rem 0 .25rem}.extension-content .github-card,.extension-content .website-card{gap:.75rem;padding:.75rem}.extension-content .github-card .ext-icon,.extension-content .website-card .ext-icon{font-size:2rem}.extension-content .github-card .ext-info .ext-title,.extension-content .website-card .ext-info .ext-title{font-size:.9rem}.extension-content .github-card .ext-info .ext-author,.extension-content .github-card .ext-info .ext-url,.extension-content .website-card .ext-info .ext-author,.extension-content .website-card .ext-info .ext-url{font-size:.8rem}}.floating-buttons{bottom:8rem;display:grid;grid-template-rows:0fr;pointer-events:none;position:fixed;right:min(2rem,5%);transition:grid-template-rows .3s ease;z-index:90}@media (min-width:1080px){.floating-buttons{bottom:3rem}}@media (min-width:768px){.floating-buttons{bottom:5.3rem}}.floating-buttons.open{grid-template-rows:1fr;pointer-events:auto}.floating-buttons>.inner{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:var(--c-bg-soft);border:1px solid var(--c-border-light);border-radius:.5rem;overflow:hidden}.floating-btn{border:0;cursor:pointer;display:block;font-size:1.4rem;padding:.5rem;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.floating-btn:hover{background:var(--c-primary);box-shadow:0 4px 12px #00000040;color:var(--c-bg)}.friend-link-form{margin:1rem}.sub-card{background-color:var(--ld-bg-card);border-radius:.8em;box-shadow:0 .1em .2em var(--ld-shadow);display:block;margin:.6rem 0;overflow:hidden;overflow:clip;transition:all .2s}.friend-form{margin-top:1.5rem;padding:2rem}.form-item{align-items:flex-start;display:flex;font-size:1rem;gap:1rem;margin-bottom:1.5rem}@media (max-width:768px){.form-item{align-items:stretch;flex-direction:column;gap:.5rem}}.form-label{color:var(--c-text-1);flex-shrink:0;font-weight:700;line-height:1.4;padding:.65rem;position:relative;text-align:center}.form-label.required:after{color:#f56565;content:"*";position:absolute;right:-.5rem;top:.75rem}.form-control{flex:1;position:relative}.form-input,.form-textarea{background-color:var(--ld-bg-card);border:1px solid var(--c-bg-soft);border-radius:.5rem;box-sizing:border-box;color:var(--c-text-1);font-size:1rem;line-height:1.4;margin-right:.65rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-input:focus,.form-textarea:focus{background-color:var(--c-bg);border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary) 20%,transparent);outline:none}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--c-text-3)}.form-input::placeholder,.form-textarea::placeholder{color:var(--c-text-3)}.form-input:hover,.form-textarea:hover{border-color:var(--c-text-3)}.form-input:invalid:not(:-moz-placeholder),.form-textarea:invalid:not(:-moz-placeholder){box-shadow:0 0 0 2px color-mix(in srgb,#f56565 20%,transparent)}.form-input:invalid:not(:placeholder-shown),.form-textarea:invalid:not(:placeholder-shown){box-shadow:0 0 0 2px color-mix(in srgb,#f56565 20%,transparent)}.form-textarea{font-family:inherit;min-height:100px;resize:vertical}.clear-btn{background:none;border:none;border-radius:.25rem;color:var(--c-text-3);cursor:pointer;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .2s ease}.clear-btn:hover{background-color:var(--c-bg-soft);color:var(--c-text-1)}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width:768px){.form-actions{align-items:stretch;flex-direction:column;justify-content:center}.form-actions .button{margin-left:0}}.button{align-items:center;background-color:var(--ld-bg-card);border:1px solid var(--c-bg-soft);border-radius:.5rem;box-shadow:0 2px .5rem var(--ld-shadow);color:var(--c-text-1);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;line-height:1.2;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.button:hover{box-shadow:0 .5em 1em var(--ld-shadow);transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.button.primary{background-color:var(--c-primary);border-color:var(--c-primary);color:#fff}.button.primary:hover:not(:disabled){background-color:color-mix(in srgb,var(--c-primary) 90%,#000)}.button .button-main{align-items:center;display:flex;gap:.5rem}.form-input:invalid:not(:-moz-placeholder),.form-textarea:invalid:not(:-moz-placeholder){border-color:#f56565}.form-input:invalid:not(:placeholder-shown),.form-textarea:invalid:not(:placeholder-shown){border-color:#f56565}.form-input:valid:not(:-moz-placeholder),.form-textarea:valid:not(:-moz-placeholder){border-color:#48bb78}.form-input:valid:not(:placeholder-shown),.form-textarea:valid:not(:placeholder-shown){border-color:#48bb78}.github-Widget{align-items:center;background-color:var(--c-bg-2);border-radius:.8rem;display:flex;padding:.5rem .8rem}.github-Widget .de{flex:1}.github-Widget .de .name{display:inline-block;position:relative}.github-Widget .de .name:after{background:var(--c-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s;width:100%}.github-Widget .img{align-items:center;display:flex;margin-left:1rem}.github-Widget .desc{opacity:.8}.github-Widget:hover .name:after{transform:scaleX(1)}:root{--font-basic:"InterVariable","Noto Sans SC-Local",ui-sans-serif,"sans-serif","Noto Sans SC",system-ui,sans-serif;--font-serif:"Noto Serif SC-Local","Noto Serif SC",serif;--font-creative:"InterVariable","Noto Sans SC-Local","Noto Sans SC",system-ui,sans-serif;--font-stroke-free:"Inter","Microsoft YaHei","MiSans",system-ui,sans-serif;--font-monospace:ui-monospace,"JetBrains Mono","Cascadia Code","Consolas","monospace",var(--font-basic),monospace}@media (max-resolution:1.2dppx){:root{--font-basic:"InterVariable",system-ui,sans-serif}}@supports (box-decoration-break:clone){@font-face{font-family:Noto Sans SC-Local;font-weight:100 900;src:local("Noto Sans SC")}@font-face{font-family:"Noto Serif SC-Local";font-weight:100 900;src:local("Noto Serif SC")}}.tippy-box[data-placement^=top]>.tippy-svg-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-svg-arrow:after,.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg{top:16px;transform:rotate(180deg)}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-placement^=left]>.tippy-svg-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-svg-arrow:after,.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg{left:11px;top:calc(50% - 3px);transform:rotate(90deg)}.tippy-box[data-placement^=right]>.tippy-svg-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-svg-arrow:after,.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg{right:11px;top:calc(50% - 3px);transform:rotate(-90deg)}.tippy-svg-arrow{height:16px;width:16px;fill:#333;text-align:initial}.tippy-svg-arrow,.tippy-svg-arrow>svg{position:absolute}.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex:1;flex:1;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{left:0;position:absolute;top:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-b329ee4c],.resize-observer[data-v-b329ee4c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.skip-link[data-v-8fdfd33d]{margin:1rem;padding:.5rem;position:fixed;text-align:center;top:-100%;width:80%;z-index:1000}.skip-link[data-v-8fdfd33d]:focus{top:auto}.zhilu-header[data-v-81e8e4f8]{align-items:center;color:var(--c-text);display:flex;gap:.5em;line-height:1.4;margin:clamp(1rem,2rem,5vh) 1rem min(1rem,5vh);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zhilu-logo[data-v-81e8e4f8]{height:3em}.zhilu-logo.circle[data-v-81e8e4f8]{border-radius:2em;box-shadow:2px 4px 1rem var(--ld-shadow);width:3em}@font-face{font-family:AlimamaFangYuanTi;src:url(../fonts/AlimamaFangYuanTi.woff2)}.header-title[data-v-81e8e4f8]{font-family:AlimamaFangYuanTi,Noto Sans SC,sans-serif;font-size:1.5em;font-synthesis:none;font-variation-settings:"wght" 600,"BEVL" 100}.header-title>.splitted-char[data-v-81e8e4f8]{animation:vf-weight-81e8e4f8 3.14s infinite alternate,vf-bevel-81e8e4f8 2.72s infinite alternate;animation-delay:var(--delay);animation-play-state:paused}.header-subtitle[data-v-81e8e4f8]{font-size:.8em;opacity:.5}@keyframes vf-weight-81e8e4f8{0%{font-weight:600}38.2%{font-weight:300}to{font-weight:900}}@keyframes vf-bevel-81e8e4f8{0%{font-variation-settings:"BEVL" 100}to{font-variation-settings:"BEVL" 1}}.emoji-tail[data-v-81e8e4f8]{align-content:center;display:grid;filter:blur(2px);font-size:4rem;grid-template-columns:repeat(auto-fit,minmax(0,1fr));inset:0;justify-items:center;opacity:.2;pointer-events:none;position:absolute;transition:opacity 1s;z-index:-2}.emoji-tail>.splitted-char[data-v-81e8e4f8]{animation:emoji-floating-81e8e4f8 5s infinite alternate;animation-delay:var(--delay);animation-play-state:paused}.zhilu-header:hover .emoji-tail[data-v-81e8e4f8]{opacity:.5}.zhilu-header:hover .splitted-char[data-v-81e8e4f8]{animation-play-state:running}@keyframes emoji-floating-81e8e4f8{50%{filter:blur(4px);transform:translate(-12px,-4px) scale(1.2)}to{filter:blur(1px);transform:translate(-4px,-12px) scale(.9)}}.theme-toggle[data-v-e7a12ec1]{background-color:var(--c-bg-2);border:1px solid var(--c-border);border-radius:1rem;display:flex;gap:3px;justify-content:center;margin:0 auto;padding:2px;width:-moz-fit-content;width:fit-content}.theme-toggle>button[data-v-e7a12ec1]{border-radius:1rem;padding:4px 1rem;transition:all .1s}.theme-toggle>button[data-v-e7a12ec1]:hover{background-color:var(--c-bg-soft);color:var(--c-text-1)}.theme-toggle>button.active[data-v-e7a12ec1]{background-color:var(--ld-bg-card);box-shadow:.1em .2em .5rem var(--ld-shadow);color:var(--c-text-1);cursor:auto}menu[data-v-915035bb]{display:flex;justify-content:center}menu a[data-v-915035bb]{border-radius:2em;padding:.5em;transition:background-color .2s}menu a[data-v-915035bb]:hover{background-color:var(--c-bg-soft)}menu a .iconify[data-v-915035bb]{display:block}#z-sidebar[data-v-38fc9e64]{color:var(--c-text-2);display:flex;flex-direction:column}#z-sidebar[data-v-38fc9e64]:hover{color:currentcolor}@media (max-width:768px){#z-sidebar[data-v-38fc9e64]{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background-color:var(--ld-bg-blur);border-radius:0 1rem 1rem 0;color:currentcolor;left:0;max-width:100%;position:fixed;transform:translate(-100%);transition:transform .2s;width:320px;z-index:100}#z-sidebar.show[data-v-38fc9e64]{box-shadow:0 0 1rem var(--ld-shadow);transform:none}}#z-sidebar-bgmask[data-v-38fc9e64]{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);inset:0;position:fixed;transition:opacity .2s;z-index:100}#z-sidebar-bgmask.v-enter-from[data-v-38fc9e64],#z-sidebar-bgmask.v-leave-to[data-v-38fc9e64]{opacity:0}@media (min-width:768px){#z-sidebar-bgmask[data-v-38fc9e64]{display:none}}.sidebar-nav[data-v-38fc9e64]{flex-grow:1;font-size:.9em;padding:0 5%}.sidebar-nav h3[data-v-38fc9e64]{color:var(--c-text-2);font:inherit;margin:2em 0 1em 1em}.sidebar-nav li[data-v-38fc9e64]{margin:.5em 0}.sidebar-nav-item[data-v-38fc9e64]{align-items:center;border-radius:.5em;display:flex;gap:.5em;padding:.5em 1em;transition:all .2s}.sidebar-nav-item.router-link-active[data-v-38fc9e64],.sidebar-nav-item[data-v-38fc9e64]:hover{background-color:var(--c-bg-soft);color:var(--c-text)}.sidebar-nav-item.router-link-active[data-v-38fc9e64]:after{color:var(--c-primary);content:"⦁";text-align:center;width:1em}.sidebar-nav-item .iconify[data-v-38fc9e64]{font-size:1.5em}.sidebar-nav-item .nav-text[data-v-38fc9e64]{flex-grow:1}.sidebar-nav-item .external-tip[data-v-38fc9e64]{font-size:1em;opacity:.5}.search-btn[data-v-38fc9e64]{cursor:text;margin:1rem 0;outline:1px solid var(--c-border);outline-offset:-1px}.search-btn[data-v-38fc9e64]:hover{background-color:transparent;outline-color:transparent}.search-btn .nav-text[data-v-38fc9e64]{opacity:.5}.search-btn .keycut[data-v-38fc9e64]{background-color:var(--c-bg-soft);border-radius:.2em;font-size:.8em;opacity:.5;padding:0 .2em}.sidebar-footer[data-v-38fc9e64]{--gap:clamp(.5rem,3vh,1rem);color:var(--c-text-2);display:grid;font-size:.8em;gap:var(--gap);padding:var(--gap);text-align:center}.z-link[data-v-3dea6575]{background:linear-gradient(var(--c-primary-soft),var(--c-primary-soft)) no-repeat bottom/100% .1em;color:var(--c-primary);margin:-.1em -.2em;padding:.1em .2em;transition:all .2s}.z-link[data-v-3dea6575]:hover{background-size:100% 100%;border-radius:.3em}.z-link .domain-icon[data-v-3dea6575]{margin-right:.1em}.z-footer[data-v-4fb3d302]{color:var(--c-text-2);font-size:.9em;margin:3rem 1rem}.z-footer .footer-nav[data-v-4fb3d302]{display:flex;justify-content:space-between;padding-block:1.5rem}.z-footer .footer-nav .footer-nav-group[data-v-4fb3d302]{flex:1;min-width:0}@media (max-width:489px){.z-footer .footer-nav[data-v-4fb3d302]{flex-direction:column;gap:2rem}.z-footer .footer-nav .footer-nav-group[data-v-4fb3d302]{flex:none;text-align:center}.z-footer .footer-nav .footer-nav-group menu[data-v-4fb3d302]{align-items:center;display:flex;flex-direction:column}}.z-footer .footer-nav h3[data-v-4fb3d302]{font:inherit;margin:.5em}.z-footer .footer-nav a[data-v-4fb3d302]{align-items:center;border-radius:.5em;display:flex;font-size:.9em;gap:.3em;padding:.3em .5em;transition:background-color .2s,color .1s;width:-moz-fit-content;width:fit-content}.z-footer .footer-nav a[data-v-4fb3d302]:hover{background-color:var(--c-bg-soft);color:var(--c-text)}.z-footer p[data-v-4fb3d302]{margin:.5em}.z-footer .footer-bottom[data-v-4fb3d302]{text-align:center}.z-footer .footer-bottom p[data-v-4fb3d302]{align-items:center;font-size:.85rem;gap:.3rem;justify-content:center;line-height:1.5;margin:.5rem 0}.z-footer .footer-bottom p[data-v-4fb3d302] .iconify{height:1em;vertical-align:middle;width:1em}.z-footer .footer-bottom p a[data-v-4fb3d302]{color:inherit;position:relative;text-decoration:none;transition:color .3s ease}.z-footer .footer-bottom p a[data-v-4fb3d302]:after{background-color:var(--c-primary);bottom:-2px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.z-footer .footer-bottom p a[data-v-4fb3d302]:hover{color:var(--c-primary)}.z-footer .footer-bottom p a[data-v-4fb3d302]:hover:after{width:100%}#z-aside[data-v-5c146ab7]{overflow:auto;padding:.5rem}@media (max-width:1080px){#z-aside[data-v-5c146ab7]{height:auto;max-height:100%;max-width:100%;position:fixed;right:0;top:0;transform:translate(100%);transition:transform .2s;width:320px;z-index:100}#z-aside[data-v-5c146ab7] .widget{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background-color:var(--ld-bg-blur);border-radius:1rem;box-shadow:0 0 1rem var(--ld-shadow);padding:.5rem}#z-aside.show[data-v-5c146ab7]{transform:none}}#z-aside-bgmask[data-v-5c146ab7]{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);inset:0;position:fixed;transition:opacity .2s;z-index:100}@media (min-width:1080px){#z-aside-bgmask[data-v-5c146ab7]{display:none}}.v-enter-from[data-v-5c146ab7],.v-leave-to[data-v-5c146ab7]{opacity:0}.v-enter-active[data-v-5c146ab7],.v-leave-active[data-v-5c146ab7]{transition:all .2s}#z-panel[data-v-e4113a1a]{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background-color:var(--c-bg-soft);border-radius:.5rem;bottom:min(2rem,5%);font-size:1.4rem;overflow:hidden;position:fixed;right:min(2rem,5%);z-index:100}@media (min-width:1080px){#z-panel[data-v-e4113a1a]{display:none}}#z-panel.has-active[data-v-e4113a1a]{box-shadow:0 0 .5rem var(--ld-shadow)}#toggle-search[data-v-e4113a1a],#toggle-sidebar[data-v-e4113a1a]{display:none}@media (max-width:768px){#toggle-search[data-v-e4113a1a],#toggle-sidebar[data-v-e4113a1a]{display:block}}button[data-v-e4113a1a]{display:block;padding:.5rem;transition:all .2s}button[data-v-e4113a1a]:hover{background-color:var(--c-primary);box-shadow:0 4px 12px #00000040;color:var(--c-bg)}button.active[data-v-e4113a1a]{background-color:var(--ld-bg-active);color:var(--c-primary)}#z-root{display:flex;gap:1rem;justify-content:center;min-width:0}aside{flex-shrink:0;height:100vh;height:100dvh;position:sticky;scrollbar-width:thin;top:0;width:280px}@media (max-width:1080px){aside{flex-shrink:.2}}#content{gap:1rem;width:1080px}#content,#content>main{display:flex;min-width:0}#content>main{flex-direction:column;flex-grow:1;min-height:100vh}#content>main .main-wrapper{display:flex;flex:1;flex-direction:column;min-height:100%}#content>main .main-wrapper .page-content{flex:1}.button[data-v-e363985c]{background-color:var(--ld-bg-card);border:1px solid var(--c-bg-soft);border-radius:.5em;box-shadow:0 2px .5em var(--ld-shadow);cursor:pointer;display:inline-block;line-height:1.2;padding:.4em .6em;transition:color .1s,background-color .2s;vertical-align:middle}.button.primary[data-v-e363985c]{background-color:var(--c-primary);color:var(--c-bg)}.button[data-v-e363985c]:hover{background-color:var(--c-bg-2);color:var(--c-text)}.button[data-v-e363985c]:active{background-color:var(--ld-shadow)}.button[data-v-e363985c]:disabled{background-color:var(--c-bg-1);color:var(--c-text-3);cursor:not-allowed}.button+.button[data-v-e363985c]{margin-left:.8em}.button-main[data-v-e363985c]{align-items:center;display:flex;gap:.2em;justify-content:center}.button-desc[data-v-e363985c]{color:var(--c-text-2);font-size:.75em;text-align:center}.z-codeblock[data-v-0d966cf0]{background-color:var(--c-bg-2);border-radius:.5em;font-size:.8125rem;line-height:1.4;overflow:clip;position:relative}.z-codeblock.collapsed pre[data-v-0d966cf0]{animation:none;-webkit-mask-image:linear-gradient(0deg,transparent 2rem,#fff 4rem);mask-image:linear-gradient(0deg,transparent 2rem,#fff 4rem);max-height:var(--collapsible-height);overflow:hidden}.z-codeblock.collapsed .toggle-btn[data-v-0d966cf0]{margin:.5em}.z-codeblock.collapsible pre[data-v-0d966cf0]{padding-bottom:2rem}figcaption[data-v-0d966cf0]{display:flex;gap:1em;justify-content:space-between;padding:0 1em;position:sticky;top:0;z-index:2}figcaption>.filename[data-v-0d966cf0]{background-color:var(--c-border);border-radius:0 0 .5em .5em;padding:.2em .8em;word-break:break-all}figcaption>.language[data-v-0d966cf0]{height:0;opacity:.4;transform:translateY(.2em)}figcaption>.operations[data-v-0d966cf0]{background-color:var(--c-bg-2);border-bottom-left-radius:.5em;opacity:0;padding:0 .6em;position:absolute;right:0;top:0;transition:opacity .2s}:hover>figcaption>.operations[data-v-0d966cf0]{opacity:1}figcaption>.operations>button[data-v-0d966cf0]{opacity:.4;padding:.2em .4em;transition:opacity .2s}figcaption>.operations>button[data-v-0d966cf0]:hover{opacity:1}pre[data-v-0d966cf0]{--left-offset:4em;overflow:auto;padding:1rem;padding-left:var(--left-offset)}pre.wrap[data-v-0d966cf0]{white-space:pre-wrap}[data-v-0d966cf0] .line:before{background-color:var(--c-bg-2);color:var(--c-text-3);content:attr(data-line);left:0;padding-right:1em;position:absolute;text-align:right;width:var(--left-offset);z-index:1}[data-v-0d966cf0] .line.highlight{background-color:var(--ld-bg-active);outline:.2em solid var(--ld-bg-active)}[data-v-0d966cf0] .line.highlight:before{color:inherit}.toggle-btn[data-v-0d966cf0]{background-color:var(--c-bg-3);border-radius:.5em;color:var(--c-text-2);inset:auto 0 0;margin:.8em;padding:.2em;position:absolute;text-align:center}.toggle-icon[data-v-0d966cf0]{transition:all .2s}.toggle-icon.is-collapsed[data-v-0d966cf0]{transform:rotate(180deg)}:hover>.toggle-icon[data-v-0d966cf0]{opacity:0}.toggle-tip[data-v-0d966cf0]{inset:auto 0;opacity:0;position:absolute;transition:opacity .2s}:hover>.toggle-tip[data-v-0d966cf0]{opacity:1}.error[data-v-5952d22a]{align-items:center;display:flex;flex-direction:column;gap:2rem;justify-content:center;margin-top:15rem}.error>.error-icon[data-v-5952d22a]{color:var(--c-text-3);font-size:5rem}.error>.error-title[data-v-5952d22a]{color:var(--c-text-3);font-size:1.5rem;word-break:break-all}.error>.error-title[data-v-5952d22a]>pre{font-size:1rem;white-space:pre-wrap}.error>.z-codeblock[data-v-5952d22a]{max-width:100%}.error>.z-codeblock[data-v-5952d22a] .shiki{background-color:transparent!important}.app-error[data-v-6f697be5]{margin:1rem}.app-error pre[data-v-6f697be5]{text-align:left}.app-error .error-stack[data-v-6f697be5]{font-size:.9em;white-space:pre-wrap}
