*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial;
}

body{
width:100%;
height:100vh;
overflow:hidden;
background:linear-gradient(135deg,#060816,#0f172a,#1e1b4b);
display:flex;
justify-content:center;
align-items:center;
color:white;
transition:.3s;
}

body.dark-mode{
background:#000;
}

.stars{
position:absolute;
width:100%;
height:100%;
background-image:
radial-gradient(white 1px, transparent 1px);
background-size:40px 40px;
opacity:.3;
}

.container{
width:90%;
max-width:1200px;
height:90vh;
background:rgba(255,255,255,.08);
backdrop-filter:blur(10px);
border-radius:25px;
padding:25px;
position:relative;
overflow:hidden;
}

body.dark-mode .container{
background:#111827;
}

nav{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.logo{
font-size:28px;
}

.menu{
display:flex;
gap:10px;
flex-wrap:wrap;
}

.menu a{
text-decoration:none;
}

.menu button,
.dark{
padding:10px 18px;
border:none;
border-radius:12px;
cursor:pointer;
background:#ffffff18;
color:white;
transition:.3s;
}

.menu button:hover,
.active{
background:#6366f1;
}

.content,
.about-content,
.project-content,
.contact-content{
width:100%;
height:calc(100% - 90px);
display:flex;
justify-content:center;
align-items:center;
gap:40px;
}

.left{
width:50%;
}

.left h1{
font-size:60px;
margin-bottom:20px;
}

.left span{
color:#818cf8;
}

.left p{
line-height:1.8;
margin-bottom:20px;
}

.right{
width:40%;
display:flex;
justify-content:center;
}

/* FOTO HOME */

.profile{
width:300px;
height:300px;
object-fit:cover;
border-radius:50%;
border:5px solid #818cf8;
box-shadow:0 0 30px #6366f1;
}

/* FOTO ABOUT */

.about-img{
width:220px;
height:220px;
object-fit:cover;
border-radius:50%;
border:5px solid #818cf8;
box-shadow:0 0 25px #6366f1;
}

/* SKILLS */

.skills{
display:flex;
gap:15px;
flex-wrap:wrap;
margin-top:20px;
justify-content:center;
}

.skill{
padding:10px 16px;
background:#ffffff15;
border-radius:15px;
font-size:14px;
}

.cards{
display:flex;
gap:20px;
flex-wrap:wrap;
justify-content:center;
}

.card{
width:250px;
padding:25px;
background:#ffffff10;
border-radius:20px;
transition:.3s;
cursor:pointer;
}

.card:hover{
transform:translateY(-5px);
background:#ffffff20;
}

.about-text{
max-width:500px;
}

.about-text h1,
.project-content h1,
.contact-content h1{
margin-bottom:20px;
font-size:45px;
}

.about-text p{
line-height:1.8;
margin-bottom:15px;
}

.dark{
position:absolute;
right:20px;
bottom:20px;
}

/* BIODATA */

.biodata{
margin-bottom:20px;
}

.biodata p{
margin-bottom:10px;
background:#ffffff10;
padding:10px 15px;
border-radius:12px;
backdrop-filter:blur(5px);
}

/* RESPONSIVE HP */

@media(max-width:850px){

.container{
width:95%;
height:95vh;
padding:20px;
overflow:auto;
}

.content,
.about-content,
.project-content,
.contact-content{
flex-direction:column;
text-align:center;
justify-content:flex-start;
padding-top:10px;
gap:20px;
overflow:auto;
}

.left,
.right{
width:100%;
}

.left h1{
font-size:38px;
line-height:1.2;
}

.left p{
font-size:15px;
}

.profile{
width:220px;
height:220px;
}

.about-img{
width:170px;
height:170px;
margin-top:10px;
}

.about-text{
max-width:100%;
}

.about-text h1,
.project-content h1,
.contact-content h1{
font-size:32px;
}

.about-text p{
font-size:14px;
line-height:1.7;
}

.skills{
justify-content:center;
gap:10px;
}

.skill{
font-size:12px;
padding:8px 12px;
}

.cards{
flex-direction:column;
align-items:center;
}

.card{
width:100%;
max-width:300px;
}

nav{
flex-direction:column;
gap:15px;
}

.menu{
justify-content:center;
}

.menu button{
font-size:13px;
padding:8px 14px;
}

.dark{
right:15px;
bottom:15px;
}

}