

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* =========================
   ROOT
========================= */

:root{

    --bg:#070b14;
    --bg2:#0d1322;

    --card:#101827;
    --border:#1f2a44;

    --text:#ffffff;
    --muted:#9aa4b2;

    --accent:#00d4ff;
    --accent2:#8b5cf6;

    --success:#00ff95;
    --warning:#ffb020;

    --shadow:0 0 30px rgba(0,212,255,.15);
}

/* =========================
   BODY
========================= */

body{
    font-family:Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(0,212,255,.12), transparent 25%),
        radial-gradient(circle at bottom right, rgba(139,92,246,.12), transparent 25%),
        var(--bg);

    color:var(--text);

    min-height:100vh;
    overflow-x:hidden;
}

/* =========================
   SCROLLBAR
========================= */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#05070d;
}

::-webkit-scrollbar-thumb{
    background:var(--accent);
    border-radius:10px;
}

/* =========================
   NAVBAR
========================= */

nav{
    width:100%;
    padding:20px 8%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    position:sticky;
    top:0;

    backdrop-filter:blur(12px);

    background:rgba(7,11,20,.65);

    border-bottom:1px solid rgba(255,255,255,.05);

    z-index:999;
}

.logo{
    font-size:1.4rem;
    font-weight:bold;

    color:var(--accent);
}

.nav-links{
    display:flex;
    gap:25px;
}

.nav-links a{
    text-decoration:none;
    color:var(--text);

    transition:.3s;
}

.nav-links a:hover{
    color:var(--accent);
}

/* =========================
   HERO
========================= */

.hero{
    min-height:90vh;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:0 8%;
}

.hero-content{
    max-width:900px;
}

.hero-sub{
    color:var(--accent);

    letter-spacing:3px;

    margin-bottom:20px;
}

.hero h1{
    font-size:4rem;
    line-height:1.1;

    margin-bottom:25px;
}

.gradient{
    background:linear-gradient(
        90deg,
        var(--accent),
        var(--accent2)
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero p{
    color:var(--muted);

    line-height:1.8;

    font-size:1.1rem;

    margin-bottom:40px;
}

/* =========================
   BUTTONS
========================= */

.buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn{
    padding:14px 28px;

    border-radius:14px;

    text-decoration:none;

    transition:.3s;

    font-weight:bold;
}

.btn-primary{
    background:linear-gradient(
        135deg,
        var(--accent),
        var(--accent2)
    );

    color:white;

    box-shadow:var(--shadow);
}

.btn-primary:hover{
    transform:translateY(-3px);
}

.btn-secondary{
    border:1px solid var(--border);
        background:rgba(255,255,255,.05);
}

.btn-secondary:hover{
    background:rgb(69, 65, 65);
}

/* =========================
   SECTION
========================= */

section{
    padding:90px 8%;
}

.section-title{
    font-size:2.5rem;

    margin-bottom:15px;
}

.section-sub{
    color:var(--muted);

    margin-bottom:50px;
}

/* =========================
   PROJECTS
========================= */

.projects-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(320px,1fr));

    gap:30px;
}

.project-card{

    background:rgba(16,24,39,.85);

    border:1px solid var(--border);

    border-radius:24px;

    overflow:hidden;

    transition:.35s;

    position:relative;
}

.project-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 0 40px rgba(0,212,255,.08);
}

.project-image{
    width:100%;
    height:220px;

    background:
        linear-gradient(
            135deg,
            rgba(0,212,255,.25),
            rgba(139,92,246,.25)
        );

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:2rem;
    font-weight:bold;
}

.project-content{
    padding:25px;
}

.project-top{
    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:15px;
}

.project-name{
    font-size:1.5rem;
}

.badge{
    padding:6px 12px;

    border-radius:999px;

    font-size:.8rem;
    font-weight:bold;
}

.private{
    background:rgba(255,176,32,.15);
    color:var(--warning);
}

.public{
    background:rgba(0,255,149,.15);
    color:var(--success);
}

.project-description{
    color:var(--muted);

    line-height:1.7;

    margin-bottom:25px;
}

.tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;

    margin-bottom:25px;
}

.tag{
    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.05);

    padding:8px 14px;

    border-radius:999px;

    font-size:.85rem;
}

.card-buttons{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.card-btn{
    flex:1;

    text-align:center;

    padding:12px;

    border-radius:12px;

    text-decoration:none;

    color:white;

    border:1px solid var(--border);

    transition:.3s;
}

.card-btn:hover{
    background:rgba(255,255,255,.05);
}

/* =========================
   ABOUT
========================= */

.about-box{
    background:rgba(16,24,39,.85);

    border:1px solid var(--border);

    border-radius:24px;

    padding:40px;

    line-height:1.9;

    color:var(--muted);
}

/* =========================
   FOOTER
========================= */

footer{
    padding:40px 8%;

    border-top:1px solid rgba(255,255,255,.05);

    color:var(--muted);

    text-align:center;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

    .hero h1{
        font-size:2.7rem;
    }

    .nav-links{
        display:none;
    }

    .section-title{
        font-size:2rem;
    }

}
/* =========================
   PROJECT EXTRA INFO
========================= */

.project-extra{

    margin-bottom:25px;

    padding:18px;

    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            rgba(0,212,255,.08),
            rgba(139,92,246,.08)
        );

    border:1px solid rgba(255,255,255,.06);

    position:relative;

    overflow:hidden;
}

.project-extra::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:4px;
    height:100%;

    background:
        linear-gradient(
            to bottom,
            var(--accent),
            var(--accent2)
        );
}

.project-extra h3{

    font-size:1rem;

    margin-bottom:12px;

    color:var(--accent);

    letter-spacing:.5px;
}

.project-extra p{

    color:var(--muted);

    line-height:1.7;

    font-size:.95rem;
}
.project-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.project-image img{
    transition:0.4s ease;
}

.project-card:hover .project-image img{
    transform:scale(1.05);
}
.hidden{
    display:none;
}

#project-view{
    padding:90px 8%;
}
.project-detail-image{
    width:100%;
    max-width:900px;
    margin:20px auto;
    border-radius:20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
}

.project-detail-image img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
}