@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:inherit;font-family:Work Sans,sans-serif;color:var(--text);text-transform:lowercase}@media not screen and (any-pointer: coarse){*{cursor:none}}.normalcase{text-transform:initial!important}h1{font-size:var(--h1-size)}h2{font-size:var(--h2-size)}h3{font-size:var(--h3-size)}:root{font-size:var(--p-size);--h1-size: 72px;--h2-size: 48px;--logo-size: 48px;--h3-size: 32px;--p-size: 24px}:root:not(.dark){--text: #31302C;--accent: #A19334;--background: #E9E7DA;--secondary_background: #DBD7BE;--img_background: #DBD7BE}:root.dark{--text: #C9C6AA;--accent: #A19334;--background: #011A1A;--secondary_background: #000000;--img_background: #C9C6AA}:root.dark .logo{animation:flickering 2s infinite;position:relative}:root.dark .logo:after{content:"at night!";position:absolute;font-family:Pacifico,sans-serif;right:0;bottom:0;font-size:var(--p-size);transform:rotate(-15deg) translateY(50%)}body{position:relative}svg{path:var(--text);stroke:var(--text)}a{text-decoration:none}.logo{font-family:Pacifico,sans-serif;font-size:var(--logo-size)}span.accent{color:var(--accent)}body{background-color:var(--background);transition:background-color .2s ease-out}.home{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:0 40px}.hero{display:flex;flex-direction:column;gap:16px}.hero h1{width:fit-content;position:relative}.hero h1:after{content:"";position:absolute;background-color:var(--text);right:-10px;width:.05em;height:100%;animation:1s cursor infinite}a.button{border:1px solid var(--accent);padding:12px 24px;width:fit-content;transition:all .2s ease-out}a.button:hover{background-color:var(--accent);color:var(--background);box-shadow:0 0 1em var(--accent)}#hamburgerpopupbackground{position:absolute;inset:0;z-index:2;background-color:#0009;display:none}html.hamburgerpopupopen #hamburgerpopupbackground{display:initial}#hamburgerpopup{position:absolute;inset:0 0 auto;overflow:hidden;background-color:var(--secondary_background);z-index:3;display:flex;flex-direction:column;gap:1em;padding:1em;transform:scaleY(0);transform-origin:top;transition:transform .4s}html.hamburgerpopupopen #hamburgerpopup{max-height:20%;transform:scaleY(1)}nav{left:0;right:0;top:0;display:flex;justify-content:space-between;padding:16px 64px}nav #hamburger{display:none;z-index:4}nav #hamburger path{transform-origin:-2%;transform-box:fill-box;transition:transform .4s ease-out,opacity .2s ease-out}html.hamburgerpopupopen nav #hamburger{display:initial}html.hamburgerpopupopen nav #hamburger path:first-child{transform:rotate(-45deg)}html.hamburgerpopupopen nav #hamburger path:last-child{transform:rotate(45deg)}html.hamburgerpopupopen nav #hamburger path:nth-child(2){transform:translate(-110%);opacity:0}nav .links{align-items:center;display:flex;gap:clamp(16px,3vw,64px);font-weight:700;font-style:italic}nav .links svg{height:clamp(32px,6vw,48px);aspect-ratio:1;transition:filter .2s ease-out}nav .links svg:hover{filter:drop-shadow(0 0 2px var(--text))}nav .links a{position:relative;height:fit-content}nav .links a:before{content:"";position:absolute;border-bottom:2px solid var(--accent);left:-5%;width:0;height:110%;transition:width .2s ease-out}nav .links a:hover:before{width:110%}.about{min-height:100vh;padding:0 16px}.about .grid{margin:0 auto;max-width:1400px;display:grid;gap:16px 64px;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}.about .grid h1,.about .grid p{height:fit-content}.about .grid .img{background-color:var(--img_background);border-radius:999rem;aspect-ratio:1;margin:auto 0;grid-row:span 2;position:relative}.about .grid .img img{width:100%;height:100%;position:absolute;bottom:0;aspect-ratio:1;transform:translateY(min(1%,3px))}.projects{padding:0 16px;max-width:1400px;margin:0 auto 320px;min-height:100vh;display:flex;flex-direction:column;gap:64px}.projects .projectsgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.projectscard{border:1px solid var(--accent);padding:64px;border-radius:32px;display:flex;flex-direction:column;gap:16px}.projectscard a{display:flex;margin:auto 0 0 auto;position:relative;width:fit-content}.projectscard a:before{content:"view source code";position:absolute;right:-50%;transform:translate(-100%);bottom:-50%;background-color:#0000002f;padding:.25em;border-radius:.25em;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility .2s ease-out}.projectscard a:hover:before{opacity:1;visibility:visible}.projectscard svg{height:clamp(32px,6vw,64px);width:clamp(32px,6vw,64px)}footer{background-color:var(--secondary_background);padding:64px 16px}footer p{font-weight:700}footer .copyright{order:99}footer .content{display:flex;flex-wrap:wrap;flex-direction:row-reverse;justify-content:space-around;gap:24px 48px;max-width:1400px;margin:0 auto;align-items:center}footer .content .contactinfo{display:flex;flex-direction:column;gap:16px;order:-99}footer .content .contactinfo .links{display:flex;gap:1em}footer .content .contactinfo svg{fill:var(--text);path:var(--text);height:clamp(32px,6vw,64px);width:clamp(32px,6vw,64px);transition:transform 1s}footer .content .contactinfo svg:hover{transform:rotate(360deg)}#customcursor1,#customcursor2{pointer-events:none;position:fixed;z-index:999;border-radius:999em;width:2vh;height:2vh;background-color:#c9c6aa;mix-blend-mode:difference;will-change:opacity;color:var(--text);opacity:0;transition:all 50ms ease-out}#customcursor2{transition:all .2s ease-out}@keyframes flickering{0%,19.33%,20.66%,38%,40.66%,44%,45.33%,59.33%,60.66%,60.66%,90%{text-shadow:0 0 20px var(--text)}20%,40%,44.66%,60%,68%,to{text-shadow:0 0 5px var(--text)}}@keyframes cursor{0%,49%{opacity:1}50%,to{opacity:0}}@media screen and (width <= 1000px){:root{--h1-size: 56px;--h2-size: 40px;--logo-size: 40px;--h3-size: 24px;--p-size: 16px}.about .grid{gap:16px}nav .links a{display:none}nav #hamburger{display:initial}.projects,.projects .projectsgrid{gap:32px}.projects .projectsgrid .projectscard{padding:16px}}@media screen and (width <= 650px){.projects .projectsgrid{grid-template-columns:1fr}}@media screen and (width <= 600px){:root{--h1-size: 40px;--h2-size: 32px;--logo-size: 24px;--h3-size: 20px;--p-size: 12px}nav{padding:16px}footer .content .contactinfo{gap:4px}}@media screen and (width <= 500px){.about .grid{grid-template-columns:1fr}.about .grid h1{text-align:center;grid-row:1}.about .grid .img{margin:0 20%;grid-row:initial}footer{padding:16px}footer .content .contactinfo a p{font-size:8px}}.small{font-size:.75rem}.blogcard{border:1px solid var(--accent);padding:1.5rem;border-radius:1rem;display:flex;flex-direction:column;gap:.5rem;transition:all .2s ease-out}.blogcard:hover{box-shadow:0 0 1em var(--accent)}.blogcard p:last-child{font-size:.85em;opacity:.7}.blogmain{padding:0 16px;max-width:1400px;margin:0 auto;gap:2rem;padding:4rem;display:grid;grid-template-columns:1fr 1fr 1fr}@media screen and (width <= 650px){.blogmain{grid-template-columns:1fr}}.blogpost{max-width:800px;margin:4rem auto;padding:0 16px;display:flex;flex-direction:column;gap:24px}.blogpost *{text-transform:initial}.blogpost a.button{align-self:flex-start}.blogpost h1{text-transform:initial}.blogpost .post-date{font-size:.85em;opacity:.7}.blogpost .post-content{display:flex;flex-direction:column;gap:16px;line-height:2}.codeblock{padding:.75rem;border-radius:.75rem;font-size:.75rem;white-space:pre-wrap!important;word-break:break-all!important;overflow-x:visible!important}.codeblock span{font-family:JetBrains Mono!important}.codeblock>code{white-space:pre-wrap!important}.codeblock .line{display:inline;word-break:break-all!important}
