/* =========================
GLOBAL
========================= */

html{
scroll-behavior:smooth;
}

body{

background:linear-gradient(
270deg,
#020617,
#0f172a,
#020617
);

background-size:400% 400%;
animation:bgMove 18s ease infinite;

color:#e2e8f0;

font-family:Arial;

margin:0;

padding-top:70px;

overflow-x:hidden;

}

@keyframes bgMove{

0%{background-position:0% 50%;}
50%{background-position:100% 50%;}
100%{background-position:0% 50%;}

}

/* background glow */

body::before{

content:"";

position:fixed;

top:-200px;
left:-200px;

width:600px;
height:600px;

background:radial-gradient(circle,
rgba(56,189,248,0.15),
transparent
);

z-index:-1;

}

/* =========================
NAVBAR
========================= */

nav{

position:fixed;

top:0;
left:0;

width:100%;
height:70px;

background:rgba(2,6,23,0.95);

display:flex;
justify-content:space-between;
align-items:center;

padding:0 20px;

z-index:9999;

box-sizing:border-box;

}

nav h2{

margin:0;
font-size:20px;

}

nav ul{

display:flex;
align-items:center;

gap:14px;

list-style:none;

margin:0;
padding:0;

}

nav a{

color:#cbd5f5;
text-decoration:none;

font-size:13px;
transition:all .25s ease;

cursor:pointer;

}

nav a:hover{

color:#38bdf8;

}

nav a.active{

color:#38bdf8;
border-bottom:2px solid #38bdf8;
padding-bottom:2px;

}

.menu-toggle{

display:none;

font-size:26px;

cursor:pointer;

color:#cbd5f5;

}
/* =========================
SECTIONS - VISIBLE BY DEFAULT + SMOOTH SPACING
========================= */

section {
  max-width: 1100px;
  margin: 70px auto 0;  /* RESTORED original tight spacing */
  padding:60px 25px;

  background: rgba(15,23,42,0.55);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.05);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  transition: all 0.35s ease;
  cursor: default;
scroll-margin-top:90px;
margin-bottom: 80px;
  
  /* VISIBLE BY DEFAULT */
  opacity: 1;
  transform: none;
}

section:hover {
  transform: translateY(-4px);
  border: 1px solid rgba(56,189,248,0.35);
  box-shadow:
    0 20px 60px rgba(0,0,0,0.45),
    0 0 25px rgba(56,189,248,0.15);
}

section h2 {
  font-size: 28px;
  margin-bottom: 10px;
  color: #e2e8f0;
  border-left: 4px solid #38bdf8;
  padding-left: 12px;
  letter-spacing: 0.5px;
}

section + section {
  margin-top: 70px;
}
.small-section {
max-width: 700px;
margin: auto;
text-align: center;
opacity: 0.9;
}
.section-sub{
color:#94a3b8;
font-size:14px;
margin-bottom:20px;
}
.btn:hover,
.recruiter-btn:hover,
.run-flow-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
}

.contact-card h3 {
  margin-bottom: 8px;
  color: #38bdf8;
  font-size: 16px;
}

.contact-card p,
.contact-card a {
  color: #cbd5f5;
  font-size: 14px;
}

/* =========================
HERO
========================= */


.hero{
min-height:calc(100vh - 70px);
margin-top:0;
padding-top:10px;
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
transition:transform .4s ease;
line-height:1.0;
/* glass effect */
background: rgba(15,23,42,0.45);
backdrop-filter: blur(14px);
border:1px solid rgba(255,255,255,0.06);
box-shadow:0 20px 60px rgba(0,0,0,0.4);

}
.hero-impact {
  margin-top: 12px;
  color: #cbd5f5;
  font-size: 15px;
  line-height: 1.6;
}





.hero-name {
  font-size: 70px;
  font-weight: 700;
  background: linear-gradient(90deg, #38bdf8, #22c55e, #38bdf8);
  background-size: 200% auto;
  -webkit-background-clip: text;
  color: transparent;
  animation: glowText 5s linear infinite;
  text-shadow:
    0 0 15px rgba(56,189,248,0.5),
    0 0 30px rgba(34,197,94,0.3);
filter: drop-shadow(0 0 15px rgba(56,189,248,0.45));
transition:transform .4s ease, opacity .4s ease;

}

@keyframes glowText {
  0%   { background-position: 0%; }
  100% { background-position: 200%; }
}

.typing {
  font-size: 26px;
  color: #22c55e;
}

.summary {
  max-width: 600px;
  margin-top: 10px;
  color: #cbd5f5;
}
.hero-role{
font-size:22px;
color:#22c55e;
margin-top:10px;
font-weight:500;
}
.hero-meta{
margin-top:12px;
font-size:14px;
color:#94a3b8;
letter-spacing:.5px;
}
.hero p{
max-width:650px;
}
.scroll-hint{
margin-top:40px;
font-size:14px;
color:#94a3b8;
animation:scrollBounce 2s infinite;
}

@keyframes scrollBounce{
0%,100%{
transform:translateY(0);
}
50%{
transform:translateY(6px);
}
}
.scroll-hint{
margin-top:40px;
font-size:14px;
color:#94a3b8;
cursor:pointer;
animation:bounce 2s infinite;
}

@keyframes bounce{

0%,100%{transform:translateY(0)}

50%{transform:translateY(6px)}

}

.scroll-hint:hover{
color:#38bdf8;
}
/* hero stats */
.hero-stats {
  display: flex;
  gap: 40px;
  margin-top: 30px;
  flex-wrap: wrap;
  justify-content: center;
}

.stat {
  text-align: center;
  min-width: 120px;
}

.stat h3 {
  color: #38bdf8;
  margin: 0;
}

.stat p {
  margin: 0;
  color: #94a3b8;
  font-size: 14px;
}
/* ===============================
QUICK + WHY VISUAL BOOST
=============================== */

#quick ul li,
#why ul li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 18px;
}

#quick ul li::before,
#why ul li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #22c55e;
  font-size: 12px;
}
/* tech stack */
.tech-stack {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.tech-stack span {
  background: #1e293b;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 13px;
  color: #cbd5f5;
  transition: 0.25s;
  cursor: pointer;
}

.tech-stack span:hover {
  background: #334155;
  transform: translateY(-2px);
  box-shadow: 0 0 10px rgba(56,189,248,0.3);
}

/* hero buttons */
.hero-buttons {
  display: flex;
  gap: 18px;
  margin-top: 35px;
  flex-wrap: wrap;
  justify-content: center;
}

.hero::after{

content:"";

position:absolute;

width:500px;
height:500px;

background:radial-gradient(
circle,
rgba(34,197,94,0.25),
transparent 70%
);

bottom:-250px;
left:-250px;

animation:heroLightMoveReverse 14s linear infinite;

z-index:-1;

}

@keyframes heroLightMove{

0%{transform:rotate(0deg)}
100%{transform:rotate(360deg)}

}

@keyframes heroLightMoveReverse{

0%{transform:rotate(360deg)}
100%{transform:rotate(0deg)}

}
.hero::before{

content:"";

position:absolute;

width:500px;
height:500px;

background:radial-gradient(circle,
rgba(56,189,248,0.25),
transparent);

top:-200px;
right:-200px;

z-index:-1;

animation:heroGlow 12s linear infinite;

}

@keyframes heroGlow{

0%{transform:rotate(0deg)}
100%{transform:rotate(360deg)}

}

.dash-desc{
text-align:center;
color:#94a3b8;
margin-bottom:35px;
}

.dash-grid{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(250px,1fr));

gap:25px;

}

.dash-card{

background:#1e293b;

padding:25px;

border-radius:12px;

transition:.35s;

border:1px solid rgba(255,255,255,0.05);

}

.dash-card:hover{

transform:translateY(-6px);

background:#334155;

box-shadow:

0 10px 35px rgba(0,0,0,0.5),

0 0 20px rgba(56,189,248,0.3);

}

.skill-bar{

background:#1e293b;

height:20px;

border-radius:8px;

margin:12px 0;

overflow:hidden;




}

.skill-fill{

height:100%;

background:linear-gradient(90deg,#38bdf8,#22c55e);

width:0;

transition:width 1.2s ease;
display:flex;
align-items:center;
justify-content:flex-end;
padding-right:8px;
}

/* skill percentages */
.skill-percent{
font-size:12px;
font-weight:600;
color:#020617;
}
.apex{ width:0 }
.async{ width:0 }
.automation{ width:0 }
.integration{ width:0 }
.performance{ width:0 }
.devops{ width:0 }
}
/* =========================
BUTTONS
========================= */

.btn,
.recruiter-btn,
.run-flow-btn{

padding:12px 28px;
border-radius:8px;
font-weight:600;
cursor:pointer;
transition:all .25s ease;

}

.btn:hover,
.recruiter-btn:hover,
.run-flow-btn:hover{

transform:translateY(-3px) scale(1.03);

box-shadow:0 8px 20px rgba(0,0,0,0.4);

}.hero-buttons{
  display:flex;
  gap:14px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}

.btn {
  background: #22c55e;
  color: #020617;
  font-weight: 600;
  border: none;

}
.btn:last-child {
  background: transparent;
  color: #38bdf8;
  border: 1px solid #38bdf8;
}

.btn:active,
.recruiter-btn:active{
transform: scale(0.96);
}

.btn:hover {
  background: #16a34a;
  transform: translateY(-2px);
}
.btn:hover,
.recruiter-btn:hover{
  transform:translateY(-1px);
  background:#334155;
  color:#ffffff;
}
.btn, .recruiter-btn{
  padding:10px 18px;
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  transition:0.25s ease;
  text-decoration:none;
  display:inline-block;
}
.btn.secondary{
  background:transparent;
  color:#cbd5f5;
  border:1px solid rgba(255,255,255,0.2);
}

.recruiter-btn {
  background:#1e293b;
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,0.1);
}

.recruiter-btn:hover {
  background: #0ea5e9;
  transform: translateY(-2px);
}

.run-flow-btn {
  background: #38bdf8;
}

.run-flow-btn:hover {
  background: #0ea5e9;
  transform: translateY(-3px);
}

/* center buttons */
#architecture .run-flow-btn,
#playground .run-flow-btn,
#simulator .run-flow-btn {
  display: block;
  margin: 30px auto;
}

/* =========================
SKILL CARDS
========================= */

.card{

background:rgba(30,41,59,0.85);

padding:24px;

border-radius:12px;

text-align:center;

transition:all .35s ease;

border:1px solid rgba(255,255,255,0.05);

cursor:pointer;

position:relative;

overflow:hidden;

}

/* glowing sweep animation */

.card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(56,189,248,0.35),
transparent
);

transition:.6s;

}

.card:hover::before{

left:100%;

}

.card:hover{

transform:translateY(-8px);

background:#334155;

box-shadow:

0 12px 40px rgba(0,0,0,0.5),

0 0 25px rgba(56,189,248,0.4);

color:#38bdf8;

}

.contact-card:hover{

transform:translateY(-8px);

background:#334155;

box-shadow:

0 10px 40px rgba(0,0,0,0.5),

0 0 25px rgba(56,189,248,0.35);

}

/* grids */
.skills-grid,
.project-grid,
.contact-grid {
  display: grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap: 20px;
}
/* =========================
PROJECT CARD ENHANCEMENT
========================= */
#projects {
margin-top: 60px;
position:relative;
background: transparent;
}
#projects::before{
content:"";
position:absolute;
top:-40px;
left:50%;
transform:translateX(-50%);
width:200px;
height:2px;
background:linear-gradient(90deg,transparent,#38bdf8,transparent);
opacity:0.5;
}
.project-card:nth-child(1){animation-delay:0.1s}
.project-card:nth-child(2){animation-delay:0.2s}
.project-card:nth-child(3){animation-delay:0.3s}
.project-card:nth-child(4){animation-delay:0.4s}

@keyframes cardFade{
to{
opacity:1;
transform: translateY(0);
}
}
.project-card{
background: linear-gradient(160deg,#020617,#020617 70%,#0f172a);
padding:22px;
border-radius:16px;
cursor:pointer;
position:relative;
overflow:hidden;
border:1px solid rgba(56,189,248,0.25);
box-shadow: 0 10px 40px rgba(0,0,0,0.5),0 0 20px rgba(56,189,248,0.08);
transition: all 0.35s cubic-bezier(.2,.8,.2,1);
opacity:0;
transform: translateY(30px);
animation: cardFade 0.6s ease forwards;
padding-left:40px;
position:relative;
}
.project-card p{
margin:4px 0;
}
.project-highlights{
list-style:none;
padding-left:0;
margin:10px 0;
}

.project-highlights li{
font-size:13px;
margin-bottom:6px;
position:relative;
padding-left:16px;
color:#cbd5f5;
transition:.2s;
}

.project-highlights li::before{
content:"→";
position:absolute;
left:0;
color:#38bdf8;
}

/* subtle hover highlight */
.project-card:hover .project-highlights li{
color:#e2e8f0;
transform:translateX(2px);
}

.project-desc{
color:#cbd5f5;
font-size:14px;
margin-bottom:12px;
line-height:1.5;
margin:4px 0;
opacity:0.9;
border-left:2px solid rgba(56,189,248,0.2);
padding-left:10px;
}
.project-desc b{
color:#38bdf8;
font-weight:600;
}

.project-card:hover .click-hint{
opacity:1;
transform:translateX(6px);
}
/*
.project-card:hover .click-hint,
.card:hover .click-hint{
opacity:1;
transform:translateX(6px);
}*/

.project-card:hover{
transform: translateY(-10px) scale(1.03);
background: #334155;
border-color:#38bdf8;

box-shadow:
0 20px 60px rgba(0,0,0,0.6),
0 0 25px rgba(56,189,248,0.35);
}

.project-card::before{
content:"";
position:absolute;

top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(56,189,248,0.2),
transparent
);
transition:.6s;
}
/*
.project-card p {
  font-size: 14px;
  line-height: 1.6;
  color: #cbd5f5;
}
*/
.project-card b {
  color: #38bdf8;
}

.project-card:hover::before{
left:100%;
}
/*
.project-card::after{
content:"";
position:absolute;
inset:0;
left:0;
top:0;
width:100%;
height:2px;
background: radial-gradient(circle at top left, rgba(56,189,248,0.15), transparent 60%);
opacity:0;
transition:0.3s;
pointer-events:none;
}
*/
.project-card:hover::after{
opacity:1;
}
.project-tag{
font-size:11px;
background:rgba(56,189,248,0.2);
padding:4px 8px;
border-radius:6px;
display:inline-block;
margin-bottom:8px;
color:#38bdf8;
}
.project-impact{
font-size:13px;
color:#22c55e;
margin-top:8px;
line-height:1.5;
font-weight:500;
text-shadow: 0 0 8px rgba(34,197,94,0.4);
.project-impact{
display:inline-block;
background:rgba(34,197,94,0.1);
padding:4px 10px;
border-radius:6px;
border:1px solid rgba(34,197,94,0.3);
}

}

/* TITLE IMPROVE */
.project-card h3{
font-size:18px;
margin-bottom:10px;
color:#e2e8f0;
text-shadow: 0 0 10px rgba(56,189,248,0.3);

}
.project-problem{
color:#f87171;
font-size:13px;
margin-bottom:10px;
font-weight:500;
opacity:0.9;
}
/* SUB POINTS */
.project-highlights{
margin:10px 0;
padding-left:0;
list-style:none;
}

.project-highlights li{
font-size:13px;
margin-bottom:6px;
position:relative;
padding-left:18px;
color:#94a3b8;
transition:0.2s;
position:relative;
}

/* vertical line effect */
.project-highlights li::before{
content:"";
position:absolute;
left:0;
top:6px;
width:2px;
height:10px;
background:#38bdf8;
border-radius:2px;
}

/* hover glow */
.project-card:hover .project-highlights li{
color:#e2e8f0;
}
.project-github-left{
position:absolute;
left:14px;
top:55px;
font-size:12px;
padding:6px 10px;
opacity:0.9;
}
/* HEADER LAYOUT FIX */
.project-header{
display:flex;
justify-content:space-between;
align-items:center;
gap:10px;
}
/* HEADER FIX */
.project-header h3{
margin-bottom:6px;
}

/* NEW ROW FOR TAG + BUTTON */
.project-meta-top{
display:flex;
justify-content:space-between;
align-items:center;
gap:10px;
margin-bottom:12px;
}

/* make tag compact */
.project-tag{
font-size:11px;
padding:4px 8px;
border-radius:6px;
}

/* button size reduce */
.project-meta-top .github-link{
font-size:11px;
padding:4px 10px;
}

/* RIGHT SIDE GROUP */
.project-header-right{
display:flex;
align-items:center;
gap:10px;
}

/* SMALL BUTTON */
.project-header-right .github-link{
font-size:12px;
padding:5px 10px;
border-radius:6px;
opacity:0.9;
}
.github-link{
display:inline-flex;
align-items:center;
gap:6px;

margin-top:14px;
padding:8px 14px;

border:1px solid #38bdf8;
border-radius:6px;

color:#38bdf8;
font-size:14px;
text-decoration:none;

transition:all .25s ease;
}
.github-link .arrow{
transition:transform .25s ease;
}
.github-link:hover .arrow{
transform:translateX(6px);
}

.github-link:hover{
background:#38bdf8;
color:#020617;
box-shadow:0 0 10px rgba(56,189,248,0.4);
}
.github-popup-link{
display:inline-block;
margin-top:18px;
padding:10px 16px;
background:#0f172a;
border:1px solid #38bdf8;
border-radius:6px;
color:#38bdf8 !important;
text-decoration:none;
font-size:13px;
font-weight:600;
transition:all .25s ease;
}

.github-popup-link:visited{
color:#38bdf8 !important;
}

.github-popup-link:hover{
background:#38bdf8;
color:#020617 !important;
box-shadow:0 0 12px rgba(56,189,248,0.5);
}

/* =========================
SYSTEM FLOW CARDS
========================= */

.architecture-flow,
.flow-container,
.simulator-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 35px;
  flex-wrap: wrap;
}

.arch-node,
.flow-node,
.sim-node {
  background: #1e293b;
  padding: 18px 28px;
  border-radius: 10px;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
}

.arch-node:hover,
.flow-node:hover,
.sim-node:hover {
  background: #334155;
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 0 15px rgba(56,189,248,0.4);
}

.arch-node.active,
.flow-node.active,
.sim-node.active {
  background: #22c55e;
  color: black;
  transform: scale(1.12);
  box-shadow: 0 0 18px #22c55e;
}

/* flow line */
.flow-line {
  width: 60px;
  height: 3px;
  background: #38bdf8;
  position: relative;
  overflow: hidden;
}

.flow-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: -40px;
  width: 40px;
  height: 100%;
  background: #22c55e;
  animation: flowmove 2s linear infinite;
}

@keyframes flowmove {
  0%   { left: -40px; }
  100% { left: 100%; }
}

/* =========================
PROJECT ARCHITECTURE BOARD
========================= */

.architecture-board {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px 0;
}

.arch-box {
  background: #1e293b;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  transition: 0.25s;
  border: 1px solid rgba(255,255,255,0.05);
}

.arch-box:hover {
  background: #334155;
  transform: translateY(-2px);
  box-shadow: 0 0 12px rgba(56,189,248,0.3);
}

.arch-arrow {
  width: 35px;
  height: 3px;
  background: #38bdf8;
  position: relative;
}

.arch-arrow::after {
  content: "";
  position: absolute;
  right: -6px;
  top: -4px;
  border-left: 8px solid #38bdf8;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.arch-desc{
text-align:center;
color:#94a3b8;
margin-bottom:35px;
}

.architecture-diagram{
display:flex;
justify-content:center;
align-items:center;
gap:25px;
flex-wrap:wrap;
}

.arch-layer{

background:#1e293b;

padding:25px;

border-radius:12px;

text-align:center;

width:170px;

transition:.35s;

border:1px solid rgba(255,255,255,0.05);

cursor:pointer;

}

.arch-layer i{
font-size:26px;
color:#38bdf8;
margin-bottom:10px;
}

.arch-layer:hover{

transform:translateY(-8px);

background:#334155;

box-shadow:

0 10px 40px rgba(0,0,0,0.5),

0 0 20px rgba(56,189,248,0.35);

}

.arch-arrow{

font-size:26px;

color:#38bdf8;

}


/* =========================
TIMELINE
========================= */

.timeline {
  position: relative;
  padding-left: 50px;
  margin-top: 40px;
}

.timeline::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #38bdf8;
}


.timeline-item{
margin-bottom:35px;
position:relative;
background:#1e293b;
padding:20px 22px;
border-radius:10px;
transition:all .3s ease;
border-left:3px solid transparent;
}

.timeline-item:hover{
background:#334155;
transform:translateX(8px);
border-left:3px solid #38bdf8;
box-shadow:0 0 15px rgba(56,189,248,0.25);
}
.timeline-dot{
position:absolute;
left:-35px;
top:20px;
width:14px;
height:14px;
background:#38bdf8;
border-radius:50%;
box-shadow:0 0 10px #38bdf8;
animation:pulseDot 2s infinite;
}

@keyframes pulseDot{
0%{box-shadow:0 0 5px #38bdf8;}
50%{box-shadow:0 0 18px #38bdf8;}
100%{box-shadow:0 0 5px #38bdf8;}
}

/* =========================
POPUP
========================= */

.popup{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.8);
justify-content:center;
align-items:center;
scrollbar-width: thin;
  scrollbar-color: #38bdf8 #020617;
  backdrop-filter: blur(6px);
z-index:10000;   /* higher than navbar */
}

.popup-overlay {
position: absolute;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
backdrop-filter: blur(4px);
}
.popup-box {
position: relative;
max-width: 700px;
margin: 80px auto;
background: #020617;
border-radius: 16px;
padding: 20px;
z-index: 2;
}

.popup-content{
background:#020617;
padding:25px;
border-radius:16px;
max-width:900px;
width:92%;
max-height:85vh;
overflow-y:auto;
position:relative;
box-shadow:0 25px 80px rgba(0,0,0,0.6);
backdrop-filter: blur(6px);
animation: popupFade .25s ease;
transform: scale(0.9);
opacity: 0;
transition: all 0.25s ease;
font-size:15px;
line-height:1.7;
}
/*
.popup-content ul{
list-style:none;
padding-left:0;
margin-top:10px;
}*/
/*
.popup-content ul li{
position:relative;
padding-left:16px;
margin-bottom:6px;
}
*/
/*.popup-content ul li::before{
position:absolute;
left:0;
color:#38bdf8;
}*/
.popup[style*="flex"] .popup-content{
transform: scale(1);
opacity: 1;
}

.popup-content pre {
  background: #020617;
  padding: 15px;
  border-radius: 8px;
  overflow-x: auto;
  margin-top: 15px;
}

.popup-content code {
  color: #38bdf8;
  font-size: 13px;
}

.popup-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:10px;
}

.popup-header h2{
margin:0;
color:#38bdf8;
font-size:18px;
}
.highlight {
  color: #22c55e;
  font-weight: 600;
}

@keyframes popupFade{
from{
transform:scale(.9);
opacity:0;
}
to{
transform:scale(1);
opacity:1;
}
}
.popup-content h3{
margin-top:0;
color:#38bdf8;
}
/* Links inside popup */

.popup-content a{
color:#38bdf8;
text-decoration:none;
font-weight:600;
}

.popup-content a:visited{
color:#38bdf8;
}

.popup-content a:hover{
color:#22c55e;
text-decoration:underline;
}

.popup-content:hover{
box-shadow: 0 30px 80px rgba(0,0,0,0.7);
}
/* Chrome scrollbar */
.popup-content::-webkit-scrollbar {
  width: 6px;
}

.popup-content::-webkit-scrollbar-thumb {
  background: #38bdf8;
  border-radius: 6px;
}
/* ===== POPUP LIST FIX ===== */

/* BULLET SECTION */
.popup-content .bullet-list{
list-style: disc;
padding-left:20px;
margin-top:10px;
}

.popup-content .bullet-list li{
margin-bottom:6px;
color:#cbd5f5;
}

.popup-content .bullet-list li::marker{
color:#38bdf8;
}


/* ARROW SECTION */
.popup-content .arrow-list{
list-style:none;
padding-left:0;
margin-top:10px;
}

.popup-content .arrow-list li{
position:relative;
padding-left:18px;
margin-bottom:6px;
color:#cbd5f5;
}

.popup-content .arrow-list li::before{
content:"→";
position:absolute;
left:0;
color:#22c55e;
font-weight:bold;
}
.close-btn{
position:absolute;
top:12px;
right:12px;
font-size:18px;
cursor:pointer;
color:white;
background:#ef4444;
width:28px;
height:28px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
z-index:10001;
}

.close-btn:hover{
color:#ffffff;
background:#ef4444;
transform:scale(1.15);
}


.project-flow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 15px 0;
  flex-wrap: wrap;
}

.project-flow div {
  background: #1e293b;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
}

.project-flow span {
  color: #38bdf8;
  font-weight: bold;
}

/* =========================
ABOUT CARD
========================= */

.about-card {
  background: #1e293b;
  padding: 28px;
  border-radius: 10px;
  line-height: 1.7;
  color: #cbd5f5;
  transition: 0.3s;
  cursor: pointer;
}

.about-card:hover {
  background: #334155;
  transform: translateY(-3px);
  box-shadow: 0 0 15px rgba(56,189,248,0.4);
}

/* =========================
CONTACT
========================= */

/* =========================
CONTACT CARDS
========================= */

.contact-card{

background:rgba(30,41,59,0.85);

padding:30px;

border-radius:14px;

text-align:center;

transition:all .35s ease;

border:1px solid rgba(255,255,255,0.06);

cursor:pointer;

backdrop-filter:blur(8px);

}

.contact-card:hover{

transform:translateY(-10px);

background:#334155;

box-shadow:

0 15px 50px rgba(0,0,0,0.5),

0 0 25px rgba(56,189,248,0.45);

}
.contact-card a {
  color: #38bdf8;
  text-decoration: none;
  font-weight: 500;
}

.contact-card a:hover {
  color: #22c55e;
}

.linkedin-link {
  color: #38bdf8;
  text-decoration: none;
  font-weight: 600;
}

.linkedin-link:hover {
  color: #22c55e;
}
.contact-card i{

font-size:32px;

color:#38bdf8;

margin-bottom:12px;

display:block;

transition:all .35s ease;

text-shadow:0 0 10px rgba(56,189,248,0.6);

}

.contact-card:hover i{

color:#22c55e;

transform:scale(1.25);

text-shadow:0 0 20px rgba(34,197,94,0.8);

}

/* =========================
PARTICLES
========================= */

#particles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  pointer-events: none;
}

/* =========================
FOOTER
========================= */

footer {
  margin-top: 80px;
  padding: 40px;
  text-align: center;
  color: #94a3b8;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* =========================
DATA ANIMATIONS
========================= */

/* =========================
DATA FLOW PARTICLES
========================= */

.data-dot{

width:8px;
height:8px;

background:#22c55e;

border-radius:50%;

position:absolute;

top:-3px;

animation:dataMove 2s linear infinite;

}

@keyframes dataMove{

0%{
left:0;
opacity:0;
}

20%{
opacity:1;
}

80%{
opacity:1;
}

100%{
left:100%;
opacity:0;
}

}


@media(max-width:768px){

.hero-name{
font-size:40px;
}

.hero-stats{
gap:20px;
}

.skills-grid,
.project-grid,
.contact-grid{
grid-template-columns:1fr;
}

.architecture-flow,
.flow-container,
.simulator-flow{
flex-direction:column;
}

.flow-line{
width:3px;
height:40px;
}

nav ul{
position:absolute;
top:70px;
left:0;
width:100%;
background:#020617;
flex-direction:column;
align-items:center;
transition:all .3s ease;
gap:20px;
padding:20px 0;
display:none;
}

nav ul.active{
display:flex;
}

.menu-toggle{
display:block;
}


}
.duration{
color:#94a3b8;
font-size:13px;
margin-bottom:8px;
}
.sim-desc{
text-align:center;
color:#94a3b8;
margin-bottom:25px;
}
/* =========================
SECTION REVEAL ANIMATION
========================= */

.reveal{
opacity:0;
transform:translateY(60px);
transition:all 0.8s cubic-bezier(.2,.65,.3,1);
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

.arch-layer.active{

background:#22c55e;

color:black;

transform:scale(1.08);

box-shadow:0 0 20px #22c55e;

}
#contact{
padding-bottom:160px;
}

nav a{
position:relative;
transition:color .3s ease;
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:-4px;
width:0;
height:2px;
background:#38bdf8;
transition:width .3s ease;
}

nav a.active::after{
width:100%;
}
html{
scroll-behavior:smooth;
}
.click-hint{
display:block;
margin-top:12px;
font-size:13px;
color:#38bdf8;
opacity:0.85;
font-weight:500;
font-style:italic;
transition:all .25s ease;
}


.click-hint .arrow{
display:inline-block;
transition:transform .25s ease;
}

/* animation on card hover */

.project-card:hover .arrow,
.card:hover .arrow{
transform:translateX(6px);
}


.github-btn{
display:inline-flex;
align-items:center;
gap:6px;
background:#0f172a;
border:1px solid #38bdf8;
}

.github-btn .arrow{
transition:transform .25s ease;
}

.github-btn:hover .arrow{
transform:translateX(6px);
}
.github-btn:hover{
background:#24292e;
color:white;
}
/* ===============================
STICKY CTA
=============================== */

.sticky-cta {
position: fixed;
bottom: 20px;
right: 20px;
background: #1e293b;
padding: 12px 16px;
border-radius: 12px;
display: flex;
gap: 12px;
z-index: 9999;
box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.sticky-cta a {
color: #38bdf8;
text-decoration: none;
font-size: 13px;
font-weight: 500;
}

.sticky-cta a:hover {
color: #22c55e;
}
#case-study {
margin-top: 100px;
padding-top: 40px;
border-top: 1px solid rgba(255,255,255,0.1);
}
/* =========================
TABS
========================= */

.popup-tabs{
display:flex;
gap:10px;
margin:15px 0;
flex-wrap:wrap;
}

.tab{
background:rgba(255,255,255,0.05);
border:none;
padding:6px 12px;
border-radius:8px;
cursor:pointer;
color:#cbd5f5;
font-size:12px;
transition:0.2s;
}

.tab:hover{
background:rgba(56,189,248,0.2);
}

.tab.active{
background:#38bdf8;
color:black;
font-weight:600;
}
/* =========================
CONTENT
========================= */

.tab-content{
display:none;
font-size:14px;
line-height:1.6;
color:#cbd5f5;
opacity: 0;
transform: translateY(10px);
transition: all 0.2s ease;
}

.tab-content.active{
display:block;
opacity: 1;
transform: translateY(0);
}

.case-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
}

.case-card{
background:#1e293b;
padding:20px;
border-radius:12px;
border:1px solid rgba(255,255,255,0.05);
transition:.3s;
}

.case-card:hover{
transform:translateY(-6px);
background:#334155;
box-shadow:0 0 20px rgba(56,189,248,0.25);
}
.case-label{
color:#38bdf8;
font-weight:600;
margin-top:16px;
margin-bottom:6px;
}

/* BULLET ARROW */
.case-points{
list-style:none;
padding-left:0;
margin-top:10px;
}

.case-points li{
margin-bottom:6px;
position:relative;
padding-left:16px;
}

.case-points li::before{
content:"→";
position:absolute;
left:0;
color:#38bdf8;
}
/* IMPACT (GREEN) */
.case-impact{
color:#22c55e;
margin-top:6px;
line-height:1.6;
}

/* EXPERIENCE LINE */
.case-highlight{
margin-top:8px;
color:#22c55e;
font-size:13px;
opacity:0.9;
}


/* =========================
CASE STUDY UI
========================= */

.case-block{
background:rgba(15,23,42,0.6);
border:1px solid rgba(56,189,248,0.15);
padding:16px;
border-radius:10px;
margin-bottom:14px;
transition:0.25s;
}

.case-block:hover{
border-color:#38bdf8;
box-shadow:0 0 15px rgba(56,189,248,0.15);
}

/* TITLES */
.case-title{
color:#38bdf8;
font-weight:600;
margin-bottom:6px;
}

/* SUBTEXT */
.case-sub{
color:#94a3b8;
font-size:13px;
margin-top:6px;
}

/* FLOW DESIGN */
.case-flow{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:8px;
}

.case-flow span{
background:#1e293b;
padding:6px 10px;
border-radius:6px;
font-size:12px;
}

/* TECH TAGS */
.tech-tags{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:8px;
}

.tech-tags span{
background:rgba(56,189,248,0.15);
color:#38bdf8;
padding:5px 10px;
border-radius:20px;
font-size:12px;
}

/* =========================
SKILL POPUP LAYOUT FIX
========================= */

.skill-layout{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 25px;
  align-items: start;
}

/* LEFT TEXT */
.skill-text{
  font-size: 14px;
  line-height: 1.6;
    border-right: 1px solid rgba(56,189,248,0.15);
  padding-right: 20px;
}
.skill-text h2{
  font-size: 22px;
  margin-bottom: 12px;
  color: #e2e8f0;
}

.skill-text p{
  color: #94a3b8;
}

/* RIGHT CODE */
.skill-code-wrapper{
  display: flex;
  flex-direction: column;
  background: rgba(15,23,42,0.6);
  padding: 15px;
  border-radius: 12px;
  border: 1px solid rgba(56,189,248,0.15);
    margin-top: 35px;

}

/* HEADER */
.code-header{
  font-size: 13px;
  color: #38bdf8;
  margin-bottom: 8px;
  text-align: left;
  font-weight: 600;
}

/* CODE BLOCK */
/* =========================
VS CODE STYLE CODE BLOCK
========================= */

.skill-code{
  background: #0f172a;
  color: #e2e8f0;

  font-family: 'Fira Code', monospace;
  font-size: 12.5px;
  line-height: 1.6;

  padding: 16px;
  border-radius: 10px;

  overflow: auto;
  max-height: 420px;

  border: 1px solid rgba(56,189,248,0.25);

  box-shadow:
    inset 0 0 15px rgba(0,0,0,0.6),
    0 0 12px rgba(56,189,248,0.15);
}

/* scrollbar styling */
.skill-code::-webkit-scrollbar{
  width: 6px;
}

.skill-code::-webkit-scrollbar-thumb{
  background: #38bdf8;
  border-radius: 10px;
}

/* header styling */
.code-header{
  font-size: 12px;
  color: #94a3b8;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}

/* fake editor top bar */
.skill-code-wrapper::before{
  content: "●  ●  ●";
  font-size: 10px;
  color: #ef4444;
  display: block;
  margin-bottom: 6px;
}
.skill-code:hover{
  box-shadow:
    inset 0 0 15px rgba(0,0,0,0.7),
    0 0 20px rgba(56,189,248,0.35);
}
#quick b{
  color:#38bdf8;
  font-weight:600;
}

.thank-popup{
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #020617;
  border: 1px solid rgba(255,255,255,0.08);
  padding: 16px 20px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  z-index: 999;
  text-align: center;
  transition: all 0.25s ease;
  max-width: 300px;
}

.hidden{
  opacity: 0;
  pointer-events: none;
}

.thank-title{
  font-size: 14px;
  color: #e2e8f0;
  margin-bottom: 6px;
}

.thank-sub{
  font-size: 12px;
  color: #94a3b8;
  margin-bottom: 10px;
}

.thank-actions{
  display: flex;
  justify-content: center;
  gap: 8px;
}

.thank-btn{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
}

.thank-btn.primary{
  background: #38bdf8;
  color: #020617;
}

.thank-btn.secondary{
  background: transparent;
  color: #94a3b8;
  border: 1px solid rgba(255,255,255,0.15);
}
.toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #111;
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  font-size: 14px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.2);
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  z-index: 9999;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

.hidden {
  display: none;
}