pre[class*=language-],pre code[class*=language-]{color:#d4d4d4;text-shadow:none;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;direction:ltr;border-radius:1rem;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;font-size:13px;line-height:1.5;position:relative}pre[class*=language-]{max-width:100%;position:relative;margin-bottom:0!important;overflow:auto!important}pre[class*=language-]::-moz-selection{text-shadow:none;background:#264f78}pre code[class*=language-]::-moz-selection{text-shadow:none;background:#264f78}pre[class*=language-] ::-moz-selection{text-shadow:none;background:#264f78}pre code[class*=language-] ::-moz-selection{text-shadow:none;background:#264f78}pre[class*=language-]::selection,pre code[class*=language-]::selection,pre[class*=language-] ::selection,pre code[class*=language-] ::selection{text-shadow:none;background:#264f78}@media print{pre[class*=language-],code[class*=language-]{text-shadow:none}}pre[class*=language-]{background:#1e1e1e;margin:.5em 0;padding:1em;overflow:visible}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.token.punctuation,.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation{color:#d4d4d4}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.inserted,.token.unit{color:#b5cea8}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.deleted{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.operator,.token.entity{color:#d4d4d4}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.module,.token.keyword.control-flow{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.parameter,.token.interpolation{color:#9cdcfe}.token.punctuation.interpolation-punctuation,.token.boolean{color:#569cd6}.token.property,.token.variable,.token.imports .token.maybe-class-name,.token.exports .token.maybe-class-name{color:#9cdcfe}.token.selector,.token.escape{color:#d7ba7d}.token.tag{color:#569cd6}.token.tag .token.punctuation,.token.cdata{color:gray}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}pre[class*=language-javascript],code[class*=language-javascript],pre[class*=language-jsx],code[class*=language-jsx],pre[class*=language-typescript],code[class*=language-typescript],pre[class*=language-tsx],code[class*=language-tsx]{color:#9cdcfe}pre[class*=language-css],code[class*=language-css]{color:#ce9178}pre[class*=language-html],code[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:gray}pre[class*=language-]>code[class*=language-]{z-index:1;position:relative}.line-highlight.line-highlight{z-index:0;background:#f7ebc6;box-shadow:inset 5px 0 #f7d87c}pre[class*=language-]>.absolute{z-index:10}
#table-of-contents+ul{counter-reset:toc-counter;background-color:#f9fafb;border:1px solid #0000000d;border-radius:.75rem;margin-top:1.5rem;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 3px #0000000d}#table-of-contents+ul li{counter-increment:toc-counter;padding-left:1.75rem;position:relative}#table-of-contents+ul li:before{content:counter(toc-counter);width:1.5rem;height:1.5rem;color:var(--primary-color,#08c);background-color:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:.15rem;left:0}#table-of-contents+ul li a{width:100%;padding:.25rem 0;transition-property:color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;position:relative}#table-of-contents+ul li a:hover{color:var(--primary-color,#08c);transform:translate(2px)}#table-of-contents+ul li a:after{content:"";background-color:var(--primary-color,#08c);opacity:.5;width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}#table-of-contents+ul li a:hover:after{width:100%}#table-of-contents{color:#1a202c;align-items:center;margin-bottom:.75rem;font-size:1.25rem;font-weight:700;display:flex;position:relative}#table-of-contents:before{content:"📑";margin-right:.5rem;font-size:1.25rem}blockquote{border-left-width:4px;border-left-color:rgba(var(--primary-rgb,0, 136, 204), .3);background-color:rgba(var(--primary-rgb,0, 136, 204), .05);color:#4a5568;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;margin:1.5rem 0;padding:1rem 1.5rem;font-size:1.05em;position:relative}blockquote:before{content:"\"";color:rgba(var(--primary-rgb,0, 136, 204), .15);font-family:Georgia,serif;font-size:3rem;line-height:1;position:absolute;top:-.75rem;left:-.75rem}ul li::marker{color:var(--primary-color,#08c);opacity:.8}hr{background:linear-gradient(90deg,#0000,#0000001a 50%,#0000);border:none;height:1px;margin:2rem 0}img{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}table thead tr{background-color:#f8fafc;border-bottom:2px solid #e2e8f0}table th{text-transform:uppercase;letter-spacing:.05em;color:#4a5568;padding:.75rem 1rem;font-size:.75rem;font-weight:600}table td{border-bottom:1px solid #e2e8f0;padding:.75rem 1rem}table tr:last-child td{border-bottom:none}pre{font-size:.9rem!important;line-height:1.5!important}pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}h1,h2,h3,h4,h5,h6{color:#1a202c;scroll-margin-top:5rem}dl{margin:1.5rem 0}dt{color:#2d3748;margin-top:1rem;font-weight:700}dd{color:#4a5568;margin-top:.25rem;margin-left:1rem}.text-shadow{text-shadow:0 2px 4px #0003}:not(pre)>code{white-space:normal;font-size:.875em}ol,ul{padding-left:1.5rem}li+li{margin-top:.5rem}li>ul,li>ol{margin-top:.5rem;margin-bottom:.5rem}.prose aside,.prose .callout{border-left:4px solid var(--primary-color,#08c);background-color:#f7fafc;border-radius:.5rem;margin:1.5rem 0;padding:1rem}.highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#fffbea;border-radius:.25em;padding:.125em .25em}.drop-cap:first-letter{float:left;color:var(--primary-color,#08c);padding-top:.1em;padding-right:.1em;font-size:3.5em;line-height:.8}kbd{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:.25rem;margin:0 .125rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;box-shadow:0 1px #0000000d}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background-color:#0000!important}body{font-size:12pt;line-height:1.5}a,a:visited{text-decoration:underline}pre,blockquote{page-break-inside:avoid;border:1px solid #999}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}nav,.bg-gradient-to-b,.shadow-xl,[aria-label="Share this article"]{display:none!important}.max-w-4xl,.max-w-7xl,.px-4,.py-4,.mx-auto{max-width:100%!important;margin:0!important;padding:0!important}h1{margin-bottom:1cm!important;font-size:22pt!important}pre,code{border:1px solid #ddd!important;border-radius:2px!important;font-size:10pt!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;font-weight:400}}blockquote[cite]:after{content:"— " attr(cite);text-align:right;margin-top:.5rem;font-size:.9em;font-style:italic;display:block}.prose a[href^=\#]{color:inherit;border-bottom:1px dashed var(--primary-color,#08c);text-decoration:none}.prose a[href^=\#]:hover{color:var(--primary-color,#08c);border-bottom:1px solid var(--primary-color,#08c)}figure:not(:has(>figcaption)){position:relative;overflow:hidden}figure:not(:has(>figcaption)):after{content:"";opacity:0;pointer-events:none;background-color:#00000008;transition:opacity .3s;position:absolute;inset:0}figure:not(:has(>figcaption)):hover:after{opacity:1}details{border:1px solid rgba(var(--primary-rgb,59, 130, 246), .3);background-color:#fff;border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}details>summary{cursor:pointer;color:var(--primary);background-color:#0000;align-items:center;padding:.75rem 1rem .75rem 2rem;font-weight:500;list-style:none;transition:color .2s;display:flex;position:relative}details>summary:before{content:"";border-left:6px solid var(--primary);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;transition:transform .2s;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}details[open]>summary:before{transform:translateY(-50%)rotate(90deg)}details>summary:hover{color:#2563eb}details>summary:hover:before{border-left-color:#2563eb}details>summary::-webkit-details-marker{display:none}details>div:not(summary){border:1px solid rgba(var(--primary-rgb,59, 130, 246), .2);background-color:#fff;border-radius:.375rem;margin:.75rem;padding:1rem;animation:.3s ease-out accordion-open}@keyframes accordion-open{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{white-space:inherit;position:relative}.line-numbers .line-numbers-rows{pointer-events:none;letter-spacing:-1px;-webkit-user-select:none;user-select:none;border-right:1px solid #999;width:3em;font-size:100%;position:absolute;top:0;left:-3.8em}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;text-align:right;padding-right:.8em;display:block}
