.article_content__ZZqbc{width:calc(100% - var(--size-aside-gap) - var(--size-aside-width));padding:2rem;border-radius:.5rem;box-sizing:border-box;line-height:1.9}.article_content__ZZqbc h2{border-left:.25rem solid var(--color-accent-primary);padding-left:1rem}.light .article_content__ZZqbc h3{border-bottom:1px solid var(--color-gray-300)}.dark .article_content__ZZqbc h3{border-bottom:1px solid var(--color-gray-500)}.article_content__ZZqbc svg *{line-height:1}@media (max-width:1024px){.article_content__ZZqbc{width:100%;padding:1rem}}.light .article_content__ZZqbc{background-color:var(--color-gray-50)}.dark .article_content__ZZqbc{background-color:var(--color-gray-700)}.article_content__ZZqbc a{color:var(--color-accent-primary);text-decoration:none;font-weight:700;margin:0 .25rem;word-break:break-word}.article_content__ZZqbc>:first-child{margin-top:0}.article_content__ZZqbc pre{padding:1em;margin:0;overflow:auto;border-radius:.5rem;box-sizing:border-box;box-shadow:0 .125rem .125rem rgba(0,0,0,.125);background:var(--color-gray-800);width:100%}.article_content__ZZqbc pre code{font-size:14px;color:#abb2bf;text-shadow:0 1px rgba(0,0,0,.3);font-family:Fira Code,Fira Mono,Menlo,Consolas,DejaVu Sans Mono,monospace;background:none;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;hyphens:none;width:calc(100% - 3px)}.article_content__ZZqbc :not(pre)>code{padding:.25rem;margin:0 .25rem;border-radius:.25rem;white-space:normal;font-size:1rem}.light .article_content__ZZqbc :not(pre)>code{background:var(--color-gray-200)}.dark .article_content__ZZqbc :not(pre)>code{background:var(--color-gray-800)}.article_content__ZZqbc details{margin:1rem 0;border-radius:.5rem;overflow:hidden;border:1px solid var(--details-border-color)}.light .article_content__ZZqbc details{--details-border-color:var(--color-gray-300)}.dark .article_content__ZZqbc details{--details-border-color:var(--color-gray-600)}.article_content__ZZqbc details>summary{cursor:pointer;padding:.5rem 1rem}.article_content__ZZqbc details>summary+div{border-top:1px solid var(--details-border-color);padding:1rem;box-sizing:border-box}.article_content__ZZqbc blockquote{margin:1rem 0;padding:1rem;border-radius:.25rem;border-left:.25rem solid var(--color-accent-primary)}.light .article_content__ZZqbc blockquote{background-color:var(--color-gray-100)}.dark .article_content__ZZqbc blockquote{background-color:var(--color-gray-600)}.article_content__ZZqbc blockquote>:first-child{margin:0}.article_content__ZZqbc table{width:100%;border-collapse:collapse;border-spacing:0;overflow:auto;margin:1rem 0;display:block}.article_content__ZZqbc table td,.article_content__ZZqbc table th{padding:.5rem 1rem;border-width:1px;border-style:solid}.light .article_content__ZZqbc table td,.light .article_content__ZZqbc table th{border-color:var(--color-gray-200)}.dark .article_content__ZZqbc table td,.dark .article_content__ZZqbc table th{border-color:var(--color-gray-600)}.light .article_content__ZZqbc table th{background-color:var(--color-gray-200)}.dark .article_content__ZZqbc table th{background-color:var(--color-gray-600)}.article_content__ZZqbc .katex-html{overflow-x:auto;overflow-y:hidden}.article_content__ZZqbc ::-webkit-scrollbar{width:8px;height:8px}.article_content__ZZqbc ::-webkit-scrollbar-track{background:transparent}.article_content__ZZqbc ::-webkit-scrollbar-thumb{border:2px solid transparent;box-shadow:inset 0 0 0 10px var(--color-gray-500);border-radius:999px}.article_content__ZZqbc .remark-code-container{margin:1rem 0;display:flex;flex-direction:column;justify-content:center;align-items:center}.article_content__ZZqbc svg[id^=mermaid-]{background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:.5rem;text-align:center}svg[id^=mermaid-] g foreignObject{overflow:visible;font-size:15px}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-]{padding:.2em .3em;border-radius:.3em;white-space:normal}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}.token.cdata,.token.comment,.token.prolog{color:#5c6370}.token.doctype,.token.entity,.token.punctuation{color:#abb2bf}.token.atrule,.token.attr-name,.token.boolean,.token.class-name,.token.constant,.token.number{color:#d19a66}.token.keyword{color:#c678dd}.token.deleted,.token.important,.token.property,.token.symbol,.token.tag{color:#e06c75}.token.attr-value,.token.attr-value>.token.punctuation,.token.builtin,.token.char,.token.inserted,.token.regex,.token.selector,.token.string{color:#98c379}.token.function,.token.operator,.token.variable{color:#61afef}.token.url{color:#56b6c2}.token.attr-value>.token.punctuation.attr-equals,.token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}.language-css .token.selector{color:#e06c75}.language-css .token.property{color:#abb2bf}.language-css .token.function,.language-css .token.url>.token.function{color:#56b6c2}.language-css .token.url>.token.string.url{color:#98c379}.language-css .token.atrule .token.rule,.language-css .token.important,.language-javascript .token.operator{color:#c678dd}.language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}.language-json .token.operator{color:#abb2bf}.language-json .token.null.keyword{color:#d19a66}.language-markdown .token.url,.language-markdown .token.url-reference.url>.token.string,.language-markdown .token.url>.token.operator{color:#abb2bf}.language-markdown .token.url>.token.content{color:#61afef}.language-markdown .token.url-reference.url,.language-markdown .token.url>.token.url{color:#56b6c2}.language-markdown .token.blockquote.punctuation,.language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}.language-markdown .token.code-snippet{color:#98c379}.language-markdown .token.bold .token.content{color:#d19a66}.language-markdown .token.italic .token.content{color:#c678dd}.language-markdown .token.list.punctuation,.language-markdown .token.strike .token.content,.language-markdown .token.strike .token.punctuation,.language-markdown .token.title.important>.token.punctuation{color:#e06c75}.token.bold{font-weight:700}.token.comment,.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.8}.token.token.cr:before,.token.token.lf:before,.token.token.space:before,.token.token.tab:not(:empty):before{color:rgba(171,178,191,.15);text-shadow:none}div.code-toolbar>.toolbar.toolbar>.toolbar-item{margin-right:.4em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span{background:#3a3f4b;color:#828997;padding:.1em .4em;border-radius:.3em}div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar.toolbar>.toolbar-item>span:hover{background:#3e4451;color:#abb2bf}.line-highlight.line-highlight{background:rgba(153,187,255,.04)}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background:#3a3f4b;color:#abb2bf;padding:.1em .6em;border-radius:.3em;box-shadow:0 2px 0 0 rgba(0,0,0,.2)}pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(153,187,255,.04)}.command-line .command-line-prompt,.line-numbers.line-numbers .line-numbers-rows{border-right-color:rgba(171,178,191,.15)}.command-line .command-line-prompt>span:before,.line-numbers .line-numbers-rows>span:before{color:#636d83}.rainbow-braces .token.token.punctuation.brace-level-1,.rainbow-braces .token.token.punctuation.brace-level-5,.rainbow-braces .token.token.punctuation.brace-level-9{color:#e06c75}.rainbow-braces .token.token.punctuation.brace-level-10,.rainbow-braces .token.token.punctuation.brace-level-2,.rainbow-braces .token.token.punctuation.brace-level-6{color:#98c379}.rainbow-braces .token.token.punctuation.brace-level-11,.rainbow-braces .token.token.punctuation.brace-level-3,.rainbow-braces .token.token.punctuation.brace-level-7{color:#61afef}.rainbow-braces .token.token.punctuation.brace-level-12,.rainbow-braces .token.token.punctuation.brace-level-4,.rainbow-braces .token.token.punctuation.brace-level-8{color:#c678dd}pre.diff-highlight>code .token.token.deleted:not(.prefix),pre>code.diff-highlight .token.token.deleted:not(.prefix){background-color:rgba(255,82,102,.15)}pre.diff-highlight>code .token.token.deleted:not(.prefix) ::selection,pre.diff-highlight>code .token.token.deleted:not(.prefix)::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix) ::selection,pre>code.diff-highlight .token.token.deleted:not(.prefix)::selection{background-color:rgba(251,86,105,.25)}pre.diff-highlight>code .token.token.inserted:not(.prefix),pre>code.diff-highlight .token.token.inserted:not(.prefix){background-color:rgba(25,255,91,.15)}pre.diff-highlight>code .token.token.inserted:not(.prefix) ::selection,pre.diff-highlight>code .token.token.inserted:not(.prefix)::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix) ::selection,pre>code.diff-highlight .token.token.inserted:not(.prefix)::selection{background-color:rgba(56,224,98,.25)}.prism-previewer-gradient.prism-previewer-gradient div,.prism-previewer.prism-previewer:before{border-color:#262931}.prism-previewer-color.prism-previewer-color:before,.prism-previewer-easing.prism-previewer-easing:before,.prism-previewer-gradient.prism-previewer-gradient div{border-radius:.3em}.prism-previewer.prism-previewer:after{border-top-color:#262931}.prism-previewer-flipped.prism-previewer-flipped.after{border-bottom-color:#262931}.prism-previewer-angle.prism-previewer-angle:before,.prism-previewer-easing.prism-previewer-easing,.prism-previewer-time.prism-previewer-time:before{background:#31363f}.prism-previewer-angle.prism-previewer-angle circle,.prism-previewer-time.prism-previewer-time circle{stroke:#abb2bf;stroke-opacity:1}.prism-previewer-easing.prism-previewer-easing circle,.prism-previewer-easing.prism-previewer-easing line,.prism-previewer-easing.prism-previewer-easing path{stroke:#abb2bf}.prism-previewer-easing.prism-previewer-easing circle{fill:transparent}pre{overflow-x:auto}.code-highlight{float:left}.code-line{display:block;padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px;border-left:4px solid transparent}.code-line.inserted{background-color:rgba(16,185,129,.2)}.code-line.deleted{background-color:rgba(239,68,68,.2)}.highlight-line{margin-left:-16px;margin-right:-16px;background-color:rgba(55,65,81,.5);border-left:5px solid #3b82f6}.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;margin-left:-8px;color:#9ca3af;content:attr(line)}.page_heroContainer__y7w4b{display:flex;align-items:center;justify-content:center;padding:0 2rem 2rem;filter:drop-shadow(0 .125rem .125rem rgba(0,0,0,.125))}.page_heroLeft__mF2Fb{width:100%;max-width:50rem}.page_title___lflq{font-size:2rem;font-weight:700}.page_description__NCRBz,.page_title___lflq{line-height:1.5;margin:0 0 1rem;color:var(--color-gray-50)}.page_description__NCRBz{font-size:1.25rem;font-weight:400}.page_heroRight__3cvBC{width:100%;max-width:15rem;padding:0 auto}.page_container__BF96o{--size-article-horizontal-padding:1rem;display:flex;width:calc(100% - var(--size-article-horizontal-padding) * 2);max-width:var(--size-content-max-width);margin:1rem auto;padding:0 var(--size-article-horizontal-padding);gap:var(--size-aside-gap)}.page_aside__xDO_x{width:var(--size-aside-width);flex-shrink:0}@media (max-width:1024px){.page_heroContainer__y7w4b{flex-direction:column}.page_title___lflq{font-size:1.5rem}.page_description__NCRBz{font-size:1rem}.page_heroRight__3cvBC{max-width:100%;margin-top:1rem}.page_container__BF96o{--size-article-horizontal-padding:0;flex-direction:column;margin:1rem auto}.page_aside__xDO_x{position:fixed;bottom:1rem;right:1rem;width:-moz-fit-content;width:fit-content;z-index:var(--z-index-hero);filter:drop-shadow(0 .125rem .125rem rgba(0,0,0,.125))}.page_toc__MFpR9{display:none}}.page_stickies___UQ8s{position:-webkit-sticky;position:sticky;top:calc(var(--size-sticky-header-vertical-margin) * 2 + var(--size-sticky-header-height));width:100%}.page_toc__MFpR9{--toc-margin-bottom:1rem;box-sizing:border-box;padding:2rem;border-radius:.5rem;margin-bottom:var(--toc-margin-bottom);height:-moz-fit-content;height:fit-content;max-height:calc(100dvh - var(--size-sticky-header-vertical-margin) * 2 - var(--size-sticky-header-height) - var(--icon-button-size) - var(--toc-margin-bottom) * 2);overflow-y:auto}.light .page_toc__MFpR9{background-color:var(--color-gray-50)}.dark .page_toc__MFpR9{background-color:var(--color-gray-700)}.author-list_authorList__ykhiF{display:flex;flex-direction:column;gap:1rem;padding:0;margin:0 auto;list-style:none;width:-moz-fit-content;width:fit-content}.author-list_authorItem__09sR5{display:contents}.author-list_author__QnyGv{display:flex;align-items:center;gap:1rem;text-decoration:none}.author-list_authorImage__86Ge0{border-radius:50%}.author-list_authorName__E4hZK{font-size:1.25rem;font-weight:500;color:var(--color-gray-50)}.author-list_moreButton__mqNOe{text-align:center;margin:1rem auto auto;display:flex;align-items:center;border:none;background:none;color:var(--color-gray-50);font-size:1rem;padding:.25rem .5rem;cursor:pointer;border-radius:.25rem}@media (hover:hover){.author-list_moreButton__mqNOe:hover{background:hsla(0,0%,100%,.25)}}@media (max-width:1024px){.author-list_authorList__ykhiF{flex-direction:row;flex-wrap:wrap;justify-content:center}.author-list_authorImage__86Ge0{width:3rem;height:3rem}}@media (max-width:768px){.author-list_authorImage__86Ge0{width:2.5rem;height:2.5rem}.author-list_author__QnyGv{gap:.5rem}.author-list_authorName__E4hZK{font-size:1rem}}.icon-button_iconButton__q2NsZ{border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;height:var(--icon-button-size);width:var(--icon-button-size);position:relative}@media (hover:hover){.icon-button_iconButton__q2NsZ:hover{opacity:.8}.icon-button_iconButton__q2NsZ:hover:after{display:block;content:attr(aria-label);background-color:var(--color-gray-700);color:var(--color-gray-50);font-size:.625rem;padding:.25rem .5rem;border-radius:.25rem;position:absolute;bottom:calc(100% + .5rem);white-space:nowrap;left:50%;transform:translateX(-50%);z-index:1}.dark .icon-button_iconButton__q2NsZ:hover:after{background-color:var(--color-gray-50);color:var(--color-gray-700)}}.dark .icon-button_iconButton__q2NsZ{background-color:var(--color-gray-700)}.light .icon-button_iconButton__q2NsZ{background-color:var(--color-gray-50)}@media (max-width:1024px){.dark .icon-button_iconButton__q2NsZ{background-color:var(--color-gray-600)}.light .icon-button_iconButton__q2NsZ{background-color:var(--color-gray-100)}}.theme-switch_sun__JZ_C5{color:var(--color-gray-50);display:none}.dark .theme-switch_sun__JZ_C5{display:block;width:1.25rem;height:1.25rem}.theme-switch_moon__b7fLR{color:var(--color-gray-700);display:none}.light .theme-switch_moon__b7fLR{display:block;width:1.25rem;height:1.25rem}.button-list_buttonList__7FB18{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}@media (max-width:1024px){.button-list_buttonList__7FB18{flex-direction:column}}.button-list_githubIcon__mskBJ{display:block;width:1.25rem;height:1.25rem}.dark .button-list_githubIcon__mskBJ{color:var(--color-gray-50)}.light .button-list_githubIcon__mskBJ{color:var(--color-gray-700)}.link-card_container__5G7ia{width:100%;display:flex;height:8rem;align-items:center;text-decoration:none;box-sizing:border-box;border-radius:.5rem;overflow:hidden}.dark .link-card_container__5G7ia{background-color:var(--color-gray-700);border:2px solid var(--color-gray-600)}.light .link-card_container__5G7ia{background-color:var(--color-gray-50);border:2px solid var(--color-gray-200)}p:has(>.link-card_container__5G7ia){margin:1rem 0}.link-card_content__u26gT{padding:0 1rem;flex-grow:1}.link-card_title__HW3jO{width:100%;font-size:1rem;line-height:1.5rem;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.dark .link-card_title__HW3jO{color:var(--color-gray-50)}.light .link-card_title__HW3jO{color:var(--color-gray-900)}.link-card_description__hW4sa{width:100%;font-size:.875rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;font-weight:400}.dark .link-card_description__hW4sa{color:var(--color-gray-400)}.light .link-card_description__hW4sa{color:var(--color-gray-600)}.link-card_domain__8x9_A{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-tertiary);word-break:break-all;font-weight:400}.dark .link-card_domain__8x9_A{color:var(--color-gray-200)}.light .link-card_domain__8x9_A{color:var(--color-gray-600)}.link-card_icon__KPit2{background:#fff;padding:2px;border-radius:2px}.link-card_thumbnail__wkcAM{flex-shrink:0;height:100%;width:auto;aspect-ratio:1200/630;object-fit:cover;object-position:center}@media (hover:hover){.dark .link-card_container__5G7ia:hover{background-color:var(--color-gray-600)}.light .link-card_container__5G7ia:hover{background-color:var(--color-gray-200)}}@media screen and (max-width:768px){.link-card_container__5G7ia{height:7rem}.link-card_description__hW4sa{display:none}.link-card_thumbnail__wkcAM{aspect-ratio:1/1}}.navigation_container__wi2VO{display:grid;align-items:stretch;grid-template-columns:1fr 1fr;padding:1rem var(--size-article-horizontal-padding);margin:1rem auto;width:calc(100% - var(--size-article-horizontal-padding) * 2);max-width:var(--size-content-max-width);grid-gap:var(--size-aside-gap);gap:var(--size-aside-gap);@media screen and (max-width:768px){grid-template-columns:1fr;grid-template-rows:1fr 1fr;box-sizing:border-box;padding-left:1rem;padding-bottom:1rem;padding-right:1rem;padding-top:1rem;width:100%}}.navigation_card__o_e_I{display:flex;box-sizing:border-box;align-items:center;justify-content:space-between;border-radius:.5rem;transition:box-shadow .2s ease-in-out,transform .2s ease-in-out;box-shadow:0 .125rem .25rem rgba(0,0,0,.1);width:-webkit-fill-available;width:-moz-available;width:stretch;padding:1rem;text-decoration:none}.navigation_next__QxKdn{display:flex;grid-column:2;height:7rem;@media screen and (max-width:768px){grid-column:1}}.navigation_prev__CP2xv{display:flex;grid-column:1;height:7rem}@media screen and (max-width:768px){.navigation_next__QxKdn,.navigation_prev__CP2xv{margin-left:0;margin-right:0}}@media (hover:hover){.navigation_card__o_e_I:hover{box-shadow:0 .25rem .5rem rgba(0,0,0,.1);transform:translateY(-.125rem)}}.light .navigation_card__o_e_I{background-color:var(--color-gray-50)}.dark .navigation_card__o_e_I{background-color:var(--color-gray-700)}.navigation_cardContent__j09mW{display:flex;justify-content:center;align-items:center;padding:0 1rem;text-decoration:none;height:100%;width:100%;box-sizing:border-box}.navigation_cardHeader__59IED{display:flex;justify-content:space-between;align-items:center}.navigation_cardTitle__5Vyui{font-size:1.5rem;margin:0;font-weight:700;line-clamp:2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.light .navigation_cardTitle__5Vyui{color:var(--color-gray-600)}.dark .navigation_cardTitle__5Vyui{color:var(--color-gray-100)}.navigation_cardDate__xTFRJ{font-size:.75rem}.light .navigation_cardDate__xTFRJ{color:var(--color-gray-500)}.dark .navigation_cardDate__xTFRJ{color:var(--color-gray-300)}.tag-list_tagList__Lq84L{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:1rem}.tag-list_tagItem__zmXEb{display:contents}.tag-list_tag__jbQtY{text-decoration:none;padding:.25rem 1rem;border-radius:999px;border:2px solid var(--color-gray-50);color:var(--color-gray-50);white-space:nowrap;transition:all .2s ease-in-out}@media (hover:hover){.tag-list_tag__jbQtY:hover{background:var(--color-gray-50);color:var(--color-accent-primary)}}@media (max-width:1024px){.tag-list_tagList__Lq84L{justify-content:center;gap:.5rem}.tag-list_tag__jbQtY{font-size:.875rem;padding:.125rem .5rem}}.toc_tocList__Z3_bp{padding:0}.toc_tocWrapper__8CvsB{list-style:none;margin:0;padding-left:1rem}.toc_tocTop__iyAuK{padding:0!important}.toc_tocItem__YpJ0H{font-size:1rem;line-height:1.5rem;margin-bottom:.5rem;position:relative}.toc_tocItemLink__EzVCO{color:var(--color-gray-400)!important;text-decoration:none}.toc_tocItemLink__EzVCO:hover{text-decoration:underline}.light .toc_tocActive__IUJJ8{color:var(--color-gray-800)!important}.dark .toc_tocActive__IUJJ8{color:var(--color-gray-50)!important}