/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Player
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

[data-media-player] {
  width: 100%;
  display: inline-flex;
  align-items: center;
  position: relative;
  contain: style;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

:where([data-media-player][data-view-type='video']) {
  aspect-ratio: 16 / 9;
}

[data-media-player]:focus,
[data-media-player]:focus-visible {
  outline: none;
}

[data-media-player][data-view-type='video'][data-started]:not([data-controls]) {
  pointer-events: auto;
  cursor: none;
}

[data-media-player] slot {
  display: contents;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Provider
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

[data-media-provider] {
  display: flex;
  position: relative;
  box-sizing: border-box;
  align-items: center;
  width: 100%;
  aspect-ratio: inherit;
}

[data-media-player]:not([data-view-type='audio']) [data-media-provider],
[data-media-player][data-fullscreen] [data-media-provider] {
  height: 100%;
}

[data-media-player][data-view-type='audio'] [data-media-provider] {
  display: contents;
  background-color: transparent;
  background-color: initial;
}

[data-media-provider] audio {
  width: 100%;
}

:where([data-media-provider] video),
:where([data-media-provider] iframe) {
  aspect-ratio: inherit;
  display: inline-block;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  touch-action: manipulation;
  border-radius: inherit;
  width: 100%;
}

[data-media-provider] iframe {
  height: 100%;
}

[data-media-player][data-view-type='audio'] video,
[data-media-player][data-view-type='audio'] iframe {
  display: none;
}

[data-media-player][data-fullscreen] video {
  height: 100%;
}

iframe.vds-youtube[data-no-controls] {
  height: 1000%;
}

.vds-blocker {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: inherit;
  pointer-events: auto;
  z-index: 1;
}

[data-ended] .vds-blocker {
  background-color: black;
}

.vds-icon:focus {
  outline: none;
}

:where(.vds-buffering-indicator) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}

:where(.vds-buffering-indicator) :where(.vds-buffering-icon, .vds-buffering-spinner) {
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
  transition: var(--media-buffering-transition, opacity 200ms ease);
}

:where(.vds-buffering-indicator)
  :where(.vds-buffering-icon, svg.vds-buffering-spinner, .vds-buffering-spinner svg) {
  width: 96px;
  width: var(--media-buffering-size, 96px);
  height: 96px;
  height: var(--media-buffering-size, 96px);
}

:where(.vds-buffering-indicator) :where(.vds-buffering-track, circle[data-part='track']) {
  color: #f5f5f5;
  color: var(--media-buffering-track-color, #f5f5f5);
  opacity: 0.25;
  opacity: var(--media-buffering-track-opacity, 0.25);
  stroke-width: 8;
  stroke-width: var(--media-buffering-track-width, 8);
}

:where(.vds-buffering-indicator) :where(.vds-buffering-track-fill, circle[data-part='track-fill']) {
  color: var(--media-buffering-track-fill-color, var(--media-brand));
  opacity: 0.75;
  opacity: var(--media-buffering-track-fill-opacity, 0.75);
  stroke-width: 9;
  stroke-width: var(--media-buffering-track-fill-width, 9);
  stroke-dasharray: 100;
  stroke-dashoffset: 50;
  stroke-dashoffset: var(--media-buffering-track-fill-offset, 50);
}

:where([data-buffering]) :where(.vds-buffering-icon, .vds-buffering-spinner) {
  opacity: 1;
  animation: vds-buffering-spin 1s linear infinite;
  animation: var(--media-buffering-animation, vds-buffering-spin 1s linear infinite);
}

@keyframes vds-buffering-spin {
  to {
    transform: rotate(360deg);
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Buttons
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-button) {
  -webkit-tap-highlight-color: transparent;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  -moz-user-select: none;
       user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  outline: none;
  border: none;
  padding: 0px;
  padding: var(--media-button-padding, 0px);
  border-radius: 8px;
  border-radius: var(--media-button-border-radius, 8px);
  color: #f5f5f5;
  color: var(--media-button-color, var(--media-controls-color, #f5f5f5));
  width: 40px;
  width: var(--media-button-size, 40px);
  height: 40px;
  height: var(--media-button-size, 40px);
  transition: transform 0.2s ease-out;
  contain: layout style;
  cursor: pointer;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.vds-button {
  border: var(--media-button-border);
}

:where([data-fullscreen] .vds-button) {
  width: 42px;
  width: var(--media-fullscreen-button-size, 42px);
  height: 42px;
  height: var(--media-fullscreen-button-size, 42px);
}

@media screen and (max-width: 599px) {
  :where([data-fullscreen] .vds-button) {
    width: 42px;
    width: var(--media-sm-fullscreen-button-size, 42px);
    height: 42px;
    height: var(--media-sm-fullscreen-button-size, 42px);
  }
}

:where(.vds-button .vds-icon) {
  width: 80%;
  width: var(--media-button-icon-size, 80%);
  height: 80%;
  height: var(--media-button-icon-size, 80%);
  border-radius: 8px;
  border-radius: var(--media-button-border-radius, 8px);
}

:where(.vds-menu-button .vds-icon) {
  display: flex !important;
}

:where(.vds-button[aria-hidden='true']) {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .vds-button:hover {
    background-color: rgba(255, 255, 255, 0.2);
    background-color: var(--media-button-hover-bg, rgba(255, 255, 255, 0.2));
  }

  .vds-button:hover {
    transform: scale(1);
    transform: var(--media-button-hover-transform, scale(1));
    transition: transform 0.2s ease-in;
    transition: var(--media-button-hover-transition, transform 0.2s ease-in);
  }
}

@media (pointer: coarse) {
  .vds-button:hover {
    border-radius: 100%;
    border-radius: var(--media-button-touch-hover-border-radius, 100%);
    background-color: rgba(255, 255, 255, 0.2);
    background-color: var(--media-button-touch-hover-bg, rgba(255, 255, 255, 0.2));
  }
}

:where(.vds-button:focus) {
  outline: none;
}

:where(.vds-button[data-focus]) {
  box-shadow: var(--media-focus-ring);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Live Button
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-live-button) {
  min-width: auto;
  min-height: auto;
  width: 40px;
  width: var(--media-live-button-width, 40px);
  height: 40px;
  height: var(--media-live-button-height, 40px);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  outline: none;
  border: none;
}

:where(.vds-live-button-text) {
  background-color: #8a8a8a;
  background-color: var(--media-live-button-bg, #8a8a8a);
  border-radius: 2px;
  border-radius: var(--media-live-button-border-radius, 2px);
  color: #161616;
  color: var(--media-live-button-color, #161616);
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 12px;
  font-size: var(--media-live-button-font-size, 12px);
  font-weight: 600;
  font-weight: var(--media-live-button-font-weight, 600);
  letter-spacing: 1.5px;
  letter-spacing: var(--media-live-button-letter-spacing, 1.5px);
  padding: 1px 4px;
  padding: var(--media-live-button-padding, 1px 4px);
  transition: color 0.3s ease;
}

:where(.vds-live-button[data-focus] .vds-live-button-text) {
  box-shadow: var(--media-focus-ring);
}

:where(.vds-live-button[data-edge]) {
  cursor: inherit;
}

:where(.vds-live-button[data-edge] .vds-live-button-text) {
  background-color: #dc2626;
  background-color: var(--media-live-button-edge-bg, #dc2626);
  color: #f5f5f5;
  color: var(--media-live-button-edge-color, #f5f5f5);
}

@media (pointer: fine) {
  :where(.vds-live-button:hover) {
    background-color: transparent;
    background-color: initial;
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * States
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

/* Play Button */
.vds-button:not([data-paused]) .vds-play-icon,
.vds-button[data-ended] .vds-play-icon,
.vds-button[data-paused] .vds-pause-icon,
.vds-button[data-ended] .vds-pause-icon,
.vds-button:not([data-ended]) .vds-replay-icon,
/* PIP Button */
.vds-button[data-active] .vds-pip-enter-icon,
.vds-button:not([data-active]) .vds-pip-exit-icon,
/* Fullscreen Button */
.vds-button[data-active] .vds-fs-enter-icon,
.vds-button:not([data-active]) .vds-fs-exit-icon,
/* Caption Button */
.vds-button:not([data-active]) .vds-cc-on-icon,
.vds-button[data-active] .vds-cc-off-icon,
/* Mute Button */
.vds-button:not([data-muted]) .vds-mute-icon,
.vds-button:not([data-state='low']) .vds-volume-low-icon,
.vds-button:not([data-state='high']) .vds-volume-high-icon {
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Captions
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-captions) {
  /* Recommended settings in the WebVTT spec (https://www.w3.org/TR/webvtt1). */
  --overlay-padding: var(--media-captions-padding, 1%);
  --cue-color: var(--media-cue-color, white);
  --cue-bg-color: var(--media-cue-bg, rgba(0, 0, 0, 0.7));
  --cue-font-size: var(--media-cue-font-size, calc(var(--overlay-height) / 100 * 4.5));
  --cue-line-height: var(--media-cue-line-height, calc(var(--cue-font-size) * 1.2));
  --cue-padding-x: var(--media-cue-padding-x, calc(var(--cue-font-size) * 0.6));
  --cue-padding-y: var(--media-cue-padding-x, calc(var(--cue-font-size) * 0.4));
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  contain: layout style;
  margin: 1%;
  margin: var(--overlay-padding);
  font-size: var(--media-cue-font-size, calc(var(--overlay-height) / 100 * 4.5));
  font-size: var(--cue-font-size);
  font-family: sans-serif;
  box-sizing: border-box;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  word-spacing: normal;
  word-break: break-word;
}

@media screen and (min-width: 980px) {
  :where([data-fullscreen] .vds-captions) {
    --cue-font-size: var(
      --media-lg-fullscreen-cue-font-size,
      calc(var(--overlay-height) / 100 * 3)
    );
  }
}

@media screen and (max-width: 599px) and (orientation: portrait) {
  :where([data-fullscreen] .vds-captions) {
    --cue-font-size: 18px;
  }
}

:where([data-view-type='audio'] .vds-captions) {
  position: relative;
  margin: 0;
}

:where(.vds-captions[aria-hidden='true']) {
  opacity: 0;
  visibility: hidden;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * VTT Cues
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-captions [data-part='cue-display']) {
  position: absolute;
  direction: ltr;
  overflow: visible;
  contain: content;
  top: var(--cue-top);
  left: var(--cue-left);
  right: var(--cue-right);
  bottom: var(--cue-bottom);
  width: auto;
  width: var(--cue-width, auto);
  height: auto;
  height: var(--cue-height, auto);
  box-sizing: border-box;
  transform: var(--cue-transform);
  text-align: var(--cue-text-align);
  writing-mode: inherit;
  writing-mode: var(--cue-writing-mode, unset);
  white-space: pre-line;
  unicode-bidi: plaintext;
  min-width: -moz-min-content;
  min-width: min-content;
  min-height: -moz-min-content;
  min-height: min-content;
  padding: var(--media-cue-display-padding);
  background-color: var(--media-cue-display-bg);
  border-radius: var(--media-cue-display-border-radius);
}

:where(.vds-captions[data-dir='rtl'] [data-part='cue-display']) {
  direction: rtl;
}

:where(.vds-captions [data-part='cue']) {
  display: inline-block;
  contain: content;
  border: medium none currentcolor;
  border: initial;
  border: var(--media-cue-border, unset);
  border-radius: 2px;
  border-radius: var(--media-cue-border-radius, 2px);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  -webkit-backdrop-filter: var(--media-cue-backdrop, blur(8px));
          backdrop-filter: var(--media-cue-backdrop, blur(8px));
  padding: var(--cue-padding-y) var(--cue-padding-x);
  line-height: var(--cue-line-height);
  background-color: var(--cue-bg-color);
  box-sizing: border-box;
  color: var(--cue-color);
  box-shadow: var(--media-cue-box-shadow, var(--cue-box-shadow));
  white-space: pre-wrap;
  white-space: var(--cue-white-space, pre-wrap);
  outline: var(--cue-outline);
  text-shadow: var(--cue-text-shadow);
}

:where(.vds-captions [data-part='cue-display'][data-vertical] [data-part='cue']) {
  padding: var(--cue-padding-x) var(--cue-padding-y);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * VTT Regions
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-captions [data-part='region']) {
  --anchor-x-percent: calc(var(--region-anchor-x) / 100);
  --anchor-x: calc(var(--region-width) * var(--anchor-x-percent));
  --anchor-y-percent: calc(var(--region-anchor-y) / 100);
  --anchor-y: calc(var(--region-height) * var(--anchor-y-percent));
  --vp-anchor-x: calc(var(--region-viewport-anchor-x) * 1%);
  --vp-anchor-y-percent: calc(var(--region-viewport-anchor-y) / 100);
  --vp-anchor-y: calc(var(--overlay-height) * var(--vp-anchor-y-percent));
  position: absolute;
  display: inline-flex;
  flex-flow: column;
  justify-content: flex-start;
  width: var(--region-width);
  height: var(--region-height);
  min-height: 0px;
  max-height: var(--region-height);
  writing-mode: horizontal-tb;
  top: var(--region-top, calc((var(--overlay-height) * (var(--region-viewport-anchor-y) / 100)) - (var(--region-height) * (var(--region-anchor-y) / 100))));
  top: var(--region-top, calc(calc(var(--overlay-height) * calc(var(--region-viewport-anchor-y) / 100)) - calc(var(--region-height) * calc(var(--region-anchor-y) / 100))));
  top: var(--region-top, calc(var(--vp-anchor-y) - var(--anchor-y)));
  left: var(--region-left, calc((var(--region-viewport-anchor-x) * 1%) - (var(--region-width) * (var(--region-anchor-x) / 100))));
  left: var(--region-left, calc(calc(var(--region-viewport-anchor-x) * 1%) - calc(var(--region-width) * calc(var(--region-anchor-x) / 100))));
  left: var(--region-left, calc(var(--vp-anchor-x) - var(--anchor-x)));
  right: var(--region-right);
  bottom: var(--region-bottom);
  overflow: hidden;
  word-wrap: break-word;
  box-sizing: border-box;
}

:where(.vds-captions [data-part='region'][data-active]) {
}

:where(.vds-captions [data-part='region'][data-scroll='up']) {
  justify-content: end;
}

:where(.vds-captions [data-part='region'][data-active][data-scroll='up']) {
  transition: top 0.433s;
}

:where(.vds-captions [data-part='region'] > [data-part='cue-display']) {
  position: relative;
  width: auto;
  left: var(--cue-offset);
  height: auto;
  height: var(--cue-height, auto);
  text-align: var(--cue-text-align);
  unicode-bidi: plaintext;
  margin-top: 2px;
}

:where(.vds-captions [data-part='region'] [data-part='cue']) {
  position: relative;
  border-radius: 0px;
}

:where(.vds-chapter-title) {
  --color: var(--media-chapter-title-color, rgba(255, 255, 255, 0.64));
  display: inline-block;
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 14px;
  font-size: var(--media-chapter-title-font-size, 14px);
  font-weight: 500;
  font-weight: var(--media-chapter-title-font-weight, 500);
  color: rgba(255, 255, 255, 0.64);
  color: var(--color);
  flex: 1 1 0%;
  padding-left: 8px;
  padding-right: 8px;
  overflow: hidden;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.vds-chapter-title::before {
  content: '\2022';
  content: var(--media-chapter-title-separator, '\2022');
  display: inline-block;
  margin-right: 6px;
  margin-right: var(--media-chapter-title-separator-gap, 6px);
  color: var(--media-chapter-title-separator-color, var(--color));
}

.vds-chapter-title:empty::before {
  content: '';
  margin: 0;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-controls),
:where(.vds-controls-group) {
  position: relative;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Audio Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where([data-view-type='audio'] .vds-controls) {
  display: inline-block;
  max-width: 100%;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Video Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where([data-view-type='video'] .vds-controls) {
  display: flex;
  position: absolute;
  flex-direction: column;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  padding: 0px;
  padding: var(--media-controls-padding, 0px);
  transition: opacity 0.2s ease-out;
  transition: var(--media-controls-out-transition, opacity 0.2s ease-out);
}

:where([data-view-type='video'] .vds-controls[data-visible]) {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease-in;
  transition: var(--media-controls-in-transition, opacity 0.2s ease-in);
}

:where(.vds-controls-spacer) {
  flex: 1 1 0%;
  pointer-events: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Gesture
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-gestures) {
  display: contents;
}

:where(.vds-gesture) {
  position: absolute;
  display: block;
  contain: content;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none !important;
}

:where(.vds-icon svg) {
  display: block;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menus
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu:not([data-submenu]) media-menu:not([data-submenu])) {
  display: contents;
}

:where(.vds-menu) {
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 15px;
  font-size: var(--media-menu-font-size, 15px);
  font-weight: 500;
  font-weight: var(--media-menu-font-weight, 500);
}

:where(.vds-menu[data-disabled]:not([data-submenu])) {
  display: none;
}

:where(.vds-menu[data-submenu]) {
  display: inline-block;
}

:where(.vds-menu-items:focus) {
  outline: none;
}

:where(.vds-menu-items) :where([role='menuitem']:focus, [role='menuitemradio']:focus) {
  outline: none;
}

:where(.vds-menu-items)
  :where(
    [role='menuitem']:focus-visible,
    [role='menuitem'][data-focus],
    [role='menuitemradio']:focus-visible,
    [role='menuitemradio'][data-focus]
  ),
:where(.vds-radio[data-focus]) {
  outline: none;
  box-shadow: var(--media-focus-ring);
}

:where(.vds-menu[data-open] .vds-tooltip-content) {
  display: none !important;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Scroll
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

@media (prefers-reduced-motion: no-preference) {
  :where(.vds-menu-items) {
    scroll-behavior: smooth;
  }
}

:where(.vds-menu-items) {
  box-sizing: border-box;
  min-width: 260px;
  min-width: var(--media-menu-min-width, 260px);
  scrollbar-width: thin;
}

:where(.vds-menu-items)::-webkit-scrollbar {
  background-color: black;
  border-radius: 8px;
  border-radius: var(--media-menu-border-radius, 8px);
  height: 6px;
  width: 5px;
}

:where(.vds-menu-items)::-webkit-scrollbar-track {
  background-color: rgba(245, 245, 245, 0.08);
  background-color: var(--media-menu-scrollbar-track-bg, rgba(245, 245, 245, 0.08));
  border-radius: 4px;
}

:where(.vds-menu-items)::-webkit-scrollbar-thumb {
  background-color: rgba(245, 245, 245, 0.1);
  background-color: var(--media-menu-scrollbar-thumb-bg, rgba(245, 245, 245, 0.1));
  border-radius: 4px;
}

:where(.vds-menu-items)::-webkit-scrollbar-corner {
  background-color: rgba(245, 245, 245, 0.1);
  background-color: var(--media-menu-scrollbar-thumb-bg, rgba(245, 245, 245, 0.1));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Button
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-button) {
  outline: none;
}

:where(.vds-menu-button[role='button'] .vds-rotate-icon) {
  transition: transform 0.2s ease-out;
}

:where(.vds-menu-button[aria-expanded='true'] .vds-rotate-icon) {
  transform: rotate(90deg);
  transform: rotate(var(--media-menu-button-icon-rotate-deg, 90deg));
  transition: transform 0.2s ease-in;
}

:where(.vds-menu-button[role='button']) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Button Parts
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-button) {
  box-sizing: border-box;
}

/* SR-only. */
:where(.vds-menu-button[role='button']) :where(.vds-menu-button-label, .vds-menu-button-hint) {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

:where(.vds-menu-button[role='button'])
  :where(.vds-menu-button-open-icon, .vds-menu-button-close-icon) {
  display: none !important;
}

:where(.vds-menu-button) :where(.vds-menu-button-hint, .vds-menu-button-open-icon) {
  color: rgba(245, 245, 245, 0.5);
  color: var(--media-menu-hint-color, rgba(245, 245, 245, 0.5));
  font-size: 14px;
  font-size: var(--media-menu-hint-font-size, 14px);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Items
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-items) {
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 15px;
  font-size: var(--media-menu-font-size, 15px);
  font-weight: 500;
  font-weight: var(--media-menu-font-weight, 500);
  transition: height 0.35s ease;
}

:where(.vds-menu-items:not([data-submenu])) {
  padding: 10px;
  padding: var(--media-menu-padding, 10px);
  background-color: rgba(10, 10, 10, 0.95);
  background-color: var(--media-menu-bg, rgba(10, 10, 10, 0.95));
  border-radius: 8px;
  border-radius: var(--media-menu-border-radius, 8px);
  box-shadow: 1px 1px 1px rgba(10, 10, 10, 0.5);
  box-shadow: var(--media-menu-box-shadow, 1px 1px 1px rgba(10, 10, 10, 0.5));
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  height: auto;
  height: var(--menu-height, auto);
  will-change: width, height;
  overflow-y: scroll;
  overscroll-behavior: contain;
  opacity: 0;
  z-index: 9999999;
  box-sizing: border-box;
  max-height: 250px;
  max-height: var(--media-menu-max-height, 250px);
}

.vds-menu-items:not([data-submenu]) {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border: var(--media-menu-border, 1px solid rgba(255, 255, 255, 0.1));
}

:where([data-view-type='video'], .vds-video-layout) :where(.vds-menu-items:not([data-submenu])) {
  max-height: var(--media-menu-max-height, calc(var(--player-height) * 0.6));
}

:where(.vds-menu-items[data-resizing]) {
  pointer-events: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Items Animation
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-items:not([data-submenu])) {
  --enter-transform: translateY(0px);
  --exit-transform: translateY(12px);
}

/* Mobile Popup */
:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
  --enter-transform: translateY(-24px);
}

:where(.vds-menu-items:not([data-submenu])[aria-hidden='true']) {
  animation: vds-menu-exit 0.2s ease-out;
  animation: var(--media-menu-exit-animation, vds-menu-exit 0.2s ease-out);
}

:where(.vds-menu-items:not([data-submenu])[aria-hidden='false']) {
  animation: vds-menu-enter 0.3s ease-out;
  animation: var(--media-menu-enter-animation, vds-menu-enter 0.3s ease-out);
  animation-fill-mode: forwards;
}

/* Bottom */
:where(.vds-menu-items[data-placement~='bottom']) {
  --enter-transform: translateY(0);
  --exit-transform: translateY(-12px);
}

@keyframes vds-menu-enter {
  from {
    opacity: 0;
    transform: var(--exit-transform);
  }
  to {
    opacity: 1;
    transform: var(--enter-transform);
  }
}

@keyframes vds-menu-exit {
  from {
    opacity: 1;
    transform: var(--enter-transform);
  }
  to {
    opacity: 0;
    transform: var(--exit-transform);
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Portal
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(media-menu-portal) {
  display: contents;
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
  position: fixed;
  left: 16px;
  right: 16px;
  top: auto;
  top: initial;
  bottom: 0;
  max-height: 40vh;
  max-height: var(--media-sm-menu-portrait-max-height, 40vh);
  max-height: 40dvh;
  max-height: var(--media-sm-menu-portrait-max-height, 40dvh);
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
  max-width: 480px;
  margin: 0 auto;
}

@media (orientation: landscape) and (pointer: coarse) {
  :where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
    max-height: min(70vh, 400px);
    max-height: var(--media-sm-menu-landscape-max-height, min(70vh, 400px));
    max-height: min(70dvh, 400px);
    max-height: var(--media-sm-menu-landscape-max-height, min(70dvh, 400px));
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Submenu
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu[data-submenu] .vds-menu-button) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

:where(.vds-menu-items[data-submenu]) {
  width: 100%;
  margin-top: 12px;
}

:where(.vds-menu[aria-hidden='true']),
:where(.vds-menu-items[data-submenu][aria-hidden='true']) {
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Item
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-items) :where([role='menuitem'], [role='menuitemradio']) {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  justify-content: left;
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 2px;
  border-radius: var(--media-menu-item-border-radius, 2px);
  box-sizing: border-box;
}

.vds-menu-items [role='menuitem'],
.vds-menu-items [role='menuitemradio'] {
  border: 0;
  border: var(--media-menu-item-border, 0);
  color: #f5f5f5;
  color: var(--media-menu-item-color, #f5f5f5);
  background-color: transparent;
  background-color: var(--media-menu-item-bg, transparent);
  padding: 10px;
  padding: var(--media-menu-item-padding, 10px);
}

.vds-menu-items [role='menuitem']:focus-visible,
.vds-menu-items [role='menuitemradio']:focus-visible,
.vds-menu-items [role='menuitem'][data-focus],
.vds-menu-items [role='menuitemradio'][data-focus] {
  cursor: pointer;
  background-color: rgba(245, 245, 245, 0.08);
  background-color: var(--media-menu-item-hover-bg, rgba(245, 245, 245, 0.08));
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement]))
  :where([role='menuitem'], [role='menuitemradio']) {
  padding: 12px;
  padding: var(--media-sm-menu-item-padding, 12px);
}

@media (hover: hover) and (pointer: fine) {
  .vds-menu-items [role='menuitem']:hover,
  .vds-menu-items [role='menuitemradio']:hover {
    cursor: pointer;
    background-color: rgba(245, 245, 245, 0.08);
    background-color: var(--media-menu-item-hover-bg, rgba(245, 245, 245, 0.08));
  }
}

:where(.vds-menu-items[data-submenu]) {
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

:where(.vds-menu-button[role='menuitem'][aria-expanded='true']) {
  border-radius: 0;
  border-top-left-radius: 2px;
  border-top-left-radius: var(--media-menu-item-border-radius, 2px);
  border-top-right-radius: 2px;
  border-top-right-radius: var(--media-menu-item-border-radius, 2px);
  border-bottom: 1px solid rgba(245, 245, 245,0.15);
  border-bottom: var(--media-menu-divider, 1px solid rgba(245, 245, 245,0.15));
}

:where(.vds-menu-button[role='menuitem'][aria-expanded='true']) {
  position: sticky;
  top: calc(-1 * 10px);
  top: calc(-1 * var(--media-menu-padding, 10px));
  left: 0;
  width: 100%;
  z-index: 10;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.vds-menu-button[role='menuitem'][aria-expanded='true'] {
  background-color: rgba(10, 10, 10, 0.6);
  background-color: var(--media-menu-top-bar-bg, rgba(10, 10, 10, 0.6));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu Item Parts
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-menu-items [role='menuitem'] .vds-menu-button-icon) {
  width: 22px;
  width: var(--media-menu-item-icon-size, 22px);
  height: 22px;
  height: var(--media-menu-item-icon-size, 22px);
  margin-right: 6px;
  margin-right: var(--media-menu-item-icon-spacing, 6px);
}

:where(.vds-menu-items [role='menuitem'] .vds-menu-button-close-icon) {
  margin-right: 6px;
  margin-right: var(--media-menu-item-icon-spacing, 6px);
}

:where(.vds-menu-items [role='menuitem'])
  :where(.vds-menu-button-open-icon, .vds-menu-button-close-icon) {
  width: 18px;
  height: 18px;
}

:where(.vds-menu-items [role='menuitem'])
  :where(.vds-menu-button-hint, .vds-menu-button-open-icon) {
  margin-left: auto;
}

:where(.vds-menu-items [role='menuitem'])
  :where(.vds-menu-button-hint + .vds-menu-button-open-icon),
:where(.vds-menu-button-hint + media-icon .vds-menu-button-open-icon),
:where(.vds-menu-button-hint + slot > .vds-menu-button-open-icon) {
  margin-left: 2px;
}

:where(.vds-menu-items [role='menuitem'][aria-hidden='true']),
:where(.vds-menu-items [role='menuitem'][aria-expanded='true'] .vds-menu-button-open-icon) {
  display: none !important;
}

:where(.vds-menu-items)
  :where([role='menuitem'][aria-disabled='true'] [role='menuitem'][data-disabled])
  :where(.vds-menu-button-open-icon) {
  opacity: 0;
}

:where(.vds-menu-button .vds-menu-button-close-icon),
:where(.vds-menu-items [role='menuitem'][aria-expanded='true'] .vds-menu-button-icon) {
  display: none !important;
}

:where(.vds-menu-items [role='menuitem'][aria-expanded='true'] .vds-menu-button-close-icon) {
  display: inline !important;
  margin-left: calc(-1 * 10px / 2);
  margin-left: calc(-1 * var(--media-menu-padding, 10px) / 2);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Radio
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-radio-group) {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
}

:where(.vds-radio) {
  position: relative;
  align-items: center;
  border-radius: 2px;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 15px;
  font-weight: 500;
  contain: content;
  padding: 12px;
  padding: var(--media-menu-item-padding, 12px);
}

:where(.vds-radio .vds-radio-check) {
  align-items: center;
  border-radius: 9999px;
  box-sizing: border-box;
  display: flex;
  height: 9px;
  height: var(--media-menu-radio-check-size, 9px);
  justify-content: center;
  margin-right: 8px;
  width: 9px;
  width: var(--media-menu-radio-check-size, 9px);
  border-width: medium !important;
  border-width: initial !important; /* prevent tailwind breaking */
}

.vds-radio .vds-radio-check {
  border: 2px solid rgba(245, 245, 245, 0.5);
  border: var(--media-menu-radio-check-border, 2px solid rgba(245, 245, 245, 0.5));
}

.vds-radio[aria-checked='true'] .vds-radio-check {
  border: 2px solid var(--media-menu-radio-check-active-color, var(--media-brand));
}

:where(.vds-radio[aria-checked='true'] .vds-radio-check)::after {
  content: '';
  background-color: #f5f5f5;
  background-color: var(--media-menu-radio-check-active-color, #f5f5f5);
  border-radius: 9999px;
  box-sizing: border-box;
  height: 4px;
  height: var(--media-menu-radio-check-inner-size, 4px);
  width: 4px;
  width: var(--media-menu-radio-check-inner-size, 4px);
  border-width: medium !important;
  border-width: initial !important; /* prevent tailwind breaking */
}

.vds-radio[aria-checked='true'] .vds-radio-check::after {
  border-color: #f5f5f5;
  border-color: var(--media-menu-radio-check-active-color, #f5f5f5);
}

:where(.vds-radio .vds-radio-hint) {
  color: rgb(168, 169, 171);
  color: var(--media-menu-item-info-color, rgb(168, 169, 171));
  font-size: 13px;
  font-size: var(--media-menu-item-info-font-size, 13px);
  margin-left: auto;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Chapters Menu
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-chapters-menu-items) {
  padding: 0;
  padding: var(--media-chapters-padding, 0);
  min-width: 220px;
  min-width: var(--media-chapters-min-width, var(--media-menu-min-width, 220px));
}

:where(.vds-menu-items:has(.vds-chapters-radio-group[data-thumbnails])) {
  min-width: 300px;
  min-width: var(--media-chapters-with-thumbnails-min-width, 300px);
}

:where(.vds-chapter-radio) {
  border-radius: 0;
}

.vds-chapters-radio {
  border-bottom: 1px solid rgba(245, 245, 245, 0.1);
  border-bottom: var(--media-chapters-divider, 1px solid rgba(245, 245, 245, 0.1));
}

:where(.vds-chapter-radio:last-child) {
  border-bottom: 0;
}

:where(.vds-chapter-radio[aria-checked='true']) {
  background-color: rgba(255, 255, 255, 0.05);
  background-color: var(--media-chapters-item-active-bg, rgba(255, 255, 255, 0.05));
  border-left: var(--media-chapters-item-active-border-left);
}

:where(.vds-chapter-radio[aria-checked='true']):after {
  content: ' ';
  width: var(--progress);
  height: 3px;
  height: var(--media-chapters-progress-height, 3px);
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0;
  border-radius: var(--media-chapters-progress-border-radius, 0);
  background-color: var(--media-chapters-progress-bg, var(--media-brand));
}

.vds-chapters-radio-group :where(.vds-thumbnail) {
  margin-right: 12px;
  margin-right: var(--media-chapters-thumbnail-gap, 12px);
  flex-shrink: 0;
  min-width: 100px;
  min-width: var(--media-chapters-thumbnail-min-width, 100px);
  min-height: 56px;
  min-height: var(--media-chapters-thumbnail-min-height, 56px);
  max-width: 120px;
  max-width: var(--media-chapters-thumbnail-max-width, 120px);
  max-height: 68px;
  max-height: var(--media-chapters-thumbnail-max-height, 68px);
}

.vds-chapters-radio-group .vds-thumbnail {
  border: 0;
  border: var(--media-chapters-thumbnail-border, 0);
}

:where(.vds-chapters-radio-group .vds-chapter-radio-label) {
  color: rgba(245, 245, 245, 0.64);
  color: var(--media-chapters-label-color, rgba(245, 245, 245, 0.64));
  font-size: 15px;
  font-size: var(--media-chapters-label-font-size, 15px);
  font-weight: 500;
  font-weight: var(--media-chapters-label-font-weight, 500);
  white-space: nowrap;
  white-space: var(--media-chapters-label-white-space, nowrap);
}

:where(.vds-chapter-radio[aria-checked='true'] .vds-chapter-radio-label) {
  color: #f5f5f5;
  color: var(--media-chapters-label-active-color, #f5f5f5);
  font-weight: 500;
  font-weight: var(--media-chapters-label-active-font-weight, 500);
}

:where(.vds-chapters-radio-group .vds-chapter-radio-start-time) {
  display: inline-block;
  padding: 1px 4px;
  padding: var(--media-chapters-start-time-padding, 1px 4px);
  letter-spacing: 0.4px;
  letter-spacing: var(--media-chapters-start-time-letter-spacing, 0.4px);
  border-radius: 2px;
  border-radius: var(--media-chapters-start-time-border-radius, 2px);
  color: rgb(168, 169, 171);
  color: var(--media-chapters-start-time-color, rgb(168, 169, 171));
  font-size: 12px;
  font-size: var(--media-chapters-start-time-font-size, 12px);
  font-weight: 500;
  font-weight: var(--media-chapters-start-time-font-weight, 500);
  background-color: rgba(156, 163, 175, 0.2);
  background-color: var(--media-chapters-start-time-bg, rgba(156, 163, 175, 0.2));
  margin-top: 6px;
  margin-top: var(--media-chapters-start-time-gap, 6px);
}

:where(.vds-chapters-radio-group .vds-chapter-radio-duration) {
  color: rgba(245, 245, 245, 0.5);
  color: var(--media-chapters-duration-color, rgba(245, 245, 245, 0.5));
  background-color: var(--media-chapters-duration-bg);
  font-size: 12px;
  font-size: var(--media-chapters-duration-font-size, 12px);
  font-weight: 500;
  font-weight: var(--media-chapters-duration-font-weight, 500);
  border-radius: 2px;
  border-radius: var(--media-chapters-duration-border-radius, 2px);
  margin-top: 6px;
  margin-top: var(--media-chapters-duration-gap, 6px);
}

:where(.vds-menu-button[aria-disabled='true'], .vds-menu-button[data-disabled]) {
  display: none;
}

.vds-chapters-radio-group:not([data-thumbnails]) :where(.vds-thumbnail, media-thumbnail) {
  display: none;
}

:where(.vds-chapter-radio-content) {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-content) {
  width: 100%;
  flex-direction: row;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-start-time) {
  margin-top: 0;
  margin-left: auto;
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-duration) {
  margin-top: 4px;
  flex-basis: 100%;
}

:where(.vds-menu-items[data-keyboard]) .vds-chapters-radio-group:focus-within {
  padding: 4px;
  padding: var(--media-chapters-focus-padding, 4px);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Poster
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-poster) {
  display: block;
  contain: content;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border: 0;
  pointer-events: none;
  box-sizing: border-box;
  transition: opacity 0.2s ease-out;
  background-color: black;
  background-color: var(--media-poster-bg, black);
}

:where(.vds-poster img) {
  -o-object-fit: inherit;
     object-fit: inherit;
  -o-object-position: inherit;
     object-position: inherit;
  pointer-events: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  box-sizing: border-box;
}

.vds-poster :where(img) {
  border: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

:where(.vds-poster[data-hidden]) {
  display: none;
}

:where(.vds-poster[data-visible]) {
  opacity: 1;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Sliders
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider) {
  --width: var(--media-slider-width, 100%);
  --height: var(--media-slider-height, 48px);

  --thumb-size: var(--media-slider-thumb-size, 15px);
  --thumb-focus-size: var(--media-slider-focused-thumb-size, calc(var(--thumb-size) * 1.1));

  --track-width: var(--media-slider-track-width, 100%);
  --track-height: var(--media-slider-track-height, 5px);
  --track-focus-width: var(--media-slider-focused-track-width, var(--track-width));
  --track-focus-height: var(--media-slider-focused-track-height, calc(var(--track-height) * 1.25));

  display: inline-flex;
  align-items: center;
  width: 100%;
  width: var(--width);
  height: 48px;
  height: var(--height);
  /** Prevent thumb flowing out of slider. */
  margin: 0 calc(15px / 2);
  margin: 0 calc(var(--thumb-size) / 2);
  position: relative;
  contain: layout style;
  outline: none;
  pointer-events: auto;
  cursor: pointer;
  -moz-user-select: none;
       user-select: none;
  touch-action: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

:where(.vds-slider[aria-hidden='true']) {
  display: none !important;
}

:where(.vds-slider[aria-disabled='true']) {
  cursor: inherit;
}

:where(.vds-slider:focus) {
  outline: none;
}

:where(.vds-slider:not([data-chapters])[data-focus], .vds-slider:not([data-chapters]):focus-visible)
  :where(.vds-slider-track) {
  box-shadow: var(--media-focus-ring);
}

:where(.vds-slider .vds-slider-track) {
  z-index: 0;
  position: absolute;
  width: var(--track-width);
  height: var(--track-height);
  top: 50%;
  left: 0;
  border-radius: 2px;
  border-radius: var(--media-slider-track-border-radius, 2px);
  transform: translateY(-50%) translateZ(0);
  background-color: rgba(255, 255, 255, 0.3);
  background-color: var(--media-slider-track-bg, rgba(255, 255, 255, 0.3));
  contain: strict;
}

:where(.vds-slider[data-focus], .vds-slider:focus-visible) :where(.vds-slider-track) {
  outline-offset: var(--thumb-size);
}

:where(.vds-slider:not([data-chapters])[data-active] .vds-slider-track) {
  width: var(--track-focus-width);
  height: var(--track-focus-height);
}

:where(.vds-slider .vds-slider-track-fill) {
  z-index: 2; /** above track and track progress. */
  background-color: var(--media-slider-track-fill-bg, var(--media-brand));
  width: 0%;
  width: var(--slider-fill, 0%);
  will-change: width;
}

:where(.vds-slider .vds-slider-thumb) {
  position: absolute;
  top: 50%;
  left: var(--slider-fill);
  opacity: 0;
  contain: layout size style;
  width: var(--thumb-size);
  height: var(--thumb-size);
  border: 1px solid #cacaca;
  border: var(--media-slider-thumb-border, 1px solid #cacaca);
  border-radius: 9999px;
  border-radius: var(--media-slider-thumb-border-radius, 9999px);
  background-color: #fff;
  background-color: var(--media-slider-thumb-bg, #fff);
  transform: translate(-50%, -50%) translateZ(0);
  transition: opacity 0.15s ease-in;
  pointer-events: none;
  will-change: left;
  z-index: 2; /** above track fill. */
}

:where(.vds-slider[data-dragging], .vds-slider[data-focus], .vds-slider:focus-visible)
  :where(.vds-slider-thumb) {
  box-shadow: 0 0 0 4px hsla(0, 0%, 100%, 0.4);
  box-shadow: var(--media-slider-focused-thumb-shadow, 0 0 0 4px hsla(0, 0%, 100%, 0.4));
}

:where(.vds-slider[data-active] .vds-slider-thumb) {
  opacity: 1;
  transition: opacity 0.2s ease-in, box-shadow 0.2s ease;
  transition: var(--media-slider-thumb-transition, opacity 0.2s ease-in, box-shadow 0.2s ease);
}

:where(.vds-slider[data-dragging] .vds-slider-thumb) {
  width: var(--thumb-focus-size);
  height: var(--thumb-focus-size);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Slider Value
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider-value) {
  display: inline-block;
  contain: content;
  font-size: 14px;
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Slider Thumbnail
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider-thumbnail) {
  display: block;
  contain: content;
  box-sizing: border-box;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Slider Video
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider-video) {
  background-color: black;
  box-sizing: border-box;
  contain: content;
  display: inline-block;
  border: 1px solid white;
  border: var(--media-thumbnail-border, 1px solid white);
}

:where(.vds-slider-video video) {
  display: block;
  height: auto;
  width: 156px;
}

/* Temporarily hide video while loading. */
:where(.vds-slider-video[data-loading]) {
  opacity: 0;
}

/* Hide video if it fails to load. */
:where(.vds-slider-video[data-hidden], .vds-slider-video[data-hidden] video) {
  display: none;
  width: 0px;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Previews
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider .vds-slider-preview) {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  background-color: var(--media-slider-preview-bg);
  border-radius: 2px;
  border-radius: var(--media-slider-preview-border-radius, 2px);
  pointer-events: none;
  transition: opacity 0.2s ease-out;
  will-change: left, opacity;
  contain: layout paint style;
}

:where(.vds-slider-preview[data-visible]) {
  opacity: 1;
  transition: opacity 0.2s ease-in;
}

:where(.vds-slider-value) {
  padding: 1px 10px;
  padding: var(--media-slider-value-padding, 1px 10px);
  color: white;
  color: var(--media-slider-value-color, white);
  background-color: black;
  background-color: var(--media-slider-value-bg, black);
  border-radius: 2px;
  border-radius: var(--media-slider-value-border-radius, 2px);
}

.vds-slider-value {
  border: var(--media-slider-value-border);
}

:where(
    .vds-slider-video:not([data-hidden]) + .vds-slider-chapter-title,
    .vds-slider-thumbnail:not([data-hidden]) + .vds-slider-chapter-title
  ) {
  margin-top: 6px;
  margin-top: var(--media-slider-chapter-title-gap, 6px);
}

:where(
    .vds-slider-video:not([data-hidden]) + .vds-slider-value,
    .vds-slider-thumbnail:not([data-hidden]) + .vds-slider-value,
    .vds-slider-chapter-title + .vds-slider-value
  ) {
  margin-top: 4px;
  margin-top: var(--media-slider-value-gap, 4px);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Vertical Sliders
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-slider[aria-orientation='vertical']) {
  --width: var(--media-slider-width, 48px);
  --height: var(--media-slider-height, 100%);

  --track-width: var(--media-slider-track-width, 4px);
  --track-height: var(--media-slider-track-height, 100%);
  --track-focus-width: var(--media-slider-focused-track-width, calc(var(--track-width) * 1.25));
  --track-focus-height: var(--media-slider-focused-track-height, var(--track-height));

  /** Prevent thumb flowing out of slider. */
  margin: calc(var(--thumb-size) / 2) 0;
}

:where(.vds-slider[aria-orientation='vertical'] .vds-slider-track) {
  top: auto;
  top: initial;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateZ(0);
}

:where(.vds-slider[aria-orientation='vertical'] .vds-slider-track-fill) {
  width: var(--track-width);
  height: var(--slider-fill);
  will-change: height;
  transform: translateX(-50%) translateZ(0);
}

:where(.vds-slider[aria-orientation='vertical'] .vds-slider-progress) {
  top: auto;
  top: initial;
  bottom: 0;
  width: var(--track-width);
  height: 0%;
  height: var(--slider-progress, 0%);
  will-change: height;
}

:where(.vds-slider[aria-orientation='vertical'] .vds-slider-thumb) {
  top: auto;
  top: initial;
  bottom: var(--slider-fill);
  left: 50%;
  will-change: bottom;
  transform: translate(-50%, 50%) translateZ(0);
}

:where(.vds-slider[aria-orientation='vertical'] .vds-slider-preview) {
  will-change: bottom, opacity;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Time Slider
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where([data-live] .vds-time-slider .vds-slider-track-fill) {
  background-color: #dc2626;
  background-color: var(--media-slider-track-fill-live-bg, #dc2626);
}

:where(.vds-time-slider .vds-slider-progress) {
  z-index: 1; /** above track. */
  left: 0;
  width: 0%;
  width: var(--slider-progress, 0%);
  will-change: width;
  background-color: rgba(255, 255, 255, 0.5);
  background-color: var(--media-slider-track-progress-bg, rgba(255, 255, 255, 0.5));
}

:where([data-media-player]:not([data-can-play]) .vds-time-slider .vds-slider-value) {
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Slider Chapters
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-time-slider .vds-slider-chapters) {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  contain: layout style;
  border-radius: 1px;
  border-radius: var(--media-slider-track-border-radius, 1px);
}

:where(.vds-slider[data-focus], .vds-slider:focus-visible) :where(.vds-slider-chapters) {
  box-shadow: var(--media-focus-ring);
  height: var(--track-height);
}

:where(.vds-time-slider .vds-slider-chapter) {
  margin-right: 2px;
}

:where(.vds-time-slider .vds-slider-chapter:last-child) {
  margin-right: 0;
}

:where(.vds-time-slider .vds-slider-chapter) {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  will-change: height, transform;
  contain: layout style;
  border-radius: 1px;
  border-radius: var(--media-slider-track-border-radius, 1px);
}

:where(.vds-time-slider .vds-slider-chapter .vds-slider-track-fill) {
  width: 0%;
  width: var(--chapter-fill, 0%);
  will-change: width;
}

:where(.vds-time-slider .vds-slider-chapter .vds-slider-progress) {
  width: 0%;
  width: var(--chapter-progress, 0%);
  will-change: width;
}

@media (hover: hover) and (pointer: fine) {
  :where(.vds-time-slider:hover .vds-slider-chapters) {
    contain: strict;
  }

  :where(.vds-time-slider .vds-slider-chapter:hover:not(:only-of-type)) {
    transform: scaleY(2);
    transform: var(--media-slider-chapter-hover-transform, scaleY(2));
    transition: transform 0.1s cubic-bezier(0.4, 0, 1, 1);
    transition: var(
      --media-slider-chapter-hover-transition,
      transform 0.1s cubic-bezier(0.4, 0, 1, 1)
    );
  }
}

:where(.vds-time-slider .vds-slider-chapter-title) {
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 14px;
  font-size: var(--media-slider-chapter-title-font-size, 14px);
  color: #f5f5f5;
  color: var(--media-slider-chapter-title-color, #f5f5f5);
  background-color: var(--media-slider-chapter-title-bg);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Thumbnail
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-thumbnail) {
  --aspect-ratio: calc(var(--media-thumbnail-aspect-ratio, 16 / 9));
  --min-width: var(--media-thumbnail-min-width, 140px);
  --max-width: var(--media-thumbnail-max-width, 180px);
  display: block;
  width: var(--thumbnail-width);
  height: var(--thumbnail-height);
  background-color: black;
  background-color: var(--media-thumbnail-bg, black);
  contain: strict;
  overflow: hidden;
  box-sizing: border-box;
  min-width: 140px;
  min-width: var(--min-width);
  min-height: calc(140px / (16 / 9));
  min-height: calc(140px / calc(16 / 9));
  min-height: var(--media-thumbnail-min-height, calc(var(--min-width) / var(--aspect-ratio)));
  max-width: 180px;
  max-width: var(--max-width);
  max-height: calc(180px / (16 / 9));
  max-height: calc(180px / calc(16 / 9));
  max-height: var(--media-thumbnail-max-height, calc(var(--max-width) / var(--aspect-ratio)));
}

.vds-thumbnail {
  border: 1px solid white;
  border: var(--media-thumbnail-border, 1px solid white);
}

:where(.vds-thumbnail img) {
  min-width: 0 !important;
  min-width: initial !important;
  max-width: none !important;
  max-width: initial !important;
  will-change: width, height, transform;
}

:where(.vds-thumbnail[aria-hidden='true']) {
  display: none !important;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Time
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-time-group) {
  display: flex;
  align-items: center;
}

:where(.vds-time-divider) {
  margin: 0 2.5px;
  margin: 0 var(--media-time-divider-gap, 2.5px);
  color: #e0e0e0;
  color: var(--media-time-divider-color, #e0e0e0);
}

:where(.vds-time) {
  display: inline-block;
  contain: content;
  font-size: 14px;
  font-size: var(--media-time-font-size, 14px);
  font-weight: 400;
  font-weight: var(--media-time-font-weight, 400);
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  color: #f5f5f5;
  color: var(--media-time-color, #f5f5f5);
  background-color: var(--media-time-bg);
  border-radius: var(--media-time-border-radius);
  letter-spacing: 0.025em;
  letter-spacing: var(--media-time-letter-spacing, 0.025em);
}

.vds-time {
  border: var(--media-time-border);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Tooltips
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-tooltip, media-tooltip) {
  display: contents;
}

:where(.vds-tooltip-content) {
  display: inline-block;
  box-sizing: border-box;
  color: hsl(0, 0%, 80%);
  color: var(--media-tooltip-color, hsl(0, 0%, 80%));
  background-color: black;
  background-color: var(--media-tooltip-bg-color, black);
  font-family: sans-serif;
  font-family: var(--media-font-family, sans-serif);
  font-size: 13px;
  font-size: var(--media-tooltip-font-size, 13px);
  font-weight: 500;
  font-weight: var(--media-tooltip-font-weight, 500);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  z-index: 10;
  will-change: transform, opacity;
  border-radius: 4px;
  border-radius: var(--media-tooltip-border-radius, 4px);
  padding: 2px 8px;
  padding: var(--media-tooltip-padding, 2px 8px);
}

.vds-tooltip-content {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border: var(--media-tooltip-border, 1px solid rgba(255, 255, 255, 0.1));
}

:where(.vds-menu .vds-menu-button[role='button'][data-pressed] .vds-tooltip-content) {
  opacity: 0;
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Tooltip Animation
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-tooltip-content) {
  --enter-transform: translateY(0px) scale(1);
  --exit-transform: translateY(12px) scale(0.8);
}

:where(.vds-tooltip-content:not([data-visible])) {
  animation: vds-tooltip-exit 0.2s ease-out;
  animation: var(--media-tooltip-exit-animation, vds-tooltip-exit 0.2s ease-out);
}

:where(.vds-tooltip-content[data-visible]) {
  animation: vds-tooltip-enter 0.2s ease-in;
  animation: var(--media-tooltip-enter-animation, vds-tooltip-enter 0.2s ease-in);
  animation-fill-mode: forwards;
}

/* Bottom */
:where(.vds-tooltip-content[data-placement~='bottom']) {
  --enter-transform: translateY(0) scale(1);
  --exit-transform: translateY(-12px) scale(0.8);
}

@keyframes vds-tooltip-enter {
  from {
    opacity: 0;
    transform: var(--exit-transform);
  }
  to {
    opacity: 1;
    transform: var(--enter-transform);
  }
}

@keyframes vds-tooltip-exit {
  from {
    opacity: 1;
    transform: var(--enter-transform);
  }
  to {
    opacity: 0;
    transform: var(--exit-transform);
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * States
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

/* Play Button */
[data-media-player]:not([data-paused]) .vds-play-tooltip-text,
[data-media-player][data-paused] .vds-pause-tooltip-text,
/* PIP Button */
[data-media-player][data-pip] .vds-pip-enter-tooltip-text,
[data-media-player]:not([data-pip]) .vds-pip-exit-tooltip-text,
/* Fullscreen Button */
[data-media-player][data-fullscreen] .vds-fs-enter-tooltip-text,
[data-media-player]:not([data-fullscreen]) .vds-fs-exit-tooltip-text,
/* Caption Button */
[data-media-player]:not([data-captions]) .vds-cc-on-tooltip-text,
[data-media-player][data-captions] .vds-cc-off-tooltip-text,
/* Mute Button */
[data-media-player]:not([data-muted]) .vds-mute-tooltip-text,
[data-media-player][data-muted] .vds-unmute-tooltip-text {
  display: none;
}
/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Default Audio Layout
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

[data-media-player] .vds-audio-layout:not([data-match]) {
  display: none !important;
}

:where([data-media-player][data-view-type='audio']) {
  border-radius: 6px;
  border-radius: var(--audio-border-radius, 6px);
}

:where(.vds-audio-layout) {
  position: relative;
  display: inline-block;
  min-width: 100%;
  min-height: 80px;
  color: #f5f5f5;
  color: var(--audio-controls-color, #f5f5f5);
  background-color: black;
  background-color: var(--audio-bg, black);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border: var(--audio-border, 1px solid rgba(255, 255, 255, 0.1));
  border-radius: 6px;
  border-radius: var(--audio-border-radius, 6px);
  box-sizing: border-box;
}

:where([data-media-player][data-focus]:not([data-playing]) .vds-controls) {
  box-shadow: var(--media-focus-ring);
}

:where(.vds-audio-layout) {
  --media-brand: var(--audio-brand, #f5f5f5);
  --media-font-family: var(--audio-font-family, sans-serif);
  --media-controls-color: var(--audio-controls-color, #f5f5f5);
  --media-menu-y-offset: 32px;
  --media-tooltip-y-offset: 34px;
  --media-button-size: 34px;
  --media-slider-value-border: var(--audio-slider-value-border, 1px solid rgba(255, 255, 255, 0.1));
  --media-focus-ring-color: var(--audio-focus-ring-color, rgb(78, 156, 246));
  --media-focus-ring: var(--audio-focus-ring, 0 0 0 3px var(--media-focus-ring-color));
}

:where(.vds-audio-layout[data-size='sm']) {
  --media-menu-y-offset: 10px;
  --media-tooltip-y-offset: 12px;
  --media-slider-height: 35px;
  min-height: 86px;
}

:where([data-can-seek] .vds-audio-layout[data-size='sm']) {
  min-height: 102px;
}

:where(.vds-audio-layout .vds-chapter-ui) {
  position: relative;
  min-width: 100%;
  min-height: 80px;
  color: #f5f5f5;
  color: var(--audio-controls-color, #f5f5f5);
  background-color: black;
  background-color: var(--audio-bg, black);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border: var(--audio-border, 1px solid rgba(255, 255, 255, 0.1));
  border-radius: 6px;
  border-radius: var(--audio-border-radius, 6px);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Info
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-media-info) {
  display: flex;
  align-items: center;
}

:where(.vds-audio-layout[data-size='sm'] .vds-chapter-title) {
  padding-left: 0;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Time Group
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-time-group) {
  margin-left: 6px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-time) {
  padding: 0 6px;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Live Button
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-live-button) {
  margin-left: 2px;
  margin-right: 2px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-live-button) {
  margin-left: 6px;
  margin-right: 10px;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-controls) {
  padding-left: 8px;
  padding-right: 8px;
}

:where(.vds-audio-layout .vds-controls-group) {
  display: flex;
  align-items: center;
  pointer-events: auto;
  width: 100%;
}

:where(.vds-audio-layout .vds-controls-group:first-child) {
  flex: 1 1 0%;
  min-width: 0;
}

:where(.vds-audio-layout .vds-controls-group:nth-child(2)) {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: -14px;
}

:where(.vds-audio-layout .vds-controls-group:last-child) {
  margin-bottom: 4px;
  z-index: 99;
}

:where(.vds-audio-layout .vds-button) {
  min-width: 40px;
  min-width: var(--audio-button-size, 40px);
  min-height: 40px;
  min-height: var(--audio-button-size, 40px);
  margin-right: 2.5px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-play-button) {
  margin-right: -4px;
}

:where([data-can-seek] .vds-audio-layout .vds-play-button) {
  min-width: 43px;
  min-width: var(--audio-play-button-size, 43px);
  min-height: 43px;
  min-height: var(--audio-play-button-size, 43px);
  margin-left: -5px;
  margin-right: -2px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-controls-group:first-child) {
  margin-top: 8px;
  margin-bottom: 16px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-controls-group:nth-child(3)) {
  margin-top: -4px;
}

:where([data-can-seek] .vds-audio-layout[data-size='sm'] .vds-controls-group:last-child) {
  --media-tooltip-y-offset: 96px;
  margin-top: -6px;
  margin-bottom: 16px;
}

:where(.vds-audio-layout[data-size='sm'] .vds-controls-group:last-child .vds-button) {
  margin-right: 0;
  margin-right: initial;
}

:where(.vds-audio-layout[data-size='sm'] .vds-controls-group:last-child .vds-button) {
  width: 36px;
  height: 36px;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Sliders
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-time-slider) {
  width: 100%;
  margin-top: -8px;
  z-index: 98;
}

:where(.vds-audio-layout .vds-time-slider .vds-thumbnail) {
  display: none;
}

:where(.vds-audio-layout .vds-volume-slider) {
  min-width: 72px;
  max-width: 72px;
  margin-left: 0.5px;
  margin-right: 12px;
  transition: transform 0.15s ease;
}

:where(.vds-audio-layout[data-size='sm'] .vds-time-slider .vds-slider-preview) {
  --media-slider-preview-offset: 48px;
}

:where(.vds-audio-layout .vds-volume-slider .vds-slider-preview) {
  --media-slider-preview-offset: 28px;
}

:where(.vds-audio-layout .vds-slider-chapter-title) {
  color: black;
  color: var(--audio-slider-chapter-title-color, black);
}

:where(.dark .vds-audio-layout .vds-slider-chapter-title) {
  color: white;
  color: var(--audio-slider-chapter-title-color, white);
}

:where(.vds-audio-layout[data-size='sm'] .vds-slider-chapter-title) {
  display: none;
}

:where([data-buffering] .vds-audio-layout .vds-track-progress) {
  --stripe-color: var(--audio-buffering-stripe-color, rgba(0, 0, 0, 0.25));
  --stripe-size: var(--audio-buffering-stripe-size, 30px);
  width: 100% !important;
  background-image: linear-gradient(
    -45deg,
    rgba(0, 0, 0, 0.25) 25%,
    transparent 25%,
    transparent 50%,
    rgba(0, 0, 0, 0.25) 50%,
    rgba(0, 0, 0, 0.25) 75%,
    transparent 75%,
    transparent
  );
  background-image: linear-gradient(
    -45deg,
    var(--stripe-color) 25%,
    transparent 25%,
    transparent 50%,
    var(--stripe-color) 50%,
    var(--stripe-color) 75%,
    transparent 75%,
    transparent
  );
  background-size: 30px 30px;
  background-size: var(--stripe-size) var(--stripe-size);
  animation: vds-audio-track-progress 2s linear infinite;
  animation: vds-audio-track-progress var(--audio-buffering-stripe-speed, 2s) linear infinite;
}

@keyframes vds-audio-track-progress {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: var(--stripe-size) var(--stripe-size);
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menus
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-menu-items:not([data-submenu])) {
  max-height: 320px;
  max-height: var(--audio-menu-max-height, 320px);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Captions
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

:where(.vds-audio-layout .vds-captions) {
  --cue-font-size: var(--audio-cue-font-size, 14px);
  display: inline-block;
  position: absolute;
  width: 100%;
  top: auto;
  top: initial;
  bottom: calc(100% + 2px);
  bottom: calc(100% + var(--audio-captions-offset, 2px));
  text-align: center;
  background-color: transparent;
  background-color: var(--audio-captions-bg, transparent);
}

:where(.vds-audio-layout .vds-captions [data-part='cue']) {
  color: white;
  color: var(--audio-cue-color, white);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border: var(--audio-cue-border, 1px solid rgba(255, 255, 255, 0.1));
  background-color: black;
  background-color: var(--audio-cue-bg, black);
}

:where([data-preview] .vds-audio-layout:not([data-size='sm']) .vds-captions) {
  opacity: 0;
}
:where(.player-73yQV) {
  /* Custom Variables */
  --pad-lg-x: 20px;
  --pad-lg-y: 10px;
  --pad-sm-x: 10px;
  --pad-sm-y: 10px;
  --play-button-size-sm: 40px;
  --play-button-size-lg: 60px;

  /*
   Player Layout Overrides
   https://www.vidstack.io/docs/player/components/layouts/default-layout#css-variables
  */

  --brand-color: var(--color-medium-blue);
  --accent-color: var(--color-blue-2);
  --focus-color: var(--color-light-blue);

  --audio-bg: #fff;
  --audio-controls-color: var(--color-medium-gray-3);
  --media-button-color: var(--color-medium-gray-3);
  --audio-brand: var(--brand-color);
  --audio-focus-ring-color: var(--focus-color);
  --audio-border-radius: 10px;

  --video-brand: var(--brand-color);
  --video-focus-ring-color: var(--focus-color);
  --video-border-radius: 10px;

  --audio-button-size: 30px;
  --media-button-size: 30px;
  --media-button-icon-size: 24px;

  --media-time-color: var(--color-medium-gray-3);
  --media-time-divider-color: var(--color-light-gray-2);
  --media-time-font-size: 12px;
  --media-chapter-title-color: var(--color-black);
  --media-slider-track-bg: var(--color-light-gray);
  --media-slider-track-progress-bg: var(--color-medium-gray-4);
  --media-slider-track-height: 8px;
  --media-slider-focused-track-height: 10px;
  --media-slider-thumb-size: 18px;
  --media-slider-thumb-bg: #fff;
  --media-chapter-title-separator-color: var(--color-light-gray-2);

  --media-menu-bg: #fafafa;
  --media-menu-padding: 5px;
  --media-menu-scrollbar-track-bg: #fafafa;
  --media-menu-scrollbar-thumb-bg: var(--color-medium-gray-3);
  --media-menu-item-color: var(--color-black);
  --media-menu-top-bar-bg: rgba(250,250,250,0.26667);
  --media-menu-top-bar-color: var(--color-black);

  --border-color: var(--color-light-blue);
  border-width: 1px;

  /* &[data-view-type='audio'] :global(.vds-poster) {
    display: none;
  }
  [data-view-type='video'] {
    aspect-ratio: 16 /9;
  } */

  /* Override default layout's styles to align with our CSS Reset */
}

[data-media-player]:where(.player-73yQV) {
    display: flex; /* default is inline-flex */
    max-width: 100%; /* default is unset */
  }

/* Smaller volume slider track */

.player-73yQV .vds-volume-slider {
    --media-slider-track-height: 5px;
    --media-slider-focused-track-height: 5px;
  }

/* Prevent CLS */

.player-73yQV .vds-audio-layout {
    --pad-y: var(--pad-sm-y);
    --pad-x: var(--pad-sm-x);
    --play-button-size: var(--play-button-size-sm);
    /* 26px === 20px native + 6px additional (see .vds-controls below) */
    min-height: calc(var(--play-button-size-sm) + var(--pad-sm-y) * 2 + 26px);
    min-height: calc(var(--play-button-size) + var(--pad-y) * 2 + 26px);
  }

.player-73yQV .vds-audio-layout:not([data-size='sm']) {
      --play-button-size: var(--play-button-size-lg);
      --pad-y: var(--pad-lg-y);
      --pad-x: var(--pad-lg-x);
    }

/* Padding to accomodate button + variable padding */

.player-73yQV .vds-controls {
    padding-top: calc(var(--pad-y) + 6px);
    padding-left: calc(var(--pad-x) + var(--play-button-size) + 12px);
    padding-bottom: var(--pad-y);
    padding-right: var(--pad-x);
  }

/* Allow play button to be positioned relative to player layout */

.player-73yQV .vds-controls-group:last-child {
    position: static;
  }

/* Big button */

.player-73yQV .vds-play-button {
    --media-button-icon-size: 38px;

    position: absolute;
    /** technically should be + 12px but 8px looks more optically balanced  */
    left: calc(var(--pad-x) + 8px);
    top: 50%;
    transform: translateY(-50%);
    width: var(--play-button-size);
    height: var(--play-button-size);
    background: var(--brand-color);
    color: var(--color-white);
    border-radius: 100px;
  }

/* Hide -10s button */

.player-73yQV .vds-seek-button:first-of-type {
    display: none;
  }

/* Slight nudge away from volume button */

.player-73yQV .vds-time-group {
    padding-right: 6px;
  }

/* Move the title to the left */

.player-73yQV .vds-chapter-title {
    --media-chapter-title-separator: none;
    order: -1;
  }

/* Silly overrides */

.player-73yQV [data-size='sm'] {
    --media-slider-track-height: 6px;
    --media-slider-focused-track-height: 6px;
    --media-chapter-title-font-size: 12px;
  }

.player-73yQV [data-size='sm'] .vds-controls-group:first-child {
      margin-top: -6px;
      margin-bottom: 12px;
    }

.player-73yQV [data-size='sm'] .vds-controls-group:last-child {
      margin-bottom: 0;
    }

.player-73yQV [data-size='sm'] .vds-mute-button {
      display: none;
    }

/* Let the title wrap but still max out at 2 lines  */

.player-73yQV [data-size='sm'] .vds-chapter-title {
      white-space: normal;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      max-height: 3em;
      line-height: 1.4;
      padding-right: 0px;

      padding-left: 8px;
    }

.player-73yQV [data-size='sm'] .vds-seek-button {
      position: absolute;
      left: calc(var(--play-button-size) - 9px);
      bottom: 0px;
      opacity: 0.8;
    }

.player-73yQV [data-size='sm'] .vds-seek-button:first-of-type {
        display: block;
        left: 6px;
      }

.player-73yQV [data-size='sm'] .vds-play-button {
      --media-button-icon-size: 30px;
      margin-top: -12px;
    }
