:root{

--bg:#0f172a;
--card:#1e293b;
--text:#ffffff;
--heading:#ffffff;

--primary:#38bdf8;

--border:rgba(255,255,255,.1);

}

.light-mode{

--bg:#f8fafc;

--card:#ffffff;

--text:#111827;

--heading:#0f172a;

--primary:#0284c7;

--border:#d1d5db;

}


body{
background:var(--bg);
color:var(--text);
}

.navbar,
.project-card,
.timeline-item,
.contact-form input,
.contact-form textarea{
background:var(--card);
color:var(--text);
}





html{
    scroll-behavior:smooth;
}



*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:#0f172a;
color:var(--text);
overflow-x:hidden;
}

#loader{
position:fixed;
width:100%;
height:100vh;
background:#0f172a;
display:flex;
justify-content:center;
align-items:center;
z-index:9999;
}

.spinner{
width:60px;
height:60px;
border:5px solid #334155;
border-top:5px solid #38bdf8;
border-radius:50%;
animation:spin 1s linear infinite;
}

@keyframes spin{
100%{
transform:rotate(360deg);
}
}

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
padding:20px 8%;
display:flex;
justify-content:space-between;
align-items:center;
background:rgba(15,23,42,.8);
backdrop-filter:blur(12px);
z-index:1000;
}

.logo{
font-size:24px;
font-weight:700;
color:#38bdf8;
}

.nav-links{
display:flex;
list-style:none;
gap:30px;
}

.nav-links a{
text-decoration:none;
color:var(--text);
font-weight:500;
transition:.3s;
}

.nav-links a:hover{
color:#38bdf8;
}

.hero{
min-height:100vh;
display:flex;
align-items:center;
justify-content:space-between;
padding:120px 8%;
gap:50px;
}

.hero-left{
flex:1;
}

.hero-left h1{
font-size:60px;
margin-bottom:15px;
}

.hero-left span{
color:#38bdf8;
}

.hero-left h2{
height:40px;
color:#818cf8;
margin-bottom:20px;
}

.hero-left p{
font-size:18px;
line-height:1.8;
margin-bottom:25px;
}

.buttons{
display:flex;
gap:15px;
flex-wrap:wrap;
}

.btn{
padding:12px 28px;
border-radius:30px;
text-decoration:none;
background:#38bdf8;
color:white;
font-weight:600;
transition:.3s;
}

.btn:hover{
transform:translateY(-3px);
}

.btn2{
background:#7c3aed;
}

.hero-right{
flex:1;
display:flex;
justify-content:center;
}

.hero-right img{
width:380px;
height:380px;
object-fit:cover;
border-radius:50%;
border:5px solid #38bdf8;
box-shadow:0 0 40px rgba(56,189,248,.4);
}

.section{
padding:100px 8%;
text-align:center;
}

.section h2{
font-size:42px;
margin-bottom:30px;
color:#38bdf8;
}

.section p{
max-width:900px;
margin:auto;
line-height:1.8;
}

.skills-grid{
margin-top:40px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:25px;
}

.skill-card{
padding:25px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.1);
backdrop-filter:blur(10px);
border-radius:20px;
transition:.4s;
}

.skill-card:hover{
transform:translateY(-10px);
box-shadow:0 0 25px rgba(56,189,248,.3);
}

.project-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
margin-top:40px;
}

.project-card{
padding:25px;
background:rgba(255,255,255,.05);
border-radius:20px;
transition:.4s;
}

.project-card:hover{
transform:translateY(-10px);
box-shadow:0 0 25px rgba(56,189,248,.3);
}

.project-card h3{
margin-bottom:10px;
color:#38bdf8;
}

.social{
margin-top:25px;
display:flex;
justify-content:center;
gap:25px;
}

.social a{
font-size:32px;
color:var(--text);
transition:.3s;
}

.social a:hover{
color:#38bdf8;
transform:scale(1.2);
}

footer{
padding:25px;
text-align:center;
background:#111827;
}

.reveal{
opacity:0;
transform:translateY(50px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

@media(max-width:900px){

.hero{
flex-direction:column-reverse;
text-align:center;
}

.hero-left h1{
font-size:42px;
}

.hero-right img{
width:280px;
height:280px;
}

.nav-links{
display:none;
}

.buttons{
justify-content:center;
}
}

.timeline{
max-width:800px;
margin:auto;
}

.timeline-item{
background:rgba(255,255,255,.05);
padding:25px;
margin:20px 0;
border-left:4px solid #38bdf8;
border-radius:10px;
}

.contact-form{
max-width:600px;
margin:30px auto;
display:flex;
flex-direction:column;
gap:15px;
}

.contact-form input,
.contact-form textarea{
padding:15px;
border:none;
border-radius:10px;
outline:none;
background:#1e293b;
color:white;
}

.contact-form textarea{
height:150px;
resize:none;
}

.contact-form button{
padding:15px;
border:none;
background:#38bdf8;
color:white;
font-weight:bold;
border-radius:10px;
cursor:pointer;
}

#topBtn{
position:fixed;
bottom:20px;
right:20px;
background:#38bdf8;
color:white;
border:none;
width:50px;
height:50px;
border-radius:50%;
cursor:pointer;
display:none;
font-size:22px;
}

.whatsapp{
position:fixed;
left:20px;
bottom:20px;
width:60px;
height:60px;
background:#25d366;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:30px;
text-decoration:none;
color:white;
}


#themeToggle{
padding:10px 15px;
border:none;
border-radius:10px;
cursor:pointer;
background:#38bdf8;
color:white;
}

.light-mode{
background:#f8fafc;
color:#111827;
}

.light-mode .navbar{
background:rgba(255,255,255,.8);
}

.light-mode .skill-card,
.light-mode .project-card,
.light-mode .timeline-item{
background:#ffffff;
color:#111827;
}

.skill-progress{
max-width:700px;
margin:auto;
text-align:left;
}

.bar{
height:12px;
background:#334155;
border-radius:20px;
margin-bottom:20px;
overflow:hidden;
}

.bar span{
display:block;
height:100%;
background:#38bdf8;
border-radius:20px;
animation:grow 2s ease;
}

@keyframes grow{
from{
width:0;
}
}


.floating-social{
position:fixed;
right:20px;
top:50%;
transform:translateY(-50%);
display:flex;
flex-direction:column;
gap:15px;
}

.floating-social a{
font-size:28px;
color:var(--text);
}


.floating-social a{
width:50px;
height:50px;
display:flex;
align-items:center;
justify-content:center;
background:#38bdf8;
border-radius:50%;
transition:.3s;
}

.floating-social a:hover{
transform:scale(1.1);
background:#0ea5e9;
}


#progress-bar{
position:fixed;
top:0;
left:0;
height:4px;
width:0%;
background:linear-gradient(90deg,#38bdf8,#8b5cf6,#ec4899);
z-index:999999;
}

.menu-btn{

display:none;

font-size:30px;

cursor:pointer;

}

@media(max-width:900px){

.menu-btn{

display:block;

}

.nav-links{

display:none;

position:absolute;

top:80px;

right:20px;

background:#1e293b;

padding:20px;

border-radius:15px;

flex-direction:column;

}

.nav-links.active{

display:flex;

}

}



#topBtn{

position:fixed;

right:20px;

bottom:20px;

padding:15px;

border:none;

border-radius:50%;

display:none;

cursor:pointer;

background:#38bdf8;

color:#fff;

}




.about-container{

display:flex;

align-items:center;

justify-content:center;

gap:50px;

flex-wrap:wrap;

margin-top:50px;

}

.about-img img{

width:300px;

border-radius:20px;

box-shadow:0 0 30px #38bdf8;

transition:.5s;

}

.about-img img:hover{

transform:scale(1.05);

}

.about-content{

max-width:600px;

}

.about-info{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:15px;

margin-top:25px;

}

.about-info div{

background:rgba(255,255,255,.05);

padding:15px;

border-radius:10px;

backdrop-filter:blur(10px);

}



.timeline{

max-width:700px;

margin:auto;

border-left:3px solid #38bdf8;

padding-left:30px;

}

.timeline-item{

margin-bottom:40px;

position:relative;

}

.timeline-item::before{

content:"";

position:absolute;

left:-40px;

top:5px;

width:18px;

height:18px;

background:#38bdf8;

border-radius:50%;

}





.skill{

margin-bottom:30px;

}

.skill p{

display:flex;

justify-content:space-between;

margin-bottom:10px;

}

.progress{

height:12px;

background:#334155;

border-radius:20px;

overflow:hidden;

}

.progress-bar{

height:100%;

background:linear-gradient(90deg,#38bdf8,#8b5cf6);

animation:grow 2s;

}

.html{width:95%;}

.css{width:90%;}

.js{width:85%;}

.java{width:80%;}

.python{width:75%;}

@keyframes grow{

from{

width:0;

}

}





.skill-card,
.timeline-item{

background:rgba(255,255,255,.05);

backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.1);

border-radius:20px;

padding:25px;

transition:.4s;

}


.timeline-item:hover{

transform:translateY(-8px);

box-shadow:0 0 30px rgba(56,189,248,.5);

}




@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}

.hero-right img{

animation:float 4s ease-in-out infinite;

}




.section-title{

font-size:42px;

text-align:center;

margin-bottom:50px;

position:relative;

}

.section-title::after{

content:"";

width:80px;

height:4px;

background:#38bdf8;

display:block;

margin:15px auto;

border-radius:10px;

}





@media(max-width:768px){

.about-container{

flex-direction:column;

}

.about-info{

grid-template-columns:1fr;

}

.hero{

flex-direction:column;

text-align:center;

}

}





.filter-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

margin-bottom:30px;

}

.filter-btn{

padding:10px 20px;

border:none;

border-radius:30px;

cursor:pointer;

background:#334155;

color:white;

transition:.3s;

}

.filter-btn.active,
.filter-btn:hover{

background:#38bdf8;

}

#projectSearch{

display:block;

margin:auto;

padding:12px;

width:350px;

max-width:90%;

border:none;

border-radius:10px;

margin-bottom:40px;

}

.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}



.project-card img{

width:100%;

height:220px;

object-fit:cover;

border-radius:15px;

transition:.5s;

}



.tags{

display:flex;

gap:10px;

flex-wrap:wrap;

margin:15px 0;

}

.tags span{

background:#38bdf8;

padding:5px 12px;

border-radius:20px;

font-size:12px;

}

.project-buttons{

display:flex;

gap:10px;

margin-top:15px;

}












#imgModal{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.9);

justify-content:center;

align-items:center;

z-index:9999;

}

#modalImg{

max-width:90%;

max-height:90%;

}



.project-card{

animation:fadeUp .8s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}




.certificate-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.certificate-card{

background:rgba(255,255,255,.05);

padding:20px;

border-radius:20px;

backdrop-filter:blur(15px);

transition:.4s;

text-align:center;

}

.certificate-card img{

width:100%;

height:220px;

object-fit:cover;

border-radius:15px;

cursor:pointer;

transition:.5s;

}

.certificate-card:hover{

transform:translateY(-8px);

box-shadow:0 0 25px #38bdf8;

}

.certificate-card:hover img{

transform:scale(1.05);

}




#certificateModal{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.9);

justify-content:center;

align-items:center;

z-index:9999;

}

#certificateImg{

max-width:90%;

max-height:90%;

border-radius:15px;

}





.github-img{

max-width:100%;

display:block;

margin:auto;

border-radius:20px;

box-shadow:0 0 25px rgba(56,189,248,.5);

}






.testimonial{

display:none;

text-align:center;

padding:30px;

}

.testimonial.active{

display:block;

animation:fade .8s;

}

@keyframes fade{

from{

opacity:0;

}

to{

opacity:1;

}

}




details{

margin:15px 0;

padding:15px;

background:rgba(255,255,255,.05);

border-radius:10px;

cursor:pointer;

}





#toast{

position:fixed;

bottom:30px;

right:30px;

background:#38bdf8;

padding:15px 30px;

border-radius:10px;

display:none;

z-index:9999;

}


.whatsapp{

position:fixed;

left:20px;

bottom:20px;

width:60px;

height:60px;

border-radius:50%;

background:#25D366;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

text-decoration:none;

color:var(--text);

z-index:999;

animation:pulse 2s infinite;

}

@keyframes pulse{

50%{

transform:scale(1.1);

}

}



#particles-js{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:-1;
}



.cursor{

width:20px;

height:20px;

border:2px solid #38bdf8;

border-radius:50%;

position:fixed;

pointer-events:none;

transform:translate(-50%,-50%);

z-index:99999;

transition:.08s;

}



.floating-social{

position:fixed;

right:20px;

top:50%;

transform:translateY(-50%);

display:flex;

flex-direction:column;

gap:15px;

z-index:999;

}

.floating-social a{

width:55px;

height:55px;

border-radius:50%;

background:#38bdf8;

display:flex;

justify-content:center;

align-items:center;

font-size:25px;

text-decoration:none;

color:var(--text);

transition:.3s;

}

.floating-social a:hover{

transform:scale(1.1);

background:#8b5cf6;

}








.quick-contact{

position:fixed;

left:20px;

top:50%;

display:flex;

flex-direction:column;

gap:15px;

z-index:999;

}

.quick-contact a{

width:55px;

height:55px;

background:#06b6d4;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

font-size:25px;

color:var(--text);

text-decoration:none;

}





#messages{

height:250px;

overflow-y:auto;

margin-bottom:10px;

}





.hero{
min-height:100vh;
display:flex;
align-items:center;
justify-content:space-between;
gap:50px;
padding:100px 10%;
}

.hero-left{
flex:1;
}

.hero-right{
flex:1;
display:flex;
justify-content:center;
}

.hero-right img{
width:350px;
height:350px;
object-fit:cover;
border-radius:50%;
border:5px solid #38bdf8;
box-shadow:
0 0 20px #38bdf8,
0 0 50px #38bdf8;
}

.hero h1{
font-size:55px;
margin:20px 0;
}

.hero h1 span{
color:#38bdf8;
}

.hero h2{
color:#38bdf8;
margin-bottom:20px;
}

.hero-buttons{
display:flex;
gap:15px;
margin-top:20px;
flex-wrap:wrap;
}

@media(max-width:768px){

.hero{
flex-direction:column;
text-align:center;
}

.hero-right img{
width:250px;
height:250px;
}

}






.project-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));
gap:25px;
margin-top:40px;
}

.project-card{

background:
rgba(255,255,255,.05);

padding:25px;

border-radius:20px;

backdrop-filter:blur(15px);

transition:.4s;

}

.project-card:hover{

transform:translateY(-10px);

box-shadow:
0 0 20px rgba(56,189,248,.5);

}

.project-card img{

width:100%;

height:200px;

object-fit:cover;

border-radius:15px;

margin-bottom:15px;

}








.skills-container{
max-width:800px;
margin:auto;
}

.skill{
margin:25px 0;
}

.skill p{
display:flex;
justify-content:space-between;
margin-bottom:8px;
}

.bar{
width:100%;
height:12px;
background:#1e293b;
border-radius:20px;
overflow:hidden;
}

.progress{
height:100%;
background:#38bdf8;
width:0;
transition:2s;
}

.html{width:95%;}
.css{width:90%;}
.js{width:85%;}
.java{width:80%;}
.python{width:75%;}
.github{width:90%;}








.contact-form{

max-width:700px;

margin:auto;

display:flex;

flex-direction:column;

gap:15px;

}

.contact-form input,
.contact-form textarea{

padding:15px;

border:none;

border-radius:10px;

background:var(--card);

color:var(--text);

}

.contact-form button{

cursor:pointer;

}







#topBtn{

position:fixed;

right:20px;
bottom:20px;

width:55px;
height:55px;

border:none;

border-radius:50%;

background:#38bdf8;

color:var(--text);

font-size:22px;

display:none;

cursor:pointer;

z-index:9999;

box-shadow:
0 0 20px rgba(56,189,248,.5);

}







#progress-bar{

position:fixed;

top:0;
left:0;

height:5px;

width:0;

background:
linear-gradient(
90deg,
#38bdf8,
#8b5cf6
);

z-index:99999;

}



.menu-btn{

display:none;

font-size:30px;

cursor:pointer;

color:var(--text);

}





.btn{

display:inline-flex;
align-items:center;
justify-content:center;

padding:12px 24px;

background:var(--primary);

color:#fff;

border:none;

border-radius:12px;

font-weight:600;

transition:.3s;

}

.btn:hover{

transform:translateY(-3px);

}



.visitor-counter img{

max-width:220px;

margin:auto;

display:block;

}


body{

background:var(--bg);

color:var(--text);

transition:.4s;

}


h1,
h2,
h3,
h4,
h5,
h6{

color:var(--heading);

}



.project-card,
.certificate-card,
.timeline-item,
.stat-card,
.service-card,
.goal-card{

background:var(--card);

color:var(--text);

border:1px solid var(--border);

}


.navbar{

background:var(--card);

}

.navbar a{

color:var(--text);

}






.btn{

background:var(--primary);

color:white;

}




.whatsapp-btn{

position:fixed;

left:20px;
bottom:20px;

width:60px;
height:60px;

background:#25D366;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

z-index:9999;

}



.section img{
display:block;
margin:auto;
max-width:250px;
}



@media(max-width:768px){

.hero{
flex-direction:column;
text-align:center;
}

.hero-right img{
width:250px;
height:250px;
}

.about-container{
flex-direction:column;
}

.project-grid{
grid-template-columns:1fr;
}

.navbar{
padding:15px;
}

}






.footer p{

color:var(--text);

margin:10px 0;

}

.footer-links,
.footer-social{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

margin:20px 0;

}

.footer-links a,
.footer-social a{

color:var(--text);

font-weight:600;

padding:8px 12px;

border-radius:8px;

transition:.3s;

}

.footer-links a:hover,
.footer-social a:hover{

background:var(--primary);

color:white;

}

@media(max-width:768px){

.footer-links,
.footer-social{

flex-direction:column;
gap:12px;

}

}



.footer{
background:var(--card);
color:var(--text);
padding:60px 20px;
border-top:1px solid var(--border);
}

.footer a{
color:var(--text);
}

.footer h2{
color:var(--heading);
}




@media(max-width:768px){

.menu-btn{
display:block;
}

.nav-links{
display:none;
flex-direction:column;
position:absolute;
top:70px;
right:20px;
background:var(--card);
padding:20px;
border-radius:10px;
}

.nav-links.active{
display:flex;
}

}






#certificateModal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
justify-content:center;
align-items:center;
z-index:9999;
}

#certificateImg{
max-width:90%;
max-height:90%;
}

#closeCertificate{
position:absolute;
top:20px;
right:30px;
font-size:40px;
color:white;
cursor:pointer;
}






#resumeModal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
justify-content:center;
align-items:center;
z-index:9999;
}

.resume-box{
width:90%;
height:90%;
background:white;
}

.resume-box iframe{
width:100%;
height:90%;
border:none;
}





.whatsapp-btn{
position:fixed;
left:20px;
bottom:20px;

width:60px;
height:60px;

background:#25D366;
color:white;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:35px;

box-shadow:0 5px 15px rgba(0,0,0,.3);

z-index:9999;
}

.whatsapp-btn:hover{
transform:scale(1.1);
}




#clock{
font-size:2rem;
font-weight:700;
margin:20px 0;
color:var(--text);
}




#typing {
    color: #38bdf8;
    font-size: 1.8rem;
    font-weight: 600;
    min-height: 50px;
    white-space: nowrap;
    overflow: hidden;
}

#typing::after {
    content: "|";
    animation: blink 0.7s infinite;
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}





