:root{
  --bg:#0f1115;
  --text:#eaeaea;
  --card:#1a1d23;
  --accent:#00d4ff;
}

[data-theme="light"]{
  --bg:#f7f7f7;
  --text:#111;
  --card:#ffffff;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:system-ui,sans-serif;
}

body{
  background:var(--bg);
  color:var(--text);
  transition:.3s;
}

section{
  padding:80px 20px;
  max-width:1000px;
  margin:auto;
}

.topbar{
  display:flex;
  justify-content:space-between;
  padding:20px;
}

.controls button{
  background:none;
  border:none;
  color:var(--text);
  cursor:pointer;
}

.hero{
  text-align:center;
  padding-top:120px;
}

.avatar{
  width:180px;
  border-radius:50%;
  box-shadow:0 20px 40px rgba(0,0,0,.4);
  margin-bottom:20px;
}

.hero-buttons{
  margin-top:25px;
}

.btn-primary{
  background:var(--accent);
  color:#000;
  padding:12px 24px;
  border-radius:30px;
  text-decoration:none;
  font-weight:600;
  transition:.3s;
}

.btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(0,212,255,.4);
}

.timeline{
  position:relative;
  margin-top:40px;
  padding-left:30px;
}

.timeline::before{
  content:"";
  position:absolute;
  left:12px;
  top:0;
  width:2px;
  height:100%;
  background:var(--accent);
}

.timeline-item{
  position:relative;
  margin-bottom:40px;
}

.timeline-item::before{
  content:"";
  position:absolute;
  left:-18px;
  top:5px;
  width:14px;
  height:14px;
  background:var(--accent);
  border-radius:50%;
}

.timeline-content{
  background:var(--card);
  padding:20px;
  border-radius:16px;
  transition:.3s;
}

.timeline-content:hover{
  transform:translateX(6px);
}

.skills-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:15px;
}

.skills-grid div{
  background:var(--card);
  padding:12px;
  border-radius:12px;
  text-align:center;
}

.scroll-cta{
  display:inline-block;
  margin-top:40px;
  font-size:2rem;
  color:var(--accent);
}

footer{
  text-align:center;
  padding:40px;
  opacity:.6;
}

.cert-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:30px;
}

.cert-item{
background:#111;
border:1px solid #333;
border-radius:12px;
padding:20px;
text-align:center;
transition:0.3s;
}

.cert-item:hover{
transform:translateY(-5px);
border-color:#4da6ff;
}

.cert-badge{
width:80px;
margin-bottom:10px;
}

.cert-item a{
display:inline-block;
margin-top:10px;
color:#4da6ff;
text-decoration:none;
font-size:14px;
}