:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}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}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.navbar{width:auto;max-width:98vw;left:0;right:0;top:0;position:relative;background:#181848;color:#fff;border-radius:1rem;margin:1.5rem auto 2rem;box-shadow:0 4px 24px #0002;display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:1.2rem 1.5rem}.navbar__inner{width:100%;max-width:1400px;display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem}.navbar__logo{display:flex;align-items:center;gap:1.2rem;font-size:2.1rem;font-weight:800;letter-spacing:1.5px}.navbar__logo-img{height:3.2rem;width:3.2rem;object-fit:contain;border-radius:50%;background:transparent;box-shadow:0 2px 12px #0005}.navbar__links{display:flex;gap:3rem;list-style:none}.navbar__links a{color:#fff;text-decoration:none;font-weight:600;font-size:1.25rem;letter-spacing:.5px;transition:color .2s}.navbar__links a:hover{color:#a3e635}@media (max-width: 900px){.navbar__inner{flex-direction:column;gap:1rem;padding:0 1rem}.navbar__links{gap:1rem}}.hero{display:flex;align-items:center;justify-content:center;gap:3rem;margin:2rem 0 4rem;min-height:260px;width:100%;max-width:1400px}.hero__card{background:linear-gradient(120deg,#a259ff,#23235b,#43e7ad);background-size:200% 200%;animation:gradientMove 5s ease-in-out infinite alternate;color:#fff;border-radius:2.5rem;padding:2.5rem 2.5rem 2rem;box-shadow:0 8px 32px #0003;min-width:320px;max-width:500px;min-height:180px;display:flex;flex-direction:column;justify-content:center;flex:1 1 350px}.hero__card h1{font-size:3.2rem;font-weight:900;margin-bottom:1.1rem;background:linear-gradient(90deg,#fff 30%,#a259ff 60%,#43e7ad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1.5px;text-shadow:0 2px 24px #0003;line-height:1.1}.hero__card p{font-size:1.35rem;opacity:.95;color:#e0e0e0;font-weight:500;line-height:1.6;letter-spacing:.2px;text-shadow:0 1px 8px #0002;margin-top:.5rem}.hero__illustration{display:flex;align-items:center;justify-content:center;flex:1 1 200px}.hero__profile-pic{width:250px;height:250px;border-radius:50%;object-fit:contain;background:#000;box-shadow:0 4px 32px #0005;border:6px solid #23235b;margin:0 auto;display:block}@keyframes gradientMove{0%{background-position:0% 50%}to{background-position:100% 50%}}@media (max-width: 1200px){.hero{max-width:98vw;gap:2rem}}@media (max-width: 900px){.hero{flex-direction:column;gap:2rem;max-width:100vw;padding:0 1rem}.hero__card,.hero__illustration{width:100%;min-width:unset;max-width:100%}}.projects{background:#23235b;border-radius:1.5rem;padding:2.5rem 2rem;margin:2rem auto 3rem;width:100%;max-width:1400px;color:#fff;box-shadow:0 4px 32px #0002}.projects h2{font-size:2rem;margin-bottom:2rem}.projects__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;width:100%}.project__card{background:#1a1a3c;border-radius:1rem;padding:1.5rem 1.2rem;min-width:260px;max-width:100%;box-shadow:0 2px 16px #0003;transition:box-shadow .2s;display:flex;flex-direction:column;gap:1rem}.project__card h3{color:#a259ff;margin-bottom:.5rem}.project__card a{color:#a259ff;text-decoration:underline;font-weight:500;margin-top:auto;transition:color .2s}.project__card a:hover{color:#43e7ad}@media (max-width: 900px){.projects{padding:1.5rem .5rem}.projects__list{grid-template-columns:1fr;gap:1.5rem}}.skills{background:linear-gradient(120deg,#23235b 60% 100%);border-radius:1.5rem;padding:2.5rem 2rem;margin:2rem auto 3rem;width:100%;max-width:1400px;color:#fff;box-shadow:0 4px 32px #0002}.skills h2{font-size:2rem;margin-bottom:1.5rem}.skills__tags{display:flex;flex-wrap:wrap;gap:.7rem;width:100%}.skill__tag{background:#181848;color:#fff;border-radius:.7rem;padding:.5rem 1.1rem;font-size:1rem;font-weight:500;box-shadow:0 2px 8px #0002;transition:background .2s,color .2s}.skill__tag:hover{background:#a259ff;color:#fff}@media (max-width: 900px){.skills{padding:1.5rem .5rem}.skills__tags{gap:.5rem}}.contact{background:#23235b;border-radius:1.5rem;padding:2.5rem 2rem;margin:2rem auto 3rem;width:100%;max-width:1400px;color:#fff;box-shadow:0 4px 32px #0002;text-align:center}.contact h2{font-size:2rem;margin-bottom:1.5rem}.contact__icons{display:flex;justify-content:center;gap:2.5rem;margin-top:1.5rem;flex-wrap:wrap}.contact__icon{font-size:2.2rem;color:#a259ff;background:#181848;border-radius:50%;padding:.7rem;box-shadow:0 2px 8px #0002;transition:background .2s,color .2s,transform .2s;display:flex;align-items:center;justify-content:center}.contact__icon:hover{color:#43e7ad;background:#23235b;transform:scale(1.15) rotate(8deg)}@media (max-width: 900px){.contact{padding:1.5rem .5rem}.contact__icons{gap:1.2rem}}body,.app{background:#0a0a15;min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;margin:0;padding:0;color:#fff;width:100vw;box-sizing:border-box}.app{width:100vw;min-height:100vh}main{display:flex;flex-direction:column;gap:2.5rem;align-items:center;width:100vw;box-sizing:border-box}h1,h2,h3{font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:700}::-webkit-scrollbar{width:8px;background:#181848}::-webkit-scrollbar-thumb{background:#23235b;border-radius:8px}#root{width:100vw;margin:0;padding:0}.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}
