*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#080c14;
  --bg2:#0d1220;
  --bg3:#111827;
  --surface:#131c2e;
  --surface2:#1a2540;
  --cyan:#00e5ff;
  --cyan2:#00b8d9;
  --cyan-glow:rgba(0,229,255,0.15);
  --cyan-glow2:rgba(0,229,255,0.06);
  --text:#e2eaf6;
  --text-muted:#7d8fac;
  --text-dim:#4a5a72;
  --border:rgba(0,229,255,0.12);
  --border2:rgba(0,229,255,0.06);
  --mono:'Space Mono',monospace;
  --sans:'Outfit',sans-serif;
  --radius:12px;
  --radius-lg:20px;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--sans);font-weight:400;line-height:1.7;
  min-height:100vh;overflow-x:hidden;
}
::selection{background:var(--cyan);color:#000}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--cyan2);border-radius:2px}

/* NOISE */
body::before{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9999;opacity:0.4;
}

/* GRID */
.grid-bg{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(0,229,255,0.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,0.03) 1px,transparent 1px);
  background-size:60px 60px;
}

/* ORBS */
.orb{position:fixed;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:0.1;z-index:0}
.orb1{width:500px;height:500px;background:radial-gradient(circle,#00e5ff,transparent);top:-150px;right:-150px}
.orb2{width:400px;height:400px;background:radial-gradient(circle,#0077ff,transparent);bottom:-100px;left:-100px}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 4rem;
  background:rgba(8,12,20,0.85);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border2);
}
.nav-logo{
  font-family:var(--mono);font-size:1rem;font-weight:700;
  color:var(--cyan);letter-spacing:0.05em;text-decoration:none;
}
.nav-logo span{color:var(--text-muted)}
.nav-back{
  font-family:var(--mono);font-size:0.78rem;color:var(--text-muted);
  text-decoration:none;letter-spacing:0.08em;
  display:flex;align-items:center;gap:0.5rem;
  transition:color 0.2s;
}
.nav-back:hover{color:var(--cyan)}

/* PAGE */
.page{
  max-width:1140px;margin:0 auto;padding:8rem 2rem 6rem;
  position:relative;z-index:1;
}

/* HEADER */
.page-eyebrow{
  font-family:var(--mono);font-size:0.72rem;color:var(--cyan);
  letter-spacing:0.2em;text-transform:uppercase;margin-bottom:0.8rem;
  opacity:0;animation:fadeUp 0.6s 0.1s forwards;
}
.page-title{
  font-size:clamp(2rem,5vw,3.5rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.1;
  margin-bottom:1rem;
  opacity:0;animation:fadeUp 0.6s 0.2s forwards;
}
.page-title .dim{color:var(--text-dim)}
.page-subtitle{
  font-size:1rem;color:var(--text-muted);max-width:560px;
  margin-bottom:3.5rem;line-height:1.7;
  opacity:0;animation:fadeUp 0.6s 0.3s forwards;
}
.page-line{
  width:48px;height:2px;background:var(--cyan);
  border-radius:1px;margin-bottom:3.5rem;
  opacity:0;animation:fadeUp 0.6s 0.35s forwards;
}

/* FILTER TABS */
.filter-tabs{
  display:flex;gap:0.6rem;flex-wrap:wrap;margin-bottom:2.5rem;
  opacity:0;animation:fadeUp 0.6s 0.4s forwards;
}
.filter-tab{
  padding:0.4rem 1rem;border:1px solid var(--border2);
  border-radius:20px;font-family:var(--mono);font-size:0.72rem;
  color:var(--text-muted);letter-spacing:0.05em;
  cursor:pointer;transition:all 0.2s;background:none;
}
.filter-tab:hover,.filter-tab.active{
  border-color:var(--cyan);color:var(--cyan);background:var(--cyan-glow2);
}

/* PROJECTS GRID */
.projects-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:1.5rem;
}

/* PROJECT CARD */
.project-card{
  background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:all 0.3s;position:relative;
  display:flex;flex-direction:column;
  opacity:0;animation:fadeUp 0.6s forwards;
}
.project-card:hover{
  border-color:var(--border);
  transform:translateY(-6px) scale(1.1);
  box-shadow:0 20px 40px rgba(0,0,0,0.4), 0 0 30px var(--cyan-glow);
}
.project-card:hover .card-arrow{transform:translate(3px,-3px)}

/* BANNER */
.card-banner{
  height:140px;display:flex;align-items:center;justify-content:center;
  font-size:3rem;position:relative;overflow:hidden;
}
.card-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(transparent 40%,var(--surface));
}
.banner-ml  {background:linear-gradient(135deg,#0d1f3c,#0d3347)}
.banner-cv  {background:linear-gradient(135deg,#1a0d3c,#0d2847)}
.banner-app {background:linear-gradient(135deg,#0d3c1a,#0d4747)}
.banner-web {background:linear-gradient(135deg,#2a1a0d,#3c2d0d)}
.banner-other{background:linear-gradient(135deg,#3c1a0d,#2d1a3c)}

/* CARD BODY */
.card-body{padding:1.4rem 1.8rem 1.8rem;flex:1;display:flex;flex-direction:column;gap:0.8rem}
.card-category{
  font-family:var(--mono);font-size:0.68rem;color:var(--cyan);
  letter-spacing:0.15em;text-transform:uppercase;
}
.card-title{font-size:1.15rem;font-weight:600;letter-spacing:-0.01em;line-height:1.3}
.card-desc{font-size:0.88rem;color:var(--text-muted);line-height:1.7;flex:1}

/* TECH PILLS */
.tech-pills{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.4rem}
.tech-pill{
  padding:0.25rem 0.65rem;background:var(--bg3);
  border:1px solid var(--border2);border-radius:6px;
  font-size:0.72rem;color:var(--text-muted);font-family:var(--mono);
  transition:all 0.2s;
}
.project-card:hover .tech-pill{border-color:rgba(0,229,255,0.15)}

/* CARD FOOTER */
.card-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.8rem 1.4rem;
  border-top:1px solid var(--border2);
  margin-top:auto;
}
.card-link{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--mono);font-size:0.75rem;color:var(--cyan);
  text-decoration:none;letter-spacing:0.05em;
  padding:0.5rem 1rem;border:1px solid var(--border);
  border-radius:6px;transition:all 0.2s;
}
.card-link:hover{background:var(--cyan-glow2);border-color:var(--cyan)}
.card-arrow{
  font-size:0.85rem;transition:transform 0.2s;display:inline-block;
}
.card-github{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-family:var(--mono);font-size:0.72rem;color:var(--text-dim);
  text-decoration:none;transition:color 0.2s;
}
.card-github:hover{color:var(--text-muted)}

/* GITHUB BANNER */
.github-banner{
  margin-top:3rem;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:2.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  position:relative;overflow:hidden;
  opacity:0;animation:fadeUp 0.6s 0.8s forwards;
}
.github-banner::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
}
.github-banner-text h3{font-size:1.2rem;font-weight:600;margin-bottom:0.3rem}
.github-banner-text p{font-size:0.88rem;color:var(--text-muted)}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.8rem;background:var(--cyan);color:#000;
  font-family:var(--mono);font-size:0.82rem;font-weight:700;
  letter-spacing:0.05em;border-radius:6px;text-decoration:none;
  transition:all 0.2s;white-space:nowrap;flex-shrink:0;
}
.btn-primary:hover{background:#33eeff;transform:translateY(-2px)}

/* FOOTER */
footer{
  text-align:center;padding:2rem;
  border-top:1px solid var(--border2);
  font-family:var(--mono);font-size:0.72rem;color:var(--text-dim);
  position:relative;z-index:1;
}
footer a{color:var(--cyan);text-decoration:none}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1rem 1.5rem}
  .projects-grid{grid-template-columns:1fr}
  .github-banner{flex-direction:column;text-align:center}
}