
:root{
  --bg:#0e0f12;
  --card:#0f1116;
  --border:#ff6a00;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --blue:#3b82f6;
  --green:#16a34a;
  --purple:#8b5cf6;
}

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

body{
  background:#0e0f12;
 overflow-x:hidden;
overflow-y:auto;
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  scroll-behavior:smooth;

  background-image:
    linear-gradient(rgba(255,106,0,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,106,0,0.05) 1px, transparent 1px);
  background-size:50px 50px;
}

.container{
max-width:1200px;
width:100%;
margin:0 auto;
padding:0 20px;
}
a{
color:inherit;
text-decoration:none;
}

a:hover{
color:inherit;
text-decoration:none;
}

a:visited{
color:inherit;
}

a:active{
color:inherit;
}


/* ================= HERO CODE WINDOW ================= */

.code-window{

width:540px;
height:500px;          /* ⭐ trial value */

background:#07090d;

border-radius:22px;
border:1px solid rgba(255,106,0,.25);

box-shadow:
0 0 0 1px rgba(255,106,0,.15),
0 0 60px rgba(255,106,0,.12),
0 30px 80px rgba(0,0,0,.85);

display:flex;
flex-direction:column;

overflow:hidden;       /* ⭐ VERY IMPORTANT */

position:relative;
}

/* subtle aura around box */

.code-window::before{
content:"";
position:absolute;
inset:-40px;

background:radial-gradient(
circle,
rgba(255,106,0,.18) 0%,
rgba(255,106,0,.07) 40%,
transparent 70%
);

filter:blur(45px);
z-index:-1;
}

/* HEADER */

.window-header{

display:flex;
align-items:center;

padding:18px 24px;

background:rgba(255,255,255,.03);
border-bottom:1px solid rgba(255,255,255,.05);

position:relative;
}

.window-dots{
display:flex;
gap:10px;
}

.window-header .dot{
width:12px;
height:12px;
border-radius:50%;
}

.dot.red{background:#ff5f56;}
.dot.yellow{background:#ffbd2e;}
.dot.green{background:#27c93f;}

.file-name{
position:absolute;
left:50%;
transform:translateX(-50%);
font-family:'JetBrains Mono';
font-size:14px;
color:#9aa4b2;
letter-spacing:.3px;
}

/* ===== HERO TERMINAL CTA BUTTONS ===== */

/* ===== TERMINAL CHIP CTA ===== */

.hero-cta{
display:flex;
gap:16px;
margin-top:32px;
flex-wrap:nowrap;          /* keep side-by-side on laptop */
align-items:center;
position:relative;
z-index:2;
}

/* OUTER BORDER SHELL */

.terminal-chip{
flex:0 0 auto;             /* prevents stretching */
padding:2px;
background:#ff6a00;
text-decoration:none;
display:inline-block;
clip-path: polygon(
14px 0,
100% 0,
100% calc(100% - 14px),
calc(100% - 14px) 100%,
0 100%,
0 14px
);
transition:.25s;
}

/* INNER PANEL */
.terminal-chip-inner{
display:flex;
align-items:center;
gap:10px;
padding:12px 18px;
background:#14161d;
color:#d1d5db;
clip-path: polygon(
12px 0,
100% 0,
100% calc(100% - 12px),
calc(100% - 12px) 100%,
0 100%,
0 12px
);
}

/* ICON */

.chip-icon{

width:30px;
height:30px;
background:#0f1116;
display:flex;
align-items:center;
justify-content:center;
clip-path: polygon(
8px 0,
100% 0,
100% calc(100% - 8px),
calc(100% - 8px) 100%,
0 100%,
0 8px
);

}

.chip-icon img{
width:14px;
filter:invert(1)grayscale(1);
}

/* TEXT */

.chip-text span{
font-size:10px;
opacity:.65;
display:block;
}

.chip-text b{
font-size:15px;
color:white;
}

/* HOVER */


.chip-wrap{
position:relative;
display:inline-block;
}

.chip-wrap::before{
content:"";
position:absolute;
top:50%;
left:50%;
width:160px;
height:160px;
transform:translate(-50%,-50%);
background:radial-gradient(
circle,
rgba(255,106,0,.35) 0%,
rgba(255,106,0,.15) 40%,
transparent 70%
);
filter:blur(30px);
opacity:0;
transition:.3s;
pointer-events:none;
}

.chip-wrap:hover::before{
opacity:1;
}


/* CODE AREA */

.code-window pre{
flex:1;
min-height:0;      /* ⭐ VERY VERY IMPORTANT */
padding:28px 34px;
font-family:'JetBrains Mono';
font-size:15px;
line-height:1.85;
white-space:pre;
margin:0;
overflow:hidden;   /* keep */
}

/* BUTTON AREA */

.code-buttons{
display:flex;
gap:20px;
flex-shrink:0;
padding:26px 34px 34px 34px;
}


/* PRIMARY */

.download-btn:active{
transform:scale(.96);
}

.run-btn{
display:flex;
align-items:center;
gap:8px;                 /* ⭐ tighter */
padding:11px 20px;       /* ⭐ smaller */
border-radius:8px;
font-family:'JetBrains Mono';
font-size:14px;          /* ⭐ smaller text */
cursor:pointer;
transition:.18s ease;
background:rgba(255,106,0,.08);
border:1px solid rgba(255,106,0,.5);
color:#ff6a00;
}


.run-btn:hover{
background:rgba(255,106,0,.14);
}


/* SECONDARY */

.view-btn{
display:flex;
align-items:center;
gap:8px;
background:transparent;
border:1px solid rgba(255,255,255,.14);
color:#e5e7eb;
padding:11px 20px;
border-radius:8px;
font-family:'JetBrains Mono';
font-size:14px;
cursor:pointer;
transition:.18s ease;
}


.view-btn:hover span{
color:#e5e7eb;
}

.view-btn:hover{
color:#ff6a00;
border-color:rgba(255,106,0,.6);
background:rgba(255,106,0,.06);
}

.home{
  padding:120px 0;
}

.system-status{
display:inline-flex;
align-items:center;
gap:10px;
font-size:12px;
letter-spacing:.5px;
padding:6px 14px;
border:1px solid rgba(255,106,0,.6);
border-radius:8px;
background:rgba(255,106,0,.04);
color:#ff8a2a;
margin-bottom:18px;
}

/* DOT */

.system-status .dot{
width:7px;
height:7px;
background:#ff6a00;
border-radius:50%;
box-shadow:0 0 8px rgba(255,106,0,.8);
}

.hero-content{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap : 60px;
  margin-left:130px;     /* ⭐ push content left */
margin-right:auto;
}

.hero-left{
  max-width:600px;
  
}

h1{
  font-size:56px;
  line-height:1.2;
  margin-bottom:20px;
  white-space:nowrap;
}

@media (max-width:1100px){
.hero-title{
white-space:normal;
}
}

.gradient-text{
  background:linear-gradient(90deg,#ff6a00,#3b82f6);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-description{
  color:var(--muted);
  margin-bottom:30px;
  line-height:1.6;
}

.hero-buttons{
  display:flex;
  gap:20px;
  margin-bottom:30px;
}

.btn{
  padding:12px 24px;
  border-radius:8px;
  text-decoration:none;
  font-weight:500;
}

.btn.primary{
  background:var(--border);
  color:#fff;
}

.btn.secondary{
  border:1px solid var(--border);
  color:var(--border);
}

.loaded-modules{
display:flex;
align-items:center;
gap:16px;
margin-top:30px;
flex-wrap:wrap;
}

/* LABEL */

.loaded-modules > span{
font-size:11px;
color:#6f7b91;
letter-spacing:.8px;
white-space:nowrap;
}

/* TAG ROW */

.tags{
display:flex;
gap:12px;
flex-wrap:wrap;
}

/* TOKEN CHIP */

.tags span{

font-size:11px;              /* reduced */
font-weight:500;
padding:5px 12px;            /* tighter */
color:#ff8a2a;               /* ORANGE TEXT */
border:1px solid rgba(255,106,0,.5);
border-radius:6px;
background:rgba(255,106,0,.03);
transition:.15s ease;
}

/* VERY LIGHT HOVER */

.tags span:hover{
background:rgba(255,106,0,.08);
border-color:#ff6a00;
}


.window-header{
  color:var(--muted);
  margin-bottom:10px;
}

/* ================= ABOUT ================= */

.about{
padding:10px 0 120px 0;
}

.section-title{
  display:flex;
  align-items:center;
  gap:14px;

  font-size:34px;
  font-weight:650;
  margin-bottom:60px;
}

.title-icon{
  width:28px;
  height:28px;
  color:var(--border);
  stroke-width:2.2;
  transform:translateY(2px);   /* visual alignment */
}



/* layout */

.about-content{
display:flex;
gap:90px;              /* ⭐ slightly tighter */
align-items:flex-start;
}


/* ================= PROFILE CARD ================= */

.profile-card{
  width:560px;
  background:#111318;
  border-radius:22px;
  padding:38px 44px 34px;   /* ⭐ reduced */
  border:1px solid rgba(255,106,0,.25);
  box-shadow:
    0 0 40px rgba(255,106,0,.06),
    0 20px 50px rgba(0,0,0,.7);
}

/* neon glow */

.card-glow{
  position:absolute;
  inset:0;
  border-radius:26px;
  pointer-events:none;
  box-shadow:
      0 0 80px rgba(255,106,0,.15),
      inset 0 0 40px rgba(124,92,255,.06);
}

/* avatar */

.avatar-wrapper{
  display:flex;
  justify-content:center;
  margin-bottom:55px;
}

.avatar{
  width:170px;
  height:170px;
  border-radius:50%;
  position:relative;
  margin:auto;
  margin-bottom:26px;
}

.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}

/* orange arc */

.arc-orange{
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:3px solid transparent;
  border-top-color:#ff6a00;
  border-right-color:#ff6a00;
  transform:rotate(35deg);
}
.avatar::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:3px solid transparent;
  border-bottom-color:#3b82f6;
  border-left-color:#3b82f6;
  transform:rotate(35deg);
}

/* blue arc */

.avatar::after{
  content:"";
  position:absolute;

  right:14px;
  bottom:14px;

  width:14px;
  height:14px;

  background:#22c55e;
  border-radius:50%;

  border:3px solid #111318;

  animation:onlineGlow 2s infinite ease-out;

}


@keyframes onlineGlow{

  0%{
    box-shadow:0 0 0px rgba(34,197,94,.7);
  }

  60%{
    box-shadow:0 0 14px rgba(34,197,94,.9);
  }

  100%{
    box-shadow:0 0 0px rgba(34,197,94,0);
  }

}
/* info rows */

.info-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 0;

  border-bottom:1px solid rgba(255,255,255,.05);
}

.info-row:last-child{
  border-bottom:none;
}

.label{
  color:#7b8798;
  font-size:12px;
  letter-spacing:.7px;
}

.value{
  font-size:15px;
  font-weight:500;
}

.value.orange{ color:#ff6a00; }
.value.blue{ color:#3b82f6; }

.status{
  background:#0f2f1e;
  color:#22c55e;
  padding:5px 12px;
  border-radius:6px;
  font-size:12px;
}
/* ================= RIGHT ================= */

.about-right{
flex:1;
max-width:520px;

display:flex;          /* ⭐ IMPORTANT */
flex-direction:column;
gap:28px;              /* ⭐ controls rhythm */
}

/* terminal */


.terminal{
  background:#111318;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.06);

  overflow:hidden;

  box-shadow:0 20px 50px rgba(0,0,0,.6);

  font-family:'JetBrains Mono', monospace;

}
.terminal-header{
  background:#2a2c30;
  padding:14px 22px;

  font-size:14px;
  color:#9aa4b2;

  border-bottom:1px solid rgba(255,255,255,.05);
}

.terminal-body{
  padding:28px 32px;
}
.command{
  color:var(--purple);
  margin-top:22px;
  font-size:14px;
}

.output{
  border-left:2px solid #3a3a3a;
  padding-left:14px;
  margin-top:10px;
}

/* ================= CERT CAROUSEL ================= */

.cert-carousel{
display:flex;
align-items:center;
gap:14px;
}
.cert-viewport{
width:500px;
overflow:hidden;
}
.cert-track{
display:flex;
gap:30px;
width:max-content;   /* ⭐ THIS is the real fix */
}

.cert-badge{
width:160px;
height:160px;
flex-shrink:0;
object-fit:contain;
transition:.25s;
filter:drop-shadow(0 16px 24px rgba(0,0,0,.7));
}

.cert-badge:hover{

filter:
drop-shadow(0 0 6px rgba(255,106,0,.45))
drop-shadow(0 0 12px rgba(255,106,0,.28))
drop-shadow(0 16px 24px rgba(0,0,0,.75));

}
.cert-arrow{
background:none;
border:none;
padding:0;
cursor:pointer;

display:flex;
align-items:center;
justify-content:center;
}

.cert-arrow svg{
width:34px;
height:34px;
stroke:#ff6a00;
stroke-width:3;
transition:.25s;
}

.cert-arrow:hover svg{
filter:drop-shadow(0 0 6px rgba(255,106,0,.7));
transform:scale(1.15);
}

.about-cert-block{
display:flex;
flex-direction:column;
gap:14px;          /* ⭐ tighter professional rhythm */
}

.about-subheading{
  font-family:'JetBrains Mono', monospace;
  font-size:14px;
  color:#9aa4b2;
letter-spacing:.4px;
}

.about-subheading::before{
content:"> ";
color:#ff6a00;
}


/* 📱 MOBILE */

@media (max-width:900px){

.cert-carousel{
width:100%;
}

.cert-viewport{
width:80vw;
}

.cert-badge{
width:140px;
height:140px;
}

}


/* <<<<<<<<<<<<<<<< SKILLS-GLOBE  >>>>>>>>>>>>>>>>>> */
/* ========================= */
/* SKILLS SECTION */
/* ========================= */

.skills-section{
position:relative;
width:100%;
padding-top:60px;     /* was 120 */
padding-bottom:80px;  /* space for drag box */
overflow:hidden;
height:900px;
min-height:900px;
/* min-height:100vh; */
display:flex;
flex-direction:column;
}


/* ⭐ Globe Stage */

.globe-stage{
width:100%;
height:560px; 
overflow:visible;
display:flex;
align-items:center;
justify-content:center;
position:relative;
}


/* ⭐ Globe container (keep sharp) */

#globe-container{
width:100%;
height:100%;
display:flex;
justify-content:center;
align-items:center;
}

#globe-container canvas{
transform: translateY(-60px);
}

/* ⭐ Drag Box */


.drag-box{
position:relative;
margin-top:-30px;
left:50%;
transform:translateX(-50%);
width:max-content;
}

.drag-pill{
    padding:10px 18px;
    background:rgba(255,255,255,0.05);
    border-radius:20px;
    font-size:13px;
    color:#cbd5e1;
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,0.08);
}


body::before{
content:"";
position:fixed;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);
background-size:40px 40px;
pointer-events:none;
z-index:0;
}



/* ================= TIMELINE ================= */

.timeline-section{

padding:0 0 120px 0;
position:relative;

background-image:
linear-gradient(rgba(255,106,0,0.05) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,106,0,0.05) 1px,transparent 1px);

background-size:60px 60px;

}

.timeline-title{

font-family:'JetBrains Mono',monospace;
font-size:34px;
margin-bottom:80px;
color:#e5e7eb;

}

.timeline-title .git{

color:#ff6a00;
margin-right:10px;

}

/* timeline line */

.timeline{
position:relative;
width:100%;
max-width:1400px;   /* VERY IMPORTANT */
margin:0 auto;
}

.timeline::before{
content:"";
position:absolute;

left:50%;
top:0;
bottom:0;

width:2px;

background:linear-gradient(
to bottom,
rgba(255,106,0,0.0),
rgba(255,106,0,0.7),
rgba(255,106,0,0.7),
rgba(255,106,0,0.0)
);

transform:translateX(-50%);
box-shadow:0 0 14px rgba(255,106,0,0.9);
}
/* item */

.timeline-item{

position:relative;
width:50%;
margin-bottom:160px;/* more breathing like reference */
box-sizing:border-box;

}



.timeline-item::after{
content:"";
position:absolute;
top:50%;
transform:translateY(-50%);
width:16px;
height:16px;
border-radius:50%;
background:#ff6a00;
border:4px solid #111318;
z-index:3;
box-shadow:0 0 12px rgba(255,106,0,0.9);
}

.timeline-item.left::after{
right:-8px;
}

.timeline-item.right::after{
left:-8px;
}


.timeline-item.left{
left:0;
padding-right:90px;
}

.timeline-item.right{

left:50%;
padding-left:90px;

}

/* commit card */

.timeline-card{

position:relative;

background:linear-gradient(
to bottom,
#2a2f36 0%,
#171a1f 60%,
#111318 100%
);

padding:26px;

border-radius:14px;

border:1px solid rgba(255,106,0,0.18);

max-width:520px;   /* VERY IMPORTANT */

box-shadow:
0 0 0 1px rgba(255,255,255,0.03),
0 30px 80px rgba(0,0,0,0.8);
text-align:left;

}

.timeline-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:42px;

background:linear-gradient(
to bottom,
rgba(255,255,255,0.06),
rgba(255,255,255,0.02),
transparent
);

border-top-left-radius:14px;
border-top-right-radius:14px;
}

.timeline-card h3{
font-size:20px;
font-weight:650;
margin-bottom:14px;
color:#e6edf3;
}

.timeline-card h3 span{
font-size:17px;
color:#8b949e;
}

/* commit header */

.commit-header{
font-size:11px;
letter-spacing:0.3px;
opacity:0.9;
margin-bottom:22px;
display:flex;
align-items:center;
gap:10px;
}

.company{
margin-left:auto;
color:#8b949e;
font-size:12px;
}

.commit-hash{

color:#ffb84d;
margin-right:10px;

}

.branch{

background:#1f2937;
padding:4px 8px;
border-radius:6px;
margin-right:10px;

}

.commit-desc{

font-family:'JetBrains Mono',monospace;
font-size:13px;
line-height:1.7;

color:#9aa4b2;

padding-left:18px;

border-left:2px solid #ff6a00;

margin-bottom:22px;

}

/* tech stack */

.tech-stack{

margin-top:20px;
display:flex;
flex-wrap:wrap;
gap:8px;

}

.tech-stack span{

border:1px solid rgba(255,106,0,0.45);
border-radius:7px;
font-size:11px;
padding:5px 10px;
color:#ff7a18;
background:rgba(255,106,0,0.05);
}

/* footer */
.commit-footer{
margin-top:26px;
font-size:11px;
color:#6e7681;
border-top:1px solid rgba(255,255,255,0.05);
padding-top:16px;
}

.commit-footer .add{

color:#22c55e;
margin-left:10px;

}

.commit-footer .del{

color:#ef4444;
margin-left:10px;

}

/* date */

.date{

position:absolute;
top:50%;

transform:translateY(-50%);

display:flex;
align-items:center;
gap:8px;

background:#111318;
border:1px solid rgba(255,106,0,0.5);

padding:8px 18px;

border-radius:30px;

font-size:13px;
color:#cbd5e1;

}

.timeline-item.left .date{
right:-120px;
}

.timeline-item.right .date{
left:-120px;
}
/* ================= TIMELINE END ================= */

.timeline-end{

position:relative;
display:flex;
flex-direction:column;
align-items:center;

margin-top:60px;

}

/* node circle */

.timeline-end-node{

width:14px;
height:14px;

background:#ff6a00;

border-radius:50%;

border:4px solid #111318;

z-index:2;

}

/* initial commit pill */

.initial-commit{
margin-top:20px;
background:#111318;
border:1px solid rgba(255,255,255,0.1);
padding:12px 20px;
border-radius:30px;
font-family:'JetBrains Mono',monospace;
font-size:14px;
color:#9ca3af;
box-shadow:0 10px 40px rgba(0,0,0,0.4);

}


/* ================= PROJECTS SECTION ================= */

.projects{

padding:10px 0 120px 0;
background-image:
linear-gradient(rgba(255,106,0,0.05) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,106,0,0.05) 1px,transparent 1px);
background-size:60px 60px;
}

.projects-title{
font-family:'JetBrains Mono',monospace;
font-size:34px;
margin-bottom:60px;
}

/* layout */

.project-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
align-items:stretch;
}

.projects-layout{
display:grid;
grid-template-columns:320px 1fr;
gap:40px;
}

/* LEFT PANEL */

.repo-panel{
background:#111318;
border-radius:12px;
border:1px solid rgba(255,255,255,0.05);
overflow:hidden;
display:flex;
flex-direction:column;
height:550px;   /* ⭐ you can tune this */
}

.repo-header{

padding:14px 20px;

font-weight:600;

background:#0d1117;

display:flex;
align-items:center;
justify-content:space-between;

border-bottom:1px solid rgba(255,255,255,0.06);

}
.repo-header span{
float:right;
background:#1f2937;
padding:2px 8px;
border-radius:6px;
font-size:12px;
}


.repo-header-left{
display:flex;
align-items:center;
color:#c9d1d9;
}

.repo-count{
background:#21262d;
padding:2px 8px;
border-radius:20px;
font-size:12px;
color:#c9d1d9;
}
.repo-icon{
width:16px;
height:16px;
color:#8b949e;
margin-right:10px;
}

.repo-list{
list-style:none;
overflow-y:auto;
flex:1; 
}


.repo-list li{
padding:16px 20px;
border-bottom:1px solid rgba(255,255,255,0.05);
transition:0.2s;
cursor:pointer;
}

.repo-list li:hover{
background:#161b22;   /* ⭐ GitHub dark hover */
}
.repo-list h4{
color:#58a6ff;
margin-bottom:4px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.repo-list span{
font-size:12px;
color:#9ca3af;
}

.repo-list::-webkit-scrollbar{
width:6px;
}

.repo-list::-webkit-scrollbar-track{
background:transparent;
}

.repo-list::-webkit-scrollbar-thumb{
background:#1f2937;
border-radius:10px;
}

.repo-list::-webkit-scrollbar-thumb:hover{
background:#ff6a00;
}

/* RIGHT SIDE */

.pinned-title{

margin-bottom:20px;
font-size:14px;
letter-spacing:2px;
color:#9ca3af;

}

.project-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:30px;

}

/* project card */

.project-card{

background:#0f1720;

padding:26px;

border-radius:14px;

border:1px solid rgba(255,255,255,0.06);

display:flex;
flex-direction:column;
justify-content:space-between;

min-height:240px;

transition:
transform .18s ease,
box-shadow .18s ease,
border .18s ease;

}

.project-card:hover {

transform:translateY(-2px);

border:1px solid rgba(255,255,255,0.12);

box-shadow:0 10px 30px rgba(0,0,0,0.35);
color:#58a6ff;

}
.project-card:hover .project-repo-icon{
color:#58a6ff;
}

.project-header{

display:flex;
justify-content:space-between;
margin-bottom:10px;

}

.public{

background:#1c222b;

color:#9da7b3;

padding:4px 10px;

border-radius:20px;

font-size:12px;

display:flex;
align-items:center;
gap:6px;

}

.project-card p{

color:#9ca3af;
font-size:14px;
margin-bottom:16px;

}

.project-tags{

display:flex;
flex-wrap:wrap;
gap:8px;

margin-bottom:16px;

}

.project-tags span{

border:1px solid rgba(255,106,0,0.5);
padding:4px 10px;
border-radius:6px;

font-size:12px;
color:#ff6a00;

}

.project-footer{

display:flex;
justify-content:space-between;
align-items:center;

font-size:13px;

}

.project-footer button{

background:#1f2937;

color:#e5e7eb;

border:1px solid rgba(255,255,255,0.08);

padding:6px 14px;

border-radius:6px;

cursor:pointer;

font-size:13px;

transition:0.2s;

}

.project-footer button:hover{
background:rgba(255,106,0,0.12);
border:1px solid rgba(255,106,0,0.35);
color:#ff8c3a;
}

.project-repo-icon{
width:15px;
height:15px;
color:#8b949e;
flex-shrink:0;
transform:translateY(4px); 
margin-right: 3px;
}

.view-repos{

margin-top:40px;
text-align:center;
font-weight:500;
color:#cbd5e1;

transition:.2s;

cursor:pointer;

}
.view-repos:hover{

color:#58a6ff;

letter-spacing:.5px;

}

.repo-list a{
text-decoration:none;
display:block;
}

.repo-list a:hover h4{
color:#60a5fa;
}
.demo-btn{

background:#1f2937;

color:#e5e7eb;

border:1px solid rgba(255,255,255,0.08);

padding:6px 14px;

border-radius:6px;

font-size:13px;

text-decoration:none;

}

.demo-btn:hover{

background:#ff6a00;
color:white;

}

/* ================= CONTACT ================= */

.contact{
padding:10px 0 80px;
background-image:
linear-gradient(rgba(255,106,0,0.05) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,106,0,0.05) 1px,transparent 1px);
background-size:60px 60px;
}

.contact-title{
font-family:'JetBrains Mono',monospace;
font-size:34px;
margin-bottom:60px;
}

/* ===== layout ===== */

.contact-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:start;
}

/* ================= TERMINAL CARD ================= */

.contact-terminal{
background:#0b0f14;
border-radius:16px;
border:1px solid rgba(255,106,0,0.35);
overflow:hidden;
font-family:'JetBrains Mono', monospace;
transition:.3s;
box-shadow:
0 30px 80px rgba(0,0,0,0.8),
inset 0 1px 0 rgba(255,255,255,0.03);
}

.contact-terminal:hover{
border-color:#ff6a00;
box-shadow:
0 0 0 1px rgba(255,106,0,0.5),
0 20px 70px rgba(255,106,0,0.12),
0 30px 90px rgba(0,0,0,0.9);
transform:translateY(-2px);
}

/* terminal header */

.terminal-header{
height:42px;
padding:0 16px;
display:flex;
align-items:center;
gap:8px;
background:linear-gradient(to bottom,rgba(255,255,255,0.08),rgba(255,255,255,0.02));
border-bottom:1px solid rgba(255,255,255,0.05);
}
.terminal-output{
margin-top:18px;
font-family:'JetBrains Mono', monospace;
font-size:14px;
color:#22c55e;
opacity:0;
transform:translateY(6px);
transition:.35s;
}

.terminal-output.show{
opacity:1;
transform:translateY(0);
}
.dot{width:11px;height:11px;border-radius:50%;}
.red{background:#ff5f56;}
.yellow{background:#ffbd2e;}
.green{background:#27c93f;}

.file{
margin-left:auto;
font-size:12px;
color:#94a3b8;
display:flex;
align-items:center;
gap:6px;
}

.file-icon{
width:15px;
height:15px;
color:#4cc2ff;
}

/* ===== JSON EDITOR ===== */

.json-code{
padding:26px 26px 26px 0;
font-size:13px;
line-height:1.95;
color:#cbd5e1;
}

.json-row{
display:grid;
grid-template-columns:56px 1fr;
transition:.2s;
}

.json-row:hover{
background:rgba(255,106,0,0.05);
}

.ln{
text-align:right;
padding-right:14px;
font-size:12px;
color:#334155;
border-right:1px solid rgba(255,255,255,0.05);
user-select:none;
}

.code{
padding-left:16px;
}

.key{color:#ff7a2f;}
.string{color:#34d399;}

.json-code a{
text-decoration:none;
cursor:pointer;
}

.json-code a:hover{
text-decoration:underline;
color:#38bdf8;
text-underline-offset:3px;
}

.comment{
display:block;
margin-top:18px;
color:#64748b;
font-style:italic;
}

.comment::after{
content:"_";
margin-left:6px;
color:#ff6a00;
animation:blink 1s infinite;
}

@keyframes blink{
0%{opacity:0;}
50%{opacity:1;}
100%{opacity:0;}
}

/* ================= CODE EDITOR CARD ================= */


.code-header{
  position:relative;
  height:44px;

  background:
    linear-gradient(
      to bottom,
      #3a3f47 0%,
      #2f343b 100%
    );

  border-bottom:1px solid #0a0a0a;
}

.code-header::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:rgba(255,255,255,.08);
}


.contact-code{
  position:relative;
  background:#0b0f14;
  border-radius:18px;
  border:1px solid rgba(255,106,0,0.35);
  overflow:hidden;
}


.contact-code:hover{
border-color:#ff6a00;
box-shadow:
0 0 0 1px rgba(255,106,0,0.5),
0 25px 80px rgba(255,106,0,0.15),
0 40px 120px rgba(0,0,0,0.95);
}

/* ===== REAL EDITOR TAB ===== */

.code-tabs{
  position:absolute;
  bottom:-2px;     /* 🔥 was too low */
  left:26px;

  height:48px;
  padding:0 20px;

  display:flex;
  align-items:center;
  gap:8px;

  background:#111318;

  border:1px solid rgba(255,106,0,0.6);
  border-bottom:none;

  border-radius:10px 10px 0 0;

  font-size:14px;
  color:#cbd5e1;

  z-index:20;

  box-shadow:
    0 8px 18px rgba(0,0,0,.9);

    transform: translate(-26px, -2px);


}
.code-tabs{
  clip-path: polygon(
    12px 0,
    calc(100% - 12px) 0,
    100% 12px,
    100% 100%,
    0 100%,
    0 12px
  );
}

.code-tabs::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  right:-1px;
  height:2px;
  background:#ff6a00;
  border-radius:10px 10px 0 0;
}

.code-tabs::after{
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height:2px;
  background:#0b0f14;
}


.ts{
  color:#4cc2ff;
  font-weight:700;
}

/* ===== syntax ===== */

.keyword{color:#c084fc;}
.async{color:#60a5fa;}
.func{color:#facc15;}
.var{color:#e5e7eb;}
.prop{color:#fb923c;}
.bracket{color:#facc15;}

.code-body p{
padding-left:0;
line-height: 25px;
}
.code-body{
  background:#0b0f14;
  padding:22px 26px 28px;
}

.code-line{
display:flex;
width:100%;
font-size:12.6px;
line-height:1.9;
margin:2px 0;
}

.indent{
display:inline-block;
}

.indent-0{ padding-left:0; }
.indent-1{ padding-left:26px; }
.indent-2{ padding-left:52px; }
.indent-3{ padding-left:78px; }

/* inline inputs */

.code-input{
background:transparent;
border:none;
border-bottom:1px solid rgba(255,255,255,0.12);
color:#e5e7eb;
font-family:'JetBrains Mono';
width:260px;
max-width:100%;
outline:none;
transition:.2s;
}

.code-input:focus{
border-bottom:1px solid #38bdf8;
}

/* textarea */

.textarea-line{
padding-left:52px;
}

.code-message{

width:100%;

height:120px;

background:transparent;

border:1px solid rgba(255,106,0,0.8);

border-radius:10px;

padding:14px;

font-family:'JetBrains Mono';

resize:none;
color:#ff6a00; 

outline:none;

transition:.25s;

}

.code-message:focus{
border-color:#38bdf8;
box-shadow:0 0 0 1px rgba(56,189,248,0.5);
}

/* subtle run button */

.run-script{
margin-top:18px;
background:rgba(34,197,94,0.08);
border:1px solid rgba(34,197,94,0.35);
padding:9px 16px;
border-radius:8px;
font-weight:600;
font-size:13px;
color:#22c55e;
cursor:pointer;
display:inline-flex;
align-items:center;
gap:8px;
transition:.2s;

}

.run-script.loading{
pointer-events:none;
opacity:.9;
animation: pulseGlow 1.1s infinite;
}

@keyframes pulseGlow{

0%{
box-shadow:0 0 0px rgba(34,197,94,.0);
}

50%{
box-shadow:0 0 18px rgba(34,197,94,.7);
}

100%{
box-shadow:0 0 0px rgba(34,197,94,.0);
}

}

.run-script:hover{
background:rgba(34,197,94,0.15);
border-color:#22c55e;
}




/*<___________________>*/
.portfolio-footer{

text-align:center;
padding-bottom:50px;

font-family:'JetBrains Mono', monospace;

}


.footer-name{

color:#e5e7eb;

font-size:18px;

margin-bottom:10px;

}

.footer-name::before{
content:"</>";
color:#ff6a00;
margin-right:6px;
}

.footer-tech{

color:#9ca3af;

font-size:14px;

margin-bottom:6px;

}

.footer-copy{

color:#64748b;

font-size:13px;

}













.scroll-nav{

position:fixed;
right:40px;
top:50%;
transform:translateY(-50%);

display:flex;
flex-direction:column;
align-items:center;
gap:32px;

z-index:999;

}

/* vertical line */

.scroll-track{

position:absolute;
width:2px;
height:100%;

background:#3a3a3a;

left:50%;
transform:translateX(-50%);

}

/* base dots */

.nav-item{

position:relative;
width:36px;
height:36px;

display:flex;
align-items:center;
justify-content:center;

}

.dot{

width:12px;
height:12px;

background:#1e1e1e;

border-radius:50%;

border:2px solid #444;

transition:0.3s;

}

/* active state */

.nav-item.active .dot{

width:28px;
height:28px;

background:#111;

border:2.5px solid #ff5a2f;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 0 14px rgba(255,90,47,0.35);

transition:0.25s;

}




.nav-item.active::before{

content:"";

position:absolute;

width:42px;
height:42px;

border:2px dashed rgba(255,90,47,0.6);

border-radius:50%;

top:50%;
left:50%;
transform:translate(-50%,-50%);

animation:spin 14s linear infinite;

}
/* tooltip */

.tooltip{

position:absolute;

right:45px;                 /* closer to line */

top:50%;

transform:translateY(-50%);

background:#3a3a3a;

border:1px solid rgba(255,90,47,0.5);

border-radius:10px;

padding:6px 14px;           /* ↓ MUCH smaller */

font-size:13px;             /* ↓ smaller */

font-weight:500;

color:#ff5a2f;

font-family:'JetBrains Mono', monospace;

white-space:nowrap;

opacity:0;

pointer-events:none;

transition:0.25s;

}

.nav-item:hover .tooltip{

opacity:1;

}
.nav-item:hover .dot{

border:2px solid #ff5a2f;

background:#111;

box-shadow:0 0 12px rgba(255,90,47,0.35);

transform:scale(1.1);

}

.nav-item .dot svg{

opacity:0;
transition:.25s;

}

.nav-item .dot svg{
opacity:0;
transition:.25s;
}

.nav-item.active .dot svg{
opacity:1;
}

.dot svg{

width:14px;
height:14px;

stroke:#ff5a2f;
stroke-width:2;

opacity:0;

transition:0.25s;

}

/* rotation */

@keyframes spin{

from{transform:translate(-50%,-50%) rotate(0deg);}
to{transform:translate(-50%,-50%) rotate(360deg);}

}
#typing-code{
font-family:'JetBrains Mono', monospace;
font-size:14px;
line-height:1.8;
color:#cbd5e1;
}
.cursor{
color:#ff6a00;
animation:blink 1s infinite;
}

@keyframes blink{
0%,100%{opacity:1}
50%{opacity:0}
}
.ln{ color:#6b7280; }
.kw{ color:#c084fc; }
.fn{ color:#facc15; }
.str{ color:#34d399; }
.com{ color:#9aa4b2; }
.tag{ color:#d1d5db; }


/* ================= MOBILE ================= */

@media (max-width:900px){

.hero-content{
flex-direction:column;
margin-left:0;
gap:50px;
}

.hero-left{
max-width:100%;
text-align:center;
}

.hero-cta{
justify-content:center;
flex-wrap:wrap;
}

.code-window{
width:100%;
height:520px;     /* ⭐ fixed mobile height */
overflow:hidden;
}

.code-window pre{

flex:1;

min-height:0;
min-width:0;        /* ⭐ REAL FIX */

padding:28px 34px;

font-family:'JetBrains Mono';
font-size:15px;
line-height:1.85;

white-space:pre;
overflow-x:auto;
overflow-y:hidden;

margin:0;

}

h1{
font-size:38px;
white-space:normal;
}

}

@media (max-width:900px){

.about-content{
flex-direction:column;
gap:60px;
}

.profile-card{
width:100%;
}

.about-right{
max-width:100%;
}

}

@media (max-width:900px){

.skills-section{
height:auto;
min-height:auto;
padding-bottom:40px;
}

.globe-stage{
height:420px;
}



}

@media (max-width:900px){

.hero-cta{
gap:12px;
}

.terminal-chip-inner{
padding:10px 14px;
}

}



@media (max-width:900px){

.timeline::before{
left:20px;
transform:none;
}

.timeline-item{
width:100%;
padding-left:60px !important;
padding-right:0 !important;
left:0 !important;
margin-bottom:80px;
}

.timeline-item::after{
left:12px !important;
right:auto;
}

.date{
position:relative;
left:0 !important;
right:auto !important;
top:auto;
transform:none;
margin-bottom:14px;
display:inline-block;
}

}

@media (max-width:900px){

.projects-layout{
grid-template-columns:1fr;
}

.repo-panel{
height:420px;
order:2;
}

.project-grid{
grid-template-columns:1fr;
}

}

@media (max-width:900px){

.contact-layout{
grid-template-columns:1fr;
gap:50px;
}

.code-input,
.code-message{
width:100%;
}

}

img, canvas{
max-width:100%;
height:auto;
}


/* hide navbar */
@media (max-width:900px){

.scroll-nav{
display:none;
}

}

