@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap";.list-menu{--lm-line-w:22px;--lm-line-h:2px;--lm-line-opacity:.75;--lm-gap:.6rem;--lm-gap-open:.9rem;--lm-label-max-w:12rem;--lm-label-max-h:1.4em;--lm-color:#595959;--lm-color-active:#1c1c1c;--lm-font:450 1.0625rem/1.25 "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--lm-track:0;--lm-ease:cubic-bezier(.16, 1, .3, 1);--lm-stagger:50ms;gap:var(--lm-gap);font:var(--lm-font);letter-spacing:var(--lm-track);white-space:nowrap;transition:gap .45s var(--lm-ease);flex-direction:column;margin:-1.5rem 0;padding:1.5rem 4rem 1.5rem 0;display:flex}.list-menu__link{font:inherit;letter-spacing:inherit;color:var(--lm-color);text-align:left;cursor:pointer;transform-origin:0;transition:color .18s ease, scale .18s var(--lm-ease);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;text-decoration:none;display:block;position:relative}.list-menu__link:active{scale:.96}.list-menu__link:hover,.list-menu__link:focus-visible{color:var(--lm-color-active);outline:none}.list-menu__label{display:block}.list-menu__link:before{content:"";width:var(--lm-line-w);height:var(--lm-line-h);opacity:var(--lm-line-opacity);transform-origin:0;transition:opacity .25s ease, transform .3s var(--lm-ease);background:currentColor;border-radius:1px;position:absolute;top:0;left:0}.list-menu__label{opacity:0;filter:blur(5px);max-width:0;max-height:0;transition:max-height .3s var(--lm-ease), max-width .3s var(--lm-ease), opacity .3s ease, filter .3s var(--lm-ease), transform .3s var(--lm-ease);overflow:hidden;transform:translate(-4px)}.list-menu:focus-within .list-menu__link:before,.list-menu.is-open .list-menu__link:before{opacity:0;transform:scaleX(.15)}.list-menu:focus-within,.list-menu.is-open{gap:var(--lm-gap-open)}.list-menu:focus-within .list-menu__link:after,.list-menu.is-open .list-menu__link:after{content:"";position:absolute;inset:-7px 0}.list-menu:focus-within .list-menu__label,.list-menu.is-open .list-menu__label{max-width:var(--lm-label-max-w);max-height:var(--lm-label-max-h);opacity:1;filter:blur();transform:translate(0)}.list-menu:focus-within .list-menu__link:nth-child(2) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(2) .list-menu__label{transition-delay:calc(1 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(3) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(3) .list-menu__label{transition-delay:calc(2 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(4) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(4) .list-menu__label{transition-delay:calc(3 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(5) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(5) .list-menu__label{transition-delay:calc(4 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(6) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(6) .list-menu__label{transition-delay:calc(5 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(7) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(7) .list-menu__label{transition-delay:calc(6 * var(--lm-stagger))}.list-menu:focus-within .list-menu__link:nth-child(8) .list-menu__label,.list-menu.is-open .list-menu__link:nth-child(8) .list-menu__label{transition-delay:calc(7 * var(--lm-stagger))}@media (hover:hover) and (pointer:fine){.list-menu:hover .list-menu__link:before{opacity:0;transform:scaleX(.15)}.list-menu:hover{gap:var(--lm-gap-open)}.list-menu:hover .list-menu__link:after{content:"";position:absolute;inset:-7px 0}.list-menu:hover .list-menu__label{max-width:var(--lm-label-max-w);max-height:var(--lm-label-max-h);opacity:1;filter:blur();transform:translate(0)}.list-menu:hover .list-menu__link:nth-child(2) .list-menu__label{transition-delay:calc(1 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(3) .list-menu__label{transition-delay:calc(2 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(4) .list-menu__label{transition-delay:calc(3 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(5) .list-menu__label{transition-delay:calc(4 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(6) .list-menu__label{transition-delay:calc(5 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(7) .list-menu__label{transition-delay:calc(6 * var(--lm-stagger))}.list-menu:hover .list-menu__link:nth-child(8) .list-menu__label{transition-delay:calc(7 * var(--lm-stagger))}}@media (prefers-reduced-motion:reduce){.list-menu,.list-menu__link,.list-menu__link:before,.list-menu__label{transition-duration:1ms;transition-delay:0s;animation-duration:1ms;animation-delay:0s}.list-menu__label{filter:none}.list-menu__link:active{scale:1}}:root{--site-text:#fff7ebdb;--site-bg:#262510;--menu-scrim:#0003;--floor:calc(var(--edge) * 2 + 4rem);--modal-surface:#f7f7f4;--modal-error:#f87171;--close-cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23fff7eb\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M6 6 L18 18 M18 6 L6 18\"/></svg>");--ext-mark:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.5 9.75V11.25C11.5 11.3881 11.3881 11.5 11.25 11.5H4.75C4.61193 11.5 4.5 11.3881 4.5 11.25L4.5 4.75C4.5 4.61193 4.61193 4.5 4.75 4.5H6.25H7V3H6.25H4.75C3.7835 3 3 3.7835 3 4.75V11.25C3 12.2165 3.7835 13 4.75 13H11.25C12.2165 13 13 12.2165 13 11.25V9.75V9H11.5V9.75ZM8.5 3H9.25H12.2495C12.6637 3 12.9995 3.33579 12.9995 3.75V6.75V7.5H11.4995V6.75V5.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L10.4388 4.5H9.25H8.5V3Z\" fill=\"black\"/></svg>");--edge:80px;--type:1.3rem;--line:1.3em;--paper-filter:none;--paper-blend:soft-light;--paper-opacity:.5;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-fade:cubic-bezier(.37, 0, .63, 1)}@media (width<=600px){:root{--edge:24px;--type:1.15rem}}:root[data-theme=light]{--site-text:#282726;--site-bg:#fffcf0;--menu-scrim:#fffcf059;--modal-surface:#100f0f;--modal-error:#af3029;--paper-filter:brightness(2.6);--paper-blend:multiply;--paper-opacity:.18;--close-cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23100F0F\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M6 6 L18 18 M18 6 L6 18\"/></svg>")}:root[data-theme=dark]{--site-text:#b7b5ac;--site-bg:#100f0f;--modal-surface:#cecdc3;--modal-error:#d14d41;--paper-filter:brightness(2.6) invert(1);--paper-blend:screen;--paper-opacity:.15;--close-cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23CECDC3\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M6 6 L18 18 M18 6 L6 18\"/></svg>")}body{text-transform:lowercase;color:var(--site-text);background-color:var(--site-bg);min-height:100vh;transition:background-color .25s var(--ease-out), color .25s var(--ease-out);font-optical-sizing:auto;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;font-size:var(--type);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;padding:0;line-height:130%;display:flex}button,::placeholder{text-transform:lowercase}#paper{z-index:0;pointer-events:none;mix-blend-mode:var(--paper-blend);opacity:var(--paper-opacity);filter:var(--paper-filter);position:fixed;inset:0;& canvas{width:100%;height:100%;display:block}}#intro{padding:var(--edge);box-sizing:content-box;flex-direction:column;flex:1;display:flex;position:relative;@media (width>=768px){max-width:min(58ch,100vw - 240px)}padding-top:calc(var(--edge) + 6.5rem);@media (width<=600px){padding-top:calc(var(--edge) + 4.5rem)}}h1,h2{font-weight:500;font-size:var(--type);text-wrap:balance;line-height:130%}#intro h1,#intro h2,#intro p{font-weight:500;font-size:var(--type);text-wrap:balance;margin:0;line-height:130%}#intro p{text-wrap:pretty}#intro h2{margin-top:.4em}#intro p{color:var(--site-text)}#intro p :is(a,button){font:inherit;letter-spacing:inherit;cursor:pointer;color:inherit;opacity:1;--link-block:color-mix(in srgb, var(--site-text) 10%, transparent);background:linear-gradient(var(--link-block), var(--link-block)) center / 100% calc(1em + 6px) no-repeat;border:none;margin:0 -3px;padding:0 3px;@media (hover:hover) and (pointer:fine){&:hover{color:var(--site-bg);--link-block:var(--site-text)}}}#intro p:first-of-type{margin-top:var(--line)}#intro ul{counter-reset:line;color:var(--site-text);margin:0;padding:0;list-style:none}#intro li{--gutter:4ch;counter-increment:line;padding-left:var(--gutter);text-indent:calc(var(--gutter) * -1);text-wrap:pretty;transition:color .12s linear,background-color .12s linear;position:relative}#intro li:before{content:counter(line);text-align:right;width:2ch;margin-right:2ch;display:inline-block}@media (hover:hover) and (pointer:fine){#intro li:hover{color:var(--site-text);background-color:color-mix(in srgb, var(--site-text) 7%, transparent)}#intro li:hover:after{animation:1.06s step-end infinite caret-blink}}#intro li:after{content:"";vertical-align:-.16em;opacity:0;background:currentColor;width:1ch;height:1.05em;margin-left:.5ch;display:inline-block}#intro li+li{margin-top:var(--line)}#intro p.typer__line{margin:0 0 var(--line)}.typer__items{margin:0}.typer.is-typing .typer__items{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}#intro .typer.is-typing .typer__line{margin-bottom:0}.typer__caret{vertical-align:-.15em;background:var(--site-text);width:1ch;height:.88em;display:none}.typer.is-typing .typer__caret{display:inline-block}.typer.is-typing{position:relative}#intro :is(p,ul,.typer)+:is(p,ul,.typer){margin-top:var(--line)}#intro :is(p,ul).section{margin-top:calc(var(--line) * 2)}.cluster{width:100%;min-height:0;margin:var(--line) 0 0;display:block;@media (width>=601px) and (width<=1199px){margin-top:calc(var(--line) * 3)}visibility:hidden;transition:visibility 0s linear var(--hold,1.2s);&.show{visibility:visible;transition:visibility}& svg{width:100%;height:100%;display:block}& .cluster-cell{opacity:0;transition:opacity var(--dry,.55s) var(--ease-fade) var(--out-delay,0s);will-change:opacity;isolation:isolate}& .cluster-picture{opacity:0;transition:opacity .5s var(--ease-fade);&.is-loaded{opacity:1}}& .cluster-paper{mix-blend-mode:multiply;opacity:.48;pointer-events:none}&.show .cluster-cell{opacity:1;transition:opacity var(--fall,.9s) var(--ease-fade) var(--in-delay,0s)}}@media (width>=1200px){.cluster{aspect-ratio:auto;width:auto;left:var(--free-left,50vw);right:var(--edge);z-index:4;height:calc(100dvh - var(--edge) * 2);justify-content:center;align-items:center;margin:0;display:flex;position:fixed;top:50%;transform:translateY(-50%)}}#theme-toggle{bottom:calc(var(--edge) - 11px);left:calc(var(--edge) - 11px);z-index:30;box-sizing:border-box;cursor:pointer;width:44px;height:44px;color:var(--site-text);opacity:.5;transition:opacity .15s var(--ease-out), scale .16s var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;&:active{scale:.96}&:focus-visible{opacity:1}@media (hover:hover) and (pointer:fine){&:hover{opacity:1}}&:focus-visible{outline:1px solid var(--site-text);outline-offset:-8px}}.theme-dot{box-sizing:border-box;background:currentColor;border:2px solid;border-radius:50%;flex:none;width:22px;height:22px;transition:background-color .12s linear}:root[data-theme=color] .theme-dot{color:var(--site-bg);filter:saturate(2.6)brightness(1.75)}@media (prefers-reduced-motion:reduce){#theme-toggle,.theme-dot{transition:none}}@media (width<=600px){#intro{padding-bottom:var(--floor)}}@media (prefers-reduced-motion:reduce){#intro .list-menu{transition-duration:.01ms}}#menu-backdrop{z-index:5;opacity:0;pointer-events:none;background:var(--menu-scrim);backdrop-filter:blur(12px);transition:opacity .3s var(--ease-out);position:fixed;inset:0}body:has(#intro .list-menu:focus-within) #menu-backdrop,body:has(#intro .list-menu.is-open) #menu-backdrop{opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){body:has(#intro .list-menu:hover) #menu-backdrop{opacity:1;pointer-events:auto}}#intro .list-menu{--lm-color:var(--site-text);--lm-color-active:var(--site-text);--lm-font:500 var(--type)/1.3 "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lm-line-unit:3.6px;--lm-label-max-w:20rem;--lm-gap-open:1.15rem;top:var(--edge);left:var(--edge);z-index:25;cursor:pointer;margin-bottom:0;padding-right:2rem;position:absolute}@keyframes lm-line-wake{0%{opacity:0;transform:scaleX(0)}45%{opacity:var(--lm-line-opacity);transform:scaleX(1)}62%{opacity:1;transform:scaleX(1.18)}to{opacity:var(--lm-line-opacity);transform:scaleX(1)}}#intro .list-menu__link:before{animation:lm-line-wake 1.1s var(--ease-out) backwards}#intro .list-menu.no-wake .list-menu__link:before{animation:none}#intro .list-menu__link:first-child:before{animation-delay:.25s}#intro .list-menu__link:nth-child(2):before{animation-delay:.34s}#intro .list-menu__link:nth-child(3):before{animation-delay:.43s}#intro .list-menu__link:nth-child(4):before{animation-delay:.52s}#intro .list-menu__link:nth-child(5):before{animation-delay:.61s}#intro .list-menu__link:nth-child(6):before{animation-delay:.7s}#intro .list-menu__link:nth-child(7):before{animation-delay:.79s}#intro .list-menu__link:nth-child(8):before{animation-delay:.88s}#intro .list-menu:focus-within .list-menu__link:before,#intro .list-menu.is-open .list-menu__link:before{animation:none}@media (hover:hover) and (pointer:fine){#intro .list-menu:hover .list-menu__link:before{animation:none}}#intro .list-menu__link:after{inset:-9px -2.5rem -9px -.75rem}#intro .list-menu__link[target=_blank] .list-menu__label:after{content:"";vertical-align:-.1em;width:.85em;height:.85em;-webkit-mask:var(--ext-mark) center / contain no-repeat;mask:var(--ext-mark) center / contain no-repeat;background-color:currentColor;margin-left:.2ch;display:inline-block}#intro .list-menu__link{--lm-line-w:calc(var(--lm-chars,6) * var(--lm-line-unit));min-width:var(--lm-line-w)}#intro .list-menu__link[aria-current=page]{--lm-color:var(--site-text)}#intro .list-menu__link{opacity:1;transition:color .18s ease, scale .18s var(--lm-ease), opacity .2s ease;margin:0;padding:0;text-decoration:none;&:hover{opacity:1;background:0 0}}@media (hover:hover) and (pointer:fine){#intro .list-menu:has(.list-menu__link:hover) .list-menu__link:not(:hover){opacity:.45}}#intro .list-menu:not(:has(.list-menu__link:hover)):has(.list-menu__link:focus) .list-menu__link:not(:focus){opacity:.45}a{color:var(--site-text);transition:opacity .15s var(--ease-out), background-color 80ms linear, color 80ms linear;margin:-2px -4px;padding:2px 4px;text-decoration:none;@media (hover:hover) and (pointer:fine){&:hover{opacity:1;background-color:var(--site-text);color:var(--site-bg)}}}#newsletter-modal{background:var(--menu-scrim);backdrop-filter:blur(12px);z-index:100;cursor:var(--close-cursor) 12 12, pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out), visibility 0s linear .2s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;&.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s var(--ease-out)}}#newsletter-modal.open #newsletter-modal-content{opacity:1;transform:translateY(0)}#newsletter-modal-content{border:1px solid color-mix(in srgb, var(--site-text) 15%, transparent);cursor:auto;isolation:isolate;background:var(--site-bg);width:100%;max-width:500px;margin:24px;padding:64px;position:relative;@media (width<=600px){margin:12px;padding:24px}color:var(--site-text);opacity:0;transition:transform .2s var(--ease-out), opacity .2s var(--ease-out);transform:translateY(10px);&:before{content:"";z-index:-1;pointer-events:none;background:var(--paper-image,none) center / 100vw 100vh fixed;mix-blend-mode:var(--paper-blend);opacity:var(--paper-opacity);filter:var(--paper-filter);position:absolute;inset:0}& #newsletter-intro{color:var(--site-text);margin:0 0 calc(var(--line) * 2);text-wrap:pretty;line-height:130%}& .newsletter-form{gap:var(--line);flex-direction:column;display:flex}& .newsletter-row{cursor:text;align-items:baseline;gap:1ch;display:flex}& .newsletter-label{width:8ch;color:color-mix(in srgb, var(--site-text) 40%, transparent);flex:none}& .newsletter-cell{flex:1;min-width:0;position:relative}& input{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--site-text);caret-color:#0000;background:0 0;border:none;border-radius:0;outline:none;width:100%;padding:0;line-height:1.3;&::placeholder{color:color-mix(in srgb, var(--site-text) 30%, transparent)}}& .newsletter-caret{top:.15em;left:min(calc(var(--cells,0) * 1ch), 100%);background:var(--site-text);opacity:0;pointer-events:none;width:1ch;height:1.1em;position:absolute}& .newsletter-cell:focus-within .newsletter-caret{animation:1.06s step-end infinite caret-blink}& .newsletter-form-button,& .newsletter-loading-button,& .newsletter-back-button{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--site-text);cursor:pointer;transform-origin:0;transition:opacity .15s var(--ease-out), background-color 80ms linear, color 80ms linear, scale .16s var(--ease-out);background:0 0;border:none;border-radius:0;align-self:flex-start;margin:-2px -4px;padding:2px 4px;&:active{scale:.96}@media (hover:hover) and (pointer:fine){&:hover{opacity:1;background-color:var(--site-text);color:var(--site-bg)}}}& .newsletter-form-button{margin-top:calc(var(--line) - 2px)}& .newsletter-loading-button{cursor:default;margin-top:calc(var(--line) - 2px);scale:1!important;&:hover{color:var(--site-text);background:0 0}}& .newsletter-success,& .newsletter-error{align-items:flex-start;& p{color:color-mix(in srgb, var(--site-text) 70%, transparent);margin:0}}& .newsletter-error p{color:var(--modal-error)}& .newsletter-back-button{margin-top:16px}}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}#shortcuts{background:var(--site-bg);z-index:100;cursor:var(--close-cursor) 12 12, pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out), visibility 0s linear .2s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;&.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s var(--ease-out)}}#shortcuts.open #shortcuts-content{opacity:1;transform:translateY(0)}#shortcuts-content{border:1px solid color-mix(in srgb, var(--site-text) 15%, transparent);cursor:auto;width:100%;max-width:460px;color:var(--site-text);opacity:0;transition:transform .2s var(--ease-out), opacity .2s var(--ease-out);margin:24px;padding:64px;transform:translateY(10px);@media (width<=600px){margin:12px;padding:24px}}#shortcuts-intro{margin:0 0 calc(var(--line) * 2);line-height:130%}.shortcuts-list{gap:var(--line);flex-direction:column;margin:0;display:flex}.shortcuts-row{align-items:baseline;gap:1.5ch;display:flex}.shortcuts-keys{flex:none;width:9ch;margin:0}.shortcuts-does{opacity:.6;text-wrap:pretty;margin:0}#shortcuts kbd{font:inherit;background:color-mix(in srgb, var(--site-text) 14%, transparent);margin:-2px 0;padding:2px 4px}.shortcuts-or{opacity:.35;padding:0 .35ch}#toast{left:50%;bottom:var(--edge);z-index:200;pointer-events:none;background:var(--site-text);color:var(--site-bg);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s var(--ease-out), translate .2s var(--ease-out), visibility 0s linear .2s;padding:2px 6px;position:fixed;translate:-50% 6px;&.show{opacity:1;visibility:visible;transition:opacity .2s var(--ease-out), translate .2s var(--ease-out);translate:-50%}}.no-motion,.no-motion *,.no-motion :before,.no-motion :after{transition:none!important}@media (prefers-reduced-motion:reduce){body{transition:none}.newsletter-cell:focus-within .newsletter-caret,#intro li:after{animation:none}.newsletter-cell:focus-within .newsletter-caret{opacity:1}@media (hover:hover) and (pointer:fine){#intro li:hover:after{opacity:1}}#newsletter-modal-content{transition:opacity .15s;transform:none}#toast{transition:opacity .15s;translate:-50%;&.show{transition:opacity .15s;translate:-50%}}}
