:root{--bg-primary:#030712;--bg-secondary:#0a0f1e;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--accent:#64ffda;--accent-hover:#4db6ac;--card-bg:#0f1423;--section-bg:#070c19;--border:#1e283c}[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#eef1f5;--text-primary:#2d3748;--text-secondary:#4a5568;--accent:#0d9488;--accent-hover:#0f766e;--card-bg:#fff;--section-bg:#edf2f7;--border:#cbd5e0}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}html,body{width:100%;position:relative}body{background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}section{padding:5rem 0;scroll-margin-top:80px}.highlight{color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}header{animation:.6s ease-out fadeIn}.hero-subtitle{animation:.8s ease-out .2s both fadeInUp}.hero-title{animation:.8s ease-out .4s both fadeInUp}.hero-role{animation:.8s ease-out .6s both fadeInUp}.hero-description{animation:.8s ease-out .8s both fadeInUp}.hero .btn{animation:.8s ease-out 1s both fadeInUp}.profile-image{animation:1s ease-out .5s both fadeIn}.github-contrib{animation:1s ease-out .7s both fadeIn}header{z-index:1000;background-color:var(--bg-primary);border-bottom:1px solid var(--border);width:100%;padding:1rem 0;transition:all .3s;position:fixed;top:0;left:0}header.hide{transform:translateY(-100%)}nav{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--accent);font-size:1.5rem;font-weight:700}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--text-primary);font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--accent)}.nav-links a:after{content:"";background-color:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-links a:hover:after{width:100%}.nav-buttons{align-items:center;display:flex}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;font-size:1.5rem;display:none}main{padding-top:72px}.hero{flex-direction:column;justify-content:center;min-height:calc(100vh - 72px);padding:5rem 0;display:flex;position:relative}.hero-content{flex-direction:row;align-items:center;gap:2rem;max-width:800px;display:flex}.hero-text{flex:1}.hero-image-container{flex-direction:column;flex:.5;align-items:center;gap:1.5rem;display:flex}.hero-subtitle{color:var(--accent);margin-bottom:1rem;font-size:1.2rem;font-weight:500}.hero-title{margin-bottom:1.5rem;font-size:4rem;font-weight:700;line-height:1.1}.hero-name{color:var(--accent)}.hero-role{color:var(--text-secondary);max-width:600px;margin-bottom:1.5rem;font-size:1.2rem;font-weight:500}.hero-location{color:var(--text-secondary);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:1rem;display:flex}.hero-location i{color:var(--accent);font-size:1rem}@media (width<=992px){.hero-role{margin-left:auto;margin-right:auto}.hero-location{justify-content:center}}@media (width<=576px){.hero-role{font-size:1rem}}.hero-description{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;font-size:1.25rem}.profile-image{object-fit:cover;border:3px solid var(--accent);border-radius:50%;width:200px;height:200px;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0000004d}.profile-image:hover{transform:translateY(-5px);box-shadow:0 15px 35px #64ffda33}.github-contrib{border-radius:8px;max-width:100%;transition:transform .3s;box-shadow:0 5px 15px #0003}.github-contrib:hover{transform:translateY(-3px)}.btn{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background-color:#0000;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn:hover{background-color:#64ffda1a;transform:translateY(-2px)}.btn i{margin-right:.5rem}.btn-secondary{color:var(--text-primary);border:1px solid var(--accent);background-color:#0000;position:relative}.btn-secondary:hover{background-color:rgba(var(--accent-rgb,100, 255, 218, .1))}.theme-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:1rem;padding:.5rem;font-size:1.2rem;transition:background-color .2s,transform .2s;display:flex}.theme-toggle:hover{background-color:#64ffda1a;transform:translateY(-2px)}.section-title{margin-bottom:2.5rem;font-size:2rem;display:inline-block;position:relative}.section-title:after{content:"";background-color:var(--accent);width:60px;height:3px;position:absolute;bottom:-10px;left:0}.next-section{text-align:center;margin-top:3rem}.next-section .btn{align-items:center;gap:.5rem;display:inline-flex}.next-section .btn i{margin-right:0;transition:transform .3s}.next-section .btn:hover i{transform:translateY(3px)}.skills-intro{color:var(--text-secondary);max-width:700px;margin:-1rem 0 2.5rem;font-size:1.05rem;line-height:1.7}.skills-category{margin-bottom:2.5rem}.skills-category:last-child{margin-bottom:0}.skills-category-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:.5rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.skills-category-description{color:var(--text-secondary);max-width:720px;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.skills-container{flex-wrap:wrap;gap:1rem;display:flex}.skill-tag{background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:20px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.skill-tag-primary{border-color:var(--accent);color:var(--accent);padding:.6rem 1.1rem;font-weight:600}.skills-core{margin-bottom:3rem}.skills-more{margin-top:1rem}.skills-more summary{color:var(--accent);cursor:pointer;width:fit-content;font-size:.85rem;font-weight:600;list-style-position:inside}.skills-more summary::marker{color:var(--accent)}.skills-more[open] summary{margin-bottom:1rem}.skill-tag:hover{border-color:var(--border);transform:none}.services{background-color:var(--section-bg);border-top:1px solid var(--border)}.services-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.service-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:2rem;transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-3px)}.service-icon{color:var(--accent);margin-bottom:1rem;font-size:2rem}.service-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.service-description{color:var(--text-primary);margin-bottom:1.25rem;font-size:1rem;line-height:1.6}.service-fit{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}.service-fit strong{color:var(--accent);font-weight:600}.service-proof{color:var(--text-secondary);margin-bottom:1.25rem;padding:0;font-size:.9rem;line-height:1.6;list-style:none}.service-proof li{margin-bottom:.65rem;padding-left:1.25rem;position:relative}.service-proof li:before{color:var(--accent);content:"•";position:absolute;left:0}.service-outcome{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:auto;padding-top:1.25rem;font-size:.9rem;line-height:1.6}.experience-timeline{position:relative}.timeline-item{margin-bottom:3rem;padding-left:2rem;position:relative}.timeline-item:before{content:"";background-color:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:0}.timeline-item:after{content:"";background-color:var(--border);width:2px;height:calc(100% + 1rem);position:absolute;top:24px;left:5px}.timeline-item:last-child:after{display:none}.timeline-earlier:before,.timeline-earlier:after{display:none!important}.timeline-earlier{padding-left:0}.timeline-date{color:var(--accent);margin-bottom:.5rem;font-size:.9rem}.timeline-company{margin-bottom:.25rem;font-size:1.2rem;font-weight:600}.timeline-position{margin-bottom:.5rem;font-size:1rem;font-weight:500}.timeline-description{color:var(--text-secondary);font-size:.95rem}.timeline-earlier-copy{color:var(--text-secondary);font-style:italic}.timeline-description ul{margin-top:.5rem;padding-left:1.5rem;list-style-position:outside}.timeline-description li{margin-bottom:.5rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.project-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px;transition:transform .3s,border-color .3s;overflow:hidden}.project-card:hover{transform:translateY(-5px)}.project-content{padding:1.5rem}.project-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.25rem}.project-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem}.project-tech{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.project-tech span{color:var(--accent);font-size:.8rem}.contact{background-color:var(--section-bg);border-top:1px solid var(--border)}.contact-content{text-align:center;flex-direction:column;align-items:center;display:flex}.contact-title{margin-bottom:1rem;font-size:2.5rem}.contact-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;font-size:1.25rem}.contact-location-note{margin-top:-.5rem;font-size:1rem}.contact-actions{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.social-links{gap:1.5rem;margin-top:2rem;display:flex}.social-link{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.5rem;transition:color .3s,transform .3s;display:flex}.social-link:hover{color:var(--accent);transform:translateY(-3px)}.social-label{font-size:.9rem}.location{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1rem;display:flex}.location i{color:var(--accent);font-size:1.1rem}@media (width<=576px){.location{font-size:.9rem}}footer{background-color:var(--bg-primary);text-align:center;border-top:1px solid var(--border);padding:2rem 0}.footer-text{color:var(--text-secondary);font-size:.9rem}.external-link{color:inherit;align-items:center;padding-right:1.2rem;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.external-link:hover{color:var(--accent)}.external-link i{opacity:.6;margin-left:.3rem;font-size:.8rem;transition:opacity .3s,transform .3s;position:relative}.external-link:hover i{opacity:1;transform:translateY(-1px)}.external-link:after{content:"";background-color:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.external-link:hover:after{width:calc(100% - 1rem)}.tooltip{background-color:var(--accent);color:var(--bg-primary);opacity:0;visibility:hidden;white-space:nowrap;pointer-events:none;border-radius:4px;padding:.5rem;font-size:.8rem;transition:opacity .3s,visibility .3s;position:absolute;bottom:-40px;left:50%;transform:translate(-50%)}.tooltip:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:6px solid var(--accent);position:absolute;top:-5px;left:50%;transform:translate(-50%)}.tooltip.show{opacity:1;visibility:visible}@media (width<=992px){.hero-content{text-align:center;flex-direction:column-reverse;gap:3rem}.profile-image{width:180px;height:180px}.github-contrib{max-width:90%}}@media (width<=768px){.services-grid{grid-template-columns:1fr}header{padding-top:max(.75rem, env(safe-area-inset-top))}.hero-title{font-size:2.5rem}.nav-links{top:max(72px, calc(72px + env(safe-area-inset-top)));background-color:var(--bg-primary);text-align:center;border-top:1px solid var(--border);width:100%;height:calc(100vh - 72px - env(safe-area-inset-top));visibility:hidden;flex-direction:column;gap:2rem;padding:2rem 0;transition:transform .3s;position:fixed;right:0;overflow-y:auto;transform:translate(100%);box-shadow:0 10px 27px #0000000d}.nav-links.active{visibility:visible;transform:translate(0)}header.hide:focus-within{transform:translateY(0)}.mobile-menu-btn{display:block}.project-grid{grid-template-columns:1fr}.container{box-sizing:border-box;width:100%;padding:0 1rem}section{padding:3rem 0}.theme-toggle{min-width:44px;min-height:44px;margin-right:.5rem}}@media (width<=576px){.profile-image{width:150px;height:150px}.github-contrib{max-width:100%}.btn{padding:.75rem 1rem;font-size:.9rem}.contact-actions{flex-direction:column;width:100%}}.chat-widget{z-index:1000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;bottom:20px;right:20px}.chat-button{background-color:var(--accent);width:60px;height:60px;color:var(--bg-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:all .3s;display:flex;box-shadow:0 4px 15px #0003}.chat-button:hover{transform:scale(1.05)}.chat-container{background-color:var(--card-bg);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;width:320px;height:400px;transition:all .3s;display:flex;position:absolute;bottom:80px;right:0;overflow:hidden;transform:translateY(20px);box-shadow:0 5px 25px #0003}.chat-container.active{opacity:1;visibility:visible;transform:translateY(0)}.chat-header{background-color:var(--accent);color:var(--bg-primary);justify-content:space-between;align-items:center;padding:15px;font-weight:600;display:flex}.chat-close{color:var(--bg-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;display:flex}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow-y:auto}.message{border-radius:18px;max-width:80%;padding:10px 15px;font-size:.9rem;line-height:1.4}.message.received{background-color:var(--section-bg);border-bottom-left-radius:5px;align-self:flex-start}.message.sent{background-color:var(--accent);color:var(--bg-primary);border-bottom-right-radius:5px;align-self:flex-end}.chat-input-container{border-top:1px solid var(--border);gap:10px;padding:15px;display:flex}.chat-input{border:1px solid var(--border);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:20px;flex:1;padding:10px 15px;font-size:.9rem}.chat-input:focus{border-color:var(--accent);outline:none}.chat-submit{background-color:var(--accent);width:40px;height:40px;color:var(--bg-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.chat-submit:disabled{background-color:var(--border);cursor:not-allowed}.typing-indicator{background-color:var(--section-bg);border-radius:18px 18px 18px 5px;align-self:flex-start;align-items:center;margin-bottom:5px;padding:8px 15px;display:flex}.typing-indicator span{background-color:var(--text-secondary);opacity:.6;border-radius:50%;width:8px;height:8px;margin:0 1px;display:inline-block}.typing-indicator span:first-child{animation:1s .2s infinite blink}.typing-indicator span:nth-child(2){animation:1s .4s infinite blink}.typing-indicator span:nth-child(3){animation:1s .6s infinite blink}@keyframes blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}@media (width<=576px){.chat-container{width:280px;height:350px;right:0}}.email-display{text-align:center;width:100%;margin-bottom:1rem}.email-address{color:var(--accent);font-size:1.25rem;font-weight:500}.email-buttons{justify-content:center;gap:1rem;width:100%;display:flex}@media (width<=576px){.email-buttons{flex-direction:column}}.dev-feature{display:none!important}
