@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}img,svg,canvas{max-width:100%;display:block}button,input{font:inherit;color:inherit}}@layer tokens{:root{color-scheme:dark;--void:#0b0612;--soil:#120a1c;--loam:#1b1029;--root:#2a1840;--ash:#5a4775;--dusk:#8c77b0;--mauve:#a08cc4;--petal:#ddd0f5;--glow:#cdb2ff;--bloom:#a66bff;--uv:#7b3fe4;--pollen:#f1e8ff;--mono:"Monaspace Argon", ui-monospace, "Cascadia Mono", Menlo, monospace;--serif:"Literata", Georgia, serif;--mono-weight:400;--cell:1ch;--row:1.5rem;--glow-text:0 0 1px currentColor, 0 0 .35em color-mix(in oklch, var(--glow) 45%, transparent), 0 0 1.2em color-mix(in oklch, var(--uv) 25%, transparent)}}@layer base{html{font-family:var(--mono);font-weight:var(--mono-weight);font-size:17px;line-height:var(--row);background:var(--void);color:var(--petal)}body{overflow-wrap:break-word;min-height:100vh}::selection{background:var(--glow);color:var(--void)}a{color:var(--bloom);text-underline-offset:.2em;text-decoration:underline 1px}a:hover,a:focus-visible{color:var(--pollen);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--glow);outline-offset:2px;box-shadow:0 0 .6em color-mix(in oklch, var(--glow) 40%, transparent)}h1,h2,h3{font-weight:inherit}code,pre,kbd{font-family:var(--mono)}*{scrollbar-width:thin;scrollbar-color:var(--dusk) var(--root)}}@layer layout{.skip{position:absolute;left:-999px}.skip:focus{left:var(--cell);top:var(--row);background:var(--void);z-index:10;padding:0 var(--cell)}.page{grid-template-rows:auto 1fr auto;min-height:100svh;display:grid}.wrap{inline-size:100%;max-inline-size:112ch;padding-inline:calc(2 * var(--cell));margin-inline-start:clamp(0ch,6vw,12ch)}.flush .wrap{max-inline-size:none;margin-inline-start:0}.flush .site-footer{padding-block-start:0}.site-header{padding-block-start:var(--row);padding-block-end:var(--row)}.site-header .wrap{align-items:baseline;gap:0 calc(4 * var(--cell));border-block-end:1px solid var(--root);flex-wrap:wrap;padding-block-end:var(--row);display:flex}.wordmark{color:var(--glow);font-weight:600;text-decoration:none}.wordmark:hover,.wordmark:focus-visible{color:var(--pollen);text-decoration:underline}.nav{gap:0 calc(2 * var(--cell));flex-wrap:wrap;display:flex}.nav a[aria-current=page]{color:var(--pollen);text-decoration-thickness:2px}.site-footer{padding-block:calc(2 * var(--row)) var(--row)}.site-footer .wrap{border-block-start:1px solid var(--root);color:var(--mauve);padding-block-start:var(--row)}.site-footer .row{gap:0 calc(2 * var(--cell));flex-wrap:wrap;display:flex}.site-footer .row+.row{margin-block-start:0}.calm{cursor:pointer;color:var(--bloom);text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline 1px}.calm:hover,.calm:focus-visible{color:var(--pollen);text-decoration-thickness:2px}main.wrap{padding-block:var(--row) calc(2 * var(--row));container-type:inline-size}.labbar{gap:0 calc(2 * var(--cell));padding:var(--row) calc(2 * var(--cell)) 0;color:var(--mauve);flex-wrap:wrap;display:flex}.labbar b{font-weight:inherit;color:var(--dusk)}}@layer components{.glow{text-shadow:var(--glow-text);color:var(--glow)}.frame{border:1px solid var(--root);background:var(--soil);padding:var(--row) calc(2 * var(--cell))}.tty{font-family:var(--mono);color:var(--petal);background:var(--soil)}.tty .cmd{color:var(--glow)}.tty .out{color:var(--mauve)}.dim{color:var(--dusk)}}@layer utilities;@layer overrides{@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root[data-calm] .glow,:root[data-calm] .stage-glow{text-shadow:none}:root[data-calm] *,:root[data-calm] :before,:root[data-calm] :after{transition:none!important;animation:none!important}@media (prefers-contrast:more){.glow{text-shadow:none}.dim{color:var(--mauve)}}}@font-face{font-family:Monaspace Argon;src:url(/_astro/argon.CuoRpKyf.woff2)format("woff2");font-weight:300 700;font-display:block}@font-face{font-family:Literata;src:url(/_astro/literata.BiYxKc9P.woff2)format("woff2");font-weight:400 700;font-display:block}@font-face{font-family:Literata;src:url(/_astro/literata-italic.CN-YZp-Q.woff2)format("woff2");font-weight:400 700;font-style:italic;font-display:block}@property --cell{syntax:"<length>";inherits:true;initial-value:0}
