:root{--color-bg:#f7f7f7;--color-text:#353232;--color-black:#000;--color-white:#fff;--color-sky:#d5ecff;--color-muted:#353232ab;--color-accent:#a9d4a7;--color-accent-dark:#7eb87b;--color-accent-darker:#609e5d;--color-accent-light:#b5dbad;--color-accent-contrast:var(--color-text);--color-card:color-mix(in srgb, var(--color-sky) 67%, transparent);--color-glass:#c8e1f6d1;--color-placeholder:#e4e0d8;--color-chip:#f7f8f9e6;--color-label:var(--color-sky);--color-label-strong:var(--color-text);--paper:url(/images/bg-pattern.jpg) top center / 90rem auto;--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--font-display:"futura-pt", "Jost", sans-serif;--font-mono:"Roboto Mono", monospace;--font-body:"Roboto", system-ui, sans-serif;--font-size-15:.9375rem;--font-size-16:1rem;--font-size-20:1.25rem;--tracking-tight:-.01em;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:3rem;--space-xl:5rem;--title-gap:var(--space-sm);--gutter:1.25rem;--gutter-top:1.25rem;--nav-gutter:1.25rem;--max-width:90rem;--edge:max(0px, (100% - var(--max-width)) / 2);--radius:.75rem;--phone-rem:max(min(1rem, 100vw / 23.4375), min(100vw / 26, (100svh - 10rem) / 36));--phone-rem-w:max(min(1rem, 100vw / 23.4375), min(100vw / 26, 1.0216rem));--phone-shift:max(0rem, 100vw - 26.5625rem);--tablet-rem:min(1rem, 100vw / 50);--fluid:clamp(0rem, (100vw - 50rem) / 40, 1rem);--desktop-rem:min(1rem, 100vw / 90);--tree-w:calc(53.0988 * var(--phone-rem))}@media screen and (width>=37em){:root{--tree-w:calc(63.25 * var(--tablet-rem) + 17.4638 * var(--fluid))}}@media screen and (width>=40em){:root{--gutter:calc(1.5625rem + 4.6875 * var(--fluid));--gutter-top:calc(1.5625rem + .3125 * var(--fluid));--nav-gutter:3.125rem}}@media screen and (width>=90em){html{font-size:min(1.11111vw,28.4444px)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{overflow-x:clip}body{min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-16);color:var(--color-text);background-color:var(--color-bg);line-height:1.5}body:before{content:"";z-index:-1;background:var(--paper);position:fixed;inset:0}img,picture,svg{max-width:100%;display:block}a{color:inherit}ul{list-style:none}h1,h2,h3,h4{text-wrap:balance}p,li,dd{text-wrap:pretty}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-xl)}.placeholder{background-color:var(--color-placeholder);border-radius:var(--radius)}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{font-family:var(--font-mono);letter-spacing:var(--tracking-tight);white-space:nowrap;border:2px solid #0000;padding:.375rem .625rem;font-size:clamp(.8125rem,4.2vw,1rem);line-height:normal;text-decoration:none;transition:all .2s;display:inline-block}@media screen and (width>=40em){.button{padding:.375rem calc(.875 * var(--tablet-rem));font-size:max(.875rem, calc(1.125 * var(--tablet-rem)))}}@media screen and (width>=50em){.button{font-size:var(--font-size-20);padding:.5rem 1.125rem}}.button--tertiary:hover,.button--tertiary:focus-visible{text-decoration:underline}.button--primary{background-color:var(--color-accent);color:var(--color-accent-contrast)}.button--outline{border-color:var(--color-accent-dark);background-color:#0000}.button--primary:hover,.button--primary:focus-visible,.button--outline:hover,.button--outline:focus-visible{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);scale:1.05}@media (prefers-reduced-motion:no-preference){.star{animation:24s linear infinite star-spin}}@keyframes star-spin{to{rotate:360deg}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cursor{z-index:100;pointer-events:none;position:fixed;inset:0}.cursor__spot,.cursor__pixel{position:absolute;top:0;left:0}.cursor__pixel{opacity:0}.cursor__chip{font-family:var(--font-mono);letter-spacing:var(--tracking-tight);white-space:nowrap;margin:1.25rem 0 0 1rem;font-size:.8125rem;display:grid}.cursor__chip:before,.cursor__text{grid-area:1/1}.cursor__chip:before{content:"";background-color:var(--color-text);opacity:0;transform-origin:0;transition:opacity .15s,scale .2s;scale:.2 .6}.cursor__text{z-index:1;color:var(--color-bg);opacity:0;padding:.25rem .625rem;transition:opacity .1s}.cursor__text:empty{display:none}.cursor__chip--shown:before{opacity:1;transition:opacity .15s, scale .45s var(--ease-pop);scale:1}.cursor__chip--shown .cursor__text{opacity:1;transition:opacity .2s .12s}@media (hover:hover) and (pointer:fine){[data-cursor-circle]{cursor:none}[data-cursor-circle] :is(a,button){cursor:pointer}}.cursor__circle{aspect-ratio:1;width:5.5rem;color:var(--color-text);opacity:0;place-items:center;transition:opacity .2s,scale .3s;display:grid;translate:-50% -50%;scale:.4}.cursor__circle>*{grid-area:1/1}.cursor__circle--shown{opacity:1;transition:opacity .2s, scale .4s var(--ease-pop);scale:1}.cursor__arrow{font-family:var(--font-mono);color:var(--color-text);font-size:1.25rem}@media (prefers-reduced-motion:no-preference){.cursor__arrow{animation:1.4s ease-in-out infinite cursor-bob}.cursor__arrow--star{animation:6s linear infinite reverse star-spin}}@keyframes cursor-bob{50%{translate:0 .3em}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.star:not(.intro__star):hover{animation-duration:3s}}.star-bit{z-index:100;pointer-events:none;height:auto;position:fixed}.star{cursor:pointer}.loader{z-index:200;background:var(--paper) var(--color-bg);place-items:center;transition:opacity .5s ease-out,visibility 0s .5s;animation:.5s 8s forwards loader-out;display:grid;position:fixed;inset:0}.loader--done{opacity:0;visibility:hidden}.loader__star{opacity:0;width:3rem;height:auto;animation:.3s .4s forwards loader-in}@media (prefers-reduced-motion:no-preference){.loader__star{animation:.3s .4s forwards loader-in,2.4s linear infinite star-spin}}@keyframes loader-in{to{opacity:1}}@keyframes loader-out{to{opacity:0;visibility:hidden}}
