html{scrollbar-gutter:stable}body{--background:#ffffff;--text:#181818;--button-background:#f0f0f0;--button-text:#5b5b5b;--accent:#e7bb4d;--accent-light:rgba(231, 187, 77, 0.1882352941);--shadow-color:rgba(144, 144, 144, 0.5019607843);--main-inset:calc(3em + 200px + 1rem);--edge-gutter:clamp(1rem, 8vw, 10%);min-height:100vh;margin:0;color:var(--text);background:var(--background);font-family:sans-serif;font-size:max(16px,1rem);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}body a{color:var(--text);text-decoration-color:var(--accent)}nav{position:fixed;top:6em;left:3em;z-index:1;margin:0;max-height:calc(100vh - 6em - 1.5rem);overflow-y:auto;box-sizing:border-box}nav .logo{font-family:sans-serif;font-weight:700;line-height:.9;font-size:2rem;background-color:var(--background);width:min-content}nav .logo a{color:var(--text);text-decoration:none}nav p{font-size:12px;line-height:1.5}nav p a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent)}nav .sidebar-body span,nav .mobile-drawer-inner span{background-color:var(--background);padding:2px}nav .mobile-bar,nav .mobile-drawer{display:none}@media screen and (max-width:800px){body.menu-open{overflow:hidden}nav{position:fixed;top:0;left:0;right:0;margin:0;padding:0;width:100%;height:auto;z-index:100;background:var(--background)}nav .logo,nav .sidebar-body{display:none}nav .mobile-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding-top:.5rem;padding-bottom:.5rem;padding-left:max(1rem,env(safe-area-inset-left,0));padding-right:max(1rem,env(safe-area-inset-right,0));box-sizing:border-box;background:var(--background)}nav .mobile-logo{font-family:sans-serif;font-weight:700;line-height:.9;font-size:clamp(1.5rem,6vw,2rem);color:var(--text);text-decoration:none;flex:1;min-width:0}nav .burger{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;margin:0;border:none;background:0 0;cursor:pointer;color:var(--text)}nav .burger span{display:block;flex-shrink:0;height:2px;width:22px;background:currentColor;border-radius:1px;transform-origin:center;transition:transform .25s ease,opacity .2s ease}nav .burger.is-open span:nth-child(1){transform:translateY(7px)rotate(45deg)}nav .burger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}nav .burger.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}nav .mobile-drawer{display:flex;flex-direction:column;position:fixed;inset:0;z-index:1;margin:0;padding:0;width:100%;height:100dvh;box-sizing:border-box;background:var(--background);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}nav .mobile-drawer.is-open{opacity:1;visibility:visible;pointer-events:auto}nav .mobile-drawer-inner{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-top:calc(3.75rem + env(safe-area-inset-top,0));padding-right:max(1.25rem,env(safe-area-inset-right,0));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0));padding-left:max(1.25rem,env(safe-area-inset-left,0));box-sizing:border-box;-webkit-overflow-scrolling:touch}nav .mobile-drawer-nav{flex-shrink:0}nav .mobile-drawer-nav p{margin:0;line-height:1.35}nav .mobile-drawer-nav span{padding:0;background:0 0}nav .mobile-drawer-nav a{font-size:clamp(1.2rem,4.8vw,1.55rem);font-weight:600;line-height:1.25;min-height:3rem;padding:.5rem 0;display:inline-flex;align-items:center;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.2em}nav .mobile-drawer-footer{margin-top:auto;flex-shrink:0;padding-top:1.5rem}nav .mobile-drawer-footer p{font-size:12px;line-height:1.5;margin-top:0;margin-bottom:.75em}nav .mobile-drawer-footer p:last-child{margin-bottom:0}nav .mobile-drawer-footer span{background-color:var(--background);padding:2px}nav .mobile-drawer-footer a{padding:.35em 0;display:inline-flex;align-items:center;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent)}}main[data-barba=container]{position:relative;z-index:0}main{box-sizing:border-box;margin-top:clamp(2rem,5vw,3.5rem);padding-bottom:env(safe-area-inset-bottom,0);min-width:0}main p{margin-top:.6em}main section{line-height:1.4;margin-bottom:1em}main iframe{max-width:100%}main img{max-width:100%;height:auto}@media screen and (min-width:801px){main{margin-right:var(--edge-gutter)}main.home{--content-column-max:800px;--main-strip:calc(100vw - var(--main-inset) - var(--edge-gutter));max-width:var(--content-column-max);width:min(var(--content-column-max),var(--main-strip));margin-left:calc(var(--main-inset) + max(0px,(var(--main-strip) - var(--content-column-max))/2))}main.project{--content-column-max:600px;--main-strip:calc(100vw - var(--main-inset) - var(--edge-gutter));max-width:var(--content-column-max);width:min(var(--content-column-max),var(--main-strip));margin-left:calc(var(--main-inset) + max(0px,(var(--main-strip) - var(--content-column-max))/2))}}@media screen and (max-width:800px){main{margin-left:auto;margin-right:auto;margin-top:clamp(4.25rem,14vw,5.75rem);padding-left:max(1rem,env(safe-area-inset-left,0));padding-right:max(1rem,env(safe-area-inset-right,0));width:100%;max-width:100%}main.home,main.project{max-width:100%;width:100%;margin-left:auto;margin-right:auto}main h1{margin-top:.5em}}#footer{font-size:small;line-height:1.5;margin-top:0}#footer p{margin-top:0}.footer-flex{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem}.footer-expander{flex:1}.socials svg{fill:var(--text)}.resume #intro{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:1.25rem}.resume #intro .headshot{flex-shrink:0}.resume #intro .headshot img{display:block;max-width:min(400px,36vw);max-height:400px;width:auto;height:auto}.resume #intro h1{flex:1;min-width:0;margin:0}@media screen and (max-width:800px){.resume #intro{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.resume #intro .headshot{width:100%}.resume #intro .headshot img{max-width:100%;max-height:none}.resume #intro h1{flex:none;width:100%}}.resume section{margin-bottom:1.5em;min-width:0}.resume h1,.resume h2{font-size:larger;margin-top:0;margin-bottom:.2em}.resume .resume-flex{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;margin-bottom:.5em}.resume .line-div,.resume .the-line,.resume .resume-break{display:none}.resume .sub{padding-bottom:1em;font-size:small;line-height:1.3}.resume .skills-container{display:flex;flex-flow:row wrap;gap:1rem}.resume .skills-container ul{list-style:disc;margin:0;padding-left:1.25rem}.resume .side-by-side-container{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0}.resume .side-by-side-block{flex:1 1 200px;min-width:0}.resume .side-by-side-block img{width:100%;height:auto}.project-cover{max-width:600px;width:100%;aspect-ratio:16/9;overflow:hidden;background-color:var(--button-background)}.project-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.project-index{max-width:min(600px,100%)}.project-index a{color:var(--text);text-decoration:none}.project-index .key{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-bottom:.75em;font-size:small}.project-index .project{margin-bottom:1.5em}.project-index .project h1{margin:.25em 0}.project-index .project .project-tag,.project-index .project .year{font-size:small}.project{max-width:min(600px,100%)}.project h1{font-size:1.5rem;margin:.5em 0 .25em}.project .description{font-style:italic;margin:0}.project #contributors{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;margin:0}.project #contributors .name{font-size:small}.project .status-tag{font-size:small;font-weight:700;margin-left:.5em}.project .award{font-size:small}.project .tag{font-size:small;padding:.1em .35em;margin-right:.25em;color:var(--button-text);background:var(--button-background);text-decoration:none;border-radius:2px}.project #post-navigation{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:0;width:100%}.project #post-navigation>hr{flex:1 1 100%;width:100%;margin:0;border:none;border-top:1px solid color-mix(in srgb,var(--text) 20%,transparent)}.project #post-navigation>div{box-sizing:border-box;flex:0 1 calc((100% - 1rem)/2);max-width:calc((100% - 1rem)/2);min-width:0}@media screen and (max-width:800px){.project #post-navigation>div{flex:1 1 100%;max-width:100%}}.project #post-navigation p{margin-top:.25em;font-size:small;font-style:italic}.project #post-navigation a{text-decoration:none}.project #post-navigation .nav-button{color:var(--button-text)}.project #post-navigation .nav-thumb{aspect-ratio:16/9;width:min(100%,213.3333333333px);max-height:120px;overflow:hidden;border-radius:2px;background:var(--button-background)}.project #post-navigation .nav-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.project #post-navigation .nav-title{display:block;margin-top:.35em;font-size:small}main.project>.project .highlight pre{box-sizing:border-box;padding:.65em .9em;overflow-x:auto}