.prose pre[class*=language-],div[class*=prose] pre[class*=language-],html body .prose pre[class*=language-],html body div[class*=prose] pre[class*=language-],html body pre[class*=language-],pre[class*=language-]{background:var(--syntaxBg)!important;color:var(--mono1)!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.5!important;padding:20px!important;margin:24px 0!important;border:1px solid var(--specialGrey)!important;border-radius:6px!important;overflow-x:auto!important;white-space:pre!important;display:block!important;direction:ltr!important;text-align:left!important;word-spacing:normal!important;word-break:normal!important;word-wrap:normal!important;tab-size:2!important;hyphens:none!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important}.prose pre[class*=language-] code,div[class*=prose] pre[class*=language-] code,html body .prose pre[class*=language-] code,html body div[class*=prose] pre[class*=language-] code,html body pre[class*=language-] code,pre[class*=language-] code{background:transparent!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;padding:0!important;margin:0!important;border:none!important;white-space:inherit!important}pre[class*=language-]{background:var(--syntaxBg)!important;color:var(--mono1)!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.5!important;padding:20px!important;margin:24px 0!important;border:1px solid var(--specialGrey)!important;border-radius:6px!important;overflow-x:auto!important;white-space:pre!important;display:block!important;direction:ltr!important;text-align:left!important;word-spacing:normal!important;word-break:normal!important;word-wrap:normal!important;tab-size:2!important;hyphens:none!important}pre[class*=language-] code{background:transparent!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;padding:0!important;margin:0!important;border:none!important;white-space:inherit!important}code[class*=language-],html body .prose code[class*=language-],html body .prose pre[class*=language-],html body code[class*=language-],html body pre[class*=language-],pre[class*=language-]{color:var(--mono1)!important;background:none!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.5!important;direction:ltr!important;text-align:left!important;white-space:pre!important;word-spacing:normal!important;word-break:normal!important;word-wrap:normal!important;tab-size:2!important;hyphens:none!important;text-decoration:none!important;border:none!important;margin:0!important;padding:0!important}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:var(--hue2);color:var(--syntaxBg)}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:var(--hue2);color:var(--syntaxBg)}html body .prose pre[class*=language-],html body pre[class*=language-],pre[class*=language-]{padding:20px!important;margin:24px 0!important;overflow:auto!important;background:var(--syntaxBg)!important;border:1px solid var(--specialGrey)!important;border-radius:6px!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;text-decoration:none!important;position:relative!important;display:block!important}:not(pre)>code[class*=language-],html body .prose :not(pre)>code[class*=language-],html body :not(pre)>code[class*=language-]{padding:3px 6px!important;border-radius:4px!important;white-space:normal!important;background:var(--syntaxBg)!important;color:var(--mono1)!important;border:1px solid var(--specialGrey)!important;font-family:Fira Code,Consolas,Monaco,monospace!important;font-size:13px!important;text-decoration:none!important}.token.cdata,.token.comment,.token.doctype,.token.prolog,html body .token.cdata,html body .token.comment,html body .token.doctype,html body .token.prolog{color:var(--syntaxGutter)!important;font-style:italic!important}.token.punctuation,html body .token.punctuation{color:var(--termBlack)!important}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag,html body .token.constant,html body .token.deleted,html body .token.property,html body .token.symbol,html body .token.tag{color:var(--hue5)!important}.token.boolean,.token.number,html body .token.boolean,html body .token.number{color:var(--hue6)!important}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,html body .token.attr-name,html body .token.builtin,html body .token.char,html body .token.inserted,html body .token.selector,html body .token.string{color:var(--hue4)!important}.token.entity,.token.operator,.token.url,html body .token.entity,html body .token.operator,html body .token.url{color:var(--mono1)!important}.token.atrule,.token.attr-value,.token.keyword,html body .token.atrule,html body .token.attr-value,html body .token.keyword{color:var(--hue52)!important;font-weight:700!important}.token.class-name,.token.function,html body .token.class-name,html body .token.function{color:var(--hue2)!important;font-weight:700!important}.token.important,.token.regex,.token.variable{color:var(--hue5)!important}.token.bold,.token.important{font-weight:700!important}.token.italic{font-style:italic!important}.token.entity{cursor:help}.language-css .token.string,.style .token.string{color:var(--hue4)!important}.token.namespace{color:var(--hue5)!important}.token.annotation,.token.decorator{color:var(--hue6)!important}.token.module{color:var(--hue2)!important}.token.parameter{color:var(--hue6)!important}.token.spread{color:var(--hue3)!important}.language-jsx .token.tag,.language-tsx .token.tag{color:var(--hue5)!important}.language-jsx .token.attr-name,.language-tsx .token.attr-name{color:var(--hue6)!important}.language-jsx .token.attr-value,.language-tsx .token.attr-value{color:var(--hue4)!important}.language-css .token.property{color:var(--hue2)!important}.language-css .token.selector{color:var(--hue5)!important}.language-css .token.important{color:var(--hue3)!important;font-weight:700!important}.language-json .token.property{color:var(--hue2)!important}.language-json .token.string{color:var(--hue4)!important}.language-markdown .token.title{color:var(--hue2)!important;font-weight:700!important}.language-markdown .token.code{color:var(--hue5)!important}.language-markdown .token.url{color:var(--hue4)!important;text-decoration:underline}.language-solidity .token.keyword{color:var(--hue3)!important;font-weight:700!important}.language-solidity .token.type{color:var(--hue2)!important}.language-solidity .token.modifier{color:var(--hue3)!important}.language-javascript .token.template-string{color:var(--hue4)!important}.language-typescript .token.builtin{color:var(--hue2)!important}.language-solidity .token.storage,.language-solidity .token.visibility{color:var(--hue3)!important;font-weight:700!important}.language-solidity .token.number{color:var(--hue6)!important}.language-solidity .token.address{color:var(--hue2)!important}.token.comment .token.keyword{color:var(--mono3)!important;font-weight:400!important}.token.error{color:var(--hue5)!important;background:var(--colorRemoved)!important}.code-block-header{background:var(--syntaxBg);border:1px solid var(--specialGrey);border-bottom:none;padding:8px 12px;font-family:SF Pro Text,system-ui,-apple-system,sans-serif;font-size:12px;color:var(--mono2);border-radius:6px 6px 0 0}.line-numbers .line-numbers-rows{border-right:1px solid var(--specialGrey);background:var(--syntaxBg)}.line-numbers-rows>span:before{color:var(--mono3);font-family:Fira Code,Consolas,Monaco,monospace}pre[class*=language-]{scrollbar-width:thin;scrollbar-color:var(--specialGrey) var(--syntaxBg)}pre[class*=language-]::-webkit-scrollbar{width:12px;height:12px}pre[class*=language-]::-webkit-scrollbar-track{background:var(--syntaxBg);border-radius:6px}pre[class*=language-]::-webkit-scrollbar-thumb{background:var(--specialGrey);border-radius:6px;border:2px solid var(--syntaxBg)}pre[class*=language-]::-webkit-scrollbar-thumb:hover{background:var(--mono3)}pre[class*=language-]::-webkit-scrollbar-corner{background:var(--syntaxBg)}pre[class*=language-]{position:relative}pre[class*=language-]:before{content:attr(data-language);position:absolute;top:8px;right:12px;background:var(--specialGrey);color:var(--mono2);padding:4px 8px;font-size:11px;font-family:SF Pro Text,system-ui,-apple-system,sans-serif;border-radius:4px;text-transform:uppercase;font-weight:500;letter-spacing:.5px;opacity:.7}pre[class*=language-solidity]:before{content:"SOLIDITY"}pre[class*=language-javascript]:before{content:"JAVASCRIPT"}pre[class*=language-typescript]:before{content:"TYPESCRIPT"}pre[class*=language-tsx]:before{content:"TSX";background:var(--syntaxBg)!important;color:var(--mono1)!important}pre[class*=language-jsx]:before{content:"JSX"}pre[class*=language-css]:before{content:"CSS"}pre[class*=language-json]:before{content:"JSON"}pre[class*=language-bash]:before{content:"BASH"}pre[class*=language-shell]:before{content:"SHELL"}pre[class*=language-markdown]:before{content:"MARKDOWN"}pre[class*=language-python]:before{color:var(--mono1)!important}pre[class*=language-rust]:before{content:"RUST"}pre[class*=language-go]:before{content:"GO"}.language-javascript .token.keyword,.language-jsx .token.keyword,.language-tsx .token.keyword{color:var(--hue5)!important;font-weight:700!important}.language-jsx .token.function,.language-tsx .token.function,.language-typescript .token.function{color:var(--hue2)!important;font-weight:700!important}.language-javascript .token.string,.language-jsx .token.string,.language-tsx .token.string,.language-typescript .token.string{color:var(--hue4)!important}.language-jsx .token.number,.language-tsx .token.number,.language-typescript .token.number{color:var(--hue6)!important}.language-javascript .token.comment,.language-tsx .token.comment,.language-typescript .token.comment{color:var(--mono3)!important;font-style:italic!important}.language-javascript .token.operator,.language-jsx .token.operator,.language-tsx .token.operator,.language-typescript .token.operator{color:var(--hue3)!important}.language-javascript .token.variable,.language-jsx .token.variable,.language-tsx .token.variable,.language-typescript .token.variable{color:var(--hue1)!important}.language-javascript .token.class-name,.language-jsx .token.class-name,.language-tsx .token.class-name,.language-typescript .token.class-name{color:var(--hue62)!important;font-weight:700!important}.language-python .token.keyword{color:var(--hue3)!important;font-weight:700!important}.language-python .token.function{color:var(--hue2)!important;font-weight:700!important}.language-python .token.string{color:var(--hue4)!important}.language-python .token.number{color:var(--hue6)!important}.language-python .token.comment,code[class*=language-] .token.comment,pre[class*=language-] .token.comment{color:var(--mono3)!important;font-style:italic!important}code[class*=language-] .token.keyword,pre[class*=language-] .token.keyword{color:var(--hue3)!important;font-weight:700!important}code[class*=language-] .token.function,pre[class*=language-] .token.function{color:var(--hue2)!important;font-weight:700!important}code[class*=language-] .token.string,pre[class*=language-] .token.string{color:var(--hue4)!important}code[class*=language-] .token.number,pre[class*=language-] .token.number{color:var(--hue6)!important}code[class*=language-] .token.variable,pre[class*=language-] .token.variable{color:var(--hue5)!important}code[class*=language-] .token.class-name,pre[class*=language-] .token.class-name{color:var(--hue2)!important;font-weight:700!important}code[class*=language-] .token.operator,code[class*=language-] .token.punctuation,pre[class*=language-] .token.operator,pre[class*=language-] .token.punctuation{color:var(--mono1)!important}html body code[class*=language-] .token.comment,html body pre[class*=language-] .token.comment{color:var(--mono3)!important;font-style:italic!important}html body code[class*=language-] .token.keyword,html body pre[class*=language-] .token.keyword{color:var(--hue3)!important;font-weight:700!important}html body code[class*=language-] .token.function,html body pre[class*=language-] .token.function{color:var(--hue2)!important;font-weight:700!important}html body code[class*=language-] .token.string,html body pre[class*=language-] .token.string{color:var(--hue4)!important}html body code[class*=language-] .token.number,html body pre[class*=language-] .token.number{color:var(--hue6)!important}html body code[class*=language-] .token.variable,html body pre[class*=language-] .token.variable{color:var(--hue5)!important}html body code[class*=language-] .token.class-name,html body pre[class*=language-] .token.class-name{color:var(--hue2)!important;font-weight:700!important}html body code[class*=language-] .token.operator,html body code[class*=language-] .token.punctuation,html body pre[class*=language-] .token.operator,html body pre[class*=language-] .token.punctuation{color:var(--mono1)!important}html body code[class*=language-] .token.property,html body code[class*=language-] .token.tag,html body pre[class*=language-] .token.property,html body pre[class*=language-] .token.tag{color:var(--hue5)!important}html body code[class*=language-] .token.boolean,html body code[class*=language-] .token.constant,html body code[class*=language-] .token.symbol,html body pre[class*=language-] .token.boolean,html body pre[class*=language-] .token.constant,html body pre[class*=language-] .token.symbol{color:var(--hue6)!important}html body code[class*=language-] .token.attr-name,html body code[class*=language-] .token.builtin,html body code[class*=language-] .token.char,html body code[class*=language-] .token.inserted,html body code[class*=language-] .token.selector,html body pre[class*=language-] .token.attr-name,html body pre[class*=language-] .token.builtin,html body pre[class*=language-] .token.char,html body pre[class*=language-] .token.inserted,html body pre[class*=language-] .token.selector{color:var(--hue4)!important}html body code[class*=language-] .token.atrule,html body pre[class*=language-] .token.atrule{color:var(--hue3)!important;font-weight:700!important}html body code[class*=language-] .token.attr-value,html body pre[class*=language-] .token.attr-value{color:var(--hue3)!important}html body code[class*=language-] .token.regex,html body pre[class*=language-] .token.regex{color:var(--hue5)!important}html body code[class*=language-] .token.important,html body pre[class*=language-] .token.important{color:var(--hue5)!important;font-weight:700!important}.prose pre[class*=language-]{padding:20px!important;margin:24px 0!important;border:1px solid var(--specialGrey)!important;border-radius:6px!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;font-size:14px!important;line-height:1.5!important}.prose code[class*=language-],.prose pre[class*=language-]{background:var(--syntaxBg)!important;color:var(--mono1)!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important}.prose :not(pre)>code{background:var(--syntaxGutter)!important;color:var(--mono1)!important;padding:3px 6px!important;border-radius:4px!important;border:1px solid var(--specialGrey)!important;font-family:Fira Code,Consolas,Monaco,monospace!important;font-size:13px!important}.prose pre[class*=language-],html body article .prose pre[class*=language-],html body div .prose pre[class*=language-],html body section .prose pre[class*=language-]{color:var(--mono1)!important;background:var(--syntaxBg)!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.5!important;padding:20px!important;margin:24px 0!important;overflow:auto!important;border:1px solid var(--specialGrey)!important;border-radius:6px!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:2;hyphens:none}.prose code[class*=language-],html body article .prose code[class*=language-],html body div .prose code[class*=language-],html body section .prose code[class*=language-]{color:var(--mono1)!important;background:transparent!important;font-family:Fira Code,Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.5!important;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:2;hyphens:none}.token.cdata,.token.comment,.token.doctype,.token.prolog,html body .prose code[class*=language-] .token.comment,html body .prose pre[class*=language-] .token.comment,html body code[class*=language-] .token.comment,html body pre[class*=language-] .token.comment{color:var(--mono3)!important;font-style:italic!important;text-decoration:none!important}.token.punctuation,html body .prose code[class*=language-] .token.punctuation,html body .prose pre[class*=language-] .token.punctuation,html body code[class*=language-] .token.punctuation,html body pre[class*=language-] .token.punctuation{color:var(--mono1)!important;text-decoration:none!important}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag,html body .prose code[class*=language-] .token.property,html body .prose pre[class*=language-] .token.property,html body code[class*=language-] .token.property,html body pre[class*=language-] .token.property{color:var(--hue5)!important;text-decoration:none!important}.token.boolean,.token.number,html body .prose code[class*=language-] .token.boolean,html body .prose pre[class*=language-] .token.boolean,html body code[class*=language-] .token.boolean,html body pre[class*=language-] .token.boolean{color:var(--hue6)!important;text-decoration:none!important}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,html body .prose code[class*=language-] .token.selector,html body .prose pre[class*=language-] .token.selector,html body code[class*=language-] .token.selector,html body pre[class*=language-] .token.selector{color:var(--hue4)!important;text-decoration:none!important}.token.entity,.token.operator,.token.url,html body .prose code[class*=language-] .token.operator,html body .prose pre[class*=language-] .token.operator,html body code[class*=language-] .token.operator,html body pre[class*=language-] .token.operator{color:var(--hue2)!important;text-decoration:none!important}.token.atrule,.token.attr-value,.token.keyword,html body .prose code[class*=language-] .token.atrule,html body .prose pre[class*=language-] .token.atrule,html body code[class*=language-] .token.atrule,html body pre[class*=language-] .token.atrule{color:var(--hue3)!important;text-decoration:none!important}.token.class-name,.token.function,html body .prose code[class*=language-] .token.function,html body .prose pre[class*=language-] .token.function,html body code[class*=language-] .token.function,html body pre[class*=language-] .token.function{color:var(--hue2)!important;text-decoration:none!important}.token.important,.token.regex,.token.variable,html body .prose code[class*=language-] .token.regex,html body .prose pre[class*=language-] .token.regex,html body code[class*=language-] .token.regex,html body pre[class*=language-] .token.regex{color:var(--hue5)!important;text-decoration:none!important}.language-solidity .token.storage,.language-solidity .token.visibility,html body .prose code[class*=language-] .token.storage,html body .prose pre[class*=language-] .token.storage,html body code[class*=language-] .token.storage,html body pre[class*=language-] .token.storage{color:var(--hue3)!important;text-decoration:none!important}.language-solidity .token.type,html body .prose code[class*=language-] .token.type,html body .prose pre[class*=language-] .token.type,html body code[class*=language-] .token.type,html body pre[class*=language-] .token.type{color:var(--hue2)!important;text-decoration:none!important}html body .prose code[class*=language-] *,html body .prose pre[class*=language-] *,html body code[class*=language-] *,html body pre[class*=language-] *{text-decoration:none!important;border:none!important}.article_container__H9DI_{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;background:var(--syntaxBg);color:var(--mono1);transition:background .3s,color .3s}.article_main__ScaT2{width:100%;max-width:80%;padding:0 1.5rem 3rem;margin:0 auto}.article_header__R9w5u{margin-top:2.5rem;margin-bottom:2.2rem;display:flex;flex-direction:column;gap:.7rem}.article_title__d86W5{font-size:2.3rem;font-weight:800;color:var(--syntaxAccent);letter-spacing:-.01em;line-height:1.1}.article_date__GiDPC{font-size:1.05rem;color:var(--mono3);font-variant-numeric:tabular-nums}.article_content__J7hqd{margin-top:2.2rem;background:var(--syntaxBg);border-radius:1.1rem;box-shadow:0 2px 8px 0 rgba(0,0,0,.04);padding:2.2rem 2.1rem;color:var(--mono1);font-size:1.13rem;line-height:1.7;word-break:break-word;transition:background .3s,color .3s}@media (max-width:700px){.article_main__ScaT2{padding:0 .5rem 2rem}.article_content__J7hqd{padding:1.1rem .7rem;border-radius:.7rem}.article_title__d86W5{font-size:1.4rem}}.article_content__J7hqd,.article_content__J7hqd *{color:var(--mono1);transition:color .3s}