#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;min-height:100vh;background:linear-gradient(90deg,#131418,#1e1d28 69%,#20202d)}#root{padding:0;margin:0;max-width:100%}body,button,input,select,textarea{font-synthesis:none;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,a,address,code,img,q,s,small,strike,strong,sub,sup,b,u,i,center,ol,ul,li,form,label,legend,footer,header,nav,section,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}img,picture,video,canvas,svg{display:block;max-width:100%}body{line-height:1.5;font-family:Fira code,monospace;-webkit-font-smoothing:antialiased}ol,ul{list-style:none}.purple-code{color:#ae74c9}.green-code{color:#25ce98}.red-code{color:#c16a75}a{font-weight:500;color:inherit;text-decoration:inherit}h1{font-size:4.25rem;line-height:1.2;font-family:Fira code,monospace;font-weight:400;color:#e5e9f0}h2{font-size:2.75rem;line-height:1.2;font-family:Fira code,monospace;font-weight:400;color:#212124}h3{font-size:1.75rem;line-height:1.2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;color:#fff}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.hero{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:0 10%;max-width:1920px;margin:0 auto}.navbar{display:flex;width:100%;justify-content:space-between;align-items:center;padding:1.5rem 0;color:#fff;gap:2rem}.navbar .navbar-logo{width:40px;height:40px}.navbar .navbar-links{display:flex;gap:3.75rem}.navbar .nav-link{color:#7d848b;transition:color .3s ease}.navbar .nav-link:hover{color:#e5e9f0}.navbar-divider{border:none;border-top:1px solid #2d2d33;height:0}.hero-headings{display:flex;flex-direction:column;gap:1rem}.hero-eyebrow{font-size:1.25rem;line-height:1.5;font-family:Fira code,monospace;font-weight:400;color:#e5e9f0}.hero-subhead{font-size:1.25em;line-height:1.5;font-family:Fira code,monospace;font-weight:400;color:#25ce98}.hero-bottom-container{display:flex;justify-content:space-between;align-items:center;padding-bottom:64px}.github-link-container{text-align:left}.comment{font-size:1rem;line-height:1.5;font-family:Fira code,monospace;font-weight:400;color:#7d848b;padding-bottom:4px}.github-link{font-size:1rem;line-height:1.5;font-family:Fira code,monospace;font-weight:400;color:#e5e9f0}.animated-circle{position:relative;width:140px;height:140px;border-radius:50%;display:flex;justify-content:center;align-items:center}.circle-text{width:100%;height:100%;position:absolute;color:#e5e9f0;animation:anim 10s linear infinite}@keyframes anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.circle-text span{position:absolute;left:50%;font-family:Fira code,monospace;font-weight:400;font-size:.9rem;transform-origin:0 70px}.hero>*{animation:fadeIn 2s ease-in-out}#tech-stack{background-color:#e5e9f0;padding:120px 10%}.tech-stack-subhead{font-size:1.25rem;line-height:1.5;color:#7d848b;padding:2rem 0 4rem;max-width:1536px;margin:0 auto}.tech-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:2.5rem;max-width:1536px;margin:0 auto}.tech-card{display:flex;flex-direction:column;max-width:120px}.tech-icon-container{display:flex;justify-content:center;align-items:center;background-color:#212124;padding:28px;border-radius:8px 8px 0 0;box-shadow:-10px 0 10px -10px #0003,10px 0 10px -10px #0003}.tech-icon-container svg{width:60px;height:60px}.icon-fill-color{color:#e5e9f0}.tech-name-container{background-color:#d9d9d9;border-radius:8px 8px 88px;box-shadow:0 10px 10px -5px #0003}.tech-name-container p{font-size:.8rem;padding:8px 0}#projects{padding:0 10%}.projects-title{color:#e5e9f0;padding:80px 0}.project-card{display:flex;justify-content:center;padding:100px 80px;gap:80px;border-radius:12px;background-color:#e5e9f0;box-shadow:0 10px 10px -5px #0003;max-width:1400px;margin:0 auto 88px}.project-thumbnail{display:flex;width:50%;max-width:500px;border-radius:12px;margin:auto;overflow:hidden;box-shadow:0 10px 10px -5px #00000012}.project-thumbnail img{width:100%;height:100%;object-fit:contain}.project-details{display:flex;flex-direction:column;justify-content:center;width:50%;gap:1.75rem;text-align:left}.project-title{font-family:Inter,Arial,Helvetica,sans-serif;font-size:1.75rem;font-weight:400}.project-description{font-family:Inter,Arial,Helvetica,sans-serif;font-size:1.125rem;line-height:1.2;font-weight:400;color:#7d848b}.tools-title{font-size:.875rem;text-transform:uppercase;font-weight:700;line-height:2}.project-links-container{display:flex;gap:44px}.project-link a{display:flex;gap:10px;transition:color .3s ease}.project-link a:hover{color:#7d848b}#contacts{padding:0 10%}.contacts-title{color:#e5e9f0;padding:80px 0 20px}.contacts-subtitle{color:#e5e9f0;font-size:1.125rem}.form-container{position:relative}.contact-form{display:flex;padding:64px 0 120px;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto;text-align:left}.contact-form input,.contact-form textarea{font-size:1rem;font-family:Fira code,monospace;padding:.5rem;max-width:600px;width:100%;border:none;border-bottom:1px solid #7d848b;background-color:#0000;color:#e5e9f0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;box-shadow:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7d848b;transition:color .3s ease-in-out}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-bottom:1px solid #e5e9f0;background-color:#0000}.contact-form input:focus::placeholder,.contact-form textarea:focus::placeholder{color:transparent}.contact-form input:-webkit-autofill,.contact-form input:-webkit-autofill:hover,.contact-form input:-webkit-autofill:focus,.contact-form input:-webkit-autofill:active,.contact-form textarea:-webkit-autofill,.contact-form textarea:-webkit-autofill:hover,.contact-form textarea:-webkit-autofill:focus,.contact-form textarea:-webkit-autofill:active{border:none;-webkit-text-fill-color:#e5e9f0;-webkit-box-shadow:0 0 0px 1000px transparent inset;transition:background-color 5000s ease-in-out 0s;border-bottom:1px solid #7d848b}.contact-form input.invalid,.contact-form textarea.invalid{border-bottom:1px solid #ff4444}.contact-form .error-message{color:#f44;font-size:.875rem;margin-top:-.5rem}.contact-form button{margin:auto;background-color:#e5e9f0;color:#212124;border:#e5e9f0 1px solid;background-color:#0000;color:#e5e9f0;font-weight:600;width:240px;transition:color .3s ease,background-color .3s ease}.contact-form button:hover{background-color:#e5e9f0;color:#212124}footer{display:flex;flex-direction:column;justify-content:space-between;padding:0 10%;max-width:1920px;margin:0 auto}.footer-divider{border:none;border-top:1px solid #7d848b;height:0}.footer-container{display:flex;padding:32px 0 60px;justify-content:space-between;align-items:center;color:#7d848b;font-weight:600}.social-links{display:flex;gap:36px}.social-links a{transition:transform .3s ease}.social-links a:hover{transform:scale(1.1)}.scroll-to-top{position:fixed;bottom:50px;right:40px;cursor:pointer;z-index:1000;opacity:0}.scroll-to-top.fade-in{animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-to-top div{background-color:#070707;border-radius:50%;padding:10px 10px 12px}.scroll-to-top div .arrow-up{fill:#e5e9f0}.scroll-to-top div .arrow-up:active{fill:#25ce98}.scroll-to-top div:hover{background-color:#333}.spinner{position:absolute;border-radius:50%;animation:spinner 1s infinite linear;left:50%;top:18%;width:85px;height:85px;border-top:5px solid #e2e7e9;border-right:5px solid #e2e7e9;border-bottom:5px solid #e2e7e9;border-left:5px solid #ccd1d3}@keyframes spinner{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.not-found-content h1{font-size:8rem;margin-bottom:0;color:#e5e9f0}.not-found-content h2{font-size:2.5rem;color:#e5e9f0;margin-top:0;margin-bottom:1.5rem}.not-found-content p{font-size:1.2rem;color:#7d848b;margin-bottom:2.5rem}.home-link{display:inline-block;padding:.8rem 1.5rem;background-color:var(--primary-color, #007bff);color:#fff;text-decoration:none;border-radius:4px;font-weight:500;transition:background-color .3s ease}.home-link:hover{background-color:var(--primary-dark, #0056b3)}@media screen and (max-width: 1000px){.animated-circle{width:120px;height:120px}.circle-text span{font-size:.8rem;transform-origin:0 60px}.project-card{flex-direction:column;width:100%;padding:80px 40px;align-items:center;gap:60px}.project-thumbnail{width:100%}.project-details{width:90%;align-content:center;text-align:center;gap:2rem}.project-links-container{justify-content:center}}@media screen and (max-width: 768px){h1{font-size:3.75rem}h2{font-size:2.25rem}.hero{padding:0 5%}.hero .hero-headings{padding:20px 0}#tech-stack{padding:80px 5%}.tech-stack-subhead{font-size:1rem;line-height:1.5}.project-title{font-size:1.5rem}.project-description{font-size:1rem;line-height:1.5}.contacts-title{padding:40px 5% 20px}.contacts-subtitle{font-size:1rem;padding:1rem 5%}.contact-form{padding:32px 5% 120px}footer{padding:0 5% 20px}.scroll-to-top{bottom:24px;right:24px}}@media screen and (max-width: 600px){.navbar .navbar-logo{width:32px;height:32px}.navbar .navbar-links{gap:1.5rem}.nav-link{font-size:.875rem}h1{font-size:2.5rem}.hero-bottom-container{flex-direction:column;gap:64px;padding-bottom:27%}.project-card{padding:64px 32px;gap:48px}.project-details{width:100%}.project-links-container{gap:32px;flex-wrap:wrap}.scroll-to-top{bottom:24px;right:12px}.scroll-to-top div{padding:6px 6px 8px}.scroll-to-top div svg{width:16px;height:16px}.not-found-content h1{font-size:6rem}.not-found-content h2{font-size:2rem;margin-bottom:1.2rem}.not-found-content p{font-size:1rem;margin-bottom:2rem}}@media screen and (max-width: 400px){.navbar .navbar-links{gap:1rem}.hero-eyebrow{font-size:1.125rem}.hero-subhead{font-size:1.125em}.animated-circle{width:100px;height:100px}.circle-text span{font-size:.75rem;transform-origin:0 50px}.tech-stack-subhead{text-align:left}.project-card{padding:56px 28px;gap:40px}.project-links-container{gap:24px}.footer-container{flex-direction:column-reverse;gap:24px}.scroll-to-top{right:8px}}
