*{margin:0;padding:0}li{list-style:none}:root{background:#11111b;color:#bac2de;font-family:JetBrains Mono,Ubuntu Mono,Courier New,Courier,"monospace";font-optical-sizing:auto;font-size:18px;font-synthesis:none;font-weight:400;line-height:1.5;scrollbar-gutter:stable;text-rendering:optimizeLegibility}h1,h2,h3{font-weight:800;margin-bottom:1rem;margin-top:2rem}h1{font-size:3rem}h1,h2{color:#f38ba8}h2{font-size:2.2rem}h3{color:#cdd6f4;font-size:1.6rem}p{margin:1rem 0;text-indent:2ch}strong{color:#cdd6f4;font-weight:700}a{color:#f38ba8;text-decoration:inherit}button,input,textarea{border:none;font:inherit}button::-moz-placeholder,input::-moz-placeholder,textarea::-moz-placeholder{color:#9399b2}button::placeholder,input::placeholder,textarea::placeholder{color:#9399b2}@media (max-width:768px){:root{font-size:14px}}.button{align-items:center;background:#3132449f;border-radius:.5rem;box-shadow:0 0 1rem #00000026;color:#cdd6f4;display:flex;padding:.5rem 1rem;transition:all .25s ease-out;width:-moz-max-content;width:max-content}.button .icon{height:1.5rem;margin-right:.5rem;width:1.5rem}.button .arrow{height:1.5rem;margin-left:.5rem;transition:all .25s ease-out;width:1.5rem}.button:hover{background:#45475a80}.button:hover .arrow{transform:translate(.25rem)}.button:active{background:#585b7080}.button:disabled{background:#31324480;color:#9399b2}.contact-form{margin:1rem 0;padding:0 1rem}.contact-form .input-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto);margin:1rem 0;grid-gap:.5rem;gap:.5rem}.contact-form .input-grid #message{grid-column:span 2/span 2}.contact-form .input-grid .input{background:#3132449f;border-radius:.5rem;box-shadow:0 0 1rem #00000026;color:#bac2de;padding:.5rem 1rem;resize:none}.contact-form .submit-and-status{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;justify-content:flex-start}.contact-form .submit-and-status button{flex-grow:0;flex-shrink:0}.contact-form .submit-and-status p{margin:0;padding:.5rem 1rem}.contact-form .submit-and-status p.error-message{color:#f38ba8}@media (max-width:768px){.contact-form .input-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,auto)}.contact-form .input-grid #message{grid-column:auto}}.footer{align-items:center;color:#9399b2;display:flex;flex-direction:column;font-size:.8rem;height:9rem;justify-content:flex-start;padding:1rem 2rem 0;position:relative;text-align:center;width:min(85%,1080px)}.footer:after{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#1e1e2e9f;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.footer:before{background:#45475a;content:"";display:block;height:2px;margin-bottom:1rem;width:100%}.footer .social-links{display:flex;gap:1rem;margin-bottom:.5rem}.footer .social-links .social-icon{height:2rem;transition:all .25s ease-out;width:2rem}.footer .social-links .social-icon:hover{transform:translateY(-.25rem)}.footer .copyright{margin:.5rem 0}.footer .built-with{margin-top:.5rem}.footer .built-with strong{color:#f38ba8}.header{align-items:center;display:flex;height:4rem;justify-content:flex-start;padding:0 2rem;position:fixed;width:min(85%,1080px);z-index:100}.header:before{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#11111b9f;content:"";height:100%;left:calc(50% - 50vw);position:absolute;top:0;width:100vw;z-index:-1}.header .navbar{display:flex;gap:.5rem;justify-content:flex-start}.header .navbar .page{color:#9399b2;padding:.5rem 1rem;position:relative;transition:all .25s ease-out}.header .navbar .page:before{background:#9399b2;bottom:0;content:"";height:2px;left:0;opacity:0;position:absolute;transition:all .25s ease-out;width:100%}.header .navbar .page:hover{color:#bac2de}.header .navbar .page:hover:before{background:#bac2de;opacity:1}.header .navbar .page:active{color:#cdd6f4}.header .navbar .page:active:before{background:#cdd6f4;opacity:1}.header .navbar .page.active{color:#f38ba8}.header .navbar .page.active:before{background:#f38ba8;opacity:1}.interactive-background{background:linear-gradient(#11111b,#f38ba820);height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.project-card{align-items:center;background:#3132449f;border-radius:.5rem;box-shadow:0 0 1rem #00000026;color:#bac2de;display:flex;flex-direction:column;padding:1rem;transition:all .25s ease-out}.project-card h3{margin:0;transition:all .25s ease-out}.project-card p{margin:0}.project-card:hover{background:#45475a80}.project-card:hover h3{color:#f38ba8}.skills-list{align-items:center;display:flex;flex-basis:min(33%,100vw);flex-direction:column}.skills-list ul{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:0 1rem}.skill-badge{align-items:center;background:transparent;border:1px solid #9399b2;border-radius:.5rem;box-shadow:0 0 1rem #00000026;color:#9399b2;display:flex;padding:.25rem .5rem;position:relative;transition:all .25s ease-out}.skill-badge .icon{height:1.5rem;margin-right:.5rem;width:1.5rem}.skill-badge .skill-details{align-items:center;background:#1e1e2e;border-radius:.5rem;box-shadow:0 0 1rem #00000026;display:none;gap:.5rem;left:50%;min-width:10rem;padding:.75rem;position:absolute;text-align:center;top:calc(100% + 10px);transform:translate(-50%);z-index:100}.skill-badge .skill-details .label{color:#9399b2}.skill-badge .skill-details .stars{color:#f38ba8}.skill-badge .skill-details:before{border:6px solid transparent;border-bottom-color:#1e1e2e;bottom:100%;content:"";left:50%;position:absolute;transform:translate(-50%)}.skill-badge:hover{background:#f38ba840;border-color:#f38ba8;color:#f38ba8}.skill-badge:hover .skill-details{display:flex}main{min-height:100vh;padding:4rem 2rem 0;position:relative;width:min(85%,1080px)}main:before{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#1818259f;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}section{padding:1rem 0}.hero .links-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:0 1rem}.featured-projects .projects-container{display:grid;grid-template-columns:repeat(2,1fr);margin:1rem 0;padding:0 1rem;grid-gap:1rem;gap:1rem}.technical-skills .skills-container{display:flex;flex-direction:row;justify-content:space-between;margin:1rem 0;padding:0 1rem}@media (max-width:768px){.featured-projects .projects-container{grid-template-columns:1fr}.technical-skills .skills-container{flex-direction:column}}.not-found{align-items:center;display:flex;flex-direction:column;text-align:center}.not-found h2{margin-bottom:0}.not-found h3{margin-top:0}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:1rem 0;padding:0 1rem;grid-gap:1rem;gap:1rem}@media (max-width:768px){.projects{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}body{align-items:center;display:flex;flex-direction:column;min-height:100vh;min-width:360px}
