body .wrap:has(.pl-page){max-width:1320px}

/* Hero */
.pl-hero{
    text-align:center;padding:36px 40px 30px;
    background:radial-gradient(ellipse 70% 55% at 50% 100%,var(--ac05) 0%,transparent 70%),var(--bg1);
    border:1px solid var(--border);border-radius:18px;margin-bottom:20px;
    position:relative;overflow:hidden;
}
.pl-hero::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:300px;height:1px;background:linear-gradient(90deg,transparent,var(--ac),transparent)}
.pl-hero h1{font-size:1.8rem;font-weight:900;letter-spacing:-.6px;line-height:1.1;margin-bottom:8px}
.pl-hero h1 span{background:linear-gradient(135deg,var(--ac),#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pl-hero p{font-size:.84rem;color:var(--text3);line-height:1.6;margin-bottom:16px}
.pl-hero-stats{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.pl-hs{font-size:.78rem;color:var(--text3);font-weight:500}
.pl-hs-v{font-family:var(--mono);font-weight:800;color:var(--ac);font-size:.82rem}
.pl-hs-sep{color:var(--text3);opacity:.3;font-size:.7rem}

.pl-search-box{max-width:520px;margin:0 auto;position:relative}
.pl-search-box input{
    width:100%;padding:12px 48px 12px 18px;
    background:var(--bg2);border:1px solid var(--border);border-radius:10px;
    color:var(--text);font-size:.86rem;font-family:inherit;outline:none;transition:border-color .2s;
}
.pl-search-box input:focus{border-color:var(--ac)}
.pl-search-box button{
    position:absolute;right:6px;top:50%;transform:translateY(-50%);
    background:var(--ac);border:none;border-radius:7px;
    width:34px;height:34px;display:flex;align-items:center;justify-content:center;
    cursor:pointer;color:#fff;font-size:.7rem;
}

/* Filters bar */
.pl-bar{
    display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;
    background:var(--bg1);border:1px solid var(--border);border-radius:10px;padding:10px 16px;
}
.pl-bar .info{font-size:.78rem;color:var(--text3)}
.pl-bar .info strong{color:var(--text)}
.pl-bar a{font-size:.74rem;color:var(--ac);font-weight:600}

/* Table */
.pl-table{width:100%;background:var(--bg1);border:1px solid var(--border);border-radius:14px;overflow:hidden;border-collapse:collapse}
.pl-table th:first-child,.pl-table td:first-child{width:36px;text-align:center;padding-left:10px;padding-right:2px}
.pl-table th{background:var(--bg2);padding:9px 14px;font-size:.58rem;font-weight:700;color:var(--text3);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}
.pl-table td{padding:8px 14px;border-top:1px solid var(--border);font-size:.82rem}
.pl-table tr:hover td{background:var(--bg2)}

.pl-name{display:flex;align-items:center;gap:8px}
.pl-name a{font-weight:600;color:var(--text);transition:color .12s}
.pl-name a:hover{color:var(--ac)}
.pl-status{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pl-status.on{background:#22c55e;box-shadow:0 0 4px rgba(34,197,94,.3)}.pl-status.off{background:var(--text3);opacity:.15}
.pl-tag{font-size:.54rem;padding:2px 6px;border-radius:4px;font-weight:700}
.pl-tag.online{background:rgba(34,197,94,.12);color:#22c55e}

.pl-rank{width:26px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.65rem;font-family:var(--mono)}
.pl-rank.g{background:#f59e0b;color:#000}.pl-rank.s{background:#94a3b8;color:#000}.pl-rank.b{background:#b45309;color:#fff}.pl-rank.n{color:var(--text3)}
.pl-time{font-family:var(--mono);font-size:.78rem}
.pl-frags{font-family:var(--mono);font-size:.78rem}

.pagination{display:flex;gap:4px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.pagination a,.pagination span{padding:6px 12px;border-radius:6px;font-size:.76rem;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text3);background:var(--bg1);transition:all .15s}
.pagination a:hover{border-color:var(--ac);color:var(--ac)}
.pagination .active{background:var(--ac);color:#fff;border-color:var(--ac)}
.pagination .dots{border:none;background:none;padding:6px 4px}

@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.pl-hero{animation:up .4s ease both}
.pl-bar{animation:up .4s ease .05s both}
.pl-table{animation:up .4s ease .1s both}

@media(max-width:600px){
    .pl-hero{padding:28px 20px 22px}
    .pl-hero h1{font-size:1.4rem}
    .pl-table th:nth-child(4),.pl-table td:nth-child(4),
    .pl-table th:nth-child(5),.pl-table td:nth-child(5),
    .pl-table th:nth-child(6),.pl-table td:nth-child(6){display:none}
}
