@layer base {
  @scope (.media-skin) {
    :scope {
      text-align: start;
      text-transform: none;
      letter-spacing: normal;
      font-style: normal;
      font-weight: 400;
    }

    :scope,
    *,
    :before,
    :after {
      box-sizing: border-box;
      border: 0 solid;
      margin: 0;
      padding: 0;
    }

    button {
      font: inherit;
      color: inherit;
      text-transform: none;
      letter-spacing: inherit;
      appearance: none;
      background: none;
    }

    img,
    svg,
    media-icon {
      max-width: 100%;
      display: block;
    }

    svg[fill="currentColor"] {
      fill: currentColor;
    }

    svg[fill="none"] {
      fill: none;
    }

    svg[stroke="currentColor"] {
      stroke: currentColor;
    }

    video {
      border-radius: inherit;
      object-fit: var(--media-object-fit, contain);
      object-position: var(--media-object-position, center);
      width: 100%;
      max-width: 100%;
      height: 100%;
      display: block;
    }

    media-icon > svg {
      width: 100%;
      height: 100%;
    }

    media-tooltip-group,
    media-dialog,
    media-alert-dialog,
    media-error-dialog,
    media-controls {
      display: contents;
    }

    [hidden][hidden] {
      display: none !important;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    .media-skin {
      interpolate-size: allow-keywords;
    }
  }

  @supports not selector(:popover-open) {
    :where(.media-skin) [popover]:not([data-open], [data-ending-style]) {
      display: none !important;
    }

    .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
      overflow: visible !important;
    }
  }
}

@layer components {
  @scope (.media-skin[data-theme="default"]) {
    .media-status-announcer {
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      position: absolute;
      overflow: hidden;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-container,
    :scope.media-container {
      isolation: isolate;
      border-radius: var(--media-video-border-radius);
      background-color: var(--media-background);
      width: 100%;
      min-width: 0;
      height: 100%;
      min-height: 0;
      font-family: var(--media-font-family, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif);
      font-size: calc(var(--media-spacing) * 3.25);
      -webkit-font-smoothing: auto;
      -moz-osx-font-smoothing: auto;
      outline-offset: -4px;
      transition-property: outline-offset, outline-color;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-fast);
      --spacing: var(--media-spacing);
      outline: 2px solid #0000;
      line-height: 1.5;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      display: block;
      position: relative;
      overflow: clip;
      container: media-root / inline-size;
    }

    .media-container:after,
    :scope.media-container:after {
      pointer-events: none;
      z-index: 10;
      border-radius: inherit;
      content: "";
      border-style: solid;
      border-width: 1px;
      border-color: var(--media-frame-border);
      position: absolute;
      inset: 0;
    }

    .media-container:focus-visible,
    :scope.media-container:focus-visible {
      outline-offset: 2px;
      outline-color: var(--media-ring);
    }

    .media-container:fullscreen:after,
    :scope.media-container:fullscreen:after {
      content: "";
      display: none;
    }
  }

  .media-container > slot::slotted(video),
  :scope.media-container > slot::slotted(video) {
    border-radius: inherit;
    object-fit: var(--media-object-fit, contain);
    object-position: var(--media-object-position, center);
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    display: block;
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-button {
      width: var(--media-control-size);
      height: var(--media-control-size);
      cursor: pointer;
      touch-action: manipulation;
      border-radius: var(--media-control-radius);
      text-align: center;
      min-height: 0;
      color: inherit;
      outline-offset: -2px;
      transition-property: background-color, color, outline-offset, scale;
      transition-duration: var(--media-duration);
      will-change: scale;
      -webkit-user-select: none;
      user-select: none;
      corner-shape: var(--media-control-corner-shape);
      background-color: #0000;
      border-style: solid;
      border-width: 0;
      outline: 2px solid #0000;
      flex-shrink: 0;
      place-items: center;
      padding: 0;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      display: grid;
    }

    @media (hover: hover) {
      .media-button:not([aria-disabled="true"]):hover {
        background-color: var(--media-accent);
        color: var(--media-accent-foreground);
      }
    }

    .media-button:focus-visible {
      outline-offset: 2px;
      outline-color: var(--media-ring);
    }

    .media-button:not([aria-disabled="true"]):active {
      scale: 0.97;
    }

    .media-button[aria-disabled="true"] {
      cursor: not-allowed;
      opacity: 0.5;
    }

    @media (prefers-reduced-motion: reduce) {
      .media-button {
        will-change: auto;
        transition-property: background-color, color;
        scale: 1;
      }
    }

    .media-button:where(:focus-visible, [aria-expanded="true"], [data-highlighted]):where(
        :not([aria-disabled="true"])
      ) {
      background-color: var(--media-accent);
      color: var(--media-accent-foreground);
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-dialog-actions {
      gap: calc(var(--media-spacing) * 2);
      flex-shrink: 0;
      display: flex;
    }

    .audio-dialog-backdrop {
      display: none;
    }

    .audio-dialog-close {
      height: var(--media-control-size);
      width: auto;
      padding-inline: calc(var(--media-spacing) * 3);
      flex: none;
      font-weight: 500;
      background-color: var(--media-primary) !important;
      color: var(--media-primary-foreground) !important;
    }

    .audio-dialog-content {
      align-items: center;
      gap: calc(var(--media-spacing) * 2);
      flex-direction: row;
      flex: 1;
      min-height: 0;
      display: flex;
      overflow: visible;
    }

    .audio-dialog-description {
      overflow-wrap: anywhere;
      opacity: 0.7;
      margin: 0;
    }

    .audio-dialog-popup {
      z-index: 50;
      align-items: center;
      gap: calc(var(--media-spacing) * 3);
      background-color: var(--media-background);
      width: 100%;
      height: 100%;
      max-height: none;
      padding-inline: calc(var(--media-spacing) * 5);
      color: var(--media-controls-foreground);
      backdrop-filter: var(--media-backdrop-filter-dialog);
      transition-property: opacity, filter;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slower);
      border-radius: 9999px;
      outline-style: none;
      flex-direction: row;
      padding-block: 0;
      padding-inline-end: var(--media-spacing);
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      display: flex;
      position: absolute;
      inset: 0;
      translate: none;
    }

    @media (forced-colors: active) {
      .audio-dialog-popup {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .audio-dialog-popup:not([data-open]) {
      display: none;
    }

    .audio-dialog-popup:is([data-starting-style], [data-ending-style]) {
      opacity: 0;
      filter: blur(var(--media-hidden-popup-blur));
    }

    .audio-dialog-title {
      font-size: calc(var(--media-spacing) * 3.25);
      margin: 0;
      font-weight: 600;
      line-height: 1.25;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-popup {
      color: inherit;
      border-style: solid;
      border-width: 0;
      margin: 0;
      overflow: visible;
    }

    .media-popup[data-ending-style] {
      transform: none;
    }

    .media-popup[data-starting-style] {
      transform: translate(var(--media-popup-translate-x-distance, 0), var(--media-popup-translate-y-distance, 0));
    }

    .media-popup[data-side="bottom"] {
      transform-origin: top;
      --media-popup-translate-y-distance: calc(var(--media-popup-translate-distance) * -1);
    }

    .media-popup[data-side="left"] {
      transform-origin: 100%;
      --media-popup-translate-x-distance: var(--media-popup-translate-distance);
    }

    .media-popup[data-side="right"] {
      transform-origin: 0;
      --media-popup-translate-x-distance: calc(var(--media-popup-translate-distance) * -1);
    }

    .media-popup[data-side="top"] {
      transform-origin: bottom;
      --media-popup-translate-y-distance: var(--media-popup-translate-distance);
    }

    .media-popup:is([data-starting-style], [data-ending-style]) {
      scale: var(--media-hidden-popup-scale) var(--media-hidden-popup-scale);
      opacity: 0;
      filter: blur(var(--media-hidden-popup-blur));
    }

    .media-popup-safe-area:before {
      pointer-events: auto;
      content: "";
      position: absolute;
    }

    .media-popup-safe-area[data-side="bottom"]:before {
      content: "";
      height: var(--media-popup-side-offset);
      inset-inline: 0;
      bottom: 100%;
    }

    .media-popup-safe-area[data-side="left"]:before {
      content: "";
      width: var(--media-popup-side-offset);
      inset-block: 0;
      left: 100%;
    }

    .media-popup-safe-area[data-side="right"]:before {
      content: "";
      width: var(--media-popup-side-offset);
      inset-block: 0;
      right: 100%;
    }

    .media-popup-safe-area[data-side="top"]:before {
      content: "";
      height: var(--media-popup-side-offset);
      inset-inline: 0;
      top: 100%;
    }

    .media-popup-surface {
      background-color: var(--media-popover);
      color: var(--media-popover-foreground);
      box-shadow:
        0 0 0 1px var(--media-surface-border, var(--media-border)),
        var(--media-shadow-surface);
      backdrop-filter: var(--media-backdrop-filter-surface);
    }

    .media-popup-surface:after {
      content: "";
      z-index: 10;
      pointer-events: none;
      border-radius: inherit;
      box-shadow: var(--media-shadow-surface-inset);
      position: absolute;
      inset: 0;
    }

    .media-popup-transition {
      transition-property: opacity, filter, transform, scale;
      transition-duration: var(--media-duration-fast);
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    .media-popup-transition[data-ending-style] {
      transition-duration: var(--media-duration-instant);
    }

    .media-tooltip {
      border-radius: var(--media-control-radius);
      padding-inline: calc(var(--media-spacing) * 2.5);
      padding-block: var(--media-spacing);
      font-size: calc(var(--media-spacing) * 3.25);
      white-space: nowrap;
      --media-popup-side-offset: var(--media-tooltip-side-offset);
    }

    .media-tooltip[data-open] {
      align-items: center;
      gap: var(--media-spacing);
      display: flex;
    }

    .media-tooltip-shortcut {
      border-radius: var(--media-spacing);
      background-color: var(--media-muted);
      text-align: center;
      min-width: 1.5em;
      font-family: inherit;
      font-size: calc(var(--media-spacing) * 2.75);
      padding: 0.1em;
      font-weight: 600;
      line-height: 1.25;
    }
  }

  :where(.media-skin[data-theme="default"]) .media-popup-surface {
    background-color: var(--media-popover);
    color: var(--media-popover-foreground);
    box-shadow:
      0 0 0 1px var(--media-surface-border, var(--media-border)),
      var(--media-shadow-surface);
    backdrop-filter: var(--media-backdrop-filter-surface);
  }

  :where(.media-skin[data-theme="default"]) .media-popup-surface:after {
    content: "";
    z-index: 10;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: var(--media-shadow-surface-inset);
    position: absolute;
    inset: 0;
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-button-icon {
      width: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      height: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      filter: drop-shadow(0 1px 0 var(--media-shadow-current-color));
      transition-property: opacity, scale;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration);
      text-shadow: inherit;
      grid-row-start: 1;
      grid-column-start: 1;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    .media-seek-button-backward-icon {
      scale: -1 1;
    }

    .media-seek-button-backward-label {
      left: -1px;
    }

    .media-seek-button-content {
      display: grid;
      position: relative;
    }

    .media-seek-button-forward-label {
      right: -1px;
    }

    .media-seek-button-label {
      letter-spacing: -0.05em;
      font-variant-numeric: tabular-nums;
      font-size: 0.7em;
      font-weight: 500;
      position: absolute;
      bottom: -3px;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-mute-button-high-icon {
      opacity: 0;
    }

    @scope (.media-mute-button) {
      &:not([data-muted]):not([data-volume-level="low"]) .media-mute-button-high-icon {
        opacity: 1;
        scale: 1;
      }
    }

    .media-mute-button-low-icon {
      opacity: 0;
    }

    @scope (.media-mute-button) {
      &:not([data-muted])[data-volume-level="low"] .media-mute-button-low-icon {
        opacity: 1;
        scale: 1;
      }
    }

    .media-mute-button-off-icon {
      opacity: 0;
    }

    @scope (.media-mute-button) {
      &[data-muted] .media-mute-button-off-icon {
        opacity: 1;
        scale: 1;
      }
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-slider-buffer {
      pointer-events: none;
      position: absolute;
      inset: 0;
    }

    .media-slider-buffer:before {
      border-radius: var(--media-control-radius);
      content: "";
      background-color: currentColor;
      width: 100%;
      height: 100%;
      position: absolute;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .media-slider-buffer:before {
        background-color: color-mix(in oklab, currentcolor 20%, transparent);
      }
    }

    .media-slider-buffer[data-orientation="horizontal"] {
      left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
      right: max(
        calc(100% - var(--media-slider-buffer)),
        calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
      );
      clip-path: inset(-1px 0);
    }

    .media-slider-buffer[data-orientation="horizontal"]:before {
      content: "";
      min-width: var(--media-spacing);
      left: 0;
    }

    .media-slider-buffer[data-orientation="vertical"] {
      bottom: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
      top: max(
        calc(100% - var(--media-slider-buffer)),
        calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
      );
      clip-path: inset(0 -1px);
    }

    .media-slider-buffer[data-orientation="vertical"]:before {
      content: "";
      min-height: var(--media-spacing);
      bottom: 0;
    }

    .media-slider-fill {
      pointer-events: none;
      position: absolute;
      inset: 0;
    }

    .media-slider-fill:before {
      border-radius: var(--media-control-radius);
      content: "";
      background-color: var(--media-primary);
      width: 100%;
      height: 100%;
      position: absolute;
    }

    .media-slider-fill[data-orientation="horizontal"] {
      left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
      right: max(
        calc(100% - var(--media-slider-fill)),
        calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
      );
      clip-path: inset(-1px 0);
    }

    @scope (.media-slider) {
      &[data-dragging] .media-slider-fill[data-orientation="horizontal"] {
        left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
        right: max(
          calc(100% - var(--media-slider-pointer)),
          calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
        );
        clip-path: inset(-1px 0);
      }
    }

    .media-slider-fill[data-orientation="horizontal"]:before {
      content: "";
      min-width: var(--media-spacing);
      left: 0;
    }

    .media-slider-fill[data-orientation="vertical"] {
      bottom: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
      top: max(
        calc(100% - var(--media-slider-fill)),
        calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
      );
      clip-path: inset(0 -1px);
    }

    @scope (.media-slider) {
      &[data-dragging] .media-slider-fill[data-orientation="vertical"] {
        bottom: calc(
          var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0)
        );
        top: max(
          calc(100% - var(--media-slider-pointer)),
          calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0))
        );
        clip-path: inset(0 -1px);
      }
    }

    .media-slider-fill[data-orientation="vertical"]:before {
      content: "";
      min-height: var(--media-spacing);
      bottom: 0;
    }

    .media-slider-thumb {
      top: 50%;
      left: var(--media-slider-fill);
      z-index: 10;
      width: calc(var(--media-spacing) * 3);
      height: calc(var(--media-spacing) * 3);
      border-radius: var(--media-control-radius);
      box-shadow:
        0 0 #0000,
        0 0 #0000,
        0 0 #0000,
        0 0 #0000,
        var(--media-shadow-thumb);
      outline-offset: -4px;
      transition-property: opacity, height, width, outline-offset, scale;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slider);
      -webkit-user-select: none;
      user-select: none;
      background-color: #fff;
      outline: 4px solid #0000;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      position: absolute;
      translate: -50% -50%;
    }

    @scope (.media-slider) {
      &[data-dragging] .media-slider-thumb {
        scale: 0.9;
      }
    }

    .media-slider-thumb:after {
      pointer-events: none;
      inset: calc(var(--media-spacing) * -1);
      border-radius: inherit;
      opacity: 0;
      transition-property: opacity, scale;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration);
      content: "";
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      position: absolute;
      scale: 0.5;
      box-shadow:
        0 0 #0000,
        0 0 #0000,
        0 0 #0000,
        0 0 #0000,
        0 0 0 2px;
    }

    @media (hover: hover) {
      .media-slider-thumb:hover {
        outline-offset: 0px;
        outline-color: currentColor;
      }

      @supports (color: color-mix(in lab, red, red)) {
        .media-slider-thumb:hover {
          outline-color: color-mix(in oklab, currentcolor 15%, transparent);
        }
      }
    }

    .media-slider-thumb:focus-visible {
      outline-offset: 0px;
      outline-color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .media-slider-thumb:focus-visible {
        outline-color: color-mix(in oklab, currentcolor 15%, transparent);
      }
    }

    .media-slider-thumb:focus-visible:after {
      content: "";
      opacity: 1;
      scale: 1;
    }

    @scope (.media-slider) {
      &[data-dragging] .media-slider-thumb[data-orientation="horizontal"] {
        left: var(--media-slider-pointer);
      }
    }

    .media-slider-thumb[data-orientation="vertical"] {
      top: calc(100% - var(--media-slider-fill));
      left: 50%;
    }

    @scope (.media-slider) {
      &[data-dragging] .media-slider-thumb[data-orientation="vertical"] {
        top: calc(100% - var(--media-slider-pointer));
      }
    }

    .media-slider-track {
      isolation: isolate;
      -webkit-user-select: none;
      user-select: none;
      border-radius: 9999px;
      width: 100%;
      position: relative;
    }

    .media-slider-track:before {
      pointer-events: none;
      border-radius: var(--media-control-radius);
      content: "";
      background-color: currentColor;
      position: absolute;
      inset: 0;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .media-slider-track:before {
        background-color: color-mix(in oklab, currentcolor 20%, transparent);
      }
    }

    .media-slider-track[data-orientation="horizontal"] {
      height: var(--media-spacing);
    }

    .media-slider-track[data-orientation="vertical"] {
      height: 100%;
      width: var(--media-spacing);
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-slider {
      cursor: pointer;
      transition-property: --media-slider-fill, --media-slider-buffer;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slider);
      border-radius: 9999px;
      outline-style: none;
      flex: 1;
      justify-content: center;
      align-items: center;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      display: flex;
      position: relative;
    }

    @media (forced-colors: active) {
      .media-slider {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .media-slider[data-disabled] {
      pointer-events: none;
    }

    .media-slider[data-dragging] {
      transition-duration: 0s;
    }

    .media-slider[data-orientation="horizontal"] {
      height: var(--media-slider-height, calc(var(--media-spacing) * 8));
      min-width: calc(var(--media-spacing) * 18);
    }

    .media-slider[data-orientation="vertical"] {
      height: calc(var(--media-spacing) * 18);
      width: calc(var(--media-spacing) * 8);
      min-width: 0;
    }

    .media-volume-slider-thumb {
      opacity: 1;
      scale: 1;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-volume-popover {
      border-radius: var(--media-control-radius);
      padding-inline: 0;
      padding-block: calc(var(--media-spacing) * 3);
      --media-popup-side-offset: var(--media-popover-side-offset);
    }

    .media-volume-popover[data-side="right"] {
      padding: 0;
      padding-inline: calc(var(--media-spacing) * 3);
      --media-popover-side-offset: 0rem;
      border-radius: 0;
      box-shadow: none !important;
      backdrop-filter: none !important;
      background-color: #0000 !important;
    }

    .media-volume-popover[data-side="right"]:after {
      content: "";
      display: none;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-play-button-pause-icon {
      scale: var(--media-hidden-icon-scale) var(--media-hidden-icon-scale);
      opacity: 0;
    }

    @scope (.media-play-button) {
      &[data-started]:not([data-paused]):not([data-ended]) .media-play-button-pause-icon {
        opacity: 1;
        scale: 1;
      }
    }

    .media-play-button-play-icon {
      scale: var(--media-hidden-icon-scale) var(--media-hidden-icon-scale);
      opacity: 0;
    }

    @scope (.media-play-button) {
      &:not([data-ended]):not([data-started]) .media-play-button-play-icon,
      &:not([data-ended])[data-paused] .media-play-button-play-icon {
        opacity: 1;
        scale: 1;
      }
    }

    .media-play-button-restart-icon {
      scale: var(--media-hidden-icon-scale) var(--media-hidden-icon-scale);
      opacity: 0;
    }

    @scope (.media-play-button) {
      &[data-ended] .media-play-button-restart-icon {
        opacity: 1;
        scale: 1;
      }
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-buffering-indicator {
      pointer-events: none;
      color: var(--media-controls-foreground);
      place-content: center;
      display: none;
      position: absolute;
      inset: 0;
    }

    .media-buffering-indicator:not([data-visible]) {
      --media-spinner-animation: none;
    }

    .media-buffering-indicator:before {
      background-color: var(--media-backdrop);
      content: "";
      backdrop-filter: var(--media-backdrop-filter-indicator);
      position: absolute;
      inset: 0;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .media-buffering-indicator:before {
        background-color: color-mix(in oklab, var(--media-backdrop) 35%, transparent);
      }
    }

    .media-buffering-indicator[data-visible] {
      display: grid;
    }

    .media-buffering-indicator-spinner-icon {
      z-index: 30;
      width: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      height: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      filter: drop-shadow(0 1px 0 var(--media-shadow-current-color));
      position: relative;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-play-button {
      display: inline-flex;
      position: relative;
    }

    .audio-play-button-buffering-indicator {
      z-index: 20;
      border-radius: var(--media-control-radius);
      color: inherit !important;
    }

    .audio-play-button-buffering-indicator:before {
      content: "";
      display: none;
    }

    .audio-play-button-buffering-indicator[data-visible] {
      background-color: var(--media-controls);
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-playback-rate-button {
      font-variant-numeric: tabular-nums;
    }

    .media-playback-rate-button:after {
      content: attr(data-rate) "×";
      width: 4ch;
    }
  }

  @scope (.media-skin[data-theme="default"]) {
    .media-menu-item-indicator {
      opacity: 0;
      flex-shrink: 0;
      margin-inline-start: auto;
      margin-inline-end: calc(var(--media-spacing) * -1);
    }

    @scope (.media-menu-radio-item) {
      &[aria-checked="true"] .media-menu-item-indicator {
        opacity: 1;
      }
    }

    .media-menu-radio-item {
      cursor: pointer;
      justify-content: space-between;
      align-items: center;
      gap: calc(var(--media-spacing) * 1.5);
      border-radius: var(--media-menu-item-radius);
      padding-inline: calc(var(--media-spacing) * 2);
      padding-block: calc(var(--media-spacing) * 1.5);
      text-align: start;
      white-space: nowrap;
      color: inherit;
      font-variant-numeric: tabular-nums;
      outline-offset: -2px;
      transition-property: background-color, color;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-fast);
      -webkit-user-select: none;
      user-select: none;
      text-shadow: 0 1px 0 var(--media-shadow-current-color);
      outline: 2px solid #0000;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      display: flex;
      position: relative;
    }

    .media-menu-radio-item:focus-visible {
      outline-offset: 2px;
      outline-color: var(--media-ring);
    }

    .media-menu-radio-item[aria-disabled="true"] {
      pointer-events: none;
      cursor: not-allowed;
      opacity: 0.5;
    }

    .media-menu-radio-item[data-availability="unavailable"],
    .media-menu-radio-item[data-availability="unsupported"] {
      display: none;
    }

    .media-menu-radio-item:where(:focus-visible, [aria-expanded="true"], [data-highlighted]):where(
        :not([aria-disabled="true"])
      ) {
      background-color: var(--media-accent);
      color: var(--media-accent-foreground);
    }

    @supports (top: anchor(top)) {
      .media-menu-radio-item {
        transition-duration: var(--media-duration-instant);
      }

      .media-menu-radio-item[data-highlighted] {
        anchor-name: --media-menu-item-highlight-anchor;
      }

      .media-menu-radio-item:where(:focus-visible, [aria-expanded="true"], [data-highlighted]):where(
          :not([aria-disabled="true"])
        ) {
        transition-duration: var(--media-duration-slow);
        background-color: #0000;
      }
    }

    .media-menu-radio-item-icon {
      width: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      height: var(--media-icon-size, calc(var(--media-spacing) * 4.5));
      color: var(--media-muted-foreground);
      filter: drop-shadow(0 1px 0 var(--media-shadow-current-color));
      flex-shrink: 0;
    }

    @scope (.media-menu-radio-item) {
      &:where(:focus-visible, [aria-expanded="true"], [data-highlighted]):where(:not([aria-disabled="true"]))
        .media-menu-radio-item-icon {
        color: inherit;
      }
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .media-popup {
      color: inherit;
      border-style: solid;
      border-width: 0;
      margin: 0;
      overflow: visible;
    }

    .media-popup[data-ending-style] {
      transform: none;
    }

    .media-popup[data-starting-style] {
      transform: translate(var(--media-popup-translate-x-distance, 0), var(--media-popup-translate-y-distance, 0));
    }

    .media-popup[data-side="bottom"] {
      transform-origin: top;
      --media-popup-translate-y-distance: calc(var(--media-popup-translate-distance) * -1);
    }

    .media-popup[data-side="left"] {
      transform-origin: 100%;
      --media-popup-translate-x-distance: var(--media-popup-translate-distance);
    }

    .media-popup[data-side="right"] {
      transform-origin: 0;
      --media-popup-translate-x-distance: calc(var(--media-popup-translate-distance) * -1);
    }

    .media-popup[data-side="top"] {
      transform-origin: bottom;
      --media-popup-translate-y-distance: var(--media-popup-translate-distance);
    }

    .media-popup:is([data-starting-style], [data-ending-style]) {
      scale: var(--media-hidden-popup-scale) var(--media-hidden-popup-scale);
      opacity: 0;
      filter: blur(var(--media-hidden-popup-blur));
    }

    .media-popup-surface {
      background-color: var(--media-popover);
      color: var(--media-popover-foreground);
      box-shadow:
        0 0 0 1px var(--media-surface-border, var(--media-border)),
        var(--media-shadow-surface);
      backdrop-filter: var(--media-backdrop-filter-surface);
    }

    .media-popup-surface:after {
      content: "";
      z-index: 10;
      pointer-events: none;
      border-radius: inherit;
      box-shadow: var(--media-shadow-surface-inset);
      position: absolute;
      inset: 0;
    }
  }

  :where(.media-skin[data-theme="default"][data-preset="audio"]) .media-popup-surface {
    background-color: var(--media-popover);
    color: var(--media-popover-foreground);
    box-shadow:
      0 0 0 1px var(--media-surface-border, var(--media-border)),
      var(--media-shadow-surface);
    backdrop-filter: var(--media-backdrop-filter-surface);
  }

  :where(.media-skin[data-theme="default"][data-preset="audio"]) .media-popup-surface:after {
    content: "";
    z-index: 10;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: var(--media-shadow-surface-inset);
    position: absolute;
    inset: 0;
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .media-menu-content {
      max-height: inherit;
      overscroll-behavior: none;
      transition-property: translate, filter;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-menu);
      anchor-scope: --media-menu-item-highlight-anchor;
      outline-style: none;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      position: absolute;
      overflow: auto;
    }

    @media (forced-colors: active) {
      .media-menu-content {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .media-menu-content:not([data-submenu]) {
      inset-inline: var(--media-spacing);
      top: var(--media-spacing);
      gap: calc(var(--media-spacing) * 0.5);
      flex-direction: column;
      display: flex;
    }

    .media-menu-content:not([data-submenu])[data-child-open] {
      filter: blur(var(--media-hidden-blur));
      translate: -100%;
    }

    .media-menu-content:not([data-submenu])[data-child-open]:before {
      content: "";
      display: none;
    }

    .media-menu-content[data-submenu] {
      z-index: 10;
      max-height: inherit;
      padding: var(--media-spacing);
      inset-inline: 0;
      top: 0;
    }

    .media-menu-content:not([data-submenu])[data-child-open]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      translate: 100%;
    }

    .media-menu-content:is([data-starting-style], [data-ending-style]):before {
      content: "";
      display: none;
    }

    .media-menu-content[data-submenu]:is([data-starting-style], [data-ending-style]) {
      pointer-events: none;
      filter: blur(var(--media-hidden-blur));
      overflow: hidden;
      translate: 100%;
    }

    .media-menu-content[data-submenu]:is([data-starting-style], [data-ending-style]):where(
        :dir(rtl),
        [dir="rtl"],
        [dir="rtl"] *
      ) {
      translate: -100%;
    }

    @supports (top: anchor(top)) {
      .media-menu-content:before {
        content: "";
        position-anchor: --media-menu-item-highlight-anchor;
        inset: anchor(inside);
        overflow-anchor: none;
        pointer-events: none;
        border-radius: var(--media-menu-item-radius);
        background-color: var(--media-accent);
        transition: inset var(--media-duration-fast) ease-in-out;
        position: absolute;
      }

      .media-menu-content:has([data-highlighted=""]):before {
        content: "";
        transition-duration: 0s;
      }
    }

    .media-menu-content:is([data-starting-style], [data-ending-style]) :before {
      content: "";
      display: none;
    }

    .media-menu-popup {
      height: var(--media-menu-height);
      max-height: min(
        var(--media-menu-available-height, calc(var(--media-spacing) * 56)),
        calc(var(--media-spacing) * 56)
      );
      width: var(--media-menu-width);
      max-width: var(--media-menu-available-width);
      min-width: calc(var(--media-spacing) * 44);
      overscroll-behavior: none;
      border-radius: var(--media-popup-radius);
      padding: var(--media-spacing);
      transition-property: opacity, filter, transform, scale;
      transition-duration: var(--media-duration-fast);
      --media-popup-side-offset: var(--media-popover-side-offset);
      border-style: solid;
      border-width: 0;
      margin: 0;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      overflow: hidden !important;
    }

    .media-menu-popup:is([data-starting-style], [data-ending-style]) {
      transition-property: opacity, filter, transform, scale;
      transition-duration: var(--media-duration-fast);
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    .media-menu-radio-group {
      max-height: inherit;
      gap: calc(var(--media-spacing) * 0.5);
      anchor-scope: --media-menu-item-highlight-anchor;
      flex-direction: column;
      display: flex;
    }

    .media-menu-radio-group:is([data-starting-style], [data-ending-style]):before {
      content: "";
      display: none;
    }

    @supports (top: anchor(top)) {
      .media-menu-radio-group:before {
        content: "";
        position-anchor: --media-menu-item-highlight-anchor;
        inset: anchor(inside);
        overflow-anchor: none;
        pointer-events: none;
        border-radius: var(--media-menu-item-radius);
        background-color: var(--media-accent);
        transition: inset var(--media-duration-fast) ease-in-out;
        position: absolute;
      }

      .media-menu-radio-group:has([data-highlighted=""]):before {
        content: "";
        transition-duration: 0s;
      }
    }

    .media-menu-radio-group:is([data-starting-style], [data-ending-style]) :before {
      content: "";
      display: none;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-settings-menu-popup {
      min-width: 0 !important;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .media-slider {
      cursor: pointer;
      transition-property: --media-slider-fill, --media-slider-buffer;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slider);
      border-radius: 9999px;
      outline-style: none;
      flex: 1;
      justify-content: center;
      align-items: center;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      display: flex;
      position: relative;
    }

    @media (forced-colors: active) {
      .media-slider {
        outline-offset: 2px;
        outline: 2px solid #0000;
      }
    }

    .media-slider[data-disabled] {
      pointer-events: none;
    }

    .media-slider[data-dragging] {
      transition-duration: 0s;
    }

    .media-slider[data-orientation="horizontal"] {
      height: var(--media-slider-height, calc(var(--media-spacing) * 8));
      min-width: calc(var(--media-spacing) * 18);
    }

    .media-slider[data-orientation="vertical"] {
      height: calc(var(--media-spacing) * 18);
      width: calc(var(--media-spacing) * 8);
      min-width: 0;
    }

    .media-slider-preview {
      height: var(--media-spacing);
      min-width: var(--media-slider-preview-max-width);
      --media-slider-preview-max-height: var(--media-slider-preview-max-width);
      --media-slider-preview-max-width: min(calc(var(--media-spacing) * 32), 100cqi);
      position: relative;
    }

    .media-slider-preview:before {
      pointer-events: none;
      z-index: 1;
      width: var(--media-spacing);
      height: var(--media-spacing);
      border-radius: var(--media-control-radius);
      opacity: 0;
      transition-property: opacity, scale;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slow);
      content: "";
      background-color: currentColor;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      scale: 0.5;
    }

    .media-slider-preview[data-pointing]:not([data-dragging]):before {
      content: "";
      opacity: 1;
      scale: 1;
    }

    @container media-root (width >= 30rem) {
      .media-slider-preview {
        --media-slider-preview-max-width: min(calc(var(--media-spacing) * 40), 100cqi);
      }
    }

    @container media-root (width >= 42rem) {
      .media-slider-preview {
        --media-slider-preview-max-width: min(calc(var(--media-spacing) * 48), 100cqi);
      }
    }

    .media-slider-preview-content {
      max-width: var(--media-slider-preview-max-width);
      transform-origin: bottom;
      translate: -50% var(--media-hidden-preview-offset);
      scale: var(--media-hidden-preview-scale) var(--media-hidden-preview-scale);
      opacity: 0;
      filter: blur(var(--media-hidden-blur));
      transition-property: filter, opacity, scale;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration);
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
      position: absolute;
    }

    :where(.media-slider):has(:focus-visible) .media-slider-preview-content,
    :where(.media-slider-preview)[data-pointing] .media-slider-preview-content {
      opacity: 1;
      filter: none;
      scale: 1;
    }
  }

  :where(.media-skin[data-theme="default"][data-preset="audio"]) .media-slider-preview-content {
    max-width: var(--media-slider-preview-max-width);
    transform-origin: bottom;
    translate: -50% var(--media-hidden-preview-offset);
    scale: var(--media-hidden-preview-scale) var(--media-hidden-preview-scale);
    opacity: 0;
    filter: blur(var(--media-hidden-blur));
    transition-property: filter, opacity, scale;
    transition-duration: 0.15s;
    transition-duration: var(--media-duration);
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    position: absolute;
  }

  :where(.media-skin[data-theme="default"][data-preset="audio"])
    :where(.media-slider):has(:focus-visible)
    .media-slider-preview-content,
  :where(.media-skin[data-theme="default"][data-preset="audio"])
    :where(.media-slider-preview)[data-pointing]
    .media-slider-preview-content {
    opacity: 1;
    filter: none;
    scale: 1;
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-time-slider-preview-content {
      bottom: calc(100% + var(--media-slider-preview-label-offset));
      font-variant-numeric: tabular-nums;
      left: 50%;
    }

    .audio-time-slider-thumb {
      opacity: 0;
    }

    .audio-time-slider-thumb[data-interactive] {
      opacity: 1;
    }

    @media (pointer: fine) {
      @media (hover: hover) {
        @scope (.media-slider) {
          &:hover .audio-time-slider-thumb {
            opacity: 1;
            scale: 1;
          }
        }
      }
    }

    .audio-time-slider-value {
      font-variant-numeric: tabular-nums;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .media-tooltip {
      border-radius: var(--media-control-radius);
      padding-inline: calc(var(--media-spacing) * 2.5);
      padding-block: var(--media-spacing);
      font-size: calc(var(--media-spacing) * 3.25);
      white-space: nowrap;
      --media-popup-side-offset: var(--media-tooltip-side-offset);
    }

    .media-tooltip[data-open] {
      align-items: center;
      gap: var(--media-spacing);
      display: flex;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-controls-content {
      z-index: 20;
      border-radius: var(--media-controls-radius);
      background-color: var(--media-controls);
      padding: calc(var(--media-spacing) * 0.5);
      color: var(--media-controls-foreground);
      box-shadow:
        0 0 0 1px var(--media-surface-border, var(--media-border)),
        var(--media-shadow-surface);
      backdrop-filter: var(--media-backdrop-filter-surface);
      text-shadow: 0 1px 0 var(--media-shadow-current-color);
      align-items: center;
      display: flex;
      position: relative;
    }

    .audio-controls-content:after {
      content: "";
      z-index: 10;
      pointer-events: none;
      border-radius: inherit;
      box-shadow: var(--media-shadow-surface-inset);
      position: absolute;
      inset: 0;
    }

    .audio-controls-content:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      flex-direction: row-reverse;
    }

    @container media-root (width >= 32rem) {
      .audio-controls-content {
        padding: var(--media-spacing);
      }
    }

    .audio-controls-end {
      align-items: center;
      gap: 1px;
      display: flex;
    }

    .audio-controls-end:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      flex-direction: row-reverse;
    }

    .audio-controls-start {
      align-items: center;
      gap: 1px;
      display: flex;
    }

    .audio-controls-start:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      flex-direction: row-reverse;
    }

    @container media-root (width < 32rem) {
      .audio-seek-button {
        display: none;
      }
    }

    @container audio-time-controls (width < 16rem) {
      .audio-time-remaining-value {
        display: none;
      }
    }

    .audio-time-slider-group {
      align-items: center;
      gap: calc(var(--media-spacing) * 2.5);
      min-width: 0;
      padding-inline: calc(var(--media-spacing) * 3);
      flex: 1;
      display: flex;
      container: audio-time-controls / inline-size;
    }

    .audio-time-slider-group:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      flex-direction: row-reverse;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .media-time-toggle {
      cursor: pointer;
      font-variant-numeric: tabular-nums;
      outline-offset: -2px;
      transition-property: outline-color, outline-offset;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-fast);
      border-radius: 0.25rem;
      outline: 2px solid #0000;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    .media-time-toggle:focus-visible {
      outline-offset: 2px;
      outline-color: var(--media-ring);
    }

    .media-time-toggle[aria-disabled="true"] {
      cursor: not-allowed;
      opacity: 0.5;
    }

    .media-time-value {
      font-variant-numeric: tabular-nums;
      transition-property: opacity;
      transition-duration: 0.15s;
      transition-duration: var(--media-duration-slow);
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }

    .media-time-value[data-unavailable] {
      opacity: 0.5;
    }
  }

  @scope (.media-skin[data-theme="default"][data-preset="audio"]) {
    .audio-skin,
    :scope.audio-skin {
      background-color: #0000 !important;
      height: auto !important;
      overflow: visible !important;
    }

    .audio-skin:after,
    :scope.audio-skin:after {
      content: "";
      display: none;
    }
  }
}

@layer utilities;

@layer base.theme {
  .media-skin {
    --media-background: oklch(0% 0 0);
    --media-foreground: oklch(100% 0 0);
    --media-controls: oklch(0% 0 0 / 0.35);
    --media-controls-foreground: var(--media-foreground);
    --media-popover: oklch(100% 0 0 / 0.1);
    --media-popover-foreground: var(--media-foreground);
    --media-primary: var(--media-accent-color, var(--media-default-accent-color));
    --media-primary-foreground: var(
      --media-accent-text-color,
      contrast-color(var(--media-accent-color, var(--media-default-accent-color)))
    );
    --media-accent: var(--media-accent-color, color-mix(in oklab, var(--media-default-accent-color) 10%, transparent));
    --media-accent-foreground: var(
      --media-accent-text-color,
      contrast-color(var(--media-accent-color, var(--media-internal-accent-text-fallback, oklch(0% 0 0))))
    );
    --media-muted: oklch(100% 0 0 / 0.15);
    --media-muted-foreground: oklch(100% 0 0 / 0.65);
    --media-border: oklch(0% 0 0 / 0.1);
    --media-ring: oklch(100% 0 0);
    --media-backdrop: oklch(0% 0 0);
    --media-live-color: oklch(65% 0.22 27);
    --media-shadow-surface: 0 1px 3px 0 oklch(0% 0 0 / 0.15), 0 1px 2px -1px oklch(0% 0 0 / 0.15);
    --media-shadow-surface-inset: inset 0 1px 0 0 #ffffff1a, inset 0 0 0 1px #ffffff0d;
    --media-shadow-thumb: 0 0 0 1px #0000001a, 0 1px 3px 0 #00000059, 0 1px 2px -1px #00000059;
    --media-shadow-tooltip: 0 0 0 1px var(--media-border), var(--media-shadow-surface);
    --media-shadow-separator: 0 1px 0 0 oklch(100% 0 0 / 0.075);
    --media-shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));
    --media-shadow-subtle-current-color: oklch(from var(--media-shadow-current-color) l c h / calc(alpha * 0.4));
    --media-text-shadow-dialog: 0 1px 0 #00000040;
    --media-backdrop-filter-surface: blur(16px) saturate(150%);
    --media-backdrop-filter-indicator: blur(8px);
    --media-backdrop-filter-dialog: blur(16px) saturate(150%);
    --media-control-corner-shape: round;
    --media-control-radius: 99px;
    --media-control-size: calc(var(--media-spacing) * 9);
    --media-controls-radius: var(--media-control-radius);
    --media-default-accent-color: oklch(100% 0 0);
    --media-duration-instant: 50ms;
    --media-duration-fast: 0.1s;
    --media-duration: 0.15s;
    --media-duration-slow: 0.2s;
    --media-duration-slower: 0.25s;
    --media-duration-controls: 0.1s;
    --media-duration-dialog: 0.35s;
    --media-duration-indicator: var(--media-duration-slower);
    --media-duration-menu: 0.25s;
    --media-duration-slider: var(--media-duration-fast);
    --media-delay-dialog: 0.1s;
    --media-hidden-scale: 0.95;
    --media-hidden-blur: 8px;
    --media-hidden-offset: calc(var(--media-spacing) * 1);
    --media-hidden-icon-scale: 0;
    --media-hidden-indicator-scale: 0.9;
    --media-hidden-indicator-offset: -25%;
    --media-hidden-playback-scale: 0.85;
    --media-hidden-popup-scale: 0.95;
    --media-hidden-popup-blur: 4px;
    --media-hidden-preview-scale: 0.8;
    --media-hidden-preview-offset: calc(var(--media-spacing) * 2);
    --media-hidden-seek-offset: 60%;
    --media-menu-item-radius: calc(var(--media-spacing) * 2);
    --media-popover-boundary-offset: calc(var(--media-spacing) * 3);
    --media-popover-side-offset: calc(var(--media-spacing) * 3);
    --media-popup-radius: calc(var(--media-spacing) * 3);
    --media-popup-translate-distance: calc(var(--media-spacing) * 2);
    --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);
    --media-tooltip-side-offset: var(--media-popover-side-offset);
    --media-dialog-radius: calc(var(--media-spacing) * 7);
    --media-dialog-width: calc(100% - var(--media-spacing) * 6);
    --media-dialog-max-width: calc(var(--media-spacing) * 72);
    --media-slider-preview-label-offset: calc(var(--media-spacing) * 10.5);
    --media-video-border-radius: var(--media-border-radius, 28px);
    --media-scale: 1;
    --media-scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);
    --media-spacing: calc(var(--media-scale-unit, 16px) * var(--media-scale) / 4);
    scrollbar-color: var(--media-scrollbar-thumb-color) transparent;
    scrollbar-width: thin;
  }

  .media-skin::-webkit-scrollbar-thumb {
    background: var(--media-scrollbar-thumb-color);
    border-radius: 9999px;
  }

  .media-skin:fullscreen {
    --media-object-fit: contain;
    --media-video-border-radius: 0;
  }

  @media (width >= 1280px) {
    .media-skin:fullscreen {
      --media-scale: 1.25;
    }
  }

  @media (width >= 1536px) {
    .media-skin:fullscreen {
      --media-scale: 1.5;
    }
  }

  @media (width >= 1920px) {
    .media-skin:fullscreen {
      --media-scale: 1.75;
    }
  }
}

@layer base.preset {
  .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
    --media-background: light-dark(oklch(100% 0 0), oklch(0% 0 0));
    --media-foreground: light-dark(oklch(0% 0 0), oklch(100% 0 0));
    --media-controls: light-dark(oklch(100% 0 0 / 0.5), oklch(0% 0 0 / 0.4));
    --media-controls-foreground: var(--media-foreground);
    --media-popover: var(--media-controls);
    --media-popover-foreground: var(--media-foreground);
    --media-surface-border: oklch(0% 0 0 / 0.05);
    --media-primary: var(--media-accent-color, var(--media-foreground));
    --media-primary-foreground: var(--media-accent-text-color, contrast-color(var(--media-primary)));
    --media-border: light-dark(oklch(0% 0 0 / 0.1), oklch(100% 0 0 / 0.1));
    --media-ring: var(--media-foreground);
    --media-default-accent-color: light-dark(oklch(0% 0 0), oklch(100% 0 0));
    --media-internal-accent-text-fallback: light-dark(oklch(100% 0 0), oklch(0% 0 0));
    --media-popover-boundary-offset: calc(var(--media-spacing) * 2);
    --media-popover-side-offset: calc(var(--media-spacing) * 3);
    --media-slider-preview-label-offset: calc(var(--media-spacing) * 10);
  }

  .media-skin:is([data-preset="audio"], [data-preset="live-audio"])[data-theme="minimal"] {
    --media-controls: var(--media-background);
    --media-popover: var(--media-background);
    --media-controls-radius: calc(var(--media-spacing) * 3.5);
    --media-popover-boundary-offset: calc(var(--media-spacing) * 3);
  }

  @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
    .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
      --media-controls: var(--media-background);
      --media-surface-border: light-dark(oklch(0% 0 0 / 0.05), #0000);
    }
  }
}

@layer base.preferences {
  @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .media-skin:not([data-controls-visible]) {
      --media-duration-controls: 0.3s;
    }
  }

  @media (pointer: coarse) and (prefers-reduced-motion: no-preference) {
    .media-skin:not([data-controls-visible]) {
      --media-duration-controls: 0.15s;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .media-skin {
      --media-duration-fast: var(--media-duration-instant);
      --media-duration: var(--media-duration-instant);
      --media-duration-slow: var(--media-duration-instant);
      --media-duration-slower: var(--media-duration-instant);
      --media-duration-controls: var(--media-duration-instant);
      --media-duration-dialog: var(--media-duration-instant);
      --media-duration-indicator: var(--media-duration-instant);
      --media-duration-menu: 0s;
      --media-duration-slider: 0s;
      --media-delay-dialog: 0s;
      --media-hidden-scale: 1;
      --media-hidden-blur: 0px;
      --media-hidden-offset: 0px;
      --media-hidden-icon-scale: 1;
      --media-hidden-indicator-scale: 1;
      --media-hidden-indicator-offset: 0px;
      --media-hidden-playback-scale: 1;
      --media-hidden-popup-scale: 1;
      --media-hidden-popup-blur: 0px;
      --media-hidden-preview-scale: 1;
      --media-hidden-preview-offset: 0px;
      --media-hidden-seek-offset: 0px;
      --media-popup-translate-distance: 0px;
      --media-spinner-animation: none;
      --media-icon-airplay-fill-animation: none;
      --media-icon-airplay-triangle-animation: none;
    }
  }

  @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
    .media-skin {
      --media-popover: var(--media-background);
      --media-scrollbar-thumb-color: oklch(from currentColor l c h / 0.8);
      --media-backdrop-filter-surface: none;
      --media-backdrop-filter-indicator: none;
      --media-backdrop-filter-dialog: none;
      --media-shadow-surface-inset: inset 0 1px 0 0 #ffffff40, inset 0 0 0 1px #ffffff20;
      scrollbar-width: auto;
    }
  }

  @media (forced-colors: active) {
    .media-skin {
      --media-border: CanvasText;
      --media-frame-border: CanvasText;
      --media-popover: Canvas;
      --media-popover-foreground: CanvasText;
      --media-ring: CanvasText;
      --media-shadow-surface-inset: inset 0 1px 0 0 CanvasText, inset 0 0 0 1px CanvasText;
    }
  }
}

@property --media-slider-fill {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}

@property --media-slider-buffer {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}
