@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--color-bg-primary: #0C0C0C;--color-bg-secondary: #121212;--color-bg-tertiary: #2B2B2B;--color-text-header: #FFFFFF;--color-text-link: #FFFFFF;--color-text-body: #878787;--in-line-code: #EB5757;--light-orange: #F7AC6D;--dark-red: #AC231E;--dark-orange: #FB923C;--color-ascii: #E0E0E0;--char-size: 1rem;--kern: .1rem;--content-kern: .5rem;--line: calc(var(--char-size) + var(--kern));--ascii-char-gap: var(--kern);--container-max-ch: 120ch;--container-min-ch: 24ch;--h1-size: calc(2.2 * var(--char-size));--h2-size: calc(1.8 * var(--char-size));--h3-size: calc(1.4 * var(--char-size));--h4-size: calc(1.2 * var(--char-size));--heading-kern: .3rem;--title-scale: 2.6}html,body{padding:0;margin:0;background:var(--color-bg-primary);color:var(--color-text-body);font-family:Fira Code,monospace;font-variant-ligatures:none;font-size:16px}html{overflow-x:hidden;overflow-y:auto}body{overflow:visible}body{line-height:calc(var(--line) / var(--char-size))}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}a[href^=http]:not(.btn),a[href^="//"]:not(.btn){text-decoration:underline}.page-container{width:min(100%,var(--container-max-ch, 120ch));max-width:var(--container-max-ch, 120ch);min-width:var(--container-min-ch, 40ch);margin:0 auto;position:relative}.ascii-gutters{position:absolute;top:calc(var(--kern) - var(--kern) - var(--char-size));left:0;right:0;pointer-events:none}.ascii-gutter{position:absolute;top:0;width:1ch;white-space:pre;color:var(--color-ascii)}.ascii-gutter .gline{display:flex;align-items:flex-start;height:var(--line);line-height:var(--line);width:1ch;position:relative}.ascii-gutter .gline .glyph{display:inline-block;font-size:var(--char-size);line-height:var(--char-size);height:var(--char-size)}.ascii-gutter.left{left:0}.ascii-gutter.right{right:0;text-align:right}.ascii-divider{display:flex;align-items:flex-start;color:var(--color-ascii);white-space:pre;position:relative;box-sizing:border-box;padding-left:1ch;padding-right:1ch;height:var(--line);line-height:var(--line)}.ascii-divider .dash-run{letter-spacing:var(--ascii-char-gap);display:inline-block;line-height:var(--char-size);height:var(--char-size)}.ascii-divider .plus{letter-spacing:0}.section-content{box-sizing:border-box;padding-left:2ch;padding-right:2ch;padding-top:var(--line);padding-bottom:var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:inherit;font-size:var(--char-size);height:calc(1.9 * var(--line));border:none;background:var(--btn-bg, var(--light-orange));color:var(--btn-color, var(--color-bg-primary));line-height:var(--char-size);padding:0 3ch;transition:background .2s ease}.btn:hover{background:var(--btn-hover-bg, var(--dark-orange));color:var(--btn-hover-color, var(--btn-color, var(--color-bg-primary)))}.btn:focus{outline:none}.btn+.btn{margin-left:3ch}.btn--light{--btn-bg: #FFFFFF;--btn-color: var(--color-bg-primary);--btn-hover-bg: #FFFFFF}.btn--light+.btn--light{margin-left:1ch}.btn--tertiary{--btn-bg: var(--color-bg-tertiary);--btn-color: var(--color-text-header);--btn-hover-bg: var(--color-bg-tertiary);border:1px solid var(--color-text-body)}.btn--tertiary+.btn--tertiary{margin-left:1ch}.row{display:flex;align-items:center;justify-content:space-between;gap:3ch}.nav-links a{display:inline-block;line-height:var(--line)}.nav-links a+a{margin-left:3ch}.muted{color:var(--color-text-body);font-size:var(--char-size);line-height:var(--line)}.title{color:var(--color-text-header);font-size:calc(var(--title-scale) * var(--char-size));line-height:calc(2 * var(--line) + .5rem);overflow-wrap:anywhere;word-break:normal;max-width:100%}h1,h2,h3,h4,h5,h6,p{margin:0}.relaxed{line-height:calc(var(--char-size) + var(--content-kern))}h1:not(.title){color:var(--color-text-header);font-size:var(--h1-size);line-height:calc(2 * var(--line) + var(--heading-kern))}h2{color:var(--color-text-header);font-size:var(--h2-size);line-height:calc(2 * var(--line) + var(--heading-kern))}h3{color:var(--color-text-header);font-size:var(--h3-size);line-height:calc(1.5 * var(--line) + var(--heading-kern))}h4{color:var(--color-text-header);font-size:var(--h4-size);line-height:calc(1.5 * var(--line) + var(--heading-kern))}@media (max-width: 90ch){:root{--h1-size: calc(2 * var(--char-size));--h2-size: calc(1.7 * var(--char-size));--h3-size: calc(1.35 * var(--char-size));--h4-size: calc(1.15 * var(--char-size));--title-scale: 2.3}}@media (max-width: 60ch){:root{--h1-size: calc(1.8 * var(--char-size));--h2-size: calc(1.6 * var(--char-size));--h3-size: calc(1.25 * var(--char-size));--h4-size: calc(1.05 * var(--char-size));--title-scale: 2}}.footer-inner[data-astro-cid-sz7xmlte]{width:100%;max-width:var(--container-max-ch);margin-left:auto;margin-right:auto;box-sizing:border-box;padding-top:var(--line);padding-bottom:var(--line);padding-left:2ch;padding-right:2ch}.footer-grid[data-astro-cid-sz7xmlte]{display:flex;align-items:flex-start;justify-content:space-between;gap:2ch;flex-wrap:wrap}.left[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:calc(1.5 * var(--line))}.nav-links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--line) 2ch}.nav-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{line-height:calc(var(--char-size) + var(--content-kern));display:inline-flex}.social-links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--line) 2ch}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{line-height:calc(var(--char-size) + var(--content-kern));display:inline-flex}.right[data-astro-cid-sz7xmlte]{margin-left:auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:calc(1.5 * var(--line));max-width:55ch;overflow-wrap:anywhere}.quote[data-astro-cid-sz7xmlte]{white-space:nowrap}.quote-block[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:flex-end;gap:calc(.5 * var(--line))}.quote[data-astro-cid-sz7xmlte],.attribution[data-astro-cid-sz7xmlte],.copyright[data-astro-cid-sz7xmlte]{line-height:calc(var(--char-size) + var(--content-kern));margin:0}@media (max-width: 70ch){.right[data-astro-cid-sz7xmlte]{max-width:100%}.quote[data-astro-cid-sz7xmlte]{white-space:normal;overflow-wrap:anywhere}}.header-inner[data-astro-cid-2hp2wczs]{position:relative}.logo-wrap[data-astro-cid-2hp2wczs]{width:24ch;display:flex;align-items:flex-start;gap:2ch}.logo-link[data-astro-cid-2hp2wczs] img[data-astro-cid-2hp2wczs]{height:calc(2.1 * var(--line));width:auto;display:block}.hamburger[data-astro-cid-2hp2wczs]{display:none;width:4ch;height:calc(2 * var(--line));align-items:center;justify-content:center;flex-direction:column;gap:.4rem;cursor:pointer}.hamburger[data-astro-cid-2hp2wczs] span[data-astro-cid-2hp2wczs]{display:block;width:3ch;height:2px;background:var(--color-text-header)}.nav-toggle[data-astro-cid-2hp2wczs]{position:absolute;opacity:0;pointer-events:none}.menu-panel[data-astro-cid-2hp2wczs]{position:absolute;top:calc(2 * var(--line));left:0;right:0;display:none;background:var(--color-bg-secondary);border:1px solid var(--color-text-body);padding:var(--line) 2ch;z-index:10}.menu-panel[data-astro-cid-2hp2wczs] a[data-astro-cid-2hp2wczs]{display:block;line-height:var(--line);margin-bottom:var(--line)}.menu-panel[data-astro-cid-2hp2wczs] .btn[data-astro-cid-2hp2wczs]{margin:0;width:100%;display:inline-flex;justify-content:flex-start;align-items:center;padding-left:2ch;height:calc(1.3 * var(--line));line-height:var(--char-size)}@media (max-width: 900px){.hamburger[data-astro-cid-2hp2wczs]{display:inline-flex}.right[data-astro-cid-2hp2wczs] .nav-links[data-astro-cid-2hp2wczs],.right[data-astro-cid-2hp2wczs] .btn[data-astro-cid-2hp2wczs]{display:none}.nav-toggle[data-astro-cid-2hp2wczs]:checked~.menu-panel[data-astro-cid-2hp2wczs]{display:block}}.banner-outer[data-astro-cid-kggsjsm4]{position:relative}.banner-gradient[data-astro-cid-kggsjsm4]{position:relative;left:50%;transform:translate(-50%);width:100dvw;min-height:calc(2 * var(--line));background:linear-gradient(90deg,var(--dark-red),var(--light-orange));display:flex;align-items:center}.banner-content[data-astro-cid-kggsjsm4]{width:100%;max-width:120ch;margin:0 auto;padding-left:2ch;padding-top:calc(.5 * var(--line));padding-bottom:calc(.5 * var(--line));color:var(--color-text-header);line-height:var(--line)}.banner-content[data-astro-cid-kggsjsm4] a[data-astro-cid-kggsjsm4]{display:inline;color:inherit;text-decoration:none;white-space:normal}.banner-title[data-astro-cid-kggsjsm4]{color:var(--color-text-header)}.banner-arrow[data-astro-cid-kggsjsm4]{color:var(--color-text-header);margin-left:1ch}
