/* Base */
:root{
  --bg: #0b0d10;
  --panel: #10141a;
  --text: #e5e7eb;
  --muted: #9aa4b2;
  --brand: linear-gradient(135deg,#8A5CF6, #00D4FF);
  --accent: #8A5CF6;
  --ring: rgba(138,92,246,.4);
}
:root.light{
  --bg: #f8fafc;
  --panel: #ffffff;
  --text: #0f172a;
  --muted: #475569;
  --accent: #6842ff;
  --ring: rgba(104,66,255,.2);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:96px 20px 0}

/* Nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:rgba(16,20,26,.6);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
:root.light .nav{background:rgba(255,255,255,.75)}
.logo{font-weight:800;letter-spacing:.5px}
.links a{margin:0 10px;opacity:.9}
.actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.15);padding:10px 14px;border-radius:10px}
.btn.primary{background:var(--brand);border-color:transparent;color:#0b0d10;font-weight:700}
.btn.ghost{background:transparent}
.btn.small{padding:8px 12px;font-size:.9rem}
.icon-btn{border:1px solid rgba(255,255,255,.15);background:transparent;border-radius:10px;padding:8px 10px;cursor:pointer}

/* Hero */
.hero{display:grid;grid-template-columns:1.4fr .9fr;gap:24px;align-items:center;padding-top:40px;padding-bottom:40px}
.hero .subtitle{color:var(--muted);font-size:1.05rem}
.cta{display:flex;gap:12px;margin-top:16px}
.socials{margin-top:12px;color:var(--muted);display:flex;gap:8px;align-items:center}
.hero-card{padding:18px}
.avatar{width:80px;height:80px;border-radius:50%;border:3px solid transparent;background:var(--brand);padding:3px}
.quick{list-style:none;margin:14px 0 0 0;padding:0}
.quick li{padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.grad{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Sections */
.section{padding:60px 0}
.section h2{font-size:1.9rem;margin:0 0 18px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}

/* Chips */
.chip{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 14px;background:transparent;cursor:pointer}
.chip.active,.chip:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}

/* Cards / Grid */
.grid{display:grid;gap:18px}
.grid.projects{grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));}
.card{border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:var(--panel)}
.card .card-img img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.card .card-body{padding:16px}
.card .tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.card .tags span{font-size:.8rem;border:1px solid rgba(255,255,255,.15);padding:6px 10px;border-radius:999px}

/* Glass */
.glass{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25)}

/* Skills */
.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.skill{border:1px dashed rgba(255,255,255,.2);border-radius:14px;padding:14px}
.skill h4{margin:0 0 10px}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges span{border:1px solid rgba(255,255,255,.15);padding:6px 10px;border-radius:999px}

/* Timeline */
.timeline{position:relative;margin-top:8px}
.timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.15)}
.t-card{display:grid;grid-template-columns:26px 1fr;gap:16px;padding:10px 0}
.t-dot{width:20px;height:20px;border-radius:50%;background:var(--accent);margin-top:4px;box-shadow:0 0 0 6px var(--ring) inset}
.muted{color:var(--muted)}
.tiny{font-size:.85rem}

/* Contact */
.contact{display:flex;flex-direction:column;gap:12px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px;color:var(--text);outline:none}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}
.footer{padding:32px 20px;color:var(--muted);text-align:center}

/* Responsive */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr}
  .grid.projects{grid-template-columns:1fr}
  .skills{grid-template-columns:repeat(2,1fr)}
  .links{display:none}
}
