@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid}}}.prose{max-width:var(--container-3xl,48rem);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:1.75;color:var(--text);word-break:break-word;line-height:1.75}.prose>:first-child{margin-top:calc(var(--spacing,.25rem) * 0)}.prose>:last-child{margin-bottom:calc(var(--spacing,.25rem) * 0)}.prose p{margin-block:calc(var(--spacing,.25rem) * 5);--tw-leading:1.85;line-height:1.85}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{scroll-margin-top:calc(var(--spacing,.25rem) * 8);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--text);letter-spacing:-.01em;line-height:1.3;position:relative}.prose h1{margin-top:calc(var(--spacing,.25rem) * 12);margin-bottom:calc(var(--spacing,.25rem) * 4);font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ));--tw-font-weight:var(--font-weight-extrabold,800);font-weight:var(--font-weight-extrabold,800)}.prose h2{margin-top:calc(var(--spacing,.25rem) * 12);margin-bottom:calc(var(--spacing,.25rem) * 4);border-bottom-style:var(--tw-border-style);padding-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));border-bottom-width:1px;border-color:var(--border)}.prose h3{margin-top:calc(var(--spacing,.25rem) * 9);margin-bottom:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)))}.prose h4{margin-top:calc(var(--spacing,.25rem) * 7);margin-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)))}.prose h5{margin-top:calc(var(--spacing,.25rem) * 6);margin-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));color:var(--text-muted)}.prose h1 .anchor,.prose h2 .anchor,.prose h3 .anchor,.prose h4 .anchor,.prose h5 .anchor,.prose h6 .anchor{margin:calc(var(--spacing,.25rem) * -.5);padding:calc(var(--spacing,.25rem) * .5);opacity:0;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));-webkit-user-select:none;user-select:none;color:var(--text-muted);border-bottom:0;margin-left:.2ch;font-weight:400;text-decoration-line:none;background:0 0!important}.prose h1:hover .anchor,.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.prose h5:hover .anchor,.prose h6:hover .anchor{opacity:1}.prose .anchor:hover{color:var(--primary)!important}.prose .anchor-icon{margin-inline:.45ch}.prose .anchor:not(:has(*)):before{content:"#"}.prose a:not(.no-styling):not(.anchor){--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-underline-offset:4px;color:var(--primary);text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:all var(--transition);background:0 0;border-radius:.375rem;display:inline-block;position:relative}.prose a:not(.no-styling):not(.anchor):hover{background:var(--link-hover);border-bottom:1px dashed var(--primary);border-radius:2px;text-decoration:none}.prose a:not(.no-styling):not(.anchor):active{background:var(--link-active)}.prose strong,.prose b{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--text)}.prose em,.prose i{color:var(--text);font-style:italic}.prose del,.prose s{color:var(--text-muted);text-decoration-line:line-through}.prose code{border-radius:var(--radius-md,.375rem);padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * .5);background:var(--inline-code-bg);color:var(--inline-code-color,var(--primary));border:1px solid var(--border);font-family:JetBrains Mono Variable,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;font-weight:500;overflow:hidden}.prose code:before,.prose code:after{content:none}.prose pre code{padding:calc(var(--spacing,.25rem) * 0);color:inherit;font-weight:400;font-size:inherit;background:0 0;border:0;border-radius:0}.prose .expressive-code{margin-block:calc(var(--spacing,.25rem) * 6)}.prose .expressive-code ::selection{background:var(--codeblock-selection)}.prose .frame:hover .copy-btn{opacity:1}.prose .copy-btn{top:calc(var(--spacing,.25rem) * 3);right:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);cursor:pointer;border-radius:var(--radius-lg,.5rem);opacity:0;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));position:absolute}.prose pre:not([class*=ec-]):not(.expressive-code pre){margin-block:calc(var(--spacing,.25rem) * 6);border-radius:var(--radius-xl,.75rem);padding:calc(var(--spacing,.25rem) * 5);background:var(--codeblock-bg);border:1px solid var(--border);font-family:JetBrains Mono Variable,ui-monospace,SFMono-Regular,monospace;font-size:.875rem;line-height:1.65;overflow-x:auto}.prose blockquote{margin-block:calc(var(--spacing,.25rem) * 6);padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 2);font-style:normal;font-weight:inherit;color:var(--text);border:0;position:relative}.prose blockquote:before{content:"";top:calc(var(--spacing,.25rem) * 0);bottom:calc(var(--spacing,.25rem) * 0);left:calc(var(--spacing,.25rem) * -1);width:calc(var(--spacing,.25rem) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background:var(--btn-regular-bg);border-radius:3.40282e38px;position:absolute}.prose blockquote p{margin-block:calc(var(--spacing,.25rem) * 2);color:var(--text)}.prose blockquote p:first-child{margin-top:calc(var(--spacing,.25rem) * 0)}.prose blockquote p:last-child{margin-bottom:calc(var(--spacing,.25rem) * 0)}.prose blockquote p:before,.prose blockquote p:after{content:none}.prose ul,.prose ol{margin-block:calc(var(--spacing,.25rem) * 5);padding-left:calc(var(--spacing,.25rem) * 7)}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{margin-block:calc(var(--spacing,.25rem) * 2);padding-left:calc(var(--spacing,.25rem) * 1);line-height:1.75}.prose li::marker{color:var(--primary);font-weight:600}.prose li>p,.prose li>ul,.prose li>ol{margin-block:calc(var(--spacing,.25rem) * 2)}.prose li>ul{list-style-type:circle}.prose li>ol{list-style-type:lower-alpha}.prose ul.contains-task-list{padding-left:calc(var(--spacing,.25rem) * 0);list-style-type:none}.prose .task-list-item{margin-block:calc(var(--spacing,.25rem) * 1.5);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);display:flex}.prose .task-list-item input[type=checkbox]{cursor:default;accent-color:var(--primary);margin-top:7px}.prose hr{margin-block:calc(var(--spacing,.25rem) * 10);border-style:var(--tw-border-style);border-width:0;border-top-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-top-width:1px;border-color:var(--line-divider)}.prose img{margin-inline:auto;margin-block:calc(var(--spacing,.25rem) * 6);cursor:zoom-in;border-radius:.75rem;max-width:100%;height:auto}.prose figure{margin-block:calc(var(--spacing,.25rem) * 6)}.prose figcaption{margin-top:calc(var(--spacing,.25rem) * 2);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--text-muted);font-style:italic}.prose iframe{margin-inline:auto;margin-block:calc(var(--spacing,.25rem) * 6);border-radius:.75rem;max-width:100%}.prose table{margin-block:calc(var(--spacing,.25rem) * 6);border-collapse:collapse;border-radius:var(--radius-xl,.75rem);width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));border:1px solid var(--border);display:block;overflow:auto hidden}.prose thead{background:var(--hover-bg)}.prose th{padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2.5);text-align:left;--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);white-space:nowrap;color:var(--text);border-bottom:1px solid var(--border)}.prose td{padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2.5);border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.prose td:last-child,.prose th:last-child{border-right:0}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:hover{background:var(--hover-bg)}.prose kbd{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);background:var(--card-bg);border:1px solid var(--border);color:var(--text);border-bottom-width:2px;border-radius:.25rem;font-family:JetBrains Mono Variable,ui-monospace,monospace;font-size:.8125em}.prose details{margin-block:calc(var(--spacing,.25rem) * 5);border-radius:var(--radius-xl,.75rem);padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 3);background:var(--hover-bg);border:1px solid var(--border)}.prose details summary{cursor:pointer;--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);-webkit-user-select:none;user-select:none;color:var(--text)}.prose details[open] summary{margin-bottom:calc(var(--spacing,.25rem) * 3)}.prose .spoiler{color:#0000;background:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px;transition:all .15s ease-out}.prose .spoiler:hover{color:var(--text);background:0 0}.prose .dash-line{position:relative}.prose .dash-line:before{content:"";border-left:2px dashed var(--line-color);pointer-events:none;width:10%;height:100%;position:absolute;top:0;left:0}.prose .admonition{margin-block:calc(var(--spacing,.25rem) * 6);border-radius:var(--radius-xl,.75rem);padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 4);border:1px solid;position:relative}.prose .admonition-title{margin-bottom:calc(var(--spacing,.25rem) * 2);align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:flex}.prose .admonition-icon{background:currentColor;flex-shrink:0;width:1rem;height:1rem;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.prose .admonition-tip{color:var(--admonitions-color-tip);background:var(--admonitions-color-tip)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-tip{background:color-mix(in oklch,var(--admonitions-color-tip) 8%,transparent)}}.prose .admonition-tip{border-color:var(--admonitions-color-tip)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-tip{border-color:color-mix(in oklch,var(--admonitions-color-tip) 30%,transparent)}}.prose .admonition-note{color:var(--admonitions-color-note);background:var(--admonitions-color-note)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-note{background:color-mix(in oklch,var(--admonitions-color-note) 8%,transparent)}}.prose .admonition-note{border-color:var(--admonitions-color-note)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-note{border-color:color-mix(in oklch,var(--admonitions-color-note) 30%,transparent)}}.prose .admonition-important{color:var(--admonitions-color-important);background:var(--admonitions-color-important)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-important{background:color-mix(in oklch,var(--admonitions-color-important) 8%,transparent)}}.prose .admonition-important{border-color:var(--admonitions-color-important)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-important{border-color:color-mix(in oklch,var(--admonitions-color-important) 30%,transparent)}}.prose .admonition-warning{color:var(--admonitions-color-warning);background:var(--admonitions-color-warning)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-warning{background:color-mix(in oklch,var(--admonitions-color-warning) 8%,transparent)}}.prose .admonition-warning{border-color:var(--admonitions-color-warning)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-warning{border-color:color-mix(in oklch,var(--admonitions-color-warning) 30%,transparent)}}.prose .admonition-caution{color:var(--admonitions-color-caution);background:var(--admonitions-color-caution)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-caution{background:color-mix(in oklch,var(--admonitions-color-caution) 8%,transparent)}}.prose .admonition-caution{border-color:var(--admonitions-color-caution)}@supports (color:color-mix(in lab,red,red)){.prose .admonition-caution{border-color:color-mix(in oklch,var(--admonitions-color-caution) 30%,transparent)}}.prose .admonition p,.prose .admonition li,.prose .admonition ul,.prose .admonition ol{color:var(--text)}.prose .card-github{margin-block:calc(var(--spacing,.25rem) * 6);border-radius:var(--radius-large);background:var(--btn-regular-bg);border:1px solid var(--border);color:var(--text);transition:all var(--transition);cursor:pointer;padding:1.1rem 1.5rem;text-decoration-line:none;display:block;text-decoration:none!important}.prose .card-github:hover{background:var(--btn-regular-bg-hover);box-shadow:var(--shadow-md)}.prose .card-github:active{background:var(--btn-regular-bg-active);transform:scale(.98)}.prose .card-github.loading{pointer-events:none;animation:2s linear infinite pulsate}.prose .gc-titlebar{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.prose .gc-repo{font-weight:700}.prose .gc-owner{font-weight:300}.prose .gc-avatar{object-fit:cover;border-radius:50%;width:1.5rem;height:1.5rem}.prose .gc-description{color:var(--text-muted);margin-bottom:.75rem;font-size:1rem;line-height:1.5rem}.prose .gc-infobar{color:var(--text-muted);align-items:center;gap:1.5rem;font-size:.875rem;display:flex}.prose .gc-stars,.prose .gc-forks,.prose .gc-license{align-items:center;gap:.25rem;display:flex}.prose .github-logo{margin-left:auto;font-size:1.25rem}.prose .katex-display-container{margin-block:calc(var(--spacing,.25rem) * 4);max-width:100%;overflow-x:auto}.prose .footnotes{margin-top:calc(var(--spacing,.25rem) * 12);padding-top:calc(var(--spacing,.25rem) * 6);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));border-top:1px solid var(--border);color:var(--text-muted)}.prose .footnotes ol{padding-left:calc(var(--spacing,.25rem) * 6)}.prose .footnotes li{margin-block:calc(var(--spacing,.25rem) * 2)}.prose>p:first-of-type{color:var(--text);font-size:1.0625rem}.prose ::selection{background:var(--primary-dim);color:var(--primary)}@media(max-width:640px){.prose{font-size:.9375rem}.prose h1{margin-top:calc(var(--spacing,.25rem) * 10);font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}.prose h2{margin-top:calc(var(--spacing,.25rem) * 9);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)))}.prose h3{margin-top:calc(var(--spacing,.25rem) * 7);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)))}.prose ul,.prose ol{padding-left:calc(var(--spacing,.25rem) * 6)}.prose th,.prose td{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2)}}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.post[data-astro-cid-gjtny2mx]{max-width:42rem;margin:0 auto}.post-header[data-astro-cid-gjtny2mx]{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-title[data-astro-cid-gjtny2mx]{font-size:2rem;font-weight:700;line-height:1.25;margin:0 0 .875rem;letter-spacing:-.02em;color:var(--deep-text, var(--text))}.post-meta[data-astro-cid-gjtny2mx]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.post-meta[data-astro-cid-gjtny2mx] time[data-astro-cid-gjtny2mx]{font-family:var(--font-mono)}.dot[data-astro-cid-gjtny2mx]{opacity:.5}.post-category[data-astro-cid-gjtny2mx]{color:var(--primary);font-weight:500}.post-description[data-astro-cid-gjtny2mx]{margin:1rem 0 0;font-size:1.0625rem;color:var(--text-muted);line-height:1.6;font-style:italic}.post-footer[data-astro-cid-gjtny2mx]{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.post-tags[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;gap:.5rem}.tag[data-astro-cid-gjtny2mx]{font-size:.8125rem;padding:.25rem .625rem;background:var(--btn-regular-bg);color:var(--text-muted);border-radius:var(--radius-full);transition:all var(--transition);cursor:default}.tag[data-astro-cid-gjtny2mx]:hover{background:var(--btn-regular-bg-hover);color:var(--text)}@media(max-width:640px){.post-title[data-astro-cid-gjtny2mx]{font-size:1.625rem}.post-description[data-astro-cid-gjtny2mx]{font-size:1rem}}
