.expressive-code .frame{box-shadow:none!important}.expressive-code pre{border:none!important}.expressive-code .copy{display:none!important}.expressive-code.cb-single figure{position:relative;overflow:visible;border:1px solid var(--ec-framesBorderColor,var(--color-code-header-border))!important;border-radius:12px!important}.expressive-code.cb-single figure.is-stuck{border-radius:0 0 12px 12px!important}.expressive-code.cb-single figure>pre{border-radius:0 0 11px 11px!important}.code-sentinel,.expressive-code.cb-single .code-sentinel{pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.code-header,.expressive-code.cb-single .code-header{z-index:10;background:color-mix(in srgb, var(--ec-framesEditorTabBarBg,var(--color-code-header-bg)) 88%, var(--color-bg));border-radius:11px 11px 0 0;align-items:stretch;min-height:1.9rem;transition:border-radius .15s;display:flex;position:sticky;top:0}.is-stuck>.code-header,.expressive-code.cb-single .is-stuck>.code-header{border-radius:0}.cb-header,.expressive-code.cb-single .cb-header{border-bottom:1px solid color-mix(in srgb, var(--ec-framesBorderColor,var(--color-code-header-border)) 78%, transparent);justify-content:center;align-items:center;padding:0 3.25rem}.expressive-code.cb-single figure.is-terminal>.cb-header{background:color-mix(in srgb, var(--ec-frm-trmTtbBg,var(--color-code-header-bg)) 86%, var(--color-bg))}.expressive-code.cb-single figure.is-terminal>.cb-header .terminal-icon{color:var(--ec-uiAccentColor,var(--color-accent));opacity:.85;align-items:center;display:flex;position:absolute;left:.7rem}.expressive-code.cb-single figure.is-terminal>.cb-header .terminal-icon svg{display:block}.expressive-code.cb-single figure.is-terminal>pre,.expressive-code .frame.is-terminal .ec-line .gutter{background:var(--code-background,var(--ec-frm-trmBg,var(--color-code-bg)))!important}.code-group .cg-body figure.is-terminal{--code-background:var(--ec-codeBackground,var(--color-code-bg))}.code-group .cg-body figure.is-terminal>pre,.code-group .cg-body figure.is-terminal .ec-line .gutter{background:var(--ec-codeBackground,var(--color-code-bg))!important}.code-label,.expressive-code.cb-single .code-label{min-width:0;color:var(--ec-uiFgColor,var(--color-muted));font:500 .84rem/1.4 var(--font-article,var(--font-sans,sans-serif));letter-spacing:.01em;text-align:center;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.expressive-code.cb-single .code-label{max-width:calc(100% - 7rem);position:absolute;left:50%;transform:translate(-50%)}.code-actions,.expressive-code.cb-single .code-actions{flex-shrink:0;align-items:center;gap:.1rem;margin-left:auto;display:flex}.expressive-code.cb-single .code-actions{position:absolute;right:.65rem}.code-toggle,.cb-copy,.cg-copy,.expressive-code.cb-single .code-toggle,.expressive-code.cb-single .cb-copy{appearance:none;color:var(--ec-uiFgColor,var(--color-muted));cursor:pointer;opacity:.6;background:0 0;border:none;transition:opacity .15s,color .15s,background .15s}.code-toggle,.expressive-code.cb-single .code-toggle{border-radius:4px;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;display:flex}.code-toggle:hover,.expressive-code.cb-single .code-toggle:hover{background:#8080801a}.cb-copy,.cg-copy,.expressive-code.cb-single .cb-copy{font:.8rem var(--font-article,var(--font-sans,sans-serif));white-space:nowrap;padding:0 .25em}.code-toggle:hover,.cb-copy:hover,.cg-copy:hover,.expressive-code.cb-single .code-toggle:hover,.expressive-code.cb-single .cb-copy:hover{color:var(--ec-uiAccentColor,var(--color-accent));opacity:1}.code-toggle svg,.expressive-code.cb-single .code-toggle svg{pointer-events:none;display:block}.code-copied,.expressive-code.cb-single .code-copied{color:#16a34a!important;opacity:1!important}.code-copy-error,.expressive-code.cb-single .code-copy-error{color:#dc2626!important;opacity:1!important}figure.cb-collapsed:after,figure.cg-tab-collapsed:after{content:"";background:linear-gradient(to bottom, transparent, var(--ec-codeBackground,var(--color-code-bg)) 70%);pointer-events:none;z-index:1;height:4em;position:absolute;bottom:0;left:0;right:0}.expressive-code.cb-single figure.cb-collapsed:after{border-radius:0 0 11px 11px}.code-expand-footer,.expressive-code.cb-single .code-expand-footer{z-index:5;border:1px solid var(--ec-framesBorderColor,var(--color-code-header-border));background:var(--ec-framesEditorTabBarBg,var(--color-code-header-bg));color:var(--ec-uiFgColor,var(--color-muted));cursor:pointer;font:.8rem var(--font-article,var(--font-sans,sans-serif));opacity:.8;white-space:nowrap;border-radius:999px;align-items:center;gap:.2em;padding:.2em .75em;display:flex;position:absolute;bottom:.5em;left:50%;transform:translate(-50%)}.code-expand-footer:hover,.expressive-code.cb-single .code-expand-footer:hover{border-color:var(--ec-uiAccentColor,var(--color-accent));color:var(--ec-uiAccentColor,var(--color-accent));opacity:1}.code-group{border:1px solid var(--ec-framesBorderColor,var(--color-code-header-border));background:var(--ec-codeBackground,var(--color-code-bg));border-radius:12px;margin:1.2em 0;transition:border-radius .15s;position:relative;overflow:visible}.code-group.is-stuck{border-radius:0 0 12px 12px}.cg-header{border-bottom:1px solid color-mix(in srgb, var(--ec-framesBorderColor,var(--color-code-header-border)) 78%, transparent);border-radius:11px 11px 0 0;padding:0 .4rem 0 0}.code-group.is-stuck>.cg-header{border-radius:0}.cg-tabs{min-width:0;display:flex;overflow:hidden}.cg-tab{color:var(--ec-uiFgColor,var(--color-muted));cursor:pointer;font:500 .84rem var(--font-article,var(--font-sans,sans-serif));white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;padding:0 .7em;display:flex}.cg-tabs>.cg-tab:first-child{border-top-left-radius:11px}.code-group.is-stuck .cg-tabs>.cg-tab:first-child{border-top-left-radius:0}.cg-tab:focus{outline:none}.cg-tab:focus-visible{outline:2px solid color-mix(in srgb, var(--ec-uiAccentColor,var(--color-accent)) 65%, transparent);outline-offset:-2px;border-radius:6px}.cg-tab:hover{color:var(--ec-uiFgColor,var(--color-text));background:#80808012}.cg-tab--active{border-bottom-color:var(--ec-uiAccentColor,var(--color-accent));color:var(--ec-uiAccentColor,var(--color-accent));background:color-mix(in srgb, var(--ec-uiAccentColor,var(--color-accent)) 7%, transparent)}.cg-more{flex-shrink:0;display:flex;position:relative}.cg-more-button{text-overflow:ellipsis;max-width:8rem;padding:0 .3em;overflow:hidden}.cg-more-menu{z-index:50;border:1px solid var(--ec-framesBorderColor,var(--color-code-header-border));background:var(--ec-framesEditorTabBarBg,var(--color-code-header-bg));border-radius:8px;min-width:140px;max-height:220px;padding:3px;display:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto}.cg-more-menu--open{flex-direction:column;display:flex}.cg-tab--in-menu{text-align:left;border-bottom:none;border-radius:4px;justify-content:flex-start;width:100%;padding:.25em .55em}.cg-body{border-radius:0 0 11px 11px;position:relative;overflow:hidden}.cg-body>.expressive-code,.cg-body>.expressive-code>figure{border:none!important;border-radius:0!important;margin:0!important}.cg-body>.expressive-code>figure>pre{border-radius:0!important}.cg-body>.expressive-code:last-of-type>figure>pre{border-radius:0 0 11px 11px!important}figure.has-custom-scroll{padding-bottom:7px!important}.expressive-code.cb-single figure.has-custom-scroll{overflow:clip;background:var(--code-background,var(--ec-codeBackground,var(--color-code-bg)))!important}figure.has-custom-scroll>pre{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.cs-bar,.expressive-code.cb-single .cs-bar{z-index:20!important;cursor:pointer!important;background:0 0!important;border:none!important;height:5px!important;margin:0!important;padding:0!important;position:absolute!important;bottom:2px!important;left:0!important;right:0!important}.expressive-code.cb-single figure.has-custom-scroll>.cs-bar{background:var(--code-background,var(--ec-codeBackground,var(--color-code-bg)))!important;border-radius:0 0 11px 11px!important}.cs-thumb,.expressive-code.cb-single .cs-thumb{background:var(--scrollbar-thumb)!important;cursor:grab!important;border-radius:4px!important;min-width:24px!important;height:4px!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;bottom:0!important}.cs-thumb:active,.expressive-code.cb-single .cs-thumb:active{background:var(--scrollbar-thumb-hover)!important;cursor:grabbing!important}.cs-bar:hover .cs-thumb,.expressive-code.cb-single .cs-bar:hover .cs-thumb{background:var(--scrollbar-thumb-hover)!important}.cs-bar[hidden],.expressive-code.cb-single .cs-bar[hidden],figure.cb-collapsed .cs-bar,figure.cg-tab-collapsed .cs-bar{display:none!important}.expressive-code pre{-ms-overflow-style:none;scrollbar-width:none!important}.expressive-code pre::-webkit-scrollbar{display:none!important}.expressive-code .ec-line .gutter{z-index:1;background:var(--ec-codeBackground,var(--color-code-bg));position:sticky;left:0}.expressive-code .ec-line .ln{padding-right:.3em;font-size:.88em}.cg-body figure[hidden],.cg-more[hidden],.code-toggle[hidden],.code-expand-footer[hidden]{display:none!important}.series-toc[data-astro-cid-rxui2ec3]{border-top:1px solid var(--color-border);margin-top:1.2rem;padding-top:.8rem}.series-title[data-astro-cid-rxui2ec3]{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;font-size:.75rem;font-weight:500}ol[data-astro-cid-rxui2ec3]{border-left:1px solid var(--color-border);margin:0;padding:0;list-style:none}a[data-astro-cid-rxui2ec3]{color:var(--color-muted);border-bottom:none;border-left:2px solid #0000;margin-left:-1px;padding:.3em 0 .3em .75rem;line-height:1.4;transition:color .15s,border-color .15s;display:block}a[data-astro-cid-rxui2ec3]:hover,a[data-astro-cid-rxui2ec3].is-active{color:var(--color-accent);border-left-color:var(--color-accent)}.toc[data-astro-cid-4ti3mubj]{border-top:1px solid var(--color-border);margin-top:1.2rem;padding-top:.8rem}.toc-title[data-astro-cid-4ti3mubj]{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem;font-size:.75rem;font-weight:500}.toc[data-astro-cid-4ti3mubj] ul[data-astro-cid-4ti3mubj]{border-left:1px solid var(--color-border);margin:0;padding:0;list-style:none}.toc-item[data-astro-cid-4ti3mubj]{line-height:1.5}.toc-item[data-astro-cid-4ti3mubj] a[data-astro-cid-4ti3mubj]{color:var(--color-muted);border-bottom:none;border-left:2px solid #0000;margin-left:-1px;padding:.2em 0 .2em .75rem;transition:color .15s,border-color .15s;display:block}.toc-item[data-astro-cid-4ti3mubj] a[data-astro-cid-4ti3mubj]:hover,.toc-item[data-astro-cid-4ti3mubj] a[data-astro-cid-4ti3mubj].toc-active{color:var(--color-accent);border-left-color:var(--color-accent)}.toc-depth-3[data-astro-cid-4ti3mubj] a[data-astro-cid-4ti3mubj]{padding-left:1.5rem;font-size:.85rem}.post-detail[data-astro-cid-hujup262]{max-width:100%}.post-header[data-astro-cid-hujup262]{margin-bottom:2rem}.post-header[data-astro-cid-hujup262] h1[data-astro-cid-hujup262]{margin-top:0;margin-bottom:.2rem}.post-body[data-astro-cid-hujup262]{font-family:var(--font-article);word-wrap:break-word;font-size:1.1rem;line-height:1.6}.post-body[data-astro-cid-hujup262] code,.post-body[data-astro-cid-hujup262] pre{font-family:var(--font-mono)}.post-section[data-astro-cid-hujup262]+.post-section[data-astro-cid-hujup262]{border-top:1px solid var(--color-border);margin-top:3.5rem;padding-top:1.5rem}.section-title[data-astro-cid-hujup262]{margin-top:0}.mobile-sections[data-astro-cid-hujup262]{margin-bottom:2rem;display:none}.post-footer[data-astro-cid-hujup262]{margin-top:3rem}.post-nav[data-astro-cid-hujup262]{font-size:.95rem}.post-nav[data-astro-cid-hujup262] a[data-astro-cid-hujup262]{border-bottom:none}.post-nav[data-astro-cid-hujup262] a[data-astro-cid-hujup262]:hover{border-bottom:1px solid var(--color-accent)}.tag[data-astro-cid-hujup262],.related-label[data-astro-cid-hujup262]{color:var(--color-muted);font-size:.85rem}.tag[data-astro-cid-hujup262]{border-bottom:none;margin-right:.35rem}.tag[data-astro-cid-hujup262]:hover{color:var(--color-accent)}.post-nav[data-astro-cid-hujup262] ul[data-astro-cid-hujup262]{margin:.5rem 0 0;padding:0;list-style:none}.post-nav[data-astro-cid-hujup262] li[data-astro-cid-hujup262]{margin-bottom:.3rem}@media (width<=750px){.mobile-sections[data-astro-cid-hujup262]{display:block}}
