*,*:before,*:after{box-sizing:border-box}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;background:#111}h1,h2,h3,h4,h5,h6,p,li{margin-top:0;margin-bottom:1rem}h2{font-size:2.25rem;font-weight:400;margin-bottom:0;padding-bottom:0}:root{--background-blue-lagoon: linear-gradient(to bottom, #191654, #43c6ac);--background-dawn: linear-gradient(to bottom, #00223e, #ffa17f);--background-celestial: linear-gradient(to bottom, #1d2671, #c33764)}@media(min-width:600px){body:before{position:fixed;content:" ";inset:0;z-index:-1}.theme-blue-lagoon body:before{background:var(--background-blue-lagoon)}.theme-dawn body:before{background:var(--background-dawn)}.theme-celestial body:before{background:var(--background-celestial)}}.outer{display:grid;grid-template-columns:1fr;grid-template-rows:75vh auto;max-width:1220px;margin-inline:auto;width:100%}@media(min-width:600px){.outer{grid-template-columns:1fr 2fr;grid-template-rows:auto auto auto}.outer .work,.outer .resume,.outer footer{grid-column:2}}.header{position:relative;color:#fff;padding:24px}.theme-blue-lagoon .header{background:var(--background-blue-lagoon)}.theme-dawn .header{background:var(--background-dawn)}.theme-celestial .header{background:var(--background-celestial)}@media(min-width:600px){.header{padding:32px;background:transparent!important;height:100dvh;position:sticky;top:0;left:0}}.header .logo{font-size:2.25rem;font-weight:400;line-height:1.1;margin-bottom:1rem}.header p,.header li{font-size:1rem}.header p{line-height:1.3;font-weight:400}.header p a,.header .nav li a{color:#fff;opacity:.7;border-bottom:1px solid rgba(255,255,255,.5);text-decoration:none}@media(hover:hover){.header .nav li a:hover,.header p a:hover{opacity:1;border-color:#fff}}.header ul{display:flex;margin:0 0 1rem;padding:0;gap:12px}.header li{list-style:none;display:inline-block}.header li a{color:#fff;text-decoration:none}.header .nav{display:flex}.header .nav li{line-height:1.4;vertical-align:middle;padding-bottom:4px}.header .nav li:last-child{margin-right:0;border-right:none}.header .nav li:last-child:before{content:" ";display:inline-block;width:1px;height:16px;opacity:.7;background:#ffffff80;margin-right:12px;vertical-align:middle}.header ul.social{position:absolute;padding:24px;bottom:0;left:0;gap:8px;transform:translateZ(0);margin:0}.header .social li{margin:0}.header .social a{color:#ffffff80;display:inline-flex;align-items:center;padding:4px}.header .social a svg{width:22px;height:22px;display:block}@media(hover:hover){.header .social a:hover{color:#fff}}.work,.resume,footer{background:#fff}.work{background:#edece6}.work h2{padding:24px 24px 0}@media(min-width:600px){.work h2{padding:32px 32px 0}}.work .projects{list-style:none;padding:24px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(min-width:600px){.work .projects{padding:16px 32px 32px;gap:32px}}.work .project{position:relative;overflow:hidden;margin-bottom:0}.work .project a:link,.work .project a:hover,.work .project a:visited{text-decoration:none}.work .project-poster{position:relative;display:block;background-size:cover;background-position:top left;aspect-ratio:3/2;background-repeat:no-repeat}.work .project-info{position:relative}.work .project-info .project-description{display:none}@media(hover:none){.work .project-poster{margin-bottom:.5rem}.work .project-info{position:relative}.work .project-info h3{font-size:1rem;font-weight:400;margin-bottom:2px;line-height:1.25rem}.work .project-info .project-header a{display:block;color:#000;text-decoration:none}.work .project-info .project-meta{font-size:.875rem;line-height:1.25rem;margin-bottom:0;display:flex;align-items:flex-start;flex-direction:column}.work .project-info .project-org,.work .project-info .project-role{color:#777}.work .project-info .project-meta .repo-link,.work .project-info .project-meta .repo-link:visited{display:inline;color:#777;border-bottom:1px solid #999;text-decoration:none}}@media(hover:hover){.work .project:hover .project-poster:before,.work .project:hover .project-info{opacity:1}.work .project:hover .project-poster{filter:blur(16px)}.work .project:hover .project-header a,.work .project:hover .project-meta{transform:translate(0);opacity:1}.work .project-poster{transition:all .2s ease-in-out;filter:blur(0)}.work .project-poster:before{transition:opacity .2s ease-in-out;content:" ";position:absolute;display:block;inset:0;background:#00000080;opacity:0}.work .project-info{transition:opacity .2s ease-in-out;position:absolute;opacity:0;z-index:100;inset:.5rem}.work .project-info h3{font-size:1.125rem;font-weight:400;margin:0;padding:0}.work .project-info .project-header>a{display:block;color:#fff;position:absolute;inset:0;transition:transform .3s ease-in-out 10ms,opacity .25s ease-in-out .1s,filter .25s ease-in-out .1s;transform:translateY(16px);opacity:0;padding:.5rem}.work .project-info .project-header>a:hover{text-decoration:none}.work .project-info .project-meta{transition:transform .3s ease-in-out 10ms,opacity .25s ease-in-out .1s,filter .25s ease-in-out .1s;transform:translateY(-16px);width:100%;opacity:0;position:absolute;bottom:0;left:0;color:#fff;padding:.5rem;margin-block:0;z-index:200}.work .project-info .project-org{display:block;color:#fffc;font-weight:400;margin-bottom:.25rem}.work .project-info .project-role{display:block;color:#ffffffb3;margin-bottom:.25rem}.work .project-info .repo-link,.work .project-info .repo-link:visited{color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.5);text-decoration:none}.work .project-info .repo-link:hover,.work .project-info .repo-link:visited:hover{border-bottom-color:#fff;color:#fff}}.resume{padding:24px;background:#fff}@media(min-width:600px){.resume{padding:32px}}.resume .wrapper>div{max-width:600px}.resume h2{border-bottom:1px solid #e5e5e5;padding-bottom:1rem}.resume h3{font-weight:700;font-size:1.3125rem;margin-top:1rem}.resume h3+h4,.resume h3+h5{margin-top:0}.resume h4{font-size:1.3125rem;font-weight:500;margin-top:1.5rem;margin-bottom:.25rem}.resume h5{font-size:1.125rem;font-weight:400;margin-top:2rem;margin-bottom:.5rem}.resume p,.resume li{font-size:1rem;line-height:1.5;margin-bottom:.5rem}.resume ul{padding:0;margin:0}.resume li{margin-left:1rem;margin-bottom:.5rem}.resume em{font-size:1rem;line-height:1rem;color:#777;font-style:normal}footer{padding:24px;color:#999;font-size:.875rem}footer p{margin:0}@media(min-width:600px){footer{padding:32px}}@media(prefers-color-scheme:dark){html{color-scheme:dark}.work,.resume,footer{background:#141414;color:#e9e9e9}.work{background:#1a1a1a}.resume h2{border-bottom-color:#3a3a3a}.resume em{color:#b5b5b5}.resume a,.resume a:visited{color:#e9e9e9}footer{color:#b5b5b5}}@media(prefers-color-scheme:dark)and (hover:none){.work .project-info .project-header a{color:#f5f5f5}.work .project-info .project-meta{color:#c2c2c2}.work .project-info .project-meta a.repo-link,.work .project-info .project-meta a.repo-link:visited{border-bottom-color:#555}}
