.site-footer[data-astro-cid-nns7i3if]{border-block-start:1px solid var(--foreground2);color:var(--foreground2)}.footer-inner[data-astro-cid-nns7i3if]{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;width:min(100% - 1rem,72rem);margin-inline:auto;padding-block:1rem;display:flex}a[data-astro-cid-nns7i3if]{color:var(--foreground1);text-underline-offset:.18em}a[data-astro-cid-nns7i3if]:hover{color:var(--accent-cyan)}.site-header[data-astro-cid-fzpbxy5g]{z-index:5;background:color-mix(in srgb, var(--background0) 90%, transparent);backdrop-filter:blur(12px);border-block-end:1px solid color-mix(in srgb, var(--foreground2) 45%, transparent);position:sticky;inset-block-start:0}nav[data-astro-cid-fzpbxy5g]{justify-content:center;width:min(100% - 1.5rem,70rem);margin-inline:auto;padding-block:clamp(.65rem,1.4vw,.85rem);display:flex}.nav-links[data-astro-cid-fzpbxy5g]{flex-wrap:wrap;align-items:center;gap:.5rem clamp(1.55rem,4vw,2.7rem);display:flex}.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--foreground1);border-block-end:2px solid #0000;padding-block:.2rem;text-decoration:none;transition:color .15s,border-color .15s}.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][data-active=true]{color:var(--foreground0);border-block-end-color:var(--accent-cyan)}@media (width<=520px){nav[data-astro-cid-fzpbxy5g]{align-items:flex-start}.nav-links[data-astro-cid-fzpbxy5g]{justify-content:space-between;width:100%}}@layer base{:root{--background0:#fff;--background1:#ddd;--background2:#bbb;--background3:#999;--foreground0:#000;--foreground1:#444;--foreground2:#888;--font-size:16px;--line-height:1.3;--font-weight-bold:700;--font-weight-normal:400;--font-family:monospace;--box-border-color:var(--foreground0)}[data-webtui-theme=dark]{--background0:#000;--background1:#222;--background2:#444;--background3:#666;--foreground0:#fff;--foreground1:#ccc;--foreground2:#999}body,html{background-color:var(--background0);color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height,1.5);font-variant-ligatures:common-ligatures;word-break:break-all}*{box-sizing:border-box;outline:none;margin:0;padding:0}}@layer utils{@property --box-rounded-radius{syntax:"<length>";inherits:false;initial-value:4px}@property --box-border-width{syntax:"<length>";inherits:false;initial-value:2px}@property --box-double-border-width{syntax:"<length>";inherits:false;initial-value:1px}[box-=square],[box-=round],[box-=double]{isolation:isolate;padding:1lh 1ch;position:relative}[box-=square]:before,[box-=round]:before,[box-=double]:before{content:"";width:calc(100% - 1ch - var(--box-border-width));height:calc(100% - 1lh - var(--box-border-width));border:solid var(--box-border-width) var(--box-border-color);z-index:-1;position:absolute;top:50%;left:50%;translate:-50% -50%}[box-=square][box-=round]:before,[box-=round][box-=round]:before,[box-=double][box-=round]:before{border-radius:var(--box-rounded-radius)}[box-=square][box-=round]:after,[box-=round][box-=round]:after,[box-=double][box-=round]:after{border-radius:calc(var(--box-rounded-radius) + 2px)}[box-=square][box-=double]:before,[box-=round][box-=double]:before,[box-=double][box-=double]:before{border-width:var(--box-double-border-width)}[box-=square][box-=double]:after,[box-=round][box-=double]:after,[box-=double][box-=double]:after{content:"";width:calc(100% - 1ch + var(--box-double-border-width) * 2);height:calc(100% - 1lh + var(--box-double-border-width) * 2);border:solid var(--box-double-border-width) var(--box-border-color);z-index:-1;position:absolute;top:50%;left:50%;translate:-50% -50%}[box-=square][shear-=both],[box-=round][shear-=both],[box-=double][shear-=both]{padding-top:0;padding-bottom:0}[box-=square][shear-=top],[box-=round][shear-=top],[box-=double][shear-=top]{padding-top:0}[box-=square][shear-=bottom],[box-=round][shear-=bottom],[box-=double][shear-=bottom]{padding-bottom:0}}@layer components{h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);font-weight:var(--font-weight-bold)}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{color:inherit;background-color:var(--background1);padding:0 1ch}ol{list-style-position:inside}ol li>ol{margin-left:2ch}ul{list-style-type:none}ul li:before{color:var(--list-marker-color,inherit);content:"- "}ul[marker-=bullet] li:before{content:"• "}ul[marker-~=tree] li:before{content:"├ "}ul[marker-~=tree]:not([marker-^=open]) li:first-of-type:before{content:"┌ "}ul[marker-~=tree]:not([marker-$=open]) li:last-of-type:before{content:"└ "}ul[marker-~=round-tree] li:before{content:"├ "}ul[marker-~=round-tree]:not([marker-^=open]) li:first-of-type:before{content:"╭ "}ul[marker-~=round-tree]:not([marker-$=open]) li:last-of-type:before{content:"╰ "}ul li>ul{margin-left:2ch}p,blockquote,li,[is-~=typography-block]{font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);color:var(--foreground1)}p:is(blockquote),blockquote:is(blockquote),li:is(blockquote),[is-~=typography-block]:is(blockquote){padding-left:2ch;position:relative}p:is(blockquote):before,blockquote:is(blockquote):before,li:is(blockquote):before,[is-~=typography-block]:is(blockquote):before{content:"";width:var(--box-border-width,2px);background-color:var(--blockquote-indent-color,var(--background2));height:100%;position:absolute;top:0;left:.5ch;translate:-50%}p strong,blockquote strong,li strong,[is-~=typography-block] strong{font-weight:var(--font-weight-bold);color:var(--foreground0)}p a,blockquote a,li a,[is-~=typography-block] a{color:var(--foreground2);text-decoration:underline}p code,blockquote code,li code,[is-~=typography-block] code{background-color:var(--background1);padding-left:1ch;padding-right:1ch;display:inline-block}button,input[type=button],input[type=submit],input[type=reset],[is-~=button]{--button-primary:var(--foreground0);--button-secondary:var(--background0);--mapped-primary:var(--button-primary);--mapped-secondary:var(--button-secondary);color:var(--mapped-secondary);background-color:var(--mapped-primary);font-family:var(--font-family);font-size:var(--font-size);line-height:var(--line-height);border:none;outline:none;justify-content:center;align-items:center;padding:0 2ch;display:inline-flex}button[box-],input[type=button][box-],input[type=submit][box-],input[type=reset][box-],[is-~=button][box-]{color:var(--mapped-primary);--box-border-color:var(--mapped-primary);background-color:#0000}button:focus,input[type=button]:focus,input[type=submit]:focus,input[type=reset]:focus,[is-~=button]:focus{font-weight:700;text-decoration:underline}button:active,input[type=button]:active,input[type=submit]:active,input[type=reset]:active,[is-~=button]:active{--mapped-primary:var(--mapped-secondary);--mapped-secondary:var(--mapped-primary)}button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled,[is-~=button]:disabled{pointer-events:none;text-decoration:line-through}button[size-=small],input[type=button][size-=small],input[type=submit][size-=small],input[type=reset][size-=small],[is-~=button][size-=small]{height:1lh;padding:0 1ch}button:not([size-]):not([box-]),button[size-=default]:not([box-]),input[type=button]:not([size-]):not([box-]),input[type=button][size-=default]:not([box-]),input[type=submit]:not([size-]):not([box-]),input[type=submit][size-=default]:not([box-]),input[type=reset]:not([size-]):not([box-]),input[type=reset][size-=default]:not([box-]),[is-~=button]:not([size-]):not([box-]),[is-~=button][size-=default]:not([box-]){background-color:#0000;background-image:linear-gradient(to bottom,transparent 0,transparent .5lh,var(--mapped-primary) .5lh,var(--mapped-primary) calc(100% - .5lh),transparent calc(100% - .5lh),transparent)}button[size-=large],button[size-=default],button:not([size-]),input[type=button][size-=large],input[type=button][size-=default],input[type=button]:not([size-]),input[type=submit][size-=large],input[type=submit][size-=default],input[type=submit]:not([size-]),input[type=reset][size-=large],input[type=reset][size-=default],input[type=reset]:not([size-]),[is-~=button][size-=large],[is-~=button][size-=default],[is-~=button]:not([size-]){height:3lh}button[variant-=foreground0],button:not([variant-]),input[type=button][variant-=foreground0],input[type=button]:not([variant-]),input[type=submit][variant-=foreground0],input[type=submit]:not([variant-]),input[type=reset][variant-=foreground0],input[type=reset]:not([variant-]),[is-~=button][variant-=foreground0],[is-~=button]:not([variant-]){--button-primary:var(--foreground0);--button-secondary:var(--background0)}button[variant-=foreground1],input[type=button][variant-=foreground1],input[type=submit][variant-=foreground1],input[type=reset][variant-=foreground1],[is-~=button][variant-=foreground1]{--button-primary:var(--foreground1);--button-secondary:var(--background0)}button[variant-=foreground2],input[type=button][variant-=foreground2],input[type=submit][variant-=foreground2],input[type=reset][variant-=foreground2],[is-~=button][variant-=foreground2]{--button-primary:var(--foreground2);--button-secondary:var(--background0)}button[variant-=background0],input[type=button][variant-=background0],input[type=submit][variant-=background0],input[type=reset][variant-=background0],[is-~=button][variant-=background0]{--button-primary:var(--background0);--button-secondary:var(--foreground0)}button[variant-=background1],input[type=button][variant-=background1],input[type=submit][variant-=background1],input[type=reset][variant-=background1],[is-~=button][variant-=background1]{--button-primary:var(--background1);--button-secondary:var(--foreground0)}button[variant-=background2],input[type=button][variant-=background2],input[type=submit][variant-=background2],input[type=reset][variant-=background2],[is-~=button][variant-=background2]{--button-primary:var(--background2);--button-secondary:var(--foreground0)}button[variant-=background3],input[type=button][variant-=background3],input[type=submit][variant-=background3],input[type=reset][variant-=background3],[is-~=button][variant-=background3]{--button-primary:var(--background3);--button-secondary:var(--foreground0)}[is-~=badge]{color:var(--badge-text);background-image:linear-gradient(90deg,transparent 0,transparent calc(1ch - 1px),var(--badge-color) calc(1ch - 1px),var(--badge-color) calc(100% - 1ch + 1px),transparent calc(100% - 1ch + 1px),transparent);vertical-align:top;white-space:nowrap;height:1lh;line-height:1lh;display:inline-flex}[is-~=badge][variant-=foreground0],[is-~=badge]:not([variant-]){--badge-color:var(--foreground0);--badge-text:var(--background0)}[is-~=badge][variant-=foreground1]{--badge-color:var(--foreground1);--badge-text:var(--background0)}[is-~=badge][variant-=foreground2]{--badge-color:var(--foreground2);--badge-text:var(--background0)}[is-~=badge][variant-=background0]{--badge-color:var(--background0);--badge-text:var(--foreground0)}[is-~=badge][variant-=background1]{--badge-color:var(--background1);--badge-text:var(--foreground0)}[is-~=badge][variant-=background2]{--badge-color:var(--background2);--badge-text:var(--foreground0)}[is-~=badge][variant-=background3]{--badge-color:var(--background3);--badge-text:var(--foreground0)}[is-~=badge]:before,[is-~=badge]:after{content:"";vertical-align:middle;background-color:var(--badge-color);width:1ch;height:1lh;display:inline-block;overflow:hidden}[is-~=badge][cap-^=round]:before{border-top-left-radius:1lh;border-bottom-left-radius:1lh}[is-~=badge][cap-$=round]:after{border-top-right-radius:1lh;border-bottom-right-radius:1lh}[is-~=badge][cap-^=triangle]:before{clip-path:polygon(100% 0,100% 100%,0 50%)}[is-~=badge][cap-$=triangle]:after{clip-path:polygon(0 0,0 100%,100% 50%)}[is-~=badge][cap-^=slant-top]:before{clip-path:polygon(0 0,100% 0,100% 100%)}[is-~=badge][cap-$=slant-top]:after{clip-path:polygon(0 0,100% 0,0 100%)}[is-~=badge][cap-^=slant-bottom]:before{clip-path:polygon(100% 0,100% 100%,0 100%)}[is-~=badge][cap-$=slant-bottom]:after{clip-path:polygon(0 0,100% 100%,0 100%)}[is-~=badge][cap-^=ribbon]:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,100% 50%)}[is-~=badge][cap-$=ribbon]:after{clip-path:polygon(0 0,100% 0,0% 50%,100% 100%,0% 100%)}@property --separator-width{syntax:"<length>";inherits:true;initial-value:2px}[is-~=separator]{--separator-color:var(--box-border-color);--separator-background:transparent;display:inline-flex;position:relative}[is-~=separator][direction-=x],[is-~=separator][direction-=horizontal],[is-~=separator]:not([direction-]){background-image:linear-gradient(0deg,var(--separator-background) 0,var(--separator-background) calc(.5lh - var(--separator-width) / 2),var(--separator-color) calc(.5lh - (var(--separator-width) / 2)),var(--separator-color) calc(.5lh + (var(--separator-width) / 2)),var(--separator-background) calc(.5lh + (var(--separator-width) / 2)),var(--separator-background));height:1lh}[is-~=separator][direction-=x][cap-^=bisect]:before,[is-~=separator][direction-=horizontal][cap-^=bisect]:before,[is-~=separator]:not([direction-])[cap-^=bisect]:before{left:-.5ch}[is-~=separator][direction-=x][cap-$=bisect]:after,[is-~=separator][direction-=horizontal][cap-$=bisect]:after,[is-~=separator]:not([direction-])[cap-$=bisect]:after{right:-.5ch}[is-~=separator][direction-=x][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-^=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-^=edge]:not([cap-=edge]){clip-path:inset(0 -.5ch 0 .5ch)}[is-~=separator][direction-=x][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=horizontal][cap-$=edge]:not([cap-=edge]),[is-~=separator]:not([direction-])[cap-$=edge]:not([cap-=edge]){clip-path:inset(0 .5ch 0 -.5ch)}[is-~=separator][direction-=x][cap-=edge],[is-~=separator][direction-=horizontal][cap-=edge],[is-~=separator]:not([direction-])[cap-=edge]{clip-path:inset(0 .5ch)}[is-~=separator][direction-=y],[is-~=separator][direction-=vertical]{background-image:linear-gradient(to right,var(--separator-background) 0,var(--separator-background) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch - (var(--separator-width) / 2)),var(--separator-color) calc(.5ch + (var(--separator-width) / 2)),var(--separator-background) calc(.5ch + (var(--separator-width) / 2)),var(--separator-background));width:1ch}[is-~=separator][direction-=y][cap-^=bisect]:before,[is-~=separator][direction-=vertical][cap-^=bisect]:before{top:-.5lh}[is-~=separator][direction-=y][cap-$=bisect]:after,[is-~=separator][direction-=vertical][cap-$=bisect]:after{bottom:-.5lh}[is-~=separator][direction-=y][cap-^=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-^=edge]:not([cap-=edge]){clip-path:inset(.5lh 0 -.5lh)}[is-~=separator][direction-=y][cap-$=edge]:not([cap-=edge]),[is-~=separator][direction-=vertical][cap-$=edge]:not([cap-=edge]){clip-path:inset(-.5lh 0 .5lh)}[is-~=separator][direction-=y][cap-=edge],[is-~=separator][direction-=vertical][cap-=edge]{clip-path:inset(.5lh 0)}[is-~=separator][cap-]:before,[is-~=separator][cap-]:after{content:"";background-image:inherit;width:1ch;height:1lh;position:absolute}[is-~=separator][variant-=foreground0]{--separator-color:var(--foreground0)}[is-~=separator][variant-=foreground1]{--separator-color:var(--foreground1)}[is-~=separator][variant-=foreground2]{--separator-color:var(--foreground2)}[is-~=separator][variant-=background0]{--separator-color:var(--background0)}[is-~=separator][variant-=background1]{--separator-color:var(--background1)}[is-~=separator][variant-=background2]{--separator-color:var(--background2)}[is-~=separator][variant-=background3]{--separator-color:var(--background3)}pre,[is-~=pre]{--pre-background:var(--background1);background-color:var(--pre-background);white-space:pre-wrap;color:var(--foreground0);font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height);border:none;outline:none;padding:1lh 1ch}pre[size-=small],[is-~=pre][size-=small]{padding:0 1ch}pre:not([size-]),[is-~=pre]:not([size-]){background-color:#0000;background-image:linear-gradient(to bottom,transparent,transparent .5lh,var(--pre-background) .5lh,var(--pre-background) calc(100% - .5lh),transparent calc(100% - .5lh),transparent)}}:root{--background0:#151515;--background1:#1f1f1f;--background2:#2a2a2a;--background3:#3a3a3a;--foreground0:#f5f5f5;--foreground1:#d7d7d7;--foreground2:#9f9f9f;--accent:#f36f9f;--accent-cyan:#8bd5ff;--accent-yellow:#f7d774;--panel-bg:color-mix(in srgb, var(--background1) 92%, transparent);--panel-border:color-mix(in srgb, var(--foreground2) 68%, transparent);--panel-shadow:0 1.25rem 3rem #00000047;--font-family:"Courier New", Courier, monospace;color-scheme:dark}html,body{word-break:normal;overflow-wrap:break-word;min-width:0;min-height:100%}body{background:var(--background0);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:100vh;line-height:1.55;display:grid}body:before{content:"";pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--foreground0) 4%, transparent) 1px, transparent 1px);opacity:.08;background-size:100% 1lh;position:fixed;inset:0}main{width:min(100% - 1.5rem,70rem);min-width:0;margin-inline:auto;padding-block:clamp(1.75rem,4vw,4.5rem)}a{color:var(--foreground0);text-underline-offset:.2em}a:hover{color:var(--accent-cyan)}:focus-visible{outline:2px solid var(--accent-yellow);outline-offset:.2rem}img{max-width:100%;height:auto}p,li{max-width:72ch}ul,ol{padding-inline-start:2ch}hr,[is-=separator]{border:0;border-block-start:1px solid var(--foreground2);width:100%}.site-badge{--badge-pad:1.18ch;background-image:linear-gradient(90deg, transparent 0, transparent calc(var(--badge-pad) - 1px), var(--badge-color) calc(var(--badge-pad) - 1px), var(--badge-color) calc(100% - var(--badge-pad) + 1px), transparent calc(100% - var(--badge-pad) + 1px), transparent);align-items:center;height:calc(1lh + 2px);line-height:1lh}.site-badge:before,.site-badge:after{width:var(--badge-pad);height:100%}.site-badge__label{display:block;transform:translateY(1.25px)}.site-stack{gap:clamp(1.25rem,2.25vw,1.85rem);display:grid}.page-header{gap:clamp(.75rem,1.8vw,1.1rem);margin-block-end:clamp(1.5rem,3vw,2.5rem);display:grid}.eyebrow{color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.88rem}.terminal-panel{border-color:var(--panel-border);background:var(--panel-bg);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--foreground0) 7%, transparent), var(--panel-shadow);padding:clamp(1.1rem,2.5vw,1.65rem)}.panel-header{border-block-end:1px solid color-mix(in srgb, var(--foreground2) 38%, transparent);color:var(--foreground2);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.85rem 1rem;margin-block-end:1.15rem;padding-block-end:.55rem;display:flex}.panel-header :is(h2,h3){margin:0}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:clamp(1rem,2vw,1.35rem);display:grid}.two-column{grid-template-columns:minmax(0,1fr) minmax(16rem,26rem);align-items:start;gap:clamp(1rem,4vw,2rem);display:grid}@media (width<=760px){main{width:min(100% - 1.25rem,70rem);padding-block:1.15rem 2.25rem}.site-stack{gap:1.35rem}.two-column{grid-template-columns:1fr}}.skip-link[data-astro-cid-tq46r5sz]{z-index:10;background:var(--background0);color:var(--foreground0);border:1px solid var(--foreground0);padding:.5rem .75rem;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-150%)}.skip-link[data-astro-cid-tq46r5sz]:focus{transform:translateY(0)}
