.vva-video{position:relative;width:100%;height:100%;overflow:hidden;line-height:0;background:#000}.vva-video__media{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.vva-video__poster{position:absolute;inset:0;background-size:cover;background-position:center;opacity:1;transition:opacity 0.4s ease;pointer-events:none;z-index:1}.vva-video.is-started .vva-video__poster{opacity:0}.vva-video__controls{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:10px;padding:18px 20px;line-height:normal;background:linear-gradient(to top,rgb(0 0 0 / .35),#fff0);opacity:1;transition:opacity 0.25s ease;z-index:2}.vva-video__buttons{display:flex;justify-content:flex-end;gap:10px}.vva-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--vva-btn-size,44px);height:var(--vva-btn-size,44px);padding:0;margin:0;border:0;border-radius:50%;background:var(--vva-btn-bg,#33b5c2);cursor:pointer;transition:transform 0.15s ease,filter 0.15s ease;-webkit-tap-highlight-color:#fff0}.vva-btn:hover,.vva-btn:focus-visible{transform:scale(1.08);filter:brightness(1.1);outline:none}.vva-btn:focus-visible{box-shadow:0 0 0 3px rgb(255 255 255 / .6)}.vva-icon{width:calc(var(--vva-btn-size, 44px) / 2);height:calc(var(--vva-btn-size, 44px) / 2);fill:var(--vva-icon-color,#fff);pointer-events:none}.vva-icon--pause,.vva-icon--sound-off{display:none}.vva-video.is-playing .vva-icon--play{display:none}.vva-video.is-playing .vva-icon--pause{display:block}.vva-video.is-muted .vva-icon--sound-on{display:none}.vva-video.is-muted .vva-icon--sound-off{display:block}.vva-video--ctl-bottom-left .vva-video__buttons,.vva-video--ctl-top-left .vva-video__buttons{justify-content:flex-start}.vva-video--ctl-bottom-center .vva-video__buttons,.vva-video--ctl-top-center .vva-video__buttons{justify-content:center}.vva-video--ctl-top-left .vva-video__controls,.vva-video--ctl-top-center .vva-video__controls,.vva-video--ctl-top-right .vva-video__controls{top:0;bottom:auto;flex-direction:column-reverse;background:linear-gradient(to bottom,rgb(0 0 0 / .35),#fff0)}.vva-video__progress{position:relative;width:100%;height:6px;border-radius:3px;background:var(--vva-progress-bg,rgb(255 255 255 / .35));cursor:pointer}.vva-video__progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:var(--vva-accent,#33b5c2);transition:width 0.1s linear}.vva-video:fullscreen{width:100%;height:100%}.vva-video:fullscreen .vva-video__media{object-fit:contain}