:root{--primary-color: #0d1a26;--secondary-color: #1d2a38;--accent-color: #00aaff;--accent-hover: #33bbff;--text-color: #e0e0e0;--text-dark: #333333;--border-color: rgba(0, 170, 255, .2);--gradient-accent: linear-gradient(135deg, var(--accent-color), var(--accent-hover));--transition: all .3s ease-in-out;--shadow: 0 8px 24px rgba(0, 0, 0, .2);--shadow-hover: 0 12px 30px rgba(0, 0, 0, .3);--border-radius: 4px}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}html{scroll-behavior:smooth;font-size:16px}body{color:var(--text-color);background-color:var(--primary-color);overflow-x:hidden;line-height:1.6}::selection{background-color:var(--accent-color);color:var(--primary-color)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--primary-color)}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--primary-color);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.loader{width:50px;height:50px;border:4px solid var(--secondary-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cursor{position:fixed;width:20px;height:20px;border:2px solid var(--accent-color);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s,background-color .2s;z-index:9999}header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:#0d1a26cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition);padding:1.25rem 0;border-bottom:1px solid transparent}header.scrolled{box-shadow:0 2px 10px #0003;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.logo{font-size:1.75rem;font-weight:700;color:var(--text-color);text-decoration:none;transition:var(--transition)}.logo:hover{color:var(--accent-color)}.nav-links{display:flex;align-items:center;list-style:none}.nav-link{color:var(--text-color);text-decoration:none;margin:0 1.5rem;font-weight:500;font-size:1.1rem;position:relative;padding:.5rem 0;transition:var(--transition)}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--accent-color);transition:var(--transition)}.nav-link:hover,.nav-link.active{color:var(--accent-color)}.nav-link:hover:after,.nav-link.active:after{width:100%}.hamburger{display:none;cursor:pointer;background:none;border:none;z-index:1001}.hamburger span{display:block;width:25px;height:2px;background-color:var(--text-color);margin:5px 0;transition:var(--transition)}.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:0 2rem;overflow:hidden}#circuit-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.2}.hero-content{max-width:1200px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:4rem;z-index:1}.hero-text{max-width:650px}.hero-text h1{font-size:3rem;font-weight:700;margin-bottom:.25rem;line-height:1.2;opacity:0;animation:fadeIn 1s .5s forwards}.hero-text h2{font-size:2.5rem;font-weight:600;margin-bottom:1rem;opacity:0;animation:fadeIn 1s .7s forwards}.typed-text-container{font-size:1.5rem;margin-bottom:1.5rem;min-height:2.5rem;color:var(--accent-color);opacity:0;animation:fadeIn 1s .9s forwards}.hero-text p{font-size:1.1rem;margin-bottom:2rem;max-width:500px;opacity:0;animation:fadeIn 1s 1.1s forwards}.highlight{color:var(--accent-color)}.btn{padding:.8rem 1.8rem;border-radius:var(--border-radius);font-weight:600;text-decoration:none;transition:var(--transition);display:inline-block;border:2px solid transparent}.primary-btn{background:var(--accent-color);color:var(--primary-color)}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-3px);box-shadow:0 5px 15px #0af3}.secondary-btn{background:transparent;color:var(--text-color);border:2px solid var(--accent-color)}.secondary-btn:hover{background-color:var(--accent-color);color:var(--primary-color);transform:translateY(-3px)}.hero-btns{display:flex;gap:1rem;opacity:0;animation:fadeIn 1s 1.3s forwards}.hero-image{position:relative;opacity:0;animation:fadeIn 1s 1.5s forwards}.profile-image{width:320px;height:320px;object-fit:cover;border-radius:50%;position:relative;z-index:2;border:4px solid var(--accent-color)}.image-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:340px;height:340px;border:2px solid var(--border-color);border-radius:50%;z-index:1;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.5}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);opacity:0;animation:fadeIn 1s 2s forwards;text-decoration:none}.mouse-scroll{width:25px;height:40px;border:2px solid var(--text-color);border-radius:20px;position:relative}.mouse-scroll:before{content:"";width:4px;height:8px;background-color:var(--text-color);border-radius:2px;position:absolute;left:50%;top:8px;transform:translate(-50%);animation:scroll-anim 2s infinite}@keyframes scroll-anim{0%{transform:translate(-50%);opacity:1}50%{transform:translate(-50%,10px);opacity:.5}to{transform:translate(-50%);opacity:1}}section{padding:6rem 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.8rem;font-weight:700;margin-bottom:1rem;position:relative;display:inline-block}.section-line{width:80px;height:4px;background:var(--gradient-accent);margin:0 auto;border-radius:2px}.about{background-color:var(--secondary-color)}.about-content{max-width:850px;margin:0 auto;text-align:center}.about-text p{margin-bottom:1.5rem;font-size:1.1rem}.about-text a{color:var(--accent-color);text-decoration:none;position:relative;font-weight:500;transition:var(--transition)}.about-text a:hover{color:var(--accent-hover)}.skills{background-color:var(--primary-color)}.skills-content{max-width:1200px;margin:0 auto}.skills-description{text-align:center;margin-bottom:3rem;font-size:1.1rem}.skills-categories{display:flex;flex-direction:column;gap:3rem}.skills-category{background-color:var(--secondary-color);border-radius:var(--border-radius);padding:2.5rem;border:1px solid var(--border-color)}.skills-category h3{font-size:1.5rem;margin-bottom:2rem;color:var(--accent-color);text-align:center}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.5rem}.skill-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;background-color:var(--primary-color);border-radius:var(--border-radius);transition:var(--transition);border:1px solid transparent}.skill-item:hover{transform:translateY(-5px);border-color:var(--border-color);box-shadow:0 4px 10px #00aaff1a}.skill-item img{width:45px;height:45px;object-fit:contain;margin-bottom:.75rem}.skill-item span{font-weight:500}.projects-content{max-width:1200px;margin:0 auto}.project-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.75rem 2rem;background-color:var(--primary-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:Poppins,sans-serif}.filter-btn:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #0af3}.filter-btn.active{background-color:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color)}.project-category{margin-bottom:4rem;opacity:1;max-height:10000px;overflow:hidden;transition:opacity .5s ease,max-height .5s ease,margin .5s ease}.project-category.hidden{opacity:0;max-height:0;margin-bottom:0;pointer-events:none}.project-category:last-child{margin-bottom:0}.category-title{font-size:2rem;font-weight:600;color:var(--accent-color);text-align:center;margin-bottom:2.5rem;position:relative}.category-title:after{content:"";display:block;width:60px;height:3px;background:var(--gradient-accent);margin:.75rem auto 0;border-radius:2px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.projects{background-color:var(--secondary-color)}.projects-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{background-color:var(--primary-color);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition);border:1px solid var(--border-color);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--accent-color)}.project-img{width:100%;height:200px;overflow:hidden;border-bottom:1px solid var(--border-color)}.project-img img{width:100%;height:100%;object-fit:cover;transition:var(--transition);cursor:pointer}.project-img img:hover{opacity:.9}.project-card:hover .project-img img{transform:scale(1.05)}.project-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.project-content h3{font-size:1.4rem;margin-bottom:.8rem;color:var(--accent-color)}.project-content p{font-size:.95rem;margin-bottom:1.2rem;opacity:.9;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-tech span{background-color:var(--secondary-color);color:var(--text-color);font-size:.8rem;padding:.3rem .8rem;border-radius:20px;border:1px solid var(--border-color)}.project-links{display:flex;align-items:center;gap:1rem;margin-top:auto}.contact{background-color:var(--primary-color)}.contact-content{max-width:1200px;margin:0 auto}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.contact-card{background-color:var(--secondary-color);padding:2.5rem;border-radius:var(--border-radius);text-align:center;border:1px solid var(--border-color);transition:var(--transition)}.contact-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--accent-color)}.contact-card i{font-size:2.5rem;color:var(--accent-color);margin-bottom:1rem}.contact-card h3{font-size:1.3rem;margin-bottom:1rem}.contact-card a{color:var(--text-color);text-decoration:none;transition:var(--transition);word-break:break-all}.contact-card a:hover{color:var(--accent-color)}footer{background-color:var(--secondary-color);padding:3rem 2rem 1.5rem;border-top:1px solid var(--border-color)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.footer-logo{font-size:1.8rem;font-weight:700;color:var(--text-color)}.social-icons{display:flex;gap:1rem}.social-icon{width:40px;height:40px;border-radius:50%;background-color:var(--primary-color);display:flex;justify-content:center;align-items:center;color:var(--text-color);font-size:1.2rem;transition:var(--transition);text-decoration:none;border:1px solid var(--border-color)}.social-icon:hover{background-color:var(--accent-color);color:var(--primary-color);transform:translateY(-5px)}.footer-bottom{border-top:1px solid var(--border-color);padding-top:1.5rem;text-align:center}.footer-bottom p{opacity:.7;font-size:.9rem}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:45px;height:45px;background:var(--accent-color);border-radius:var(--border-radius);display:flex;justify-content:center;align-items:center;color:var(--primary-color);cursor:pointer;z-index:99;opacity:0;visibility:hidden;transition:var(--transition);border:none}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-5px);box-shadow:0 4px 10px #00aaff4d;background:var(--accent-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:1;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in.is-visible{opacity:1;transform:translateY(0)}.image-modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:#000000f2;align-items:center;justify-content:center;animation:fadeIn .3s ease}.modal-content{max-width:90%;max-height:90%;object-fit:contain;border-radius:var(--border-radius);box-shadow:0 0 30px #00aaff4d;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.modal-close{position:absolute;top:2rem;right:2.5rem;color:var(--text-color);font-size:3rem;font-weight:300;cursor:pointer;transition:var(--transition);z-index:10001;line-height:1}.modal-close:hover{color:var(--accent-color);transform:rotate(90deg)}@media screen and (max-width: 1024px){.hero-content{flex-direction:column-reverse;text-align:center;gap:3rem}.hero-text p{margin-left:auto;margin-right:auto}.hero-btns{justify-content:center}.footer-content{flex-direction:column;text-align:center}}@media screen and (max-width: 768px){html{font-size:14px}.cursor{display:none}.nav-links{position:fixed;top:0;right:-100%;width:min(70vw,300px);height:100vh;flex-direction:column;justify-content:center;background-color:var(--secondary-color);padding:4rem 2rem;gap:2rem;transition:right .4s ease-in-out;box-shadow:-5px 0 15px #0003}.nav-links.active{right:0}.nav-link{margin:0;font-size:1.5rem}.hamburger{display:block}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-text h1{font-size:2.5rem}.hero-text h2{font-size:2rem}.contact-info{grid-template-columns:1fr}}@media screen and (max-width: 480px){section{padding:4rem 1.5rem}.section-header h2,.hero-text h1{font-size:2.2rem}.hero-text h2{font-size:1.8rem}.typed-text-container{font-size:1.2rem}.profile-image{width:250px;height:250px}.image-outline{width:270px;height:270px}.projects-grid{grid-template-columns:1fr}.skill-item{min-width:100px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.modal-close{top:1rem;right:1rem;font-size:2.5rem}}
