/* VLink Player – scoped styles (.vlp-*) that work on top of any theme */
.vlp-page-main{--vlp-bg:#0b0f0d;--vlp-panel:#111814;--vlp-line:#1f2b24;--vlp-mut:#8fa197;box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;padding:16px}
.vlp-page-main *,.vlp-dialog *{box-sizing:border-box}
.vlp-wrap{display:grid;gap:20px}
@media(min-width:1024px){.vlp-wrap.has-side{grid-template-columns:minmax(0,1fr) 300px}}
.vlp-side{display:none}@media(min-width:1024px){.vlp-side{display:block}.vlp-side .vlp-slot{position:sticky;top:16px}}
.vlp-slot{margin:0 0 16px;text-align:center;overflow:hidden}.vlp-slot img{max-width:100%;height:auto;display:inline-block}.vlp-widget+.vlp-widget{margin-top:12px}.vlp-widget-title{font-size:13px;opacity:.7;margin:0 0 6px}
.vlp,.vlp-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.vlp-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vlp{outline:none;user-select:none;-webkit-user-select:none;color:#fff;font:14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.vlp:focus-visible{box-shadow:0 0 0 3px var(--vlp-accent,#22c55e)}
.vlp video{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:contain}
.vlp.is-fs{border-radius:0}.vlp svg{width:22px;height:22px;fill:currentColor;display:block}
.vlp-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;border:0;background:var(--vlp-accent,#22c55e);color:#052e16;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 30px rgba(34,197,94,.45);transition:transform .15s,opacity .2s;padding:0}
.vlp-big svg{width:38px;height:38px;margin-left:4px}.vlp-big:hover{transform:translate(-50%,-50%) scale(1.07)}
.vlp.is-playing .vlp-big{opacity:0;pointer-events:none}
.vlp-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;padding:28px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.85));transition:opacity .25s;flex-wrap:nowrap}
.vlp.was-played.is-playing:not(.is-active) .vlp-bar{opacity:0}.vlp.was-played.is-playing:not(.is-active){cursor:none}
.vlp:not(.was-played) .vlp-bar{opacity:0}.vlp:not(.was-played):hover .vlp-bar,.vlp:not(.was-played):focus-within .vlp-bar{opacity:1}
.vlp-btn{background:none;border:0;color:#fff;padding:6px;border-radius:8px;cursor:pointer;display:grid;place-items:center;min-width:34px;height:34px;font:600 13px system-ui,sans-serif}
.vlp-btn:hover{background:rgba(255,255,255,.12);color:var(--vlp-accent,#22c55e)}
.vlp .i-pause,.vlp.is-playing .i-play,.vlp .i-muted,.vlp.is-muted .i-vol{display:none}.vlp.is-playing .i-pause,.vlp.is-muted .i-muted{display:block}
.vlp-prog{position:relative;flex:1;height:18px;cursor:pointer;touch-action:none;min-width:60px}
.vlp-prog::before,.vlp-buf,.vlp-cur{content:"";position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:4px}
.vlp-prog::before{right:0;background:rgba(255,255,255,.22)}.vlp-buf{background:rgba(255,255,255,.38);width:0}.vlp-cur{background:var(--vlp-accent,#22c55e);width:0}
.vlp-prog:hover::before,.vlp-prog:hover .vlp-buf,.vlp-prog:hover .vlp-cur{height:6px;margin-top:-3px}
.vlp-knob{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--vlp-accent,#22c55e);left:0;transform:scale(0);transition:transform .15s}
.vlp-prog:hover .vlp-knob,.vlp-prog:active .vlp-knob{transform:scale(1)}
.vlp-tip{position:absolute;bottom:22px;transform:translateX(-50%);background:rgba(0,0,0,.85);padding:4px 7px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none}
.vlp-time{font-variant-numeric:tabular-nums;font-size:12.5px;white-space:nowrap;opacity:.9;padding:0 4px}
.vlp-vol{width:70px;accent-color:var(--vlp-accent,#22c55e);height:4px}
@media(max-width:600px){.vlp-vol,.vlp-speed{display:none}.vlp-time{font-size:11.5px}.vlp-big{width:64px;height:64px}}
.vlp-spin{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--vlp-accent,#22c55e);border-radius:50%;animation:vlpr .8s linear infinite;display:none;pointer-events:none}
.vlp.is-loading.is-playing .vlp-spin{display:block}@keyframes vlpr{to{transform:rotate(360deg)}}
.vlp-err{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.8);color:#fca5a5;font-size:15px;padding:20px;text-align:center}.vlp-err[hidden]{display:none}.vlp-err p{margin:0 0 12px;max-width:440px;line-height:1.45}.vlp-retry{background:var(--vlp-accent,#22c55e);color:#04130a;border:0;border-radius:8px;padding:9px 18px;font-weight:600;cursor:pointer;font-size:14px}.vlp-retry[hidden]{display:none}.vlp-err{grid-template-rows:auto auto;align-content:center;justify-items:center;z-index:5}
.vlp-info{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:14px 0 16px}
.vlp-title{font-size:clamp(18px,2.4vw,24px);line-height:1.3;margin:0;font-weight:700}
.vlp-report{flex:0 0 auto;background:transparent;border:1px solid currentColor;opacity:.7;color:inherit;border-radius:8px;padding:6px 10px;font-size:12.5px;cursor:pointer}.vlp-report:hover{opacity:1;color:var(--vlp-accent,#22c55e)}
.vlp-na{max-width:560px;margin:8vh auto;text-align:center;padding:24px}.vlp-na h1{font-size:26px;margin:10px 0}.vlp-na p{opacity:.8}
.vlp-na-icon svg{width:56px;height:56px;fill:var(--vlp-accent,#22c55e)}
.vlp-btn-link,.vlp-submit{display:inline-block;background:var(--vlp-accent,#22c55e);color:#052e16!important;border:0;border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none;cursor:pointer;font-size:15px}
.vlp-dialog{width:min(560px,94vw);max-height:92vh;overflow:auto;border:1px solid #1f2b24;border-radius:14px;background:#0f1612;color:#e6ede9;padding:22px}
.vlp-dialog::backdrop{background:rgba(0,0,0,.7)}.vlp-dialog h2{margin:0 0 14px;font-size:20px}
.vlp-x{position:absolute;right:10px;top:8px;background:none;border:0;color:#8fa197;font-size:28px;cursor:pointer;line-height:1}
.vlp-dmca-form{display:grid;gap:12px}.vlp-dmca-form label{display:grid;gap:5px;font-size:14px}
.vlp-dmca-form input:not([type=checkbox]),.vlp-dmca-form textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #2a3a31;background:#0b0f0d;color:#e6ede9;font:inherit;font-size:15px}
.vlp-dmca-page .vlp-dmca-form input:not([type=checkbox]),.vlp-dmca-page .vlp-dmca-form textarea{background:rgba(127,127,127,.08);color:inherit;border-color:rgba(127,127,127,.35)}
.vlp-dmca-form label.vlp-check{display:flex;gap:10px;align-items:flex-start;font-size:13px}.vlp-check input{margin-top:3px;accent-color:var(--vlp-accent,#22c55e)}
.vlp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vlp-msg{padding:10px 12px;border-radius:10px;font-size:14px}.vlp-msg.ok{background:#0c2a18;color:#86efac}.vlp-msg.err{background:#2a0f0f;color:#fca5a5}.vlp-msg[hidden]{display:none}
.vlp-dmca-page{max-width:640px}
