@layer base{.blog-root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:240 5% 98.5%;--foreground:240 10% 4%;--card:0 0% 100%;--card-foreground:240 10% 4%;--popover:0 0% 100%;--popover-foreground:240 10% 4%;--primary:221.2 83.2% 53.3%;--primary-rgb:37, 99, 235;--primary-foreground:210 40% 98%;--secondary:240 5% 96%;--secondary-foreground:240 10% 10%;--muted:240 5% 95%;--muted-foreground:240 5% 45%;--accent:240 5% 95%;--accent-foreground:240 10% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:240 5% 92%;--input:240 5% 92%;--ring:221.2 83.2% 53.3%;--radius:.75rem;--bg-grid:#0f172a0b;--bg-interactive-glow:#2563eb0f;--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-border:hsl(var(--border));--color-divider:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground))}.dark .blog-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:240 4% 3.5%;--foreground:240 5% 98%;--card:240 4% 6%;--card-foreground:240 5% 98%;--popover:240 4% 6%;--popover-foreground:240 5% 98%;--primary:217.2 91.2% 59.8%;--primary-rgb:96, 165, 250;--primary-foreground:222.2 47.4% 11.2%;--secondary:240 4% 12%;--secondary-foreground:240 5% 98%;--muted:240 4% 12%;--muted-foreground:240 5% 65%;--accent:240 4% 12%;--accent-foreground:240 5% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:240 4% 12%;--input:240 4% 12%;--ring:217.2 91.2% 59.8%;--bg-grid:#ffffff09;--bg-interactive-glow:#ffffff0a}.blog-root{background-color:hsl(var(--background));color:hsl(var(--foreground));font-synthesis:none;text-autospace:normal}.blog-root .article-detail{font-family:var(--font-sans);letter-spacing:.004em;overflow-wrap:break-word;word-break:break-word;font-size:.96rem;font-weight:430;line-height:1.68}.blog-root .article-detail :is(p,ul,ol,blockquote){margin-block:.68em}.blog-root .article-detail :is(li,figcaption){line-height:1.63}.blog-root .article-detail li+li{margin-top:.18em}.blog-root .article-detail :is(h2,h3,h4,h5,h6){color:hsl(var(--foreground));letter-spacing:-.01em;scroll-margin-top:6rem;font-weight:700}.blog-root .article-detail h2{margin-top:1.2em;margin-bottom:.44em;font-size:1.28rem;line-height:1.28}.blog-root .article-detail h3{margin-top:1em;margin-bottom:.34em;font-size:1.12rem;line-height:1.32}.blog-root .article-detail h4{margin-top:.85em;margin-bottom:.22em;font-size:1.02rem;line-height:1.36}.blog-root .article-detail a{color:hsl(var(--primary));text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:hsl(var(--primary) / .3);text-decoration-color:hsl(var(--primary) / .3);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.blog-root .article-detail a:hover{color:hsl(var(--primary) / .8);-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}.blog-root .article-detail blockquote{border-left:4px solid hsl(var(--primary) / .4);background:hsl(var(--muted) / .28);border-radius:0 .35rem .35rem 0;margin-block:.95rem;padding:.62rem .82rem;font-size:1rem;font-weight:430;line-height:1.58}.blog-root .article-detail blockquote p{margin:0}.blog-root .article-detail mark{background:hsl(var(--primary) / .18);color:hsl(var(--foreground));-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3rem;padding:.05em .28em}.blog-root .article-detail :not(pre)>code{white-space:nowrap}.blog-root .article-detail kbd{border:1px solid hsl(var(--border) / .92);background:hsl(var(--muted) / .84);min-width:1.4em;box-shadow:0 1px 0 hsl(var(--foreground) / .12);font-family:var(--font-mono);border-radius:.4rem;padding:.05em .35em;font-size:.82em;line-height:1.2;display:inline-block}.blog-root .table-scroll-wrapper{-webkit-overflow-scrolling:touch;border:1px solid hsl(var(--border) / .4);background:hsl(var(--background) / .15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;margin-block:2rem;overflow-x:auto;box-shadow:0 10px 30px -10px #00000014}.dark .blog-root .table-scroll-wrapper{border-color:hsl(var(--border) / .3);background:hsl(var(--background) / .1);box-shadow:0 10px 30px -15px #0000004d}.blog-root .table-scroll-wrapper table{font-size:.875rem;line-height:1.6;border-collapse:collapse!important;border:none!important;width:100%!important;margin:0!important}.blog-root .table-scroll-wrapper th{background:hsl(var(--muted) / .35);color:hsl(var(--foreground));letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;font-size:.725rem;font-weight:700}.blog-root .table-scroll-wrapper th,.blog-root .table-scroll-wrapper td{border:1px solid hsl(var(--border) / .8)!important;padding:.875rem 1.25rem!important}.blog-root .table-scroll-wrapper tr:hover td{background:hsl(var(--primary) / .03)}.dark .blog-root .table-scroll-wrapper tr:hover td{background:hsl(var(--primary) / .06)}.blog-root .code-block-title{border:1px solid hsl(var(--border) / .4);background:hsl(var(--muted) / .25);color:hsl(var(--foreground) / .7);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-bottom:0;border-radius:12px 12px 0 0;margin-top:2rem;margin-bottom:0;padding:.6rem 1.25rem;font-size:.725rem;font-weight:600;line-height:1.35;overflow-x:auto}.blog-root .code-block-title[data-code-title-attached=true],.blog-root .remark-code-title[data-code-title-attached=true],.blog-root [data-rehype-pretty-code-title][data-code-title-attached=true]{display:none}.blog-root .code-block-title+.code-block-wrapper>pre{border-top-left-radius:0;border-top-right-radius:0;margin-top:0!important}@media (min-width:640px){.blog-root .article-detail{font-size:.99rem;line-height:1.72}.blog-root .article-detail h2{font-size:1.34rem}.blog-root .article-detail h3{font-size:1.16rem}}@media (max-width:639px){.blog-root .article-detail{font-size:.93rem;line-height:1.62}.blog-root .article-detail h2{font-size:1.12rem!important}.blog-root .article-detail h3{font-size:1.01rem!important}.blog-root .article-detail blockquote{padding:.42rem .58rem;font-size:.93em}.blog-root .table-scroll-wrapper{border-radius:8px;margin-inline:-.25rem}}}@layer utilities{.blog-root .no-scrollbar::-webkit-scrollbar{display:none}.blog-root .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.blog-root .custom-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent}.blog-root .custom-scrollbar::-webkit-scrollbar{width:4px}.blog-root .custom-scrollbar::-webkit-scrollbar-track{background:0 0}.blog-root .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#0000;border-radius:999px;transition:background-color .2s}.blog-root .custom-scrollbar:hover,.blog-root .custom-scrollbar:focus-within{scrollbar-color:hsl(var(--muted-foreground) / .15) transparent}.blog-root .custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .15)}.blog-root .custom-scrollbar:focus-within::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .15)}}@layer components{.blog-root .directive{border-radius:1rem;margin-block:1.5rem;padding:1rem;font-size:14.5px;line-height:1.65;position:relative;overflow:hidden;box-shadow:0 4px 12px -2px #0000000d}.blog-root .directive:after{content:"";opacity:.06;pointer-events:none;background:currentColor;border-radius:999px;width:8rem;height:8rem;position:absolute;top:-15px;right:-15px;box-shadow:0 0 40px}.blog-root .directive-title{align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.875rem;font-weight:700;display:flex}.blog-root .directive-title:before{content:"";width:18px;height:18px;-webkit-mask:var(--directive-icon) center / contain no-repeat;mask:var(--directive-icon) center / contain no-repeat;-webkit-mask:var(--directive-icon) center / contain no-repeat;background-color:currentColor;display:block}.blog-root .directive-info,.blog-root .directive-note{--directive-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");color:#172554;background:linear-gradient(135deg,#eff6ffe6,#eff6ff80);border:1px solid #bfdbfecc}.blog-root .directive-tip,.blog-root .directive-success{--directive-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");color:#022c22;background:linear-gradient(135deg,#ecfdf5e6,#ecfdf580);border:1px solid #a7f3d0cc}.blog-root .directive-warning,.blog-root .directive-caution{--directive-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");color:#2e1065;background:linear-gradient(135deg,#f5f3ffe6,#f5f3ff80);border:1px solid #ddd6fecc}.blog-root .directive-danger,.blog-root .directive-error,.blog-root .directive-important{--directive-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M15 9l-6 6'/%3E%3Cpath d='M9 9l6 6'/%3E%3C/svg%3E");color:#450a0a;background:linear-gradient(135deg,#fef2f2e6,#fef2f280);border:1px solid #fecacacc}.dark .blog-root .directive-info,.dark .blog-root .directive-note{color:#bfdbfe;background:linear-gradient(135deg,#1e3a8a4d,#1e3a8a1a);border-color:#1e3a8a99}.dark .blog-root .directive-tip,.dark .blog-root .directive-success{color:#a7f3d0;background:linear-gradient(135deg,#064e3b4d,#064e3b1a);border-color:#064e3b99}.dark .blog-root .directive-warning,.dark .blog-root .directive-caution{color:#ddd6fe;background:linear-gradient(135deg,#4c1d954d,#4c1d951a);border-color:#4c1d9599}.dark .blog-root .directive-danger,.dark .blog-root .directive-error,.dark .blog-root .directive-important{color:#fecaca;background:linear-gradient(135deg,#7f1d1d4d,#7f1d1d1a);border-color:#7f1d1d99}.blog-root .directive>p:first-of-type{margin-top:0}.blog-root .directive>p:last-of-type{margin-bottom:0}.blog-root .remark-code-title+.code-block-wrapper{margin-top:.5rem}.blog-root figure[data-rehype-pretty-code-figure]{margin:1.25rem 0}.blog-root figure[data-rehype-pretty-code-figure]>.code-block-wrapper{margin-block:0}.blog-root .code-block-wrapper{border:1px solid var(--code-wrapper-border);background-color:var(--code-wrapper-bg,#282c34);-webkit-user-select:text;user-select:text;border-radius:.5rem;margin-block:1.25rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.dark .blog-root .code-block-wrapper{border-color:var(--code-wrapper-border);background-color:var(--code-wrapper-bg,#282c34);box-shadow:0 1px 2px #00000038}.blog-root .code-block-header{border-bottom:1px solid hsl(var(--border) / .3);background-color:hsl(var(--muted) / .2);color:hsl(var(--foreground) / .45);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem .75rem;display:flex}.dark .blog-root .code-block-header{border-color:hsl(var(--border) / .3);background-color:hsl(var(--muted) / .2);color:hsl(var(--foreground) / .45)}.blog-root .code-block-header-meta{align-items:center;gap:.625rem;min-width:0;display:flex}.blog-root .code-window-dots{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.blog-root .code-window-dot{border-radius:999px;width:9px;height:9px}.blog-root .code-window-dot-red{background-color:#f87171b3}.blog-root .code-window-dot-amber{background-color:#fbbf24b3}.blog-root .code-window-dot-emerald{background-color:#34d399b3}.blog-root .code-block-language{max-width:100%;color:hsl(var(--foreground) / .45);font-family:var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:600;line-height:1.2;overflow:hidden}.dark .blog-root .code-block-language{color:hsl(var(--foreground) / .45)}.blog-root .prose .code-block-wrapper pre,.blog-root .article-detail .code-block-wrapper pre{color:hsl(var(--foreground) / .9);border-radius:0;margin:0;padding:1rem 0;font-size:14px;line-height:1.55;overflow-x:auto;background-color:#0000!important}.dark .blog-root .prose .code-block-wrapper pre,.dark .blog-root .article-detail .code-block-wrapper pre{color:#f3f4f6}.blog-root .prose .code-block-wrapper pre code,.blog-root .article-detail .code-block-wrapper pre code{font-variant-ligatures:common-ligatures;background-color:#0000;min-width:max-content;padding:0;font-size:14px;line-height:1.55}.blog-root .prose .code-block-wrapper pre code[data-theme],.blog-root .prose .code-block-wrapper pre code[data-theme] span,.blog-root .article-detail .code-block-wrapper pre code[data-theme],.blog-root .article-detail .code-block-wrapper pre code[data-theme] span{color:var(--shiki-light);font-style:var(--shiki-light-font-style,normal);font-weight:var(--shiki-light-font-weight,400);-webkit-text-decoration:var(--shiki-light-text-decoration,none);text-decoration:var(--shiki-light-text-decoration,none)}.dark .blog-root .prose .code-block-wrapper pre code[data-theme],.dark .blog-root .prose .code-block-wrapper pre code[data-theme] span,.dark .blog-root .article-detail .code-block-wrapper pre code[data-theme],.dark .blog-root .article-detail .code-block-wrapper pre code[data-theme] span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style,normal);font-weight:var(--shiki-dark-font-weight,400);-webkit-text-decoration:var(--shiki-dark-text-decoration,none);text-decoration:var(--shiki-dark-text-decoration,none)}.blog-root .code-block-wrapper pre [data-line]{padding:.1rem 1.25rem;display:block}.blog-root .copy-code-btn{color:hsl(var(--foreground) / .4);font-family:var(--font-mono);cursor:pointer;border-radius:.25rem;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:10px;font-weight:500;line-height:1.2;transition:color .15s,background-color .15s,transform .15s;display:inline-flex}.blog-root .copy-code-btn:hover{background-color:hsl(var(--foreground) / .05);color:hsl(var(--foreground) / .75)}.blog-root .copy-code-btn:active{transform:scale(.95)}.dark .blog-root .copy-code-btn{color:hsl(var(--foreground) / .4)}.dark .blog-root .copy-code-btn:hover{background-color:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .75)}.blog-root .copy-code-btn.copied{color:#10b981}.blog-root .copy-code-btn:focus-visible{outline-offset:2px;box-shadow:0 0 0 2px hsl(var(--primary) / .35);outline:2px solid #0000}.blog-root .copy-code-btn svg{stroke-width:2px;flex-shrink:0;width:.875rem;height:.875rem}}
@media (prefers-color-scheme:dark){.markdown-alert{--color-border-default:#30363d;--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-danger-fg:#f85149;--color-danger-emphasis:#da3633;--color-attention-fg:#d29922;--color-attention-emphasis:#9e6a03;--color-done-fg:#a371f7;--color-done-emphasis:#8957e5;--color-success-fg:#3fb950;--color-success-emphasis:#238636}}@media (prefers-color-scheme:light){.markdown-alert{--color-border-default:#d0d7de;--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-danger-fg:#d1242f;--color-danger-emphasis:#cf222e;--color-attention-fg:#9a6700;--color-attention-emphasis:#9a6700;--color-done-fg:#8250df;--color-done-emphasis:#8250df;--color-success-fg:#1a7f37;--color-success-emphasis:#1f883d}}.markdown-alert{border-left:.25em solid var(--borderColor-default,var(--color-border-default));color:inherit;margin-bottom:16px;padding:.5rem 1em}.markdown-alert>:last-child{margin-bottom:0!important}.markdown-alert .markdown-alert-title{align-items:center;font-size:14px;font-weight:500;line-height:1;display:flex}.markdown-alert .markdown-alert-title svg.octicon{fill:currentColor;margin-right:8px!important;margin-right:var(--base-size-8,8px)!important}.markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis,var(--color-accent-emphasis))}.markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent,var(--color-accent-fg))}.markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis,var(--color-success-emphasis))}.markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success,var(--color-success-fg))}.markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis,var(--color-done-emphasis))}.markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done,var(--color-done-fg))}.markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis,var(--color-attention-emphasis))}.markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention,var(--color-attention-fg))}.markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis,var(--color-danger-emphasis))}.markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger,var(--color-danger-fg))}
@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/88731e1a74492905-s.0tlm39yf_ckdx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/861011d7404b02f6-s.3fnhzl7vreycw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/3381337b621a9a6a-s.0jxe124sc_62t.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/5413d6e6d8960ee4-s.0iws-x-_m0m6k.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0951afe60dbf5d36-s.0f7v04cdymq72.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/97e7b204180d1274-s.3xa5d8otat0m1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/b8b552e8609c5636-s.p.2qe5xx8d5sx8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code Fallback;src:local(Arial);ascent-override:73.56%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:134.59%}.fira_code_cac7f1c-module__b-bIwa__className{font-family:Fira Code,Fira Code Fallback;font-style:normal}.fira_code_cac7f1c-module__b-bIwa__variable{--font-fira:"Fira Code", "Fira Code Fallback"}
