:root{--glass-blur:3px;--scroll-fade-size:2.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-black:#0c0c0c;--color-white:#fcfcfc;--color-grid-dark:#292929;--color-grid-dark-accent:#4a4a4a;--color-about:#4eb77e;--color-background:var(--color-white);--color-foreground:var(--color-black);--color-projects:#4eb77e;--font-family-display:var(--font-montreal), Arial, sans-serif;--font-family-heading:var(--font-haas-display), Arial, sans-serif;--font-family-mono:var(--font-neue-montreal-mono), "Courier New", monospace;--font-family-body:var(--font-family-mono);--font-family-navigation:var(--font-family-mono);--font-size-h1:4rem;--line-height-h1:normal;--font-size-h2:3.5rem;--line-height-h2:normal;--font-size-body:.875rem;--line-height-body:1.25rem;--font-size-navigation:.875rem;--line-height-navigation:1.125rem;--grid-column-count:12;--grid-margin:2.5rem;--grid-gutter:1.25rem}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);min-width:20rem;color:var(--color-foreground);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-background);min-height:100svh;color:var(--color-foreground);font-family:var(--font-family-body);font-size:var(--font-size-body);font-synthesis:none;font-weight:400;line-height:var(--line-height-body);text-rendering:optimizelegibility;margin:0}h1,h2,p{margin:0}h1,h2{font-family:var(--font-family-heading);font-weight:300}h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1)}h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2)}a{color:inherit;text-underline-offset:.125rem;text-decoration-thickness:.0625rem}button,input,select,textarea{color:inherit;font:inherit}img,picture,svg,video{max-width:100%;display:block}::selection{background:var(--color-grid-dark-accent);color:var(--color-white)}:focus-visible{outline-offset:.125rem;outline:.125rem solid}.layout-container{width:100%;padding-inline:var(--grid-margin)}.layout-grid{grid-template-columns:repeat(var(--grid-column-count), minmax(0, 1fr));column-gap:var(--grid-gutter);display:grid}.text-navigation{font-family:var(--font-family-navigation);font-size:var(--font-size-navigation);line-height:var(--line-height-navigation)}.terminalCursor{vertical-align:-.14em;background-color:currentColor;width:.62em;height:1em;margin-left:.12em;animation:2s step-end infinite terminal-cursor-blink;display:inline-block;overflow:hidden;box-shadow:0 0 .22em}@keyframes terminal-cursor-blink{0%,52%{opacity:1}53%,to{opacity:0}}@media (min-width:48rem) and (max-width:74.999rem){:root{--grid-column-count:8}}@media (max-width:47.999rem){:root{--font-size-h1:3rem;--font-size-h2:2.5rem;--grid-column-count:4;--grid-margin:1rem;--grid-gutter:.75rem}body{min-height:100dvh}}.routePanelGrow{transform-origin:100% 0;will-change:clip-path;animation:.9s cubic-bezier(.76,0,.24,1) both route-panel-grow}@keyframes route-panel-grow{0%{clip-path:polygon(100% 0,100% 0,100% 3rem,100% 3rem,100% 3rem)}50%{clip-path:polygon(3rem 0,100% 0,100% 3rem,0 3rem,0 3rem)}to{clip-path:polygon(3rem 0,100% 0,100% 100%,0 100%,0 3rem)}}.routePanelContent{width:100%;height:100%;animation:.18s ease-out .9s both route-panel-content-in}.routePanelClosing{animation-name:route-panel-shrink;animation-delay:.16s}.routePanelClosing .routePanelContent{animation:.16s ease-in both route-panel-content-out}@keyframes route-panel-content-in{0%{visibility:hidden;opacity:0}1%{visibility:visible}to{visibility:visible;opacity:1}}@keyframes route-panel-content-out{0%{visibility:visible;opacity:1}99%{visibility:visible}to{visibility:hidden;opacity:0}}@keyframes route-panel-shrink{0%{clip-path:polygon(3rem 0,100% 0,100% 100%,0 100%,0 3rem)}50%{clip-path:polygon(3rem 0,100% 0,100% 3rem,0 3rem,0 3rem)}to{clip-path:polygon(100% 0,100% 0,100% 3rem,100% 3rem,100% 3rem)}}@media (max-width:47.999rem){.routePanelGrow{animation-name:route-panel-grow-mobile}.routePanelClosing{animation-name:route-panel-shrink-mobile}}@keyframes route-panel-grow-mobile{0%{clip-path:inset(0 0 calc(100% - 2.5rem) 100%)}50%{clip-path:inset(0 0 calc(100% - 2.5rem))}to{clip-path:inset(0)}}@keyframes route-panel-shrink-mobile{0%{clip-path:inset(0)}50%{clip-path:inset(0 0 calc(100% - 2.5rem))}to{clip-path:inset(0 0 calc(100% - 2.5rem) 100%)}}
