/* ==========================
   Fa1dz Portfolio
   Main Stylesheet
========================== */

:root{

--bg:#05070d;
--bg2:#0b1020;
--glass:rgba(255,255,255,.07);
--glass-border:rgba(255,255,255,.12);

--primary:#58a6ff;
--secondary:#7c4dff;
--accent:#00ffd5;

--text:#ffffff;
--text2:#c5d0e0;

--shadow:0 10px 40px rgba(0,0,0,.45);

--radius:20px;

}

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

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;

background:var(--bg);

color:var(--text);

overflow-x:hidden;

}


/* ==========================
Animated Background
========================== */

body::before{

content:"";

position:fixed;

top:-50%;

left:-50%;

width:200%;

height:200%;

background:

radial-gradient(circle at 20% 30%,rgba(0,255,213,.15),transparent 30%),

radial-gradient(circle at 80% 40%,rgba(88,166,255,.18),transparent 35%),

radial-gradient(circle at 40% 80%,rgba(124,77,255,.15),transparent 35%),

linear-gradient(135deg,#05070d,#0b1020,#05070d);

animation:bgMove 25s linear infinite;

z-index:-5;

}

@keyframes bgMove{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}


/* ==========================
Loader
========================== */

#loader{

position:fixed;

inset:0;

display:flex;

justify-content:center;

align-items:center;

background:#05070d;

z-index:99999;

transition:.8s;

}

.loader-logo{

font-size:70px;

font-weight:800;

color:white;

animation:pulse 1.2s infinite;

}

.hidden{

opacity:0;

pointer-events:none;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}


/* ==========================
Navigation
========================== */

nav{

position:fixed;

top:0;

left:0;

width:100%;

display:flex;

justify-content:space-between;

align-items:center;

padding:22px 8%;

backdrop-filter:blur(18px);

background:rgba(0,0,0,.25);

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

z-index:500;

}

.logo{

font-size:28px;

font-weight:800;

color:white;

letter-spacing:2px;

}

nav ul{

display:flex;

gap:40px;

list-style:none;

}

nav a{

text-decoration:none;

color:white;

transition:.3s;

font-weight:500;

}

nav a:hover{

color:var(--accent);

}


/* ==========================
Hero
========================== */

header{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

padding:0 10%;

}

.hero{

display:grid;

grid-template-columns:1fr 400px;

gap:70px;

align-items:center;

}

.hero h1{

font-size:72px;

line-height:1.1;

margin-bottom:25px;

}

.hero span{

background:linear-gradient(90deg,var(--primary),var(--accent));

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.hero p{

font-size:22px;

color:var(--text2);

line-height:1.8;

margin-bottom:40px;

}


/* ==========================
Buttons
========================== */

.buttons{

display:flex;

gap:20px;

}

.btn{

padding:15px 35px;

border-radius:50px;

text-decoration:none;

font-weight:700;

background:linear-gradient(135deg,var(--primary),var(--secondary));

color:white;

transition:.35s;

box-shadow:0 15px 40px rgba(88,166,255,.3);

}

.btn:hover{

transform:translateY(-5px);

box-shadow:0 20px 50px rgba(0,255,213,.35);

}

.secondary{

background:transparent;

border:2px solid rgba(255,255,255,.15);

box-shadow:none;

}

.secondary:hover{

border-color:var(--accent);

}


/* ==========================
Glass Cards
========================== */

.glass,

.glass-card{

background:var(--glass);

backdrop-filter:blur(18px);

border:1px solid var(--glass-border);

border-radius:var(--radius);

padding:35px;

box-shadow:var(--shadow);

transition:.35s;

}

.glass:hover,

.glass-card:hover{

transform:translateY(-8px);

border-color:rgba(0,255,213,.35);

}


/* ==========================
Sections
========================== */

section{

padding:120px 10%;

}

section h2{

font-size:44px;

margin-bottom:40px;

}


/* ==========================
Skills
========================== */

.skill-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

gap:22px;

}

.skill{

padding:22px;

border-radius:18px;

background:var(--glass);

border:1px solid rgba(255,255,255,.08);

text-align:center;

font-weight:700;

transition:.35s;

}

.skill:hover{

transform:translateY(-6px);

background:rgba(0,255,213,.08);

}


/* ==========================
Projects
========================== */

.title-row{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:45px;

}

#search{

padding:15px 22px;

background:rgba(255,255,255,.05);

border:none;

outline:none;

color:white;

border-radius:40px;

width:320px;

}

#repoGrid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

gap:30px;

}

.repo{

background:var(--glass);

border-radius:20px;

padding:30px;

border:1px solid rgba(255,255,255,.08);

transition:.35s;

cursor:pointer;

}

.repo:hover{

transform:translateY(-10px);

border-color:var(--accent);

}

.repo h3{

margin-bottom:15px;

font-size:24px;

}

.repo p{

color:var(--text2);

margin-bottom:20px;

line-height:1.6;

}

.repo .stats{

display:flex;

gap:25px;

font-size:15px;

color:#b4c4dd;

}


/* ==========================
Footer
========================== */

footer{

padding:40px;

text-align:center;

color:#8fa0bb;

}


/* ==========================
Scrollbar
========================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#05070d;

}

::-webkit-scrollbar-thumb{

background:#3d78ff;

border-radius:100px;

}

::-webkit-scrollbar-thumb:hover{

background:#00ffd5;

}

/* ==========================
   Particle Canvas Background
========================== */

#particleCanvas{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:100%;

    z-index:-2;

    pointer-events:none;

}

/* ==========================
   Custom Cursor
========================== */


#cursor{

position:fixed;

width:25px;

height:25px;

border-radius:50%;

background:

radial-gradient(

circle,

rgba(0,255,213,.9),

rgba(88,166,255,.3)

);

pointer-events:none;

z-index:9999;

transform:

translate(-50%,-50%);

mix-blend-mode:screen;

transition:

width .25s,

height .25s,

opacity .25s;

box-shadow:

0 0 25px rgba(0,255,213,.7);

}



.cursor-hover{

width:55px!important;

height:55px!important;

opacity:.6;

}

/* ==========================
   GitHub Profile Picture
========================== */


.profile-image{

width:280px;

height:280px;

object-fit:cover;

border-radius:50%;

border:5px solid rgba(0,255,213,.5);

animation:floating 5s infinite;


box-shadow:

0 0 40px rgba(0,255,213,.35),

0 0 80px rgba(88,166,255,.2);


transition:.4s;

}


.profile-image:hover{

transform:scale(1.05);

box-shadow:

0 0 60px rgba(0,255,213,.6);

}
