.dubplate-ov{--ov-bg:#0e0f11;--ov-panel:#16181b;--ov-line:#2a2d32;--ov-text:#f2f2f0;--ov-muted:#a3a7ad;--ov-accent:#e8b84a;--ov-accent-ink:#141414;--ov-error:#f07a6a;margin:16px 0 8px;padding:16px;background:var(--ov-bg);color:var(--ov-text);border-radius:12px;font-size:14px;line-height:1.5;max-width:720px}
.dubplate-ov *{box-sizing:border-box}
.dubplate-ov-section+.dubplate-ov-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--ov-line)}
.dubplate-ov .dubplate-ov-title{margin:0 0 8px;color:var(--ov-text);font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dubplate-ov-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 24px;margin:0}
.dubplate-ov-rows>div{display:flex;justify-content:space-between;gap:16px;padding:4px 0;border-bottom:1px solid var(--ov-line)}
.dubplate-ov-rows dt{margin:0;color:var(--ov-muted);font-weight:400}
.dubplate-ov-rows dd{margin:0;color:var(--ov-text);text-align:right;font-weight:600}
.dubplate-ov-side{margin:16px 0 8px;color:var(--ov-accent);font-size:11px;font-weight:700;letter-spacing:.08em}
.dubplate-ov-tracks{list-style:none;margin:0;padding:0}
.dubplate-ov-track{display:flex;align-items:center;gap:16px;padding:8px;margin:0 0 8px;background:var(--ov-panel);border:1px solid var(--ov-line);border-radius:8px;transition:border-color .2s}
.dubplate-ov-track.is-playing{border-color:var(--ov-accent)}
.dubplate-ov-play{flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--ov-accent);color:var(--ov-accent-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s}
.dubplate-ov-play:hover{transform:scale(1.06)}
.dubplate-ov-play:focus-visible,.dubplate-ov-nav:focus-visible,.dubplate-ov-dot:focus-visible,.dubplate-ov-zoom:focus-visible,.dubplate-ov-btn:focus-visible{outline:2px solid var(--ov-accent);outline-offset:2px}
.dubplate-ov-icon{display:block;width:0;height:0;margin-left:3px;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent currentColor}
.dubplate-ov-track.is-playing .dubplate-ov-icon{width:12px;height:14px;margin:0;border:0;border-left:4px solid currentColor;border-right:4px solid currentColor}
.dubplate-ov-track.is-loading .dubplate-ov-play{opacity:.6}
.dubplate-ov-track-body{flex:1;min-width:0}
.dubplate-ov .dubplate-ov-track-name{margin:0;color:var(--ov-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dubplate-ov .dubplate-ov-track-meta{margin:0;color:var(--ov-muted);font-size:12px}
.dubplate-ov-progress{position:relative;height:4px;margin-top:8px;background:var(--ov-line);border-radius:2px;cursor:pointer}
.dubplate-ov-progress span{position:absolute;inset:0 auto 0 0;width:0;background:var(--ov-accent);border-radius:2px}
.dubplate-ov-track.has-error .dubplate-ov-track-meta{color:var(--ov-error)}
.dubplate-ov .dubplate-ov-note{margin:8px 0 0;color:var(--ov-muted);font-size:13px}
.dubplate-ov-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}
.dubplate-ov-slide-title{font-weight:600}
.dubplate-ov-counter{color:var(--ov-muted);font-size:12px;font-variant-numeric:tabular-nums}
.dubplate-ov-carousel{outline:none}
.dubplate-ov-stage{position:relative;aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#1d2024,#0a0b0c);border:1px solid var(--ov-line);border-radius:8px;overflow:hidden}
.dubplate-ov-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
.dubplate-ov-slide.is-active{opacity:1;visibility:visible}
.dubplate-ov-zoom{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;border:0;background:none;cursor:zoom-in}
.dubplate-ov-zoom img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease}
.dubplate-ov-zoom:hover img{transform:scale(1.02)}
.dubplate-ov-nav{position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;padding:0;border:1px solid var(--ov-line);border-radius:50%;background:rgba(14,15,17,.8);color:var(--ov-text);cursor:pointer;transition:background .2s}
.dubplate-ov-nav:hover{background:var(--ov-panel)}
.dubplate-ov-nav::before{content:"";display:block;width:10px;height:10px;margin:auto;border-top:2px solid currentColor;border-right:2px solid currentColor}
.dubplate-ov-nav.is-prev{left:8px}.dubplate-ov-nav.is-prev::before{transform:translateX(2px) rotate(-135deg)}
.dubplate-ov-nav.is-next{right:8px}.dubplate-ov-nav.is-next::before{transform:translateX(-2px) rotate(45deg)}
.dubplate-ov-dots{display:flex;justify-content:center;gap:8px;margin-top:8px}
.dubplate-ov-dot{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:var(--ov-line);cursor:pointer;transition:width .2s,background .2s}
.dubplate-ov-dot.is-active{width:24px;background:var(--ov-accent)}
.dubplate-ov-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.dubplate-ov .dubplate-ov-btn{display:inline-block;padding:10px 16px;border:1px solid var(--ov-accent);border-radius:6px;background:transparent;color:var(--ov-accent);font-size:12px;font-weight:700;letter-spacing:.06em;text-decoration:none;transition:background .2s,color .2s}
.dubplate-ov .dubplate-ov-btn:hover{background:var(--ov-accent);color:var(--ov-accent-ink)}
.dubplate-ov-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,6,7,.92);cursor:zoom-out;animation:dubplate-ov-fade .2s ease}
.dubplate-ov-lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.dubplate-ov-lightbox button{position:absolute;top:16px;right:16px;padding:8px 16px;border:1px solid #2a2d32;border-radius:6px;background:#16181b;color:#f2f2f0;cursor:pointer}
@keyframes dubplate-ov-fade{from{opacity:0}to{opacity:1}}
@media (max-width:600px){.dubplate-ov{padding:8px}.dubplate-ov-rows{grid-template-columns:1fr}.dubplate-ov-track{gap:8px}}
@media (prefers-reduced-motion:reduce){.dubplate-ov *{transition:none!important;animation:none!important}}
