:root {
  --dark-bg: #0a0f26;
  --dark-text: #e0e7ff;
  --light-bg: #f0f4ff;
  --light-text: #1e293b;
  --primary: #1e40af;
  --accent: #3b82f6;
  --transition: 0.3s;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins',sans-serif; background:var(--dark-bg); color:var(--dark-text); transition:background var(--transition), color var(--transition); }
body.light { background:var(--light-bg); color:var(--light-text); }
nav { position:fixed; width:100%; background:rgba(10,15,38,0.9); display:flex; align-items:center; justify-content:space-between; padding:1rem 2rem; z-index:1000; }
body.light nav { background:rgba(240,244,255,0.9); }
nav .logo { font-family:'Orbitron'; font-size:1.5rem; color:var(--accent); }
nav .menu a { margin-left:2rem; color:inherit; font-weight:500; white-space:nowrap; }
.theme-toggle { position:fixed; top:1rem; right:1rem; font-size:1.2rem; cursor:pointer; color:var(--accent); }
.section { padding:80px 20px; }
.section h2 { text-align:center; margin-bottom:1rem; }
.text-center { text-align:center; }
.cards-2 { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:900px; margin:0 auto; }
.cards-2.contact-flex { display:flex; justify-content:center; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; max-width:1000px; margin:0 auto; }
.card { background:rgba(255,255,255,0.05); padding:1.5rem; border-radius:8px; }
.intro { text-align:center; font-size:1.2rem; font-weight:600; margin-bottom:1rem; }
.justify { text-align:justify; }
.justify-list li { text-align:justify; margin-bottom:0.5rem; }
.about-image img { width:100%; border-radius:8px; }
.edu-card ul, .exp-grid .card ul { list-style:disc; margin-left:1.5rem; }
.exp-grid .card ul, .exp-grid .card p { margin:0.5rem 0; }
.skill-tags { margin-top:1rem; display:flex; flex-wrap:wrap; gap:0.5rem; justify-content:center; }
.skill-tags span { background:var(--primary); color:#fff; padding:0.3rem 0.6rem; border-radius:4px; font-size:0.9rem; }
.hero { position:relative; height:90vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.video-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.5; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,50,0.6),rgba(0,0,50,0.2)); }
.hero-content { position:relative; z-index:1; text-align:center; padding:1rem; }
.hero-content h1 { font-family:'Orbitron'; font-size:3rem; }
.highlight { color:var(--accent); }
.typed-text { font-size:1.5rem; color:var(--accent); margin:1rem 0; height:2rem; }
.tagline { font-size:1.2rem; opacity:0; transition:opacity var(--transition); }
.hero-buttons { margin:1rem 0; }
.btn { display:inline-block; margin:0 0.5rem; padding:0.8rem 1.5rem; border-radius:4px; font-weight:600; transition:opacity var(--transition); }
.btn-primary { background:var(--accent); color:#fff; }
.btn-outline { background:transparent; border:2px solid var(--accent); color:var(--accent); }
.filter { text-align:center; margin:1rem 0; }
.filter select { padding:0.5rem; border-radius:4px; border:1px solid #ccc; }
.project-thumb {width: 100%; height: auto; border-radius: 8px; margin-bottom: 1rem; object-fit: cover;}

footer { text-align:center; padding:2rem 0; background:rgba(10,10,30,0.9); }
