@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 var(--delay)!important}.float-in-enter-from,.float-in-leave-to{opacity:0;transform:translateY(var(--float-distance,10%))}.float-in-move{transition:transform var(--delay)!important}.collapse-enter-active,.collapse-leave-active{contain:paint;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{margin:1rem;line-height:1.8;-moz-user-select:none;user-select:none;-webkit-user-select:none;position:relative}.article:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iMTgwIj48dGV4dCB4PSIyMDAiIHk9IjkwIiBmaWxsPSJyZ2JhKDEyOCwxMjgsMTI4LDAuMTUpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNSIgZm9udC13ZWlnaHQ9ImJvbGQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHRyYW5zZm9ybT0icm90YXRlKC0yMiAyMDAgOTApIj7lvKDplKbmtLIgfCB6ano5NDY2NDkudG9wPC90ZXh0Pjwvc3ZnPg==) repeat;background-size:400px 180px}.article p{margin:.5em 0}.article>*,.article>p{margin:1rem 0}.article :target{border-radius:.2rem;animation:highlight 3s}@keyframes highlight{50%{background-color:var(--c-primary-soft)}}.article>:where(h1,h2,h3,h4,h5,h6){margin:1.6em 0 .8em;font-family:var(--font-creative);font-weight:550;color:var(--c-text)}.article :where(menu,ol,ul):not([class]){margin:.5em 0;padding-inline-start:1.5em;font-size:.9rem}.article :where(menu,ol,ul):not([class]),.article :where(menu,ol,ul):not([class]) ol ol ol{list-style:revert}.article :where(menu,ol,ul):not([class]) ol,.article :where(menu,ol,ul):not([class]) ol ol ol ol{list-style-type:lower-alpha}.article :where(menu,ol,ul):not([class]) ol ol,.article :where(menu,ol,ul):not([class]) ol ol ol ol ol{list-style-type:lower-roman}.article :where(menu,ol,ul):not([class]) ol,.article :where(menu,ol,ul):not([class]) 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{padding:.2rem .8rem;border-inline-start:4px solid var(--c-border);border-radius:4px;background-color:var(--c-bg-2);font-size:.9rem}.article blockquote>.z-codeblock{margin:0 -.8rem}.article img{height:auto;max-width:100%}.article img.icon{height:1.4em;vertical-align:middle;transform:translateY(-.1em)}.article img.image,.article img:not([class]){display:block;margin:1rem auto;border-radius:.5rem}.article hr{margin:3em 0;border-top:.4em dashed var(--c-border)}.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{content:"#";color:#fff}.article.md-tech>:where(h2,h3,h4,h5,h6)>a:before{content:"";margin-inline-end:.5em;padding:0 2px;border-radius:.2rem;background-color:var(--c-primary);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{position:relative;font-family:var(--font-serif);font-weight:bolder;text-align:center;text-wrap:balance}.article.md-story>h2:before{content:"";position:absolute;width:2.5em;height:2.5em;margin:-.4em 0 0 -.7em;border-radius:50%;background-image:linear-gradient(var(--c-primary-soft),transparent);z-index:-1}.article.md-story>h3:after{content:"";position:absolute;bottom:0;width:.4em;height:.7em;background-color:var(--c-primary-soft)}.article.md-story :not([class])>p,.article.md-story>p{text-indent:2em}.article.md-story :not([class])>p>[class],.article.md-story>p>[class]{text-indent:0}#bg-video-dark,#bg-video-light{position:fixed;inset:0;z-index:-1;overflow:hidden}#bg-video-dark video,#bg-video-light video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}#bg-video-dark:after,#bg-video-light:after{content:"";position:absolute;inset:0}#bg-video-dark:after{background:linear-gradient(135deg,#0a0c0fe6,#101318cc 50%,#0a0c0fe6)}#bg-video-light:after{background:linear-gradient(135deg,#e8eee8d9,#dfe4ddcc 50%,#e8eee8d9)}.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%/88%);--c-bg-1:hsl(var(--hue-theme) 20% 98%/82%);--c-bg-2:hsl(var(--hue-theme) 10% 95%/85%);--c-bg-3:hsl(var(--hue-theme) 10% 92%/88%);--c-bg-soft:hsl(var(--hue-theme) 20% 20%/8%);--c-border:hsl(var(--hue-theme) 10% 91%/70%);--c-bg-a50:hsl(var(--hue-theme) 20% 98%/40%);--c-bg-a80:hsl(var(--hue-theme) 20% 98%/65%);--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);--c-success:#5a5;--c-success-soft:#3f32;--c-warning:#d85;--c-warning-soft:#f932;--c-error:#d55;--c-error-soft:#f332;color-scheme:only light}.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%/75%);--c-bg-1:hsl(var(--hue-theme) 10% 10%/70%);--c-bg-2:hsl(var(--hue-theme) 10% 14%/75%);--c-bg-3:hsl(var(--hue-theme) 10% 18%/80%);--c-bg-soft:hsl(var(--hue-theme) 100% 95%/12%);--c-border:hsl(var(--hue-theme) 10% 25%/60%);--c-bg-a50:hsl(var(--hue-theme) 10% 10%/40%);--c-bg-a80:hsl(var(--hue-theme) 10% 10%/65%);--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{--font-basic:"InterVariable","sans-serif","Noto Sans SC",sans-serif;--font-serif:"Noto Serif SC-Local","Noto Serif SC",serif;--font-creative:"DOUYINSANSBOLD-GB","InterVariable",sans-serif;--font-stroke-free:"DOUYINSANSBOLD-GB","Inter","Lantinghei SC","Microsoft YaHei",sans-serif;--font-monospace:"JetBrains Mono","monospace","Cascadia Code","Consolas","Monaco",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 Serif SC-Local";font-weight:100 900;src:local("Noto Serif SC")}}:root{--start:left;--end:right;--transform-start-far:translateX(-100%);--transform-end-far:translateX(100%);--delay:.2s;--z-index-popover:100;--text-shadow-black:0 .1em .1em #0003,0 .1em .2em #0003;--box-shadow-1:0 .1em .2em var(--ld-shadow);--box-shadow-2:0 .2em .5em var(--ld-shadow);--box-shadow-3:0 .5em 1em var(--ld-shadow);overflow-wrap:break-word;background-color:var(--c-bg-1);font-family:sans-serif;font-family:var(--font-basic);font-synthesis:style;line-height:1.4;text-autospace:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;color:var(--c-text-1);transition:color .1s,background-color .2s;scroll-behavior:smooth;scroll-padding:2rem;scrollbar-color:var(--c-text-3) transparent;font-variant-alternates:styleset(open-digits,disambiguation,round-quotes-and-commas);-webkit-tap-highlight-color:var(--c-primary-soft)}:root:dir(rtl){--start:right;--end:left;--transform-start-far:translateX(100%);--transform-end-far:translateX(-100%)}@media(prefers-reduced-motion:reduce){:root{transition:none;scroll-behavior:auto}}*{margin:0;padding:0;border:none}*,:after,:before{box-sizing:border-box}::-moz-selection{background-color:var(--c-primary-soft)}::selection{background-color:var(--c-primary-soft)}a{text-decoration:none;color:currentcolor}code,pre{font-family:var(--font-monospace);text-autospace:no-autospace}menu,ol,ul{list-style:none}mark{background-color:var(--c-primary-soft);color:var(--c-primary)}button{cursor:pointer}button>.iconify:only-child{display:block}button:disabled{cursor:auto}button,input,textarea{background:none;font:inherit;color:currentcolor}:where(.iconify){display:inline-block;flex-shrink:0;font-size:1.2em;vertical-align:sub}.rtl-flip:dir(rtl){transform:scaleX(-1)}.light .iconify[class*="i-catppuccin:"]{filter:invert(.7) hue-rotate(180deg) saturate(4)}.i-simple-icons\:mdnwebdocs{transform:scale(.8)}img{contain:paint;display:inline-block}img:before{all:initial;content:attr(alt);display:grid;place-content:center;position:absolute;inset:0;padding:.5em;background-color:var(--c-border);font:700 1.5rem/1.2 var(--font-serif);text-align:center;color:var(--c-bg-soft);cursor:inherit}.katex-display{overflow:auto hidden;padding:1px 0;scrollbar-width:thin}.bikariya-overlay{position:fixed;inset:0;background-color:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bikariya-overlay.v-enter-from,.bikariya-overlay.v-leave-to{opacity:0}.bikariya-overlay.v-enter-active,.bikariya-overlay.v-leave-active{transition:all var(--delay)}.tippy-box{padding:.3em .6em;border-radius:.5em;box-shadow:var(--box-shadow-3);background-color:var(--ld-bg-card);font-size:.8rem;line-height:1.4;color:var(--c-text-2);animation:float-in .2s}.tippy-box[data-state=hidden]{opacity:0}.tippy-box>.tippy-svg-arrow{fill:var(--ld-bg-card);pointer-events:none}.shiki>.line>span,.shiki>span[style]{font-style:var(--shiki-light-font-style)}.dark .shiki>.line>span,.dark .shiki>span[style]{background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style);color:var(--shiki-dark)!important}.shiki>.line .indent{display:inline-block;position:relative;left:var(--indent-offset)}.shiki>.line .indent:empty{height:1.4em;height:1lh;vertical-align:bottom}.shiki>.line .indent:before{content:"";position:absolute;opacity:.15;height:100%;border-inline-start:1px solid currentcolor;background-color:currentcolor;pointer-events:none}.shiki>.line>.space:before,.shiki>.line>.tab:before{display:inline-block;opacity:.3;width:0;pointer-events:none}.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{contain:paint;display:block;border-radius:.5em;box-shadow:var(--box-shadow-1);background-color:var(--ld-bg-card);transition:all .2s}.card.upraise:hover{box-shadow:var(--box-shadow-3);transform:translateY(-2px)}.gradient-card{position:relative;border-radius:.5rem;z-index:0}.gradient-card:before{content:"";position:absolute;opacity:0;inset:0;border:2px solid transparent;border-radius:inherit;background:linear-gradient(var(--c-bg-a80),var(--c-bg-a80)) padding-box,linear-gradient(45deg,var(--c-accent),var(--c-primary-soft)) border-box;transition:opacity .2s;z-index:-1}.gradient-card.active,.gradient-card:focus,.gradient-card:hover{color:var(--c-text-1)}.gradient-card.active:before,.gradient-card:focus:before,.gradient-card:hover:before{opacity:1}.scrollbar-hidden.scrollbar-hidden{--scrollbar-height:0px;--guessed-scrollbar-width:0px;scrollbar-width:none}.scrollbar-hidden.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollcheck-x,.scrollcheck-y{scrollbar-width:thin}.scrollcheck-x::-webkit-scrollbar,.scrollcheck-y::-webkit-scrollbar{width:6px;height:6px;background-color:var(--c-bg-2);cursor:default}.scrollcheck-x::-webkit-scrollbar-thumb,.scrollcheck-y::-webkit-scrollbar-thumb{border-radius:4px;background-color:var(--c-bg-soft);cursor:pointer}.scrollcheck-x{--start-offset:0px;--scrollbar-height:8px;--fadeout-width:2em;overflow-x:auto;animation:scrollcheck-x;animation-timeline:scroll(x self)}@keyframes scrollcheck-x{0%{-webkit-mask-image:linear-gradient(to var(--end),#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask-image:linear-gradient(to var(--end),#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-image:linear-gradient(to var(--end),#fff var(--start-offset),transparent var(--start-offset),#fff calc(var(--start-offset) + var(--fadeout-width)),#fff calc(100% - var(--fadeout-width)),transparent),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask-image:linear-gradient(to var(--end),#fff var(--start-offset),transparent var(--start-offset),#fff calc(var(--start-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-image:linear-gradient(to var(--end),#fff var(--start-offset),transparent var(--start-offset),#fff calc(var(--start-offset) + var(--fadeout-width))),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height));mask-image:linear-gradient(to var(--end),#fff var(--start-offset),transparent var(--start-offset),#fff calc(var(--start-offset) + var(--fadeout-width))),linear-gradient(to top,#fff var(--scrollbar-height),transparent var(--scrollbar-height))}}.scrollcheck-y{--top-offset:0px;--guessed-scrollbar-width:8px;--fadeout-height:2em;overflow-y:auto;animation:scrollcheck-y;animation-timeline:scroll(y self)}@keyframes scrollcheck-y{0%{-webkit-mask-image:linear-gradient(to bottom,#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask-image:linear-gradient(to bottom,#fff calc(100% - var(--fadeout-height)),transparent),linear-gradient(to var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}0.01%,99.99%{-webkit-mask-image: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 var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask-image: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 var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}to{-webkit-mask-image:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height))),linear-gradient(to var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width));mask-image:linear-gradient(to bottom,#fff var(--top-offset),transparent var(--top-offset),#fff calc(var(--top-offset) + var(--fadeout-height))),linear-gradient(to var(--start),#fff var(--guessed-scrollbar-width),transparent var(--guessed-scrollbar-width))}}@media not (max-width:528px){.phone-only{display:none!important}}@media(max-width:528px){.phone-hidden{display:none!important}}@media not (max-width:768px){.mobile-only{display:none!important}}@media(max-width:768px){.mobile-hidden{display:none!important}}@media not (max-width:1080px){.widescreen-only{display:none!important}}@media(max-width:1080px){.widescreen-hidden{display:none!important}}.proper-height{min-height:70vh}.round-cobblestone{corner-shape:superellipse(1.2)}.text-center{text-align:center}.text-creative,.text-tech{font-family:var(--font-creative);font-weight:550;-webkit-font-smoothing:antialiased}.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)}}.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{transform:rotate(90deg);top:calc(50% - 3px);left:11px}.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{transform:rotate(-90deg);top:calc(50% - 3px);right:11px}.tippy-svg-arrow{width:16px;height:16px;fill:#333;text-align:initial}.tippy-svg-arrow,.tippy-svg-arrow>svg{position:absolute}
