.psv{--psv-a:#4fea9f;--psv-a-rgb:79,234,159;--psv-r:18px;--psv-ri:14px;--psv-card:linear-gradient(1deg,#1d1d24 30%,#24242c 100%);--psv-soft:rgba(255,255,255,.04);--psv-line:rgba(255,255,255,.07);--psv-muted:#8f91a6;container:psv/inline-size;position:relative;display:flex;flex-direction:column;gap:14px;margin:0 0 20px;padding:18px;border:1px solid var(--psv-line);border-radius:var(--psv-r);background:var(--psv-card);box-shadow:0 18px 40px -28px rgba(0,0,0,.8);color:#eceef5;font-family:inherit}
.psv *,.psv *::before,.psv *::after,.psv-modal *,.psv-modal *::before,.psv-modal *::after{box-sizing:border-box}
.psv--r-square{--psv-r:10px;--psv-ri:8px}
.psv--r-round{--psv-r:26px;--psv-ri:20px}
.psv [hidden]{display:none!important}

.psv__head{display:flex;align-items:center;gap:12px;min-width:0}
.psv__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:rgba(var(--psv-a-rgb),.14);color:var(--psv-a);font-size:22px}
.psv__titles{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
.psv__titles b{overflow:hidden;color:#fff;font-size:17px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.psv__titles small{overflow:hidden;color:var(--psv-muted);font-size:12.5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.psv__back{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:36px;margin:0;padding:0 13px;border:1px solid var(--psv-line);border-radius:11px;background:var(--psv-soft);color:#d9dbe6;font-family:inherit;font-size:12.5px;font-weight:800;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}
.psv__back:hover{border-color:rgba(var(--psv-a-rgb),.45);color:var(--psv-a);background:rgba(var(--psv-a-rgb),.08)}
.psv__back i{font-size:17px}
.psv__total{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border:1px solid var(--psv-line);border-radius:999px;background:rgba(10,10,14,.35);color:var(--psv-muted);font-size:12.5px;font-weight:700;white-space:nowrap}
.psv__total b{color:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.psv__total i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18);animation:psvLive 1.8s ease-in-out infinite}
@keyframes psvLive{50%{box-shadow:0 0 0 6px rgba(34,197,94,.04)}}

.psv__modes{display:grid;grid-template-columns:repeat(var(--psv-mcols,3),minmax(0,1fr));gap:12px}
.psv-mode{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-width:0;min-height:230px;margin:0;padding:0;overflow:hidden;border:1px solid var(--psv-line);border-radius:var(--psv-ri);background:#16161c;color:#fff;font-family:inherit;text-align:left;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .25s ease,box-shadow .25s ease}
.psv-mode:hover,.psv-mode:focus-visible{transform:translateY(-4px);border-color:rgba(var(--psv-a-rgb),.45);box-shadow:0 20px 40px -18px rgba(var(--psv-a-rgb),.35);outline:0}
.psv-mode--sk{cursor:default;background:linear-gradient(100deg,#1b1b22 30%,#24242c 50%,#1b1b22 70%) 0 0/300% 100%;animation:psvSk 1.4s linear infinite}
.psv-mode--sk:hover{transform:none;box-shadow:none;border-color:var(--psv-line)}
@keyframes psvSk{to{background-position:-150% 0}}
.psv-mode__bg{position:absolute;z-index:-3;inset:0}
.psv-mode__bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.psv-mode:hover .psv-mode__bg img{transform:scale(1.06)}
.psv-mode__shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(12,12,17,0) 25%,rgba(12,12,17,.7) 65%,rgba(12,12,17,.95) 100%),radial-gradient(70% 60% at 50% 100%,rgba(var(--psv-a-rgb),.18),transparent 70%)}
.psv-mode__char{position:absolute;z-index:-1;right:0;bottom:0;height:92%;width:auto;max-width:70%;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 12px 22px rgba(0,0,0,.5));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.psv-mode:hover .psv-mode__char{transform:translateY(-4px) scale(1.03)}
.psv-mode__char:not([src]),.psv-mode__char[src=""]{display:none}
.psv-mode__body{display:flex;flex-direction:column;gap:5px;min-width:0;padding:16px}
.psv-mode__name{color:#fff;font-size:20px;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.psv-mode__desc{display:-webkit-box;overflow:hidden;color:rgba(255,255,255,.7);font-size:12.5px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.psv-mode__desc:empty{display:none}
.psv-mode__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.psv-mode__online,.psv-mode__count{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:8px;background:rgba(10,10,14,.6);border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:800;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.psv-mode__online i{width:7px;height:7px;border-radius:50%;background:#22c55e}
.psv-mode__online.is-empty i{background:#6b6d80}
.psv-mode__count i{color:var(--psv-a);font-size:14px}
.psv-mode__go{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:rgba(var(--psv-a-rgb),.9);color:#0c1410;font-size:20px;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease}
.psv-mode:hover .psv-mode__go{opacity:1;transform:none}

.psv--m-banner .psv__modes{grid-template-columns:minmax(0,1fr)}
.psv--m-banner .psv-mode{min-height:120px;align-items:center}
.psv--m-banner .psv-mode__shade{background:linear-gradient(90deg,rgba(12,12,17,.95) 0%,rgba(12,12,17,.7) 45%,rgba(12,12,17,.1) 100%)}
.psv--m-banner .psv-mode__char{height:120%;right:6%}
.psv--m-banner .psv-mode__body{max-width:62%;padding:18px 20px}
.psv--m-banner .psv-mode__go{top:50%;right:18px;opacity:1;transform:translateY(-50%)}
.psv--m-banner .psv-mode:hover .psv-mode__go{transform:translate(3px,-50%)}
.psv--m-tiles .psv__modes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.psv--m-tiles .psv-mode{min-height:110px}
.psv--m-tiles .psv-mode__char{display:none}
.psv--m-tiles .psv-mode__desc{display:none}
.psv--m-tiles .psv-mode__name{font-size:16px}
.psv--m-tiles .psv-mode__body{padding:12px}

.psv__hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:130px;overflow:hidden;border:1px solid rgba(var(--psv-a-rgb),.25);border-radius:var(--psv-ri)}
.psv__hero-bg{position:absolute;z-index:-2;inset:0;background:#16161c}
.psv__hero-bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.psv__hero-bg img:not([src]){display:none}
.psv__hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,12,17,.95),rgba(12,12,17,.55) 60%,rgba(12,12,17,.25)),radial-gradient(60% 120% at 0 100%,rgba(var(--psv-a-rgb),.2),transparent 70%)}
.psv__hero-body{display:flex;flex-direction:column;gap:6px;max-width:620px;padding:18px 20px}
.psv__hero-name{color:#fff;font-size:22px;font-weight:800}
.psv__hero-desc{color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}
.psv__hero-desc:empty{display:none}
.psv__hero-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}

.psv-chip{display:inline-flex;align-items:center;gap:5px;height:28px;margin:0;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(10,10,14,.55);color:#e6e8f0;font-family:inherit;font-size:12px;font-weight:800;white-space:nowrap}
.psv-chip i{color:var(--psv-a);font-size:15px}
.psv-chip em{font-style:normal}
.psv-chip--live i{color:#22c55e}

.psv__list{display:flex;flex-direction:column;gap:14px}
.psv-group{display:flex;flex-direction:column;gap:10px}
.psv-group__head{display:flex;align-items:center;gap:8px;color:var(--psv-muted);font-size:12px;font-weight:700}
.psv-group__head i{color:var(--psv-a);font-size:16px}
.psv-group__head b{color:#fff;font-size:13.5px;font-weight:800}
.psv-group__online{padding:2px 8px;border-radius:7px;background:rgba(var(--psv-a-rgb),.12);color:var(--psv-a);font-weight:800}
.psv-group__line{flex:1 1 auto;height:1px;background:var(--psv-line)}

.psv-servers{display:grid;grid-template-columns:repeat(var(--psv-scols,2),minmax(0,1fr));gap:10px}
.psv--cols-1 .psv-servers{--psv-scols:1}
.psv--cols-2 .psv-servers{--psv-scols:2}
.psv--cols-3 .psv-servers{--psv-scols:3}
.psv-servers.is-one{--psv-scols:1}

.psv-srv{position:relative;isolation:isolate;display:flex;align-items:flex-end;gap:10px;min-width:0;min-height:128px;padding:16px;overflow:hidden;border:1px solid var(--psv-line);border-radius:var(--psv-ri);background:#16161c;color:#fff;cursor:pointer;outline:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease,box-shadow .25s ease}
.psv-srv:hover,.psv-srv:focus-visible{transform:translateY(-3px);border-color:rgba(var(--psv-a-rgb),.45);box-shadow:0 16px 32px -16px rgba(0,0,0,.7)}
.psv-srv.is-off{opacity:.62}
.psv-srv__map{position:absolute;z-index:-2;inset:0}
.psv-srv__map img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.psv-srv:hover .psv-srv__map img{transform:scale(1.06)}
.psv-srv__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,12,17,.94) 0%,rgba(12,12,17,.72) 55%,rgba(12,12,17,.4) 100%)}
.psv-srv__body{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;min-width:0}
.psv-srv__top{display:flex;align-items:center;gap:8px;min-width:0}
.psv-srv__status{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.6)}
.psv-srv.is-off .psv-srv__status{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.5)}
.psv-srv.is-empty .psv-srv__status{background:#f5a524;box-shadow:none}
.psv-srv__name{min-width:0;overflow:hidden;color:#fff;font-size:15px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.psv-srv__meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:rgba(255,255,255,.7);font-size:12px;font-weight:700}
.psv-srv__meta span{display:inline-flex;align-items:center;gap:4px;min-width:0}
.psv-srv__meta i{color:var(--psv-a);font-size:14px}
.psv-srv__meta em{overflow:hidden;font-style:normal;white-space:nowrap;text-overflow:ellipsis}
.psv-srv__ip{display:none!important}
.psv--ip .psv-srv__ip{display:inline-flex!important}
.psv-srv__players{display:flex;align-items:center;gap:10px}
.psv-srv__players b{flex:0 0 auto;min-width:44px;color:#fff;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.psv-srv__bar{display:none;flex:1 1 auto;max-width:260px;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}
.psv--bar .psv-srv__bar{display:block}
.psv-srv__bar i{display:block;height:100%;min-width:4px;border-radius:inherit;background:var(--psv-a);transition:width .6s ease}
.psv-srv.is-mid .psv-srv__bar i{background:#f5a524}
.psv-srv.is-high .psv-srv__bar i{background:#ef4444}
.psv-srv__actions{flex:0 0 auto;display:flex;align-self:center;gap:6px}

.psv-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;min-width:36px;margin:0;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(10,10,14,.55);color:#e6e8f0;font-family:inherit;font-size:13px;font-weight:800;line-height:1;text-decoration:none!important;white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}
.psv-btn i{font-size:17px}
.psv-btn:hover{border-color:rgba(var(--psv-a-rgb),.45);color:var(--psv-a)}
.psv-btn:active{transform:scale(.95)}
.psv-btn--play{border-color:transparent;background:rgba(var(--psv-a-rgb),.9);color:#0c1410}
.psv-btn--play:hover{background:var(--psv-a);color:#0c1410}
.psv-btn--primary{border-color:transparent;background:linear-gradient(135deg,var(--psv-a),rgba(var(--psv-a-rgb),.75));color:#0c1410!important}
.psv-btn--primary:hover{filter:brightness(1.08);color:#0c1410}
.psv-btn--danger{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.16);color:#ff8a8a}
.psv-btn--danger:hover{border-color:rgba(239,68,68,.6);background:rgba(239,68,68,.26);color:#ffb3b3}
.psv-btn--wide{padding:0 16px;height:42px}
.psv-btn.is-done{border-color:rgba(34,197,94,.5);color:#4ade80}
.psv-btn.is-fail{border-color:rgba(239,68,68,.5);color:#ff8a8a}

.psv--s-rows .psv-servers{grid-template-columns:minmax(0,1fr);gap:8px}
.psv--s-rows .psv-srv{align-items:center;min-height:0;padding:10px 12px 10px 10px}
.psv--s-rows .psv-srv__map{position:relative;z-index:0;flex:0 0 auto;width:84px;height:52px;overflow:hidden;border-radius:10px;order:-1}
.psv--s-rows .psv-srv__shade{background:var(--psv-card)}
.psv--s-rows .psv-srv__body{flex-direction:row;align-items:center;gap:14px}
.psv--s-rows .psv-srv__top{flex:1 1 auto}
.psv--s-rows .psv-srv__meta{flex:0 1 auto}
.psv--s-rows .psv-srv__players{flex:0 0 150px}
.psv--s-rows .psv-srv:hover{transform:translateX(3px)}
.psv--s-tiles .psv-servers{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.psv--s-tiles .psv-srv{flex-direction:column;align-items:stretch;min-height:150px;padding:14px}
.psv--s-tiles .psv-srv__shade{background:linear-gradient(180deg,rgba(12,12,17,.35) 0%,rgba(12,12,17,.8) 55%,rgba(12,12,17,.96) 100%)}
.psv--s-tiles .psv-srv__actions{position:absolute;top:10px;right:10px;align-self:auto}
.psv--s-tiles .psv-srv__body{margin-top:auto}
.psv--s-tiles .psv-srv__bar{max-width:none}

.psv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--psv-ri);color:var(--psv-muted);font-size:13px;font-weight:600;text-align:center}
.psv-empty i{color:var(--psv-a);font-size:30px}

.psv--animate .psv-mode,.psv--animate .psv-srv,.psv--animate .psv__hero{animation:psvIn .45s cubic-bezier(.2,.8,.2,1) both}
.psv--animate .psv-mode:nth-child(2),.psv--animate .psv-srv:nth-child(2){animation-delay:.05s}
.psv--animate .psv-mode:nth-child(3),.psv--animate .psv-srv:nth-child(3){animation-delay:.1s}
.psv--animate .psv-srv:nth-child(4){animation-delay:.15s}
.psv.is-refresh .psv-mode,.psv.is-refresh .psv-srv,.psv.is-refresh .psv__hero{animation:none}
@keyframes psvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.psv-toast{position:fixed;z-index:100100;left:50%;bottom:24px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#1d1d24;color:#fff;font-size:13px;font-weight:700;box-shadow:0 16px 40px rgba(0,0,0,.5);transform:translate(-50%,20px);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.psv-toast.is-on{opacity:1;transform:translate(-50%,0)}
.psv-toast i{color:#4ade80;font-size:18px}
.psv-toast.is-fail i{color:#ff8a8a}

@container psv (max-width: 900px){
    .psv__modes{--psv-mcols:2}
    .psv-servers{--psv-scols:1}
    .psv--cols-3 .psv-servers{--psv-scols:2}
    .psv--s-rows .psv-srv__meta{display:none}
}
@container psv (max-width: 600px){
    .psv{padding:14px}
    .psv__modes{--psv-mcols:1}
    .psv-mode{min-height:170px}
    .psv--m-banner .psv-mode__body{max-width:75%}
    .psv--cols-2 .psv-servers,.psv--cols-3 .psv-servers{--psv-scols:1}
    .psv__total span{display:none}
    .psv__back span{display:none}
    .psv__titles small{display:none}
    .psv-srv{min-height:110px;padding:12px}
    .psv--s-rows .psv-srv__players{flex-basis:auto}
    .psv--s-rows .psv-srv__bar{display:none}
    .psv--s-rows .psv-srv__map{width:56px;height:44px}
}

.psv-modal{--psv-a:#4fea9f;--psv-a-rgb:79,234,159;--psv-line:rgba(255,255,255,.07);--psv-muted:#8f91a6;position:fixed;z-index:100050;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;color:#eceef5;font-family:inherit;opacity:0;transition:opacity .22s ease}
.psv-modal[hidden]{display:none!important}
.psv-modal.is-open{opacity:1}
.psv-modal__bg{position:absolute;inset:0;background:rgba(6,6,10,.76);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.psv-modal__win{position:relative;display:flex;flex-direction:column;width:min(820px,100%);max-height:calc(100vh - 32px);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(180deg,#25252e 0%,#1b1b22 100%);box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(14px) scale(.98);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.psv-modal.is-open .psv-modal__win{transform:none}
.psv-modal__head{position:relative;isolation:isolate;flex:0 0 auto;min-height:150px;padding:18px 18px 22px;overflow:hidden}
.psv-modal__cover{position:absolute;z-index:-2;inset:0}
.psv-modal__cover img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;filter:blur(2px) saturate(1.1);transform:scale(1.08)}
.psv-modal__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(18,18,24,.35) 0%,rgba(18,18,24,.85) 70%,#23232b 100%)}
.psv-modal__tools{position:absolute;top:14px;right:14px;display:flex;gap:6px}
.psv-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(10,10,14,.5);color:#d9dbe6;font-size:19px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,color .2s ease,border-color .2s ease}
.psv-icon:hover{border-color:rgba(var(--psv-a-rgb),.45);color:var(--psv-a)}
.psv-icon--sm{width:30px;height:30px;border-radius:9px;font-size:17px}
.psv-icon.is-spin i{animation:psvSpin .7s linear}
@keyframes psvSpin{to{transform:rotate(360deg)}}
.psv-modal__info{display:flex;align-items:flex-end;gap:14px;margin-top:40px;padding-right:0}
.psv-modal__thumb{flex:0 0 auto;width:74px;height:74px;overflow:hidden;border:2px solid rgba(var(--psv-a-rgb),.5);border-radius:18px;background:#16161c;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.psv-modal__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.psv-modal__titles{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;min-width:0}
.psv-modal__titles b{overflow:hidden;color:#fff;font-size:20px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.psv-modal__titles span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;color:rgba(255,255,255,.75);font-size:13px;font-weight:700}
.psv-modal__titles span i{color:var(--psv-a);font-size:15px}
.psv-modal__titles span i+em{margin-right:8px}
.psv-modal__titles em{font-style:normal}
.psv-modal__score{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(10,10,14,.55)}
.psv-modal__score img{width:26px;height:26px}
.psv-modal__score b{color:#fff;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.psv-modal__score span{color:var(--psv-muted);font-weight:800}
.psv-modal__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.06)}
.psv-modal__bar i{display:block;height:100%;background:var(--psv-a);transition:width .5s ease}

.psv-admin{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;margin:0 18px 6px;padding:12px;border:1px solid rgba(245,165,36,.25);border-radius:14px;background:linear-gradient(120deg,rgba(245,165,36,.08),rgba(255,255,255,.02) 60%)}
.psv-admin__head{display:flex;align-items:center;gap:7px;color:#fff;font-size:13px;font-weight:800}
.psv-admin__head i{color:#f5a524;font-size:17px}
.psv-admin__head small{margin-left:auto;color:var(--psv-muted);font-size:11px;font-weight:600}
.psv-admin__cmds{display:flex;flex-wrap:wrap;gap:6px}
.psv-admin__cmds:empty{display:none}
.psv-chip--cmd{cursor:pointer;transition:border-color .2s ease,color .2s ease}
.psv-chip--cmd:hover{border-color:rgba(245,165,36,.5);color:#ffd28a}
.psv-chip--cmd i{color:#f5a524}
.psv-admin__console{display:flex;align-items:center;gap:8px;height:40px;padding:0 4px 0 12px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(6,6,10,.5)}
.psv-admin__console i{color:#f5a524;font-size:17px}
.psv-admin__console input{flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px}
.psv-admin__console .psv-btn{height:32px;min-width:32px;padding:0 9px}
.psv-admin__out{max-height:160px;margin:0;padding:10px 12px;overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#0c0c10;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.psv-admin__out.is-fail{color:#ff8a8a}

.psv-modal__tools-row{flex:0 0 auto;padding:6px 18px 8px}
.psv-search{display:flex;align-items:center;gap:8px;height:38px;margin:0;padding:0 12px;border:1px solid var(--psv-line);border-radius:11px;background:rgba(255,255,255,.035);cursor:text}
.psv-search:focus-within{border-color:rgba(var(--psv-a-rgb),.45)}
.psv-search i{color:var(--psv-muted);font-size:17px}
.psv-search input{flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:#fff;font-family:inherit;font-size:13px}

.psv-modal__body{flex:1 1 auto;min-height:120px;padding:0 18px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.psv-pl{display:grid;grid-template-columns:34px minmax(0,1fr) 64px 84px 54px 34px;align-items:center;gap:8px;min-height:46px;margin-bottom:6px;padding:6px 10px;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.035);font-size:13px;transition:background .2s ease,border-color .2s ease}
.psv-pl:hover{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.055)}
.psv-pl--head{position:sticky;top:0;z-index:2;min-height:34px;margin-bottom:6px;background:#23232b;color:var(--psv-muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.psv-pl--head:hover{border-color:transparent;background:#23232b}
.psv-pl.is-filtered{display:none}
.psv-pl.is-top .psv-pl__n{background:rgba(245,165,36,.16);color:#ffcf4d}
.psv-pl__n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.05);color:var(--psv-muted);font-size:12px;font-weight:800}
.psv-pl--head .psv-pl__n{background:none}
.psv-pl__name{display:flex;align-items:center;gap:6px;min-width:0}
.psv-pl__nick{overflow:hidden;color:#fff;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.psv-pl--head .psv-pl__name{color:var(--psv-muted)}
.psv-pl__site{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:rgba(var(--psv-pc,var(--psv-a-rgb)),.15);color:rgb(var(--psv-pc,var(--psv-a-rgb)));font-size:14px;text-decoration:none!important}
.psv-pl__frags{color:#fff;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.psv-pl__time{color:var(--psv-muted);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.psv-pl--head .psv-pl__frags,.psv-pl--head .psv-pl__time,.psv-pl--head .psv-pl__ping{color:var(--psv-muted);font-weight:800}
.psv-pl__ping{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:16px}
.psv-pl__ping i{width:4px;border-radius:2px;background:rgba(255,255,255,.14)}
.psv-pl__ping i:nth-child(1){height:6px}
.psv-pl__ping i:nth-child(2){height:10px}
.psv-pl__ping i:nth-child(3){height:14px}
.psv-pl__ping.is-good i{background:#22c55e}
.psv-pl__ping.is-mid i:nth-child(-n+2){background:#f5a524}
.psv-pl__ping.is-bad i:nth-child(1){background:#ef4444}
.psv-pl__ping.is-none{visibility:hidden}
.psv-pl--head .psv-pl__ping{display:block;height:auto;text-align:center}
.psv-pl__act{display:flex;justify-content:flex-end}
.psv-pl__act .psv-icon{visibility:hidden}
.psv-modal.is-admin .psv-pl__act .psv-icon{visibility:visible}
.psv-modal:not(.is-admin) .psv-pl{grid-template-columns:34px minmax(0,1fr) 64px 84px 54px}
.psv-modal:not(.is-admin) .psv-pl__act{display:none}
.psv-modal:not(.has-ping) .psv-pl__ping{display:none}
.psv-modal:not(.has-ping) .psv-pl{grid-template-columns:34px minmax(0,1fr) 64px 84px 34px}
.psv-modal:not(.has-ping):not(.is-admin) .psv-pl{grid-template-columns:34px minmax(0,1fr) 64px 84px}

.psv-modal__foot{flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;padding:14px 18px 18px;border-top:1px solid var(--psv-line)}
.psv-loading{display:flex;align-items:center;justify-content:center;padding:36px;color:var(--psv-muted);font-size:26px}

.psv-menu{position:fixed;z-index:100070;display:flex;flex-direction:column;gap:2px;min-width:190px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#1f1f27;box-shadow:0 18px 40px rgba(0,0,0,.55);animation:psvIn .18s ease both}
.psv-menu__item{display:flex;align-items:center;gap:9px;width:100%;height:36px;margin:0;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#e6e8f0;font-family:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}
.psv-menu__item:hover{background:rgba(255,255,255,.06)}
.psv-menu__item i{color:var(--psv-a);font-size:17px}
.psv-menu__item.is-danger i{color:#ff6b6b}
.psv-menu__item.is-danger:hover{background:rgba(239,68,68,.12);color:#ffb3b3}
.psv-menu__item.is-link i{color:#5ab4ff}

.psv-sheet{position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,14,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:psvFade .18s ease both}
@keyframes psvFade{from{opacity:0}}
.psv-sheet__win{display:flex;flex-direction:column;gap:12px;width:min(400px,100%);padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#23232b;box-shadow:0 24px 60px rgba(0,0,0,.6);animation:psvIn .22s cubic-bezier(.2,.8,.2,1) both}
.psv-sheet__head{display:flex;align-items:center;gap:10px}
.psv-sheet__head b{display:block;color:#fff;font-size:15px;font-weight:800}
.psv-sheet__head small{display:block;color:var(--psv-muted);font-size:12px;font-weight:600}
.psv-sheet__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(239,68,68,.14);color:#ff6b6b;font-size:20px}
.psv-sheet__fields{display:flex;flex-direction:column;gap:10px}
.psv-sheet__fields:empty{display:none}
.psv-field{display:flex;flex-direction:column;gap:6px;margin:0}
.psv-field__label{color:var(--psv-muted);font-size:12px;font-weight:700}
.psv-field__input{width:100%;height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;outline:0;background:rgba(6,6,10,.45);color:#fff;font-family:inherit;font-size:13px}
.psv-field__input:focus{border-color:rgba(var(--psv-a-rgb),.5)}
.psv-field__presets{display:flex;flex-wrap:wrap;gap:5px}
.psv-field__presets:empty{display:none}
.psv-preset{height:28px;margin:0;padding:0 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);color:#d9dbe6;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}
.psv-preset:hover,.psv-preset.is-active{border-color:rgba(var(--psv-a-rgb),.5);background:rgba(var(--psv-a-rgb),.12);color:var(--psv-a)}
.psv-sheet__foot{display:flex;justify-content:flex-end;gap:8px}

@media (max-width:640px){
    .psv-modal{align-items:flex-end;padding:0}
    .psv-modal__win{max-height:92vh;border-radius:22px 22px 0 0}
    .psv-modal__info{margin-top:36px}
    .psv-modal__thumb{width:56px;height:56px;border-radius:14px}
    .psv-modal__titles b{font-size:17px}
    .psv-modal__score{padding:6px 8px}
    .psv-modal__score b{font-size:16px}
    .psv-modal__score img{width:20px;height:20px}
    .psv-pl,.psv-modal:not(.is-admin) .psv-pl,.psv-modal:not(.has-ping) .psv-pl,.psv-modal:not(.has-ping):not(.is-admin) .psv-pl{grid-template-columns:28px minmax(0,1fr) 44px 70px 30px}
    .psv-pl__ping{display:none}
    .psv-modal:not(.is-admin) .psv-pl,.psv-modal:not(.has-ping):not(.is-admin) .psv-pl{grid-template-columns:28px minmax(0,1fr) 44px 70px}
    .psv-modal__foot .psv-btn--wide{flex:1 1 0}
}
@media (prefers-reduced-motion: reduce){
    .psv *,.psv-modal *{animation:none!important;transition:none!important}
}
