.mpvl-library {
    --mpvl-gold: #d7ad55;
    --mpvl-gold-light: #f0cf81;
    --mpvl-bg: #0b0d11;
    --mpvl-panel: #141820;
    --mpvl-text: #f7f2e7;
    --mpvl-muted: #aeb4bf;
    position: relative;
    margin: 2rem 0;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid rgba(215, 173, 85, .28);
    border-radius: 18px;
    background: var(--mpvl-bg);
    color: var(--mpvl-text);
    overflow: hidden;
}
.mpvl-heading-row { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.mpvl-kicker { display:block; color:var(--mpvl-gold); font-size:.75rem; letter-spacing:.18em; font-weight:700; }
.mpvl-heading-row h2 { color:var(--mpvl-text); margin:.25rem 0 0; font-size:clamp(1.6rem,3vw,2.35rem); }
.mpvl-channel-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--mpvl-gold); border-radius:999px; color:var(--mpvl-gold-light); padding:.65rem 1rem; text-decoration:none; white-space:nowrap; }
.mpvl-channel-button:hover { background:var(--mpvl-gold); color:#111; }
.mpvl-carousel-shell { position:relative; }
.mpvl-track { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; scroll-behavior:smooth; padding:.35rem .15rem .8rem; }
.mpvl-track::-webkit-scrollbar { display:none; }
.mpvl-card { flex:0 0 clamp(235px, 30vw, 340px); scroll-snap-align:start; }
.mpvl-play-card { width:100%; padding:0; border:0; border-radius:14px; overflow:hidden; background:var(--mpvl-panel); color:var(--mpvl-text); text-align:left; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }
.mpvl-play-card:hover, .mpvl-play-card:focus-visible { transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.35); outline:2px solid var(--mpvl-gold); outline-offset:2px; }
.mpvl-thumb-wrap { display:block; position:relative; aspect-ratio:16/9; background:#000; overflow:hidden; }
.mpvl-thumb-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.mpvl-play-card:hover img { transform:scale(1.035); }
.mpvl-play-icon { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; border-radius:50%; display:grid; place-items:center; padding-left:4px; background:rgba(215,173,85,.94); color:#111; font-size:1.25rem; box-shadow:0 6px 20px rgba(0,0,0,.35); }
.mpvl-card-body { display:block; padding:1rem; }
.mpvl-card-body strong { display:block; color:var(--mpvl-text); line-height:1.35; margin-bottom:.45rem; }
.mpvl-card-body span { color:var(--mpvl-muted); font-size:.85rem; }
.mpvl-arrow { position:absolute; z-index:3; top:42%; transform:translateY(-50%); width:44px; height:58px; border:1px solid rgba(215,173,85,.45); border-radius:10px; background:rgba(8,10,14,.9); color:var(--mpvl-gold-light); cursor:pointer; font-size:1.35rem; }
.mpvl-arrow:hover { background:var(--mpvl-gold); color:#111; }
.mpvl-prev { left:-.7rem; }
.mpvl-next { right:-.7rem; }
.mpvl-dots { display:flex; justify-content:center; gap:.4rem; min-height:12px; margin-top:.25rem; }
.mpvl-dot { width:8px; height:8px; border:0; border-radius:50%; background:#4a4f58; padding:0; cursor:pointer; }
.mpvl-dot.is-active { background:var(--mpvl-gold); }
.mpvl-notice { padding:1rem; border:1px solid rgba(215,173,85,.5); border-radius:10px; background:#17120a; }
.mpvl-modal[hidden] { display:none; }
.mpvl-modal { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:1rem; }
.mpvl-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.88); }
.mpvl-modal-dialog { position:relative; z-index:1; width:min(100%, 1040px); border:1px solid rgba(215,173,85,.55); border-radius:16px; background:#090b0f; padding:1rem; box-shadow:0 20px 70px rgba(0,0,0,.65); }
.mpvl-video-frame { position:relative; aspect-ratio:16/9; background:#000; border-radius:10px; overflow:hidden; }
.mpvl-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.mpvl-close { position:absolute; right:-12px; top:-12px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid var(--mpvl-gold); background:#111; color:#fff; font-size:1.7rem; cursor:pointer; line-height:1; }
.mpvl-modal-title { color:var(--mpvl-text); margin:1rem .25rem .25rem; font-size:1.15rem; }
body.mpvl-modal-open { overflow:hidden; }
@media (max-width: 700px) {
    .mpvl-heading-row { align-items:flex-start; flex-direction:column; }
    .mpvl-card { flex-basis:82%; }
    .mpvl-arrow { display:none; }
    .mpvl-library { padding:1.15rem; border-radius:14px; }
}
@media (prefers-reduced-motion: reduce) {
    .mpvl-track, .mpvl-play-card, .mpvl-thumb-wrap img { scroll-behavior:auto; transition:none; }
}
