
.pl-library{
    color:#fff;
}

.pl-toolbar{
    margin:0 0 28px 0;
}

.pl-toolbar-inner{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
    background:#111827;
    padding:16px;
    border-radius:16px;
}

.pl-toolbar input,
.pl-toolbar select{
    min-height:46px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.12);
    background:#0f172a;
    color:#fff;
    padding:0 14px;
    min-width:220px;
}

.pl-toolbar button,
.pl-reset{
    min-height:46px;
    padding:0 18px;
    border-radius:12px;
    border:none;
    background:#facc15;
    color:#111;
    font-weight:700;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.pl-reset{
    background:#1f2937;
    color:#fff;
}

.project-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:24px;
}

.project-card{
    background:#0b1020;
    border-radius:18px;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.project-card:hover{
    transform:translateY(-4px) scale(1.02);
    box-shadow:0 16px 36px rgba(0,0,0,.35);
}

.project-card a{
    text-decoration:none;
    color:#fff;
    display:block;
}

.project-thumb{
    aspect-ratio:16 / 10;
    background:#111827;
    overflow:hidden;
}

.project-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.pl-no-image{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#cbd5e1;
    padding:20px;
    text-align:center;
}

.project-content{
    padding:16px;
}

.project-content h3{
    margin:0 0 12px 0;
    font-size:18px;
    line-height:1.3;
}

.project-branches{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.project-branches span{
    display:inline-block;
    padding:6px 10px;
    border-radius:999px;
    background:#1e293b;
    color:#cbd5e1;
    font-size:12px;
}

.pl-empty{
    background:#111827;
    padding:22px;
    border-radius:16px;
    color:#cbd5e1;
}

@media (max-width: 640px){
    .pl-toolbar-inner{
        flex-direction:column;
        align-items:stretch;
    }

    .pl-toolbar input,
    .pl-toolbar select,
    .pl-toolbar button,
    .pl-reset{
        width:100%;
    }
}
