:root{
    --bg:#070b14;
    --card:#111827;
    --border:#1f2937;
    --text:#f8fafc;
    --muted:#94a3b8;
    --accent:#6366f1;
    --accent2:#8b5cf6;
}

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:Inter,Segoe UI,sans-serif;

    background:
        radial-gradient(circle at top right,
        rgba(99,102,241,.20),
        transparent 25%),
        #070b14;

    color:var(--text);
    min-height:100vh;
}

/* =========================
   TOPBAR
========================= */

.topbar{
    position:fixed;
    top:0;
    left:0;
    right:0;

    height:70px;

    display:flex;
    align-items:center;

    padding:0 30px;

    background:rgba(10,15,25,.85);
    backdrop-filter:blur(20px);

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

    z-index:1000;
}

.logo{
    font-size:28px;
    font-weight:800;
    letter-spacing:1px;
}

/* =========================
   SIDEBAR
========================= */

.sidebar{
    position:fixed;

    top:70px;
    left:0;

    width:240px;
    height:calc(100vh - 70px);

    padding:20px;

    background:rgba(10,15,25,.85);
    backdrop-filter:blur(20px);

    border-right:1px solid var(--border);
}

.sidebar a{
    display:block;

    padding:14px 16px;
    margin-bottom:8px;

    border-radius:12px;

    color:#cbd5e1;
    text-decoration:none;

    transition:.25s;
}

.sidebar a:hover{
    background:rgba(99,102,241,.15);
    color:white;
    transform:translateX(6px);
}

/* =========================
   MAIN CONTENT
========================= */

.content{
    margin-left:240px;
    padding:100px 40px 40px;
}

/* =========================
   PROJECT HEADER + SEARCH
========================= */

.projects-header{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:30px;
    gap:20px;
}

.projects-header h2{
    font-size:2rem;
}

/* SEARCH BAR */

#projectSearch{
    width:320px;

    padding:12px 16px;

    background:#0f172a;

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

    border-radius:12px;

    color:white;

    transition:.25s;
}

#projectSearch:focus{
    outline:none;

    border-color:var(--accent);

    box-shadow:
        0 0 0 3px rgba(99,102,241,.2),
        0 0 18px rgba(99,102,241,.25);
}

/* =========================
   PROJECT GRID
========================= */

.project-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fill,minmax(320px,1fr));

    gap:25px;
}

/* PROJECT CARD */

.card{
    position:relative;

    background:var(--card);

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

    border-radius:24px;

    padding:30px;

    transition:.25s ease;

    overflow:hidden;
}

.project-card {
    display: block;
}

.card:hover{
    transform:translateY(-8px);

    border-color:rgba(99,102,241,.5);
}

/* subtle glow effect */
.card::before{
    content:"";

    position:absolute;

    top:-80px;
    right:-80px;

    width:160px;
    height:160px;

    background:radial-gradient(
        circle,
        rgba(99,102,241,.25),
        transparent 70%
    );

    pointer-events:none;
}

.card h3{
    font-size:1.4rem;
    margin-bottom:10px;
}

.card p{
    color:var(--muted);
    margin-bottom:18px;
    line-height:1.5;
}

.card a{
    color:#818cf8;
    text-decoration:none;

    font-weight:600;
}

.card a:hover{
    color:white;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:900px){

    .sidebar{
        display:none;
    }

    .content{
        margin-left:0;
        padding:90px 20px 40px;
    }

    .projects-header{
        flex-direction:column;
        align-items:stretch;
    }

    #projectSearch{
        width:100%;
    }
}