: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:#222;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{margin:0;min-width:100vw;min-height:100vh;background:#222;color:#fff}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:gold}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}.topbar{width:100vw;min-width:100%;position:fixed;top:0;left:0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#23294a,#181c2f);padding:1rem 3rem 1rem 2rem;color:#fff;box-shadow:0 2px 8px #1e3c721a;z-index:100;box-sizing:border-box}.topbar-logo-btn{font-size:1.5rem;font-weight:700;letter-spacing:2px;color:#fff;text-decoration:none;padding:.5rem 1.2rem;border-radius:20px;transition:background .2s,color .2s;background:transparent;border:none;outline:none;cursor:pointer;display:inline-block}.topbar-logo-btn:hover{background:gold;color:#23294a;box-shadow:0 2px 8px #1e3c7226}.topbar-links{list-style:none;display:flex;gap:1.2rem;margin:0;padding:0}.topbar-links li{display:flex;align-items:center}.topbar-links li a{color:#fff;text-decoration:none;font-size:1rem;font-weight:500;padding:.5rem 1.2rem;border-radius:20px;transition:background .2s,color .2s;background:transparent;border:none;outline:none;cursor:pointer;display:inline-block;white-space:nowrap}.topbar-links li a:hover{background:gold;color:#23294a;box-shadow:0 2px 8px #1e3c7226}.hamburger{display:none}@media (max-width: 700px){.topbar{flex-direction:column;align-items:flex-start;padding:1rem;height:auto}.topbar-logo-btn{font-size:1.2rem;margin-bottom:.5rem}.hamburger{display:block;font-size:2rem;background:#23294a;color:gold;border:2px solid #ffd700;border-radius:8px;padding:.3rem .7rem;margin-bottom:.5rem;cursor:pointer;margin-left:auto}.topbar-links{display:none;flex-direction:column;width:100%;background:#23294a;position:absolute;top:70px;left:0;z-index:10;box-shadow:0 2px 8px #1e3c7226}.topbar-links.open{display:flex}.topbar-links li{width:100%}.topbar-links li a{width:100%;text-align:left;padding:1rem;font-size:1.1rem;border-radius:0;border-bottom:1px solid #333}}@media (max-width: 700px){.topbar{position:relative}.hamburger{display:block;position:absolute;top:1rem;right:1rem;z-index:101;font-size:2rem;background:#23294a;color:gold;border:2px solid #ffd700;border-radius:8px;cursor:pointer}.topbar-links{position:absolute;top:70px;left:0;width:100vw;background:#23294a;display:none;flex-direction:column;z-index:100}.topbar-links.open{display:flex}}.home-page{padding:2rem;color:#eaeaea;min-height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;z-index:1}.animated-bg{background:linear-gradient(120deg,#181c2f,#23294a,#181c2f);animation:gradientMove 8s ease-in-out infinite alternate}.profile-img{width:120px;height:120px;border-radius:50%;margin-bottom:1rem;box-shadow:0 4px 24px #0008;object-fit:cover;border:3px solid #3a3f5c;transition:transform .3s}.profile-img:hover{transform:scale(1.08) rotate(-2deg)}.welcome-text{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;letter-spacing:2px;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.highlight{color:gold;font-weight:600}.tech-logos{display:flex;gap:1.2rem;justify-content:center;margin:2rem 0 1rem;flex-wrap:wrap}.tech-logo{width:48px;height:48px;transition:transform .2s,box-shadow .2s;border-radius:12px;background:#23294a;box-shadow:0 2px 8px #0004}.tech-logo:hover{transform:scale(1.2) rotate(-8deg);filter:drop-shadow(0 0 8px #ffd700);box-shadow:0 4px 24px #ffd70088}.socials{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.social-icon{width:40px;height:40px;transition:transform .2s,box-shadow .2s;border-radius:50%;background:#23294a;box-shadow:0 2px 8px #0004}.social-icon:hover{transform:scale(1.2) rotate(8deg);box-shadow:0 4px 24px #ffd70088;background:#ffd70044}.cv-btn{display:inline-block;margin-top:1rem;padding:.7rem 2rem;background:linear-gradient(90deg,#23294a,#181c2f);color:#eaeaea;border-radius:24px;font-size:1.1rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #0004;transition:background .2s,color .2s,box-shadow .2s}.cv-btn:hover{background:gold;color:#23294a;box-shadow:0 4px 24px #ffd70088}.about-section,.strengths-section,.projects-section{background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;margin:2rem 0;padding:2rem;width:100%;max-width:600px;text-align:left;animation:fadeIn 1.2s ease}.strengths-section ul{list-style:none;padding:0}.strengths-section li{margin-bottom:.5rem;font-weight:500;color:gold}.projects-section .project-list{display:flex;flex-direction:column;gap:1rem}.project-card{background:#23294a;color:#eaeaea;border-radius:12px;padding:1rem;text-decoration:none;box-shadow:0 2px 8px #0004;transition:background .2s,transform .2s}.project-card:hover{background:gold;color:#23294a;transform:scale(1.03)}@media (max-width: 700px){.about-section,.strengths-section,.projects-section{padding:1rem;max-width:98vw}.welcome-text{font-size:1.5rem}}.floating-balls{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0}.ball{position:absolute;border-radius:50%;opacity:.25;filter:blur(8px);animation:floatBall 3s infinite alternate}.ball1{width:120px;height:120px;background:gold;top:10%;left:5%;animation-delay:0s}.ball2{width:180px;height:180px;background:#646cff;top:60%;left:80%;animation-delay:2s}.ball3{width:90px;height:90px;background:#eaeaea;top:80%;left:20%;animation-delay:4s}@keyframes floatBall{0%{transform:translateY(0) scale(1)}to{transform:translateY(-40px) scale(1.2)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tech-logo.active-spin:hover{animation:spin 1.5s linear infinite;filter:drop-shadow(0 0 16px #ffd70088)}@keyframes pulse{0%{box-shadow:0 0 #ffd70088}50%{box-shadow:0 0 24px #ffd700cc}to{box-shadow:0 0 #ffd70088}}.cv-btn{animation:pulse 2s infinite;transition:box-shadow .2s}@keyframes glow{0%{filter:drop-shadow(0 0 0px #646cff)}50%{filter:drop-shadow(0 0 16px #646cff)}to{filter:drop-shadow(0 0 0px #646cff)}}.social-icon{animation:glow 2.5s infinite;transition:filter .2s}.cv-btn-wrapper{position:relative;display:inline-block}.cv-btn.cv-explode{animation:cvFill .3s cubic-bezier(.68,-.55,.27,1.55) forwards,cvPop .4s .3s cubic-bezier(.68,-.55,.27,1.55) forwards;background:linear-gradient(90deg,gold,#646cff);color:#23294a;box-shadow:0 0 48px #ffd700cc,0 0 24px #646cff88;border:2px solid #ffd700}@keyframes cvFill{0%{background:linear-gradient(90deg,#23294a,#181c2f);color:#eaeaea}to{background:linear-gradient(90deg,gold,#646cff);color:#23294a}}@keyframes cvPop{0%{transform:scale(1)}40%{transform:scale(1.25) rotate(-8deg)}60%{transform:scale(.95) rotate(8deg)}80%{transform:scale(1.1)}to{transform:scale(1)}}.cv-confetti{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.cv-confetti-piece{position:absolute;width:14px;height:14px;border-radius:3px;opacity:0;animation:cvConfettiPop .7s .3s forwards}.cv-c1{background:gold;left:0;top:0}.cv-c2{background:#646cff;left:30px;top:10px}.cv-c3{background:#eaeaea;left:20px;top:30px}.cv-c4{background:#ff6f61;left:40px;top:20px}.cv-c5{background:#00c896;left:10px;top:40px}.cv-c6{background:gold;left:25px;top:25px}@keyframes cvConfettiPop{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:translateY(-60px) scale(.8) rotate(360deg)}}.cv-thanks{margin-top:1rem;font-size:1.2rem;color:gold;font-weight:700;background:#23294aee;border-radius:12px;padding:.7rem 1.5rem;box-shadow:0 2px 16px #0006;animation:fadeIn .8s}.about-page{padding:2rem;color:#eaeaea;min-height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;z-index:1;background:linear-gradient(120deg,#181c2f,#23294a,#181c2f);animation:gradientMove 8s ease-in-out infinite alternate}.about-img-glow{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.about-profile-img{width:120px;height:120px;border-radius:50%;box-shadow:0 0 32px #ffd70088,0 4px 24px #0008;border:3px solid #3a3f5c;object-fit:cover;transition:transform .3s,box-shadow .3s}.about-profile-img:hover{transform:scale(1.08) rotate(-2deg);box-shadow:0 0 48px #ffd700cc,0 8px 32px #23294a}.about-title{font-size:2.2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:2px;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlow 2s infinite alternate}.about-emoji{font-size:2rem;vertical-align:middle;animation:emojiBounce 1.2s infinite alternate}@keyframes emojiBounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.about-intro{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.7;animation:fadeIn 1.2s ease}.about-highlight{color:gold;font-weight:600;background:#23294a44;border-radius:6px;padding:0 4px}.about-skills{display:flex;gap:1.2rem;justify-content:center;margin:2rem 0 1rem;flex-wrap:wrap;animation:fadeIn 1.2s ease}.about-skill-card{background:#23294aee;border-radius:12px;box-shadow:0 2px 8px #0004;padding:.7rem 1rem;display:flex;flex-direction:column;align-items:center;transition:transform .2s,box-shadow .2s}.about-skill-card:hover{transform:scale(1.12) rotate(-8deg);box-shadow:0 4px 24px #ffd70088}.about-skill-icon{width:40px;height:40px;margin-bottom:.3rem}.about-highlights{background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;margin:2rem 0;padding:2rem;width:100%;max-width:600px;text-align:left;animation:fadeIn 1.2s ease}.about-highlights h2{color:gold;margin-bottom:1rem}.about-highlight-item{margin-bottom:.7rem;font-weight:500;color:#eaeaea;position:relative;padding-left:1.2rem}.about-highlight-item:before{content:"★";color:gold;position:absolute;left:0;top:0;font-size:1rem;animation:starPulse 1.5s infinite alternate}@keyframes starPulse{0%{opacity:.7}to{opacity:1;transform:scale(1.2)}}.about-divider{display:flex;justify-content:center;gap:.5rem;margin:2rem 0 1rem}.about-divider-dot{width:12px;height:12px;background:gold;border-radius:50%;box-shadow:0 0 8px #ffd70088;animation:dotPulse 1.2s infinite alternate}.about-divider-dot:nth-child(2){animation-delay:.4s}.about-divider-dot:nth-child(3){animation-delay:.8s}@keyframes dotPulse{0%{opacity:.7}to{opacity:1;transform:scale(1.2)}}.about-quote{font-size:1.2rem;font-style:italic;color:gold;margin-top:1rem;animation:fadeIn 1.2s ease}@media (max-width: 700px){.about-highlights{padding:1rem;max-width:98vw}.about-title{font-size:1.3rem}.about-intro{font-size:1rem}}.projects-page{padding:2rem;color:#eaeaea;min-height:100vh;text-align:center;background:linear-gradient(120deg,#181c2f,#23294a,#181c2f);animation:gradientMove 8s ease-in-out infinite alternate}.projects-title{font-size:2.2rem;font-weight:700;margin-bottom:2rem;letter-spacing:2px;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlow 2s infinite alternate}.projects-list{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.project-card{background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;padding:2rem;width:320px;text-align:left;transition:transform .2s,box-shadow .2s;animation:fadeIn 1.2s ease;display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:#eaeaea;position:relative;overflow:hidden}.project-card:hover{transform:scale(1.04) rotate(-2deg);box-shadow:0 4px 24px #ffd70088;background:#23294acc;color:#eaeaea}.project-card-img{width:100%;height:140px;object-fit:cover;border-radius:12px;margin-bottom:1rem;box-shadow:0 2px 8px #0004;transition:transform .2s}.project-card:hover .project-card-img{transform:scale(1.05)}.project-tech{margin:1rem 0;display:flex;gap:.5rem;flex-wrap:wrap}.tech-tag{background:#181c2f;color:gold;border-radius:8px;padding:.3rem .8rem;font-size:.95rem;font-weight:500;margin-right:.3rem;box-shadow:0 2px 8px #0004}.project-detail{padding:2rem;max-width:600px;margin:2rem auto;background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;text-align:left;animation:fadeIn 1.2s ease;position:relative}.project-detail-img{width:100%;height:220px;object-fit:cover;border-radius:14px;margin-bottom:1.5rem;box-shadow:0 2px 16px #0008}.project-detail-title{font-size:2rem;font-weight:700;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.project-detail-desc{font-size:1.1rem;margin-bottom:1.5rem;color:#eaeaea}.project-detail-tech{display:flex;gap:.7rem;margin-bottom:1.5rem}.back-btn{display:inline-block;margin-top:1rem;padding:.7rem 2rem;background:linear-gradient(90deg,#23294a,#181c2f);color:#eaeaea;border-radius:24px;font-size:1.1rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #0004;transition:background .2s,color .2s,box-shadow .2s}.back-btn:hover{background:gold;color:#23294a;box-shadow:0 4px 24px #ffd70088}@media (max-width: 900px){.projects-list{flex-direction:column;align-items:center}.project-card{width:95vw;max-width:400px}.project-detail{padding:1rem;max-width:98vw}}.skills-page{padding:2rem;color:#eaeaea;min-height:100vh;text-align:center;background:linear-gradient(120deg,#181c2f,#23294a,#181c2f);animation:gradientMove 8s ease-in-out infinite alternate}.skills-title{font-size:2.2rem;font-weight:700;margin-bottom:2rem;letter-spacing:2px;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlow 2s infinite alternate}.skills-section{background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;margin:2rem 0;padding:2rem;width:100%;max-width:700px;margin-left:auto;margin-right:auto;text-align:left}.skills-section h2{color:gold;margin-bottom:1rem;font-size:1.3rem}.skills-list{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:flex-start}.skill-card{background:#181c2f;border-radius:12px;box-shadow:0 2px 8px #0004;padding:1rem 1.2rem;display:flex;flex-direction:column;align-items:center;transition:transform .2s,box-shadow .2s;min-width:90px;margin-bottom:1rem}.skill-card:hover{transform:scale(1.12) rotate(-8deg);box-shadow:0 4px 24px #ffd70088;background:#23294a}.skill-icon{width:40px;height:40px;margin-bottom:.5rem}.soft-skills-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1rem}.soft-skills-list li{background:#181c2f;color:gold;border-radius:8px;padding:.5rem 1.2rem;font-weight:500;box-shadow:0 2px 8px #0004;transition:background .2s,color .2s}.soft-skills-list li:hover{background:gold;color:#23294a}.contact-page{padding:2rem;color:#eaeaea;min-height:100vh;text-align:center;background:linear-gradient(120deg,#181c2f,#23294a,#181c2f);animation:gradientMove 8s ease-in-out infinite alternate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}@keyframes gradientMove{0%{background-position:0% 50%}to{background-position:100% 50%}}.fade-in{animation:fadeIn 1.2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.contact-title{font-size:2.2rem;font-weight:700;margin-bottom:1rem;letter-spacing:2px;background:linear-gradient(90deg,gold 10%,#eaeaea 40%,#646cff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlow 2s infinite alternate}@keyframes textGlow{0%{text-shadow:0 0 8px #ffd70044}to{text-shadow:0 0 24px #ffd70088}}.contact-desc{font-size:1.1rem;margin-bottom:2rem;line-height:1.7}.contact-cards{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.contact-card{background:#23294aee;border-radius:14px;box-shadow:0 2px 16px #0006;padding:1rem 2rem;display:flex;flex-direction:column;align-items:center;transition:transform .2s,box-shadow .2s;min-width:120px}.contact-card:hover{transform:scale(1.08) rotate(-4deg);box-shadow:0 4px 24px #ffd70088;background:#23294acc}.contact-icon{width:40px;height:40px;margin-bottom:.5rem;filter:drop-shadow(0 0 8px #ffd70088);transition:filter .2s}.contact-card:hover .contact-icon{filter:drop-shadow(0 0 16px #ffd700cc)}.contact-card a{color:gold;font-weight:600;text-decoration:none;font-size:1.1rem;transition:color .2s}.contact-card a:hover{color:#646cff}.contact-form{background:#23294aee;border-radius:18px;box-shadow:0 2px 16px #0006;padding:2rem;width:100%;max-width:500px;margin:2rem 0;text-align:left;display:flex;flex-direction:column;align-items:center;animation:fadeIn 1.2s ease}.contact-form h2{color:gold;margin-bottom:1rem}.contact-form input,.contact-form textarea{width:90%;margin-bottom:1rem;padding:.7rem;border-radius:8px;border:none;background:#181c2f;color:#eaeaea;font-size:1rem;box-shadow:0 2px 8px #0004;transition:background .2s}.contact-form input:focus,.contact-form textarea:focus{background:#23294a;outline:none}.contact-form button{padding:.7rem 2rem;background:linear-gradient(90deg,#23294a,#181c2f);color:gold;border-radius:24px;font-size:1.1rem;font-weight:600;border:none;box-shadow:0 2px 8px #0004;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.contact-form button:hover{background:gold;color:#23294a;box-shadow:0 4px 24px #ffd70088}.contact-footer{margin-top:2rem;color:#888;font-size:1rem;letter-spacing:1px}@media (max-width: 700px){.contact-cards{gap:1rem}.contact-card{padding:1rem;min-width:90px}.contact-form{padding:1rem;max-width:98vw}.contact-title{font-size:1.3rem}}#root{max-width:1280px;margin:0 auto;padding:0;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}.lux-footer{width:100%;background:linear-gradient(90deg,#23294a,#181c2f);color:gold;padding:1.2rem 0;box-shadow:0 -2px 16px #0006;text-align:center;font-size:1.1rem;position:relative;z-index:10}.footer-content{display:flex;flex-direction:column;align-items:center;gap:.7rem}.footer-links a{color:gold;margin:0 .7rem;text-decoration:none;font-weight:600;transition:color .2s}.footer-links a:hover{color:#646cff}
