/* ── Seek bar ── */
.pfvjs-seek-wrap{position:relative;padding:10px 0 4px;cursor:pointer}
.pfvjs-seek-track{position:relative;height:4px;background:rgba(255,255,255,.15);border-radius:6px;transition:height .15s;overflow:visible}
.pfvjs-seek-wrap:hover .pfvjs-seek-track{height:6px}
.pfvjs-seek-buf{position:absolute;inset:0;background:rgba(255,255,255,.25);border-radius:6px;width:0}
.pfvjs-seek-fill{
    position:absolute;inset:0;border-radius:6px;width:0;
    background:linear-gradient(90deg,#7c3aed,#a855f7 50%,#06b6d4);
    box-shadow:0 0 8px rgba(124,58,237,.5);
}
.pfvjs-seek-dot{
    position:absolute;top:50%;left:0;
    width:14px;height:14px;border-radius:50%;
    background:#fff;transform:translate(-50%,-50%);
    box-shadow:0 0 10px rgba(168,85,247,.9),0 0 20px rgba(6,182,212,.4);
    opacity:0;transition:opacity .15s,transform .15s;pointer-events:none;
}
.pfvjs-seek-wrap:hover .pfvjs-seek-dot{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
.pfvjs-seek-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:2}
.pfvjs-seek-tip{
    position:absolute;bottom:18px;transform:translateX(-50%);
    background:rgba(5,5,16,.97);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.1);color:#fff;
    font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;
    opacity:0;transition:opacity .15s;pointer-events:none;white-space:nowrap;
}
.pfvjs-seek-tip.on{opacity:1}

