:root{
  --bg-top:#0b0f1c;
  --bg-mid:#131c3d;
  --bg-bottom:#381d5a;

  --card:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.12);

  --text:#ffffff;
  --muted:#c7c9d8;

  --accent:#8b4bff; /* violet highlight */

  --radius:14px;
  --container:1100px;
  --mono:"JetBrains Mono","Courier New",monospace;
}

body{
  margin:0;
  background:linear-gradient(to bottom,var(--bg-top),var(--bg-mid),var(--bg-bottom));
  color:var(--text);
  font-family:system-ui,Segoe UI,Roboto;
  line-height:1.5;
}
.container{max-width:var(--container);margin:auto;padding:1.25rem}

/* Header */
.site-header{
  backdrop-filter:blur(6px);
  background:rgba(0,0,0,0.35);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:0.75rem;text-decoration:none;color:var(--text)}
.avatar{
  width:54px;height:54px;border-radius:var(--radius);
  background:linear-gradient(135deg,#3b2c8f,#9d4bff);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1.2rem;
}
.brand-text h1{margin:0;font-size:1rem}
.brand-text p{margin:0;font-size:0.8rem;color:var(--muted)}

#nav-toggle{display:none;background:transparent;color:var(--muted);border:1px solid var(--border);padding:0.4rem 0.6rem;border-radius:8px}
.nav-list{list-style:none;padding:0;margin:0;display:flex;gap:1rem}
.nav-list a{color:var(--muted);text-decoration:none}
.nav-list a:hover{color:var(--accent)}

/* Hero */
.hero{padding:3rem 0}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:2rem;
  align-items:start;
}
.hero h2{margin-top:0;font-size:1.8rem}
.hero p{color:var(--muted);font-size:1rem}

.hero-meta{
  background:var(--card);
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
}
.meta-box{
  margin-top:1rem;
  padding:0.75rem;
  background:rgba(255,255,255,0.06);
  border-radius:10px;
  font-size:0.9rem;
}

/* Sections */
.section{padding:2.5rem 0}
.alt-bg{background:rgba(255,255,255,0.03)}
h2{margin-top:0;font-size:1.6rem}
.lead{color:var(--muted)}

/* Skills grid */
.skills-grid{
  list-style:none;
  display:grid;
  gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding:0;margin:0;
}
.skills-grid li{
  background:var(--card);
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
}

/* Tools */
.tools-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;gap:0.7rem;
}
.tools-list li{
  background:rgba(255,255,255,0.06);
  padding:0.5rem 0.8rem;
  border-radius:10px;
  color:var(--muted);
}

/* Projects */
.project{
  background:var(--card);
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  margin-bottom:1rem;
}

/* Journey */
.journey-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
}
.journey-grid div{
  background:var(--card);
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
}

/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
}
.contact-card{
  background:var(--card);
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
}

/* Buttons */
.btn{
  display:inline-block;
  padding:0.55rem 1rem;
  border-radius:10px;
  background:var(--accent);
  color:#fff;
  font-weight:600;
  text-decoration:none;
}
.btn.ghost{
  background:transparent;
  border:1px solid var(--accent);
  color:var(--accent);
}

/* Footer */
.site-footer{
  background:rgba(0,0,0,0.35);
  border-top:1px solid var(--border);
  padding:0.9rem 0;
  position:relative;
}
.site-footer nav a{color:var(--muted);margin-right:0.6rem;text-decoration:none}

/* Responsive nav */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  #nav-toggle{display:inline-block}
  .nav-list{
    display:none;
    flex-direction:column;
    position:absolute;
    right:1.25rem;top:64px;
    background:var(--card);
    padding:1rem;
    border-radius:12px;
    border:1px solid var(--border);
  }
  .nav-list.show{display:flex}
}
