*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#f8fafc;
  --surface:#ffffff;
  --surface-hover:#f1f5f9;
  --text:#0f172a;
  --text-inverse:#ffffff;
  --muted:#64748b;
  --accent:#4f46e5;
  --accent-rgb:79,70,229;
  --accent-gradient:linear-gradient(135deg,#4f46e5 0%,#6366f1 50%,#818cf8 100%);
  --border:#e8ecf1;
  --tag-bg:#eef2ff;
  --glass-bg:rgba(255,255,255,0.72);
  --glass-border:rgba(0,0,0,0.04);
  --input-bg:rgba(0,0,0,0.01);
  --input-border:rgba(0,0,0,0.08);
  --glow-strength:rgba(79,70,229,0.04);
  --bg-card:#ffffff;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:0 4px 16px rgba(0,0,0,0.06),0 2px 6px rgba(0,0,0,0.04);
  --shadow-lg:0 12px 40px rgba(0,0,0,0.08),0 4px 12px rgba(0,0,0,0.04);
  --shadow-glow:0 8px 30px rgba(var(--accent-rgb),0.12);
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --transition-smooth:0.4s cubic-bezier(0.16,1,0.3,1);
}

/* ============================================================
   DARK THEME
   ============================================================ */
body.dark{
  --bg:#08080f;
  --surface:#111120;
  --surface-hover:#181830;
  --text:#e8edf5;
  --text-inverse:#08080f;
  --muted:#8892a8;
  --accent:#818cf8;
  --accent-rgb:129,140,248;
  --accent-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#a78bfa 100%);
  --border:#1a1e30;
  --tag-bg:rgba(129,140,248,0.1);
  --glass-bg:rgba(14,14,24,0.82);
  --glass-border:rgba(255,255,255,0.05);
  --input-bg:rgba(255,255,255,0.02);
  --input-border:rgba(255,255,255,0.06);
  --glow-strength:rgba(129,140,248,0.05);
  --bg-card:#111120;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.2),0 1px 2px rgba(0,0,0,0.3),0 0 0 1px rgba(var(--accent-rgb),0.03);
  --shadow-md:0 4px 16px rgba(0,0,0,0.25),0 2px 6px rgba(0,0,0,0.2),0 0 0 1px rgba(var(--accent-rgb),0.04);
  --shadow-lg:0 12px 40px rgba(0,0,0,0.35),0 4px 12px rgba(0,0,0,0.25),0 0 0 1px rgba(var(--accent-rgb),0.06);
  --shadow-glow:0 8px 30px rgba(var(--accent-rgb),0.18);
}

html{scroll-behavior:smooth}

body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  font-size:15px;
  line-height:1.75;
  letter-spacing:-0.01em;
  overflow-x:hidden;
  position:relative;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body::before{
  content:'';
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:60px 60px;
  opacity:0.06;
  z-index:-2;
  pointer-events:none;
}

body.dark::before{opacity:0.03}

/* ============================================================
   AMBIENT GLOW ORBS
   ============================================================ */
.ambient-glow{position:absolute;width:500px;height:500px;background:radial-gradient(circle,var(--glow-strength) 0%,rgba(0,0,0,0) 70%);z-index:-1;pointer-events:none;filter:blur(40px)}
.glow-1{top:10%;left:-150px}
.glow-2{top:45%;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(168,85,247,0.06) 0%,rgba(0,0,0,0) 70%)}
.glow-3{bottom:10%;left:-100px}

/* ============================================================
   SCROLL PROGRESS
   ============================================================ */
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent-gradient);width:0%;z-index:101;transition:width 0.1s ease}

/* ============================================================
   NAVBAR
   ============================================================ */
nav{
  position:fixed;top:0;left:0;right:0;
  background:var(--glass-bg);
  backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid var(--glass-border);
  padding:0 2.5rem;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  z-index:100;
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
}

.nav-logo{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;font-size:16px;
  letter-spacing:0.05em;color:var(--text);
  text-decoration:none;
  display:flex;align-items:center;gap:6px;
  transition:color 0.2s;
}
.nav-logo:hover{color:var(--accent)}
.nav-logo span{font-family:'Space Grotesk',sans-serif;letter-spacing:0.06em;font-size:15px}

.logo-mono{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;
  background:var(--accent-gradient);border-radius:8px;
  color:white;font-weight:700;font-size:12px;
  font-family:'Fira Code',monospace;letter-spacing:0.02em;
}

.nav-center{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center}

.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{
  font-size:13px;font-weight:500;
  color:var(--muted);text-decoration:none;
  transition:color 0.3s ease;position:relative;
  font-family:'Inter',sans-serif;
  letter-spacing:0.01em;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;
  width:0;height:1.5px;
  background:var(--accent-gradient);
  transition:width 0.3s cubic-bezier(0.16,1,0.3,1);
  border-radius:1px;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a:hover,.nav-links a.active{color:var(--text)}

.nav-right{display:flex;align-items:center;gap:1.5rem}

.status-indicator{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--muted);
  font-family:'Fira Code',monospace;
}
.status-dot-nav{
  width:6px;height:6px;
  background:#10b981;border-radius:50%;
  display:inline-block;
  animation:pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:0.5}}

.theme-toggle{
  background:none;border:1px solid var(--border);
  color:var(--text);cursor:pointer;
  padding:6px 8px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;
}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}

.mobile-menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:4px}

.pos-encoding{display:flex;align-items:center;gap:8px}
.pos-label{font-family:'Fira Code',monospace;font-size:10px;color:var(--muted);min-width:28px}
.pos-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.pos-fill{height:100%;width:0%;background:var(--accent-gradient);border-radius:2px;transition:width .1s ease}

/* ============================================================
   MAIN
   ============================================================ */
main{max-width:880px;margin:0 auto;padding:0 2rem}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero{
  padding:140px 0 80px;
  border-bottom:1px solid var(--border);
  position:relative;
  display:flex;gap:48px;align-items:center;
  overflow:hidden;
}

.hero-mesh-bg{
  position:absolute;top:0;left:0;right:0;bottom:0;
  z-index:-1;overflow:hidden;
  opacity:0.5;
}
body.dark .hero-mesh-bg{opacity:0.5}
.hero-mesh-bg canvas{width:100%;height:100%;display:block}

.hero-overline{
  font-family:'Fira Code',monospace;font-size:12px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:0.75rem;
  display:inline-flex;align-items:center;gap:8px;
}
.hero-overline::before{
  content:'';display:block;width:24px;height:1.5px;
  background:var(--accent-gradient);border-radius:1px;
}

.hero-left{flex:1;min-width:0}

.profile-photo-wrapper{
  display:none; /* Hidden on desktop, shown inline via photo */
}

.profile-photo{
  width:160px;height:160px;
  border-radius:50%;
  border:3px solid var(--accent);
  object-fit:cover;flex-shrink:0;
  box-shadow:0 8px 30px rgba(var(--accent-rgb),0.2);
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),box-shadow 0.5s ease;
}

.hero-right{flex:0 0 320px;display:flex;flex-direction:column;align-items:center}

.hero h1{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(2.2rem,5vw,3.5rem);
  font-weight:700;line-height:1.1;
  letter-spacing:-0.04em;margin-bottom:1.25rem;
}
.hero h1 span{
  background:var(--accent-gradient);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.typing-wrapper{display:inline-block;white-space:nowrap}
.typing-cursor{
  display:inline-block;width:3px;height:1em;
  background:var(--accent);margin-left:2px;
  vertical-align:text-bottom;
  animation:blink 1s infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

.hero-desc{max-width:580px;color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:2rem}

.hero-cta-group{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2rem}
.hero-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--accent-gradient);color:var(--text-inverse);
  text-decoration:none;font-size:14px;font-weight:600;
  padding:14px 30px;border-radius:var(--radius-sm);
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-glow);
  position:relative;
}
.hero-cta::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transition:left 0.5s ease;border-radius:inherit;
  clip-path:inset(0 round 8px);
}
.hero-cta:hover::before{left:100%}
.hero-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(var(--accent-rgb),0.3);
}
.hero-cta.secondary{
  background:var(--surface);color:var(--text);
  border:1px solid var(--border);box-shadow:none;
}
.hero-cta.secondary:hover{border-color:var(--accent);color:var(--accent)}
.hero-cta svg{width:16px;height:16px;transition:transform 0.2s ease}
.hero-cta:hover svg{transform:translateX(4px)}

.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.5rem}
.hero-tag{
  font-family:'Fira Code',monospace;font-size:10px;
  background:var(--tag-bg);color:var(--text);
  padding:5px 12px;border-radius:6px;
  border:1px solid var(--glass-border);
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
  letter-spacing:0.03em;
}
.hero-tag:hover{border-color:rgba(var(--accent-rgb),0.4);transform:translateY(-2px);box-shadow:var(--shadow-sm)}

.status-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Fira Code',monospace;font-size:11px;
  color:var(--accent);background:var(--tag-bg);
  padding:6px 14px;border-radius:20px;
  margin-top:1rem;
  border:1px solid rgba(var(--accent-rgb),0.15);
  animation:pulseGlow 3s infinite alternate;
}
@keyframes pulseGlow{0%{box-shadow:0 0 0px rgba(var(--accent-rgb),0)}100%{box-shadow:0 0 8px rgba(var(--accent-rgb),0.15)}}
.status-badge .dot{
  width:6px;height:6px;background:#10b981;border-radius:50%;
  position:relative;
}
.status-badge .dot::after{
  content:'';position:absolute;top:0;left:0;width:100%;height:100%;
  background:#10b981;border-radius:50%;animation:ripple 1.5s infinite;
}
@keyframes ripple{0%{transform:scale(1);opacity:1}100%{transform:scale(2.5);opacity:0}}

/* Attention Canvas */
.attn-canvas-wrapper{
  width:100%;height:200px;border-radius:var(--radius-sm);overflow:hidden;
  border:1px solid var(--border);background:#0a0a12;
  box-shadow:var(--shadow-md);
}
.attn-label{
  font-family:'Fira Code',monospace;font-size:9px;
  color:var(--muted);text-align:center;
  margin-top:6px;letter-spacing:.05em;
}

/* ============================================================
   SECTIONS
   ============================================================ */
section{padding:88px 0;border-bottom:1px solid var(--border);position:relative}
section:last-of-type{border-bottom:none}

.section-header{margin-bottom:3.5rem}
.section-label{
  font-family:'Fira Code',monospace;font-size:11px;
  letter-spacing:0.1em;color:var(--accent);
  text-transform:uppercase;margin-bottom:0.5rem;display:inline-block;
  position:relative;padding-left:20px;
}
.section-label::before{
  content:'';position:absolute;left:0;top:50%;
  width:12px;height:2px;background:var(--accent-gradient);
  border-radius:1px;transform:translateY(-50%);
}
.section-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(1.8rem,4vw,2.2rem);font-weight:700;letter-spacing:-0.03em;
  margin-top:0.25rem;
  position:relative;
}
.section-title::after{
  content:'';display:block;width:48px;height:3px;
  background:var(--accent-gradient);border-radius:2px;
  margin-top:0.75rem;
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.about-container{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:start}

.terminal,.about-terminal{
  background:#0d0e15;
  border:1px solid #1e293b;
  border-radius:10px;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
  font-family:'Fira Code',monospace;font-size:13px;line-height:1.5;
  position:relative;
}
.terminal-header{
  background:#171821;padding:10px 14px;
  display:flex;align-items:center;gap:6px;
  border-bottom:1px solid #1e293b;
}
.terminal-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.dot-red{background-color:#ef4444}
.dot-yellow{background-color:#f59e0b}
.dot-green{background-color:#10b981}
.terminal-title{color:#9ca3af;font-size:11px;margin-left:10px}

.terminal-body{padding:1.5rem;color:#e2e8f0}
.terminal-line{margin-bottom:10px}
.terminal-prompt{color:#818cf8}
.terminal-output{color:#f3f4f6}
.terminal-cursor{
  display:inline-block;width:8px;height:14px;
  background:#818cf8;animation:blink 1s infinite;
  vertical-align:middle;margin-left:2px;
}

.terminal-orbit{position:relative;margin-top:1rem;height:50px;overflow:visible;pointer-events:none}
.orbit-icon{
  position:absolute;font-size:20px;
  animation:orbitFloat 3s ease-in-out infinite;
  filter:drop-shadow(0 2px 4px rgba(79,70,229,0.3));
}
.orbit-icon:nth-child(1){animation-delay:0s}
.orbit-icon:nth-child(2){animation-delay:0.5s}
.orbit-icon:nth-child(3){animation-delay:1s}
.orbit-icon:nth-child(4){animation-delay:1.5s}
@keyframes orbitFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.1)}}

.about-text h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px;margin-bottom:1rem;
}
.about-text p{color:var(--muted);margin-bottom:1.5rem;font-size:15px;line-height:1.8}

.qualities{display:flex;flex-direction:column;gap:12px;margin:1.5rem 0}
.quality-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:10px 12px;border-radius:8px;
  transition:background 0.2s;
}
.quality-item:hover{background:var(--surface-hover)}
.quality-icon{
  width:32px;height:32px;background:var(--tag-bg);
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  color:var(--accent);flex-shrink:0;
}
.quality-info h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}
.quality-info p{font-size:12px;color:var(--muted);line-height:1.4;margin:0}

.about-stats{display:flex;gap:1.5rem;margin-top:1.5rem}
.about-stat{text-align:center}
.about-stat .stat-num{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px;font-weight:700;
  color:var(--accent);display:block;
}
.about-stat .stat-label{
  font-size:11px;color:var(--muted);
  font-family:'Fira Code',monospace;
}

/* ============================================================
   EDUCATION TIMELINE
   ============================================================ */
.timeline{position:relative;padding-left:24px}
.timeline::before{
  content:'';position:absolute;left:7px;top:0;bottom:0;
  width:2px;background:var(--border);
}
.timeline-item{
  position:relative;margin-bottom:2rem;
  padding:18px 22px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--border);
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-sm);
}
.timeline-item:hover{
  border-color:rgba(var(--accent-rgb),0.3);
  box-shadow:0 4px 16px rgba(var(--accent-rgb),0.08);
}
.timeline-dot{
  position:absolute;left:-21px;top:20px;
  width:12px;height:12px;border-radius:50%;
  background:var(--accent);border:2px solid var(--bg);
}
.timeline-item h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:16px;font-weight:600;margin-bottom:4px;
}
.timeline-item .timeline-date{
  font-family:'Fira Code',monospace;font-size:11px;
  color:var(--accent);margin-bottom:6px;
}
.timeline-item p{font-size:13px;color:var(--muted);line-height:1.6}

.pos-wave{
  font-family:'Fira Code',monospace;font-size:9px;
  color:var(--accent);opacity:.6;margin-bottom:4px;
}

/* ============================================================
   SKILLS
   ============================================================ */
.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.skill-category{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1.5rem;
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-sm);
}
.skill-category:hover{
  border-color:rgba(var(--accent-rgb),0.3);
  box-shadow:0 8px 24px rgba(var(--accent-rgb),0.08);
}
.skill-category h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:15px;font-weight:600;margin-bottom:1rem;
  display:flex;align-items:center;gap:8px;
}
.skill-category h3 .cat-icon{
  width:28px;height:28px;background:var(--tag-bg);
  border-radius:6px;display:flex;align-items:center;justify-content:center;
  font-size:14px;
}
.head-label{
  font-family:'Fira Code',monospace;font-size:9px;
  color:var(--accent);letter-spacing:.05em;
  text-transform:uppercase;margin-bottom:8px;
}
.skill-tags{display:flex;flex-wrap:wrap;gap:6px}
.skill-tag{
  font-family:'Fira Code',monospace;font-size:11px;
  background:var(--tag-bg);color:var(--text);
  padding:5px 12px;border-radius:6px;
  border:1px solid var(--glass-border);transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
  letter-spacing:0.02em;
}
.skill-tag:hover{border-color:rgba(var(--accent-rgb),0.4);transform:translateY(-2px);box-shadow:var(--shadow-sm)}

/* ============================================================
   PROJECTS
   ============================================================ */
.projects-masonry{
  columns:2;
  column-gap:20px;
  display:block;
}
.projects-masonry .project-card{
  break-inside:avoid;
  margin-bottom:20px;
  display:inline-block;
  width:100%;
}
.project-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:2rem;
  display:flex;flex-direction:column;height:100%;
  position:relative;
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-sm);
}
.project-card::before{
  content:'';position:absolute;top:0;left:0;
  width:100%;height:3px;background:var(--accent-gradient);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.3s ease;border-radius:10px 10px 0 0;
}
.project-card:hover::before{transform:scaleX(1)}
.project-card:hover{
  transform:translateY(-8px) scale(1.02);
  border-color:rgba(var(--accent-rgb),0.4);
  box-shadow:var(--shadow-lg),0 0 0 1px rgba(var(--accent-rgb),0.08);
}

.project-card .project-emoji{font-size:2rem;margin-bottom:1rem}
.project-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px;font-weight:600;margin-bottom:0.75rem;
}
.project-desc{
  font-size:14px;color:var(--muted);line-height:1.7;
  margin-bottom:1.5rem;flex-grow:1;
}

.project-attn-score{display:flex;align-items:center;gap:8px;margin-bottom:1rem}
.attn-score-label{font-size:10px;color:var(--muted);font-family:'Fira Code',monospace}
.attn-score-bar{flex:1;height:4px;background:var(--border);border-radius:2px}
.attn-score-fill{height:100%;background:var(--accent-gradient);border-radius:2px}
.attn-score-val{font-size:10px;color:var(--accent);font-family:'Fira Code',monospace;font-weight:600}

.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.5rem}
.project-tag{
  font-family:'Fira Code',monospace;font-size:10px;
  background:var(--tag-bg);color:var(--text);
  padding:3px 8px;border-radius:3px;
  border:1px solid var(--glass-border);
}
.project-links{display:flex;gap:12px;flex-wrap:wrap}
.project-link{
  font-size:13px;font-weight:600;color:var(--accent);
  text-decoration:none;display:inline-flex;align-items:center;gap:6px;
  transition:gap 0.2s ease;
}
.project-link:hover{text-decoration:underline;gap:10px}

/* ============================================================
   CERTIFICATIONS
   ============================================================ */
.certs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cert-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);overflow:hidden;
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-sm);
}
.cert-card:hover{
  transform:translateY(-8px) scale(1.02);
  border-color:rgba(var(--accent-rgb),0.4);
  box-shadow:var(--shadow-lg);
}
.cert-card img{width:100%;height:auto;display:block;border-bottom:1px solid var(--border)}
.cert-card .cert-info{padding:1.25rem}
.cert-card .cert-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:15px;font-weight:600;margin-bottom:4px;
}
.cert-card .cert-issuer{font-size:12px;color:var(--muted)}
.cert-card .cert-date{
  font-family:'Fira Code',monospace;font-size:11px;
  color:var(--accent);margin-top:6px;
}

/* ============================================================
   GITHUB STATS
   ============================================================ */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:2rem}
.stat-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1.5rem;text-align:center;
  transition:all var(--transition-smooth);
  box-shadow:var(--shadow-sm);
}
.stat-card:hover{
  border-color:rgba(var(--accent-rgb),0.3);
  transform:translateY(-5px) scale(1.02);
  box-shadow:var(--shadow-lg);
}
.stat-card .stat-icon{font-size:1.8rem;margin-bottom:0.5rem;display:block}
.stat-card .stat-value{
  font-family:'Space Grotesk',sans-serif;
  font-size:28px;font-weight:700;color:var(--accent);
}
.stat-card .stat-label{font-size:12px;color:var(--muted);margin-top:4px}

.embed-wrapper{
  width:100%;height:200px;border-radius:8px;overflow:hidden;
  border:1px solid var(--border);margin-bottom:8px;
}
.embed-wrapper canvas{width:100%;height:100%;display:block}
.embed-label{
  font-family:'Fira Code',monospace;font-size:9px;
  color:var(--muted);text-align:center;margin-bottom:1.5rem;
}

.github-embed{
  border:1px solid var(--border);border-radius:var(--radius-sm);
  overflow:hidden;margin-top:1rem;
  box-shadow:var(--shadow-sm);
}
.github-embed img{width:100%;display:block}
body.dark .github-embed img{filter:brightness(0.85) contrast(1.1)}

/* ============================================================
   ROADMAP CTA
   ============================================================ */
.roadmap-cta{
  background:var(--surface);border:2px solid var(--accent);
  border-radius:var(--radius-lg);padding:3.5rem;text-align:center;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-glow);
}
.roadmap-cta::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:4px;background:var(--accent-gradient);
}
.roadmap-cta h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:24px;margin-bottom:1rem;
}
.roadmap-cta p{
  color:var(--muted);margin-bottom:2rem;font-size:15px;
  max-width:500px;margin-left:auto;margin-right:auto;
}
.roadmap-cta .roadmap-stats{
  display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;
}
.roadmap-stat{text-align:center}
.roadmap-stat .stat-num{
  font-family:'Space Grotesk',sans-serif;
  font-size:28px;font-weight:700;color:var(--accent);display:block;
}
.roadmap-stat .stat-label{
  font-size:12px;color:var(--muted);
  font-family:'Fira Code',monospace;
}

/* ============================================================
   BLOG SECTION
   ============================================================ */
.blog-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:3rem;text-align:center;
  box-shadow:var(--shadow-sm);
}
.blog-card .coming-soon{
  font-family:'Fira Code',monospace;font-size:11px;
  color:var(--accent);background:var(--tag-bg);
  padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:1rem;
}
.blog-card h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:20px;margin-bottom:0.5rem;
}
.blog-card p{color:var(--muted);font-size:14px}

.blog-header{margin-bottom:1rem}
.writing-animation{
  font-family:'Fira Code',monospace;font-size:11px;color:var(--accent);
}
.write-cursor{
  display:inline-block;width:6px;height:12px;
  background:var(--accent);animation:blink 1s infinite;
  vertical-align:middle;margin-left:4px;
}

.badge{
  font-family:'Fira Code',monospace;font-size:10px;
  color:var(--accent);background:var(--tag-bg);
  padding:2px 8px;border-radius:10px;display:inline-block;margin-bottom:6px;
}

.blog-preview{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:12px;margin:1.5rem 0;
}
.blog-preview-card{
  background:var(--surface-hover);border:1px solid var(--border);
  border-radius:8px;padding:1.25rem;
  text-align:left;cursor:pointer;
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}
.blog-preview-card:hover{
  border-color:var(--accent);
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(var(--accent-rgb),0.1);
}
.blog-preview-card h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:15px;font-weight:600;margin:8px 0 4px;color:var(--text);
}
.blog-preview-card p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 8px}
.blog-preview-card .meta{
  font-family:'Fira Code',monospace;font-size:10px;color:var(--accent);
}

.notify-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent-gradient);color:white;border:none;
  border-radius:6px;padding:10px 20px;font-size:13px;
  font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;
  margin-top:1rem;
}
.notify-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(var(--accent-rgb),.35);
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-links{display:flex;flex-direction:column;gap:1.5rem;max-width:500px}
.contact-line{
  display:flex;align-items:center;gap:14px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1rem 1.5rem;
  transition:all var(--transition-smooth);text-decoration:none;color:var(--text);
  box-shadow:var(--shadow-sm);
}
.contact-line:hover{
  border-color:rgba(var(--accent-rgb),0.4);transform:translateX(8px) translateZ(6px);
  box-shadow:var(--shadow-md),0 0 0 1px rgba(var(--accent-rgb),0.06);
}
.contact-icon{
  width:40px;height:40px;background:var(--tag-bg);
  border:1px solid var(--glass-border);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);flex-shrink:0;
}
.contact-icon svg{width:18px;height:18px}
.contact-text{display:flex;flex-direction:column}
.contact-label{
  font-size:11px;color:var(--muted);
  font-family:'Fira Code',monospace;text-transform:uppercase;
}
.contact-value{font-size:14px;font-weight:500}
.contact-prob{
  display:flex;align-items:center;gap:8px;
  margin-left:auto;font-size:11px;color:var(--accent);
}
.prob-bar{width:60px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.prob-fill{height:100%;background:var(--accent-gradient);border-radius:2px}

.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem}

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  max-width:860px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:3rem 2rem;font-size:12px;color:var(--muted);
  font-family:'Fira Code',monospace;
  border-top:1px solid var(--border);margin-top:5rem;
  letter-spacing:0.02em;
}
.footer-quote{opacity:0.6}
.footer-right{display:flex;gap:1.5rem;align-items:center}
.footer-right a{color:var(--muted);text-decoration:none;transition:color 0.2s}
.footer-right a:hover{color:var(--accent)}
.login-btn{
  background:none;border:1px solid var(--border);
  color:var(--muted);font-family:'Fira Code',monospace;
  font-size:11px;padding:4px 10px;border-radius:4px;
  cursor:pointer;transition:all 0.2s;
}
.login-btn:hover{border-color:var(--accent);color:var(--accent)}

/* ============================================================
   ADMIN MODALS
   ============================================================ */
.modal-overlay{
  display:none;position:fixed;top:0;left:0;
  width:100%;height:100%;
  background:rgba(0,0,0,0.5);
  backdrop-filter:blur(4px);z-index:200;
  align-items:center;justify-content:center;
}
.modal-overlay.active{display:flex}
.modal{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:2.5rem;width:90%;max-width:650px;
  max-height:85vh;overflow-y:auto;
  box-shadow:0 25px 80px rgba(0,0,0,0.25),0 0 0 1px rgba(255,255,255,0.05) inset;
}
.modal h3{font-family:'Space Grotesk',sans-serif;font-size:20px;margin-bottom:0.5rem}
.modal>p,.modal .modal-desc{color:var(--muted);font-size:13px;margin-bottom:1.5rem}
.modal .form-group{margin-bottom:1.25rem}
.modal label{display:block;font-size:12px;font-weight:600;margin-bottom:6px;color:var(--text)}
.modal input,.modal textarea,.modal select{
  width:100%;background:var(--input-bg);
  border:1px solid var(--input-border);border-radius:6px;
  color:var(--text);padding:10px 14px;
  font-family:inherit;font-size:14px;transition:all 0.2s;
}
.modal input:focus,.modal textarea:focus,.modal select:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.15);
}
.modal textarea{
  min-height:120px;resize:vertical;
  font-family:'Fira Code',monospace;font-size:12px;
}
.modal-btn{
  width:100%;background:var(--accent-gradient);
  color:var(--text-inverse);border:none;border-radius:6px;
  padding:12px;font-family:'Space Grotesk',sans-serif;
  font-weight:600;font-size:14px;cursor:pointer;
  transition:all 0.2s;
}
.modal-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(var(--accent-rgb),0.25);
}
.modal-btn.cancel{
  background:var(--surface);color:var(--text);
  border:1px solid var(--border);margin-top:8px;
}
.modal-btn.cancel:hover{border-color:var(--muted)}
.modal-error{color:#ef4444;font-size:12px;margin-top:8px;display:none}

.admin-tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.5rem;
}
.admin-tab{
  font-family:'Fira Code',monospace;font-size:11px;
  background:var(--tag-bg);color:var(--text);
  padding:5px 12px;border-radius:4px;
  border:1px solid var(--glass-border);cursor:pointer;
  transition:all 0.2s;
}
.admin-tab:hover,.admin-tab.active{
  border-color:var(--accent);background:var(--accent);color:var(--text-inverse);
}

/* ============================================================
   BLOG MODAL
   ============================================================ */
.blog-modal{max-width:550px;position:relative;padding:0;overflow:hidden}
.blog-modal .modal-desc{display:none}

.blog-modal-close{
  position:absolute;top:12px;right:12px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:50%;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);cursor:pointer;z-index:10;
  transition:all 0.2s;
}
.blog-modal-close:hover{color:var(--accent);border-color:var(--accent)}

.blog-modal-content{padding:2rem}
.blog-modal-badge{
  display:flex;align-items:center;gap:8px;
  margin-bottom:1rem;
}
.blog-modal-badge-text{
  font-family:'Fira Code',monospace;font-size:10px;
  color:var(--accent);background:var(--tag-bg);
  padding:3px 10px;border-radius:12px;
}
.blog-modal-eta{
  font-family:'Fira Code',monospace;font-size:10px;
  color:var(--muted);
}
.blog-modal-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px;font-weight:600;margin-bottom:8px;
}
.blog-modal-meta{
  display:flex;gap:16px;margin-bottom:1.5rem;
}
.blog-modal-reading-time,.blog-modal-date{
  font-family:'Fira Code',monospace;font-size:11px;color:var(--muted);
}

.blog-modal-illustration{margin-bottom:1.5rem}
.blog-modal-anim{
  background:#0a0a12;border-radius:8px;overflow:hidden;
  border:1px solid var(--border);
}
.blog-modal-anim canvas{width:100%;height:100px;display:block}
.blog-modal-anim-label{
  font-family:'Fira Code',monospace;font-size:9px;
  color:var(--muted);text-align:center;padding:6px;
  opacity:0.6;
}

.blog-modal-coming-soon{
  text-align:center;padding:1.5rem 0;
  border-top:1px solid var(--border);
}
.blog-modal-coming-soon-icon{
  color:var(--accent);margin-bottom:0.75rem;
}
.blog-modal-coming-soon h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:16px;font-weight:600;margin-bottom:6px;
}
.blog-modal-coming-soon p{
  font-size:13px;color:var(--muted);line-height:1.6;
}

.blog-modal-subscribe{
  background:var(--surface-hover);border-radius:8px;
  padding:1.5rem;margin-top:1.5rem;
}
.blog-modal-subscribe-header{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--text);
  margin-bottom:1rem;
}
.blog-modal-form{display:flex;flex-direction:column;gap:10px}
.blog-modal-form-row{display:flex;gap:10px}
.blog-modal-input{
  flex:1;padding:10px 14px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:6px;font-size:13px;color:var(--text);
  font-family:'Inter',sans-serif;transition:all 0.2s;
}
.blog-modal-input:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.15);
}
.blog-modal-input::placeholder{color:var(--muted)}
.blog-modal-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent-gradient);color:white;border:none;
  border-radius:6px;padding:10px 18px;font-size:13px;
  font-weight:600;cursor:pointer;transition:all 0.2s;
  font-family:'Inter',sans-serif;
}
.blog-modal-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(var(--accent-rgb),0.25);
}
.blog-modal-disclaimer{
  font-size:10px;color:var(--muted);text-align:center;
  margin-top:8px;font-style:italic;
}

/* ============================================================
   TOAST
   ============================================================ */
.toast-container{
  position:fixed;bottom:20px;left:50%;
  transform:translateX(-50%);z-index:300;
  display:flex;flex-direction:column;gap:8px;align-items:center;
}
.toast{
  padding:10px 20px;background:var(--surface);
  border:1px solid var(--border);border-radius:8px;
  font-size:13px;color:var(--text);
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  animation:toastSlide .3s ease;
  font-family:'Inter',sans-serif;
}
@keyframes toastSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ============================================================
   UPDATE BANNER
   ============================================================ */
.update-banner{
  position:fixed;top:68px;left:50%;
  transform:translateX(-50%);z-index:99;
  background:var(--accent-gradient);color:white;
  padding:8px 20px;border-radius:8px;
  font-size:12px;font-weight:600;
  font-family:'Inter',sans-serif;
  box-shadow:0 4px 14px rgba(var(--accent-rgb),0.3);
  animation:bannerSlide 0.3s ease;
}
.update-banner.hidden{display:none}
@keyframes bannerSlide{from{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ============================================================
   SKELETON LOADING
   ============================================================ */
.skeleton{
  background:linear-gradient(90deg,var(--border) 25%,var(--surface-hover) 50%,var(--border) 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;
}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-line{height:14px;margin-bottom:8px;border-radius:4px}
.skeleton-line.short{width:40%}
.skeleton-line.medium{width:70%}
.skeleton-line.long{width:90%}
.skeleton-stat{height:40px;width:60px;border-radius:6px;margin:0 auto 8px}
.skeleton-bar{height:6px;border-radius:3px;margin-bottom:10px}

/* ============================================================
   3D ILLUSION EFFECTS
   ============================================================ */
html{perspective:1200px}
body{transform-style:preserve-3d}
main{transform-style:preserve-3d}

section{
  transform:translateZ(0);
  transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);
}
section:hover{
  transform:translateZ(10px);
  box-shadow:0 20px 60px rgba(var(--accent-rgb),0.06);
}

.hero{transform-style:preserve-3d}
.profile-photo{
  transform:perspective(800px) rotateY(-5deg);
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),box-shadow 0.5s cubic-bezier(0.16,1,0.3,1);
}
.profile-photo:hover{
  transform:perspective(800px) rotateY(5deg) scale(1.05);
  box-shadow:0 12px 40px rgba(var(--accent-rgb),0.3);
}

.skill-category{
  transform:perspective(600px) rotateX(0deg) rotateY(0deg);
  transition:all var(--transition-smooth);
  transform-style:preserve-3d;
}
.skill-category:hover{
  transform:perspective(600px) rotateX(2deg) rotateY(-2deg) translateZ(15px);
  box-shadow:0 20px 40px rgba(var(--accent-rgb),0.15),0 0 0 1px rgba(var(--accent-rgb),0.1);
}

.project-card{
  transform:perspective(800px) rotateX(0deg) rotateY(0deg);
  transition:all var(--transition-smooth);
  transform-style:preserve-3d;
}
.project-card:hover{
  transform:perspective(800px) rotateX(3deg) rotateY(-2deg) translateZ(20px);
  box-shadow:0 25px 50px rgba(var(--accent-rgb),0.2);
}

.cert-card{
  transform:perspective(800px) rotateX(0deg) rotateY(0deg);
  transition:all var(--transition-smooth);
  transform-style:preserve-3d;
}
.cert-card:hover{
  transform:perspective(800px) rotateX(-2deg) rotateY(3deg) translateZ(15px);
}

.contact-line{
  transform:perspective(600px) translateZ(0);
  transition:all var(--transition-smooth);
}
.contact-line:hover{
  transform:perspective(600px) translateZ(10px) translateX(8px);
}

.roadmap-cta{
  transform:perspective(1000px) rotateX(0deg);
  transition:all var(--transition-smooth);
  transform-style:preserve-3d;
}
.roadmap-cta:hover{
  transform:perspective(1000px) rotateX(1deg) translateZ(10px);
}

.stat-card{
  transform:perspective(600px) translateZ(0);
  transition:all var(--transition-smooth);
}
.stat-card:hover{
  transform:perspective(600px) translateZ(12px) translateY(-5px);
}

.timeline-item{
  transform:perspective(600px) translateZ(0);
  transition:all var(--transition-smooth);
}
.timeline-item:hover{
  transform:perspective(600px) translateZ(8px) translateX(5px);
}

.blog-preview-card{
  transform:perspective(600px) translateZ(0);
  transition:all var(--transition-smooth);
}
.blog-preview-card:hover{
  transform:perspective(600px) translateZ(8px) translateY(-3px);
}

/* Floating depth layers */
.ambient-glow{animation:glowFloat 8s ease-in-out infinite}
@keyframes glowFloat{0%,100%{transform:translateZ(0) scale(1)}50%{transform:translateZ(-20px) scale(1.05)}}
.glow-2{animation-delay:-3s}
.glow-3{animation-delay:-5s}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:768px){
  .hero{
    flex-direction:column;
    align-items:center;text-align:center;
    padding:120px 0 60px;
    gap:2rem;
  }
  .hero-mesh-bg{opacity:0.25}
  section{padding:60px 0}
  .section-title{font-size:clamp(1.5rem,5vw,2rem)}
  .hero h1{font-size:clamp(1.8rem,6vw,2.5rem)}
  .projects-masonry{columns:1}
  .hero-left{width:100%}
  .hero-right{flex:none;width:100%;display:none}
  .profile-photo{width:120px;height:120px}
  .hero-cta-group{justify-content:center}
  .hero-tags{justify-content:center}
  .about-container{grid-template-columns:1fr;gap:30px}
  .skills-grid,.projects-grid,.certs-grid,.stats-grid{grid-template-columns:1fr}
  .blog-preview{grid-template-columns:1fr}
  nav{padding:0 1.5rem}
  .nav-links{
    display:none;flex-direction:column;
    position:absolute;top:64px;left:0;right:0;
    background:var(--surface);
    border-bottom:1px solid var(--border);
    padding:1.5rem;gap:1.25rem;
    box-shadow:0 10px 20px rgba(0,0,0,0.1);z-index:101;
  }
  .nav-links.show{display:flex}
  .mobile-menu-btn{display:block}
  .nav-center{display:none}
  .hero-cta-group{flex-direction:column;align-items:stretch}
  .status-indicator{display:none}
  footer{flex-direction:column;gap:1.5rem;text-align:center}
  .footer-right{flex-wrap:wrap;justify-content:center}
  .contact-prob{display:none}
  .blog-modal-form-row{flex-direction:column}
}

@media(max-width:500px){
  .about-stats{flex-direction:column;gap:1rem}
  .contact-actions{flex-direction:column}
  .roadmap-cta .roadmap-stats{gap:1.5rem}
  main{padding:0 1.25rem}
}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
  nav,.mobile-menu-btn,.theme-toggle,.ambient-glow,
  #scroll-progress,.hero-right,.blog-card,
  .contact-actions,.toast-container,.modal-overlay,
  .ai-robot,.update-banner{display:none!important}
  body{background:white;color:black}
  section{break-inside:avoid}
}
