{"version":3,"sources":["jsdelivr-header.js","/npm/hamelyn-player-video@1.0.0/dist/vue3-player-video.esm.js"],"names":[],"mappings":"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","file":"/npm/hamelyn-player-video@1.0.0/dist/vue3-player-video.esm.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hamelyn-player-video@1.0.0/dist/vue3-player-video.esm.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { defineComponent, openBlock, createElementBlock, withKeys, createElementVNode, normalizeClass, toDisplayString, withDirectives, vShow, normalizeStyle, vModelText, createCommentVNode, createBlock, resolveDynamicComponent } from 'vue';\n\nvar script$2 = /*#__PURE__*/defineComponent({\n  name: 'BasicTheme',\n  // vue component name\n  props: {\n    uuid: {\n      type: String,\n      required: true\n    },\n    src: {\n      type: String,\n      required: true\n    },\n    autoplay: {\n      type: Boolean,\n      required: true\n    },\n    loop: {\n      type: Boolean,\n      required: true\n    },\n    controls: {\n      type: Boolean,\n      required: true\n    },\n    hoverable: {\n      type: Boolean,\n      required: true\n    },\n    mask: {\n      type: Boolean,\n      required: true\n    },\n    colors: {\n      type: [String, Array],\n      required: true\n    },\n    time: {\n      type: Object,\n      required: true\n    },\n    playing: {\n      type: Boolean,\n      default: false\n    },\n    duration: {\n      type: [String, Number],\n      required: true\n    }\n  },\n\n  data() {\n    return {\n      hovered: false,\n      volume: false,\n      amount: 1\n    };\n  },\n\n  computed: {\n    colorFrom() {\n      var _this$colors;\n\n      if (typeof this.colors === 'string') {\n        return this.colors ? this.colors : '#fbbf24';\n      }\n\n      return (_this$colors = this.colors) !== null && _this$colors !== void 0 && _this$colors[0] ? this.colors[0] : '#fbbf24';\n    },\n\n    colorTo() {\n      var _this$colors2;\n\n      if (typeof this.colors === 'string') {\n        return this.colors ? this.colors : '#fbbf24';\n      }\n\n      return (_this$colors2 = this.colors) !== null && _this$colors2 !== void 0 && _this$colors2[1] ? this.colors[1] : '#ec4899';\n    }\n\n  },\n\n  mounted() {\n    this.$emit('setPlayer', this.$refs[this.uuid]);\n  },\n\n  methods: {\n    setVolume() {\n      this.$refs[this.uuid].volume = this.amount;\n    },\n\n    stopVolume() {\n      if (this.amount > 0) return this.amount = 0;\n      return this.amount = 1;\n    }\n\n  }\n});\n\nconst _hoisted_1$2 = {\n  class: \"relative\"\n};\nconst _hoisted_2$1 = [\"loop\", \"autoplay\", \"muted\"];\nconst _hoisted_3$1 = [\"src\"];\nconst _hoisted_4$1 = {\n  class: \"flex items-center justify-start w-full\"\n};\nconst _hoisted_5$1 = {\n  class: \"font-sans text-white text-xs w-24\"\n};\nconst _hoisted_6$1 = {\n  class: \"mr-3 ml-2\"\n};\nconst _hoisted_7$1 = {\n  class: \"relative\"\n};\nconst _hoisted_8$1 = {\n  class: \"px-3 py-2 rounded-lg flex items-center transform translate-x-2\",\n  style: {\n    \"background-color\": \"rgba(0, 0, 0, .8)\"\n  }\n};\nconst _hoisted_9$1 = [\"src\"];\n\nconst _hoisted_10 = /*#__PURE__*/createElementVNode(\"img\", {\n  src: \"https://en-zo.dev/vue-videoplayer/play.svg\",\n  alt: \"Icon play video\",\n  class: \"transform translate-x-0.5 w-12\"\n}, null, -1);\n\nconst _hoisted_11 = [_hoisted_10];\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"div\", {\n    class: \"shadow-xl rounded-xl overflow-hidden relative\",\n    onMouseenter: _cache[14] || (_cache[14] = $event => _ctx.hovered = true),\n    onMouseleave: _cache[15] || (_cache[15] = $event => _ctx.hovered = false),\n    onKeydown: _cache[16] || (_cache[16] = withKeys($event => _ctx.$emit('play'), [\"left\"]))\n  }, [createElementVNode(\"div\", _hoisted_1$2, [createElementVNode(\"video\", {\n    ref: _ctx.uuid,\n    class: \"w-full\",\n    loop: _ctx.loop,\n    autoplay: _ctx.autoplay,\n    muted: _ctx.autoplay,\n    onTimeupdate: _cache[0] || (_cache[0] = $event => _ctx.$emit('timeupdate', $event.target)),\n    onPause: _cache[1] || (_cache[1] = $event => _ctx.$emit('isPlaying', false)),\n    onPlay: _cache[2] || (_cache[2] = $event => _ctx.$emit('isPlaying', true)),\n    onClick: _cache[3] || (_cache[3] = $event => _ctx.$emit('play'))\n  }, [createElementVNode(\"source\", {\n    src: _ctx.src,\n    type: \"video/mp4\"\n  }, null, 8, _hoisted_3$1)], 40, _hoisted_2$1), _ctx.controls ? (openBlock(), createElementBlock(\"div\", {\n    key: 0,\n    class: normalizeClass([{\n      'opacity-0 translate-y-full': !_ctx.hoverable && _ctx.hovered,\n      'opacity-0 translate-y-full': _ctx.hoverable && !_ctx.hovered\n    }, \"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5\"])\n  }, [createElementVNode(\"div\", _hoisted_4$1, [createElementVNode(\"p\", _hoisted_5$1, toDisplayString(_ctx.time.display) + \"/\" + toDisplayString(_ctx.duration), 1), createElementVNode(\"div\", _hoisted_6$1, [withDirectives(createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/pause.svg\",\n    alt: \"Icon pause video\",\n    class: \"w-5 cursor-pointer\",\n    onClick: _cache[4] || (_cache[4] = $event => _ctx.$emit('play'))\n  }, null, 512), [[vShow, _ctx.playing]]), withDirectives(createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/play.svg\",\n    alt: \"Icon play video\",\n    class: \"w-5 cursor-pointer\",\n    onClick: _cache[5] || (_cache[5] = $event => _ctx.$emit('play'))\n  }, null, 512), [[vShow, !_ctx.playing]])]), createElementVNode(\"div\", {\n    class: \"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer\",\n    onClick: _cache[6] || (_cache[6] = e => _ctx.$emit('position', e))\n  }, [createElementVNode(\"div\", {\n    class: \"relative h-full pointer-events-none\",\n    style: normalizeStyle(`width: ${_ctx.time.progress}%; transition: width .2s ease-in-out;`)\n  }, [createElementVNode(\"div\", {\n    class: \"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0\",\n    style: normalizeStyle(`--tw-gradient-from: ${_ctx.colorFrom};--tw-gradient-to: ${_ctx.colorTo};transition: width .2s ease-in-out`)\n  }, null, 4), createElementVNode(\"div\", {\n    class: \"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0\",\n    style: normalizeStyle(`--tw-gradient-from: ${_ctx.colorFrom};--tw-gradient-to: ${_ctx.colorTo};transition: width .2s ease-in-out`)\n  }, null, 4)], 4)])]), createElementVNode(\"div\", {\n    class: \"ml-5 flex items-center justify-end\",\n    onMouseleave: _cache[12] || (_cache[12] = $event => _ctx.volume = false)\n  }, [createElementVNode(\"div\", _hoisted_7$1, [createElementVNode(\"div\", {\n    class: normalizeClass(`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${_ctx.volume ? '-translate-y-4' : 'opacity-0 -translate-y-1 pointer-events-none'}`)\n  }, [createElementVNode(\"div\", _hoisted_8$1, [withDirectives(createElementVNode(\"input\", {\n    \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => _ctx.amount = $event),\n    type: \"range\",\n    step: \"0.05\",\n    min: \"0\",\n    max: \"1\",\n    class: \"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range\",\n    onInput: _cache[8] || (_cache[8] = function () {\n      return _ctx.setVolume && _ctx.setVolume(...arguments);\n    })\n  }, null, 544), [[vModelText, _ctx.amount]])])], 2), createElementVNode(\"img\", {\n    src: `https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(_ctx.amount * 2)}.svg`,\n    alt: \"High volume video\",\n    class: \"w-5 cursor-pointer relative\",\n    style: {\n      \"z-index\": \"2\"\n    },\n    onClick: _cache[9] || (_cache[9] = function () {\n      return _ctx.stopVolume && _ctx.stopVolume(...arguments);\n    }),\n    onMouseenter: _cache[10] || (_cache[10] = $event => _ctx.volume = true)\n  }, null, 40, _hoisted_9$1)]), createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/maximize.svg\",\n    alt: \"Fullscreen\",\n    class: \"w-3 ml-4 cursor-pointer\",\n    onClick: _cache[11] || (_cache[11] = $event => _ctx.$emit('fullScreen'))\n  })], 32)], 2)) : createCommentVNode(\"\", true), !_ctx.autoplay && _ctx.mask && _ctx.time.current === 0 ? (openBlock(), createElementBlock(\"div\", {\n    key: 1,\n    class: normalizeClass(`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${_ctx.playing ? 'opacity-0 pointer-events-none' : ''}`)\n  }, [createElementVNode(\"div\", {\n    class: \"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer\",\n    onClick: _cache[13] || (_cache[13] = $event => _ctx.$emit('play'))\n  }, _hoisted_11)], 2)) : createCommentVNode(\"\", true)])], 32);\n}\n\nscript$2.render = render$2;\n\nvar script$1 = /*#__PURE__*/defineComponent({\n  name: 'BasicTheme',\n  // vue component name\n  props: {\n    uuid: {\n      type: String,\n      required: true\n    },\n    src: {\n      type: String,\n      required: true\n    },\n    autoplay: {\n      type: Boolean,\n      required: true\n    },\n    loop: {\n      type: Boolean,\n      required: true\n    },\n    controls: {\n      type: Boolean,\n      required: true\n    },\n    hoverable: {\n      type: Boolean,\n      required: true\n    },\n    mask: {\n      type: Boolean,\n      required: true\n    },\n    colors: {\n      type: [String, Array],\n      required: true\n    },\n    time: {\n      type: Object,\n      required: true\n    },\n    playing: {\n      type: Boolean,\n      default: false\n    },\n    duration: {\n      type: [String, Number],\n      required: true\n    }\n  },\n\n  data() {\n    return {\n      hovered: false,\n      volume: false,\n      amount: 1\n    };\n  },\n\n  computed: {\n    color() {\n      var _this$colors;\n\n      if (typeof this.colors === 'string') {\n        return this.colors ? this.colors : '#8B5CF6';\n      }\n\n      return (_this$colors = this.colors) !== null && _this$colors !== void 0 && _this$colors[0] ? this.colors[0] : '#8B5CF6';\n    }\n\n  },\n\n  mounted() {\n    this.$emit('setPlayer', this.$refs[this.uuid]);\n  },\n\n  methods: {\n    setVolume() {\n      this.$refs[this.uuid].volume = this.amount;\n    },\n\n    stopVolume() {\n      if (this.amount > 0) return this.amount = 0;\n      return this.amount = 1;\n    }\n\n  }\n});\n\nconst _hoisted_1$1 = {\n  class: \"relative\"\n};\nconst _hoisted_2 = [\"loop\", \"autoplay\", \"muted\"];\nconst _hoisted_3 = [\"src\"];\nconst _hoisted_4 = {\n  class: \"mr-5\"\n};\nconst _hoisted_5 = {\n  class: \"relative mr-6\"\n};\nconst _hoisted_6 = {\n  class: \"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30\"\n};\nconst _hoisted_7 = [\"src\"];\n\nconst _hoisted_8 = /*#__PURE__*/createElementVNode(\"img\", {\n  src: \"https://en-zo.dev/vue-videoplayer/play.svg\",\n  alt: \"Icon play video\",\n  class: \"transform translate-x-0.5 w-12\"\n}, null, -1);\n\nconst _hoisted_9 = [_hoisted_8];\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"div\", {\n    class: \"shadow-xl rounded-3xl overflow-hidden relative\",\n    onMouseenter: _cache[13] || (_cache[13] = $event => _ctx.hovered = true),\n    onMouseleave: _cache[14] || (_cache[14] = $event => _ctx.hovered = false),\n    onKeydown: _cache[15] || (_cache[15] = withKeys($event => _ctx.$emit('play'), [\"left\"]))\n  }, [createElementVNode(\"div\", _hoisted_1$1, [createElementVNode(\"video\", {\n    ref: _ctx.uuid,\n    class: \"w-full\",\n    loop: _ctx.loop,\n    autoplay: _ctx.autoplay,\n    muted: _ctx.autoplay,\n    onTimeupdate: _cache[0] || (_cache[0] = $event => _ctx.$emit('timeupdate', $event.target)),\n    onPause: _cache[1] || (_cache[1] = $event => _ctx.$emit('isPlaying', false)),\n    onPlay: _cache[2] || (_cache[2] = $event => _ctx.$emit('isPlaying', true)),\n    onClick: _cache[3] || (_cache[3] = $event => _ctx.$emit('play'))\n  }, [createElementVNode(\"source\", {\n    src: _ctx.src,\n    type: \"video/mp4\"\n  }, null, 8, _hoisted_3)], 40, _hoisted_2), _ctx.controls ? (openBlock(), createElementBlock(\"div\", {\n    key: 0,\n    class: normalizeClass([{\n      'opacity-0 translate-y-full': !_ctx.hoverable && _ctx.hovered,\n      'opacity-0 translate-y-full': _ctx.hoverable && !_ctx.hovered\n    }, \"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform\"])\n  }, [createElementVNode(\"div\", {\n    class: \"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between\",\n    onMouseleave: _cache[11] || (_cache[11] = $event => _ctx.volume = false)\n  }, [createElementVNode(\"div\", {\n    class: \"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center\",\n    style: normalizeStyle(`font-size: 11px; background-color: ${_ctx.color}`)\n  }, toDisplayString(_ctx.time.display) + \" / \" + toDisplayString(_ctx.duration), 5), createElementVNode(\"div\", _hoisted_4, [withDirectives(createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/basic/pause.svg\",\n    alt: \"Icon pause video\",\n    class: \"w-4 cursor-pointer filter-white transition duration-300\",\n    onClick: _cache[4] || (_cache[4] = $event => _ctx.$emit('play'))\n  }, null, 512), [[vShow, _ctx.playing]]), withDirectives(createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/basic/play.svg\",\n    alt: \"Icon play video\",\n    class: \"w-4 cursor-pointer filter-white transition duration-300\",\n    onClick: _cache[5] || (_cache[5] = $event => _ctx.$emit('play'))\n  }, null, 512), [[vShow, !_ctx.playing]])]), createElementVNode(\"div\", {\n    class: \"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6\",\n    onClick: _cache[6] || (_cache[6] = e => _ctx.$emit('position', e))\n  }, [createElementVNode(\"div\", {\n    class: \"w-full rounded-sm h-full bg-white pointer-events-none\",\n    style: normalizeStyle(`width: ${_ctx.time.progress}%; transition: width .2s ease-in-out;`)\n  }, null, 4)]), createElementVNode(\"div\", _hoisted_5, [createElementVNode(\"div\", {\n    class: normalizeClass(`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${_ctx.volume ? '-translate-y-4' : 'opacity-0 -translate-y-1 pointer-events-none'}`)\n  }, [createElementVNode(\"div\", _hoisted_6, [withDirectives(createElementVNode(\"input\", {\n    \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => _ctx.amount = $event),\n    type: \"range\",\n    step: \"0.05\",\n    min: \"0\",\n    max: \"1\",\n    class: \"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range\"\n  }, null, 512), [[vModelText, _ctx.amount]])])], 2), createElementVNode(\"img\", {\n    src: `https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(_ctx.amount * 2)}.svg`,\n    alt: \"High volume video\",\n    class: \"w-5 cursor-pointer filter-white transition duration-300 relative\",\n    style: {\n      \"z-index\": \"2\"\n    },\n    onClick: _cache[8] || (_cache[8] = function () {\n      return _ctx.stopVolume && _ctx.stopVolume(...arguments);\n    }),\n    onMouseenter: _cache[9] || (_cache[9] = $event => _ctx.volume = true)\n  }, null, 40, _hoisted_7)]), createElementVNode(\"img\", {\n    src: \"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg\",\n    alt: \"Fullscreen\",\n    class: \"w-4 cursor-pointer filter-white transition duration-300\",\n    onClick: _cache[10] || (_cache[10] = $event => _ctx.$emit('fullScreen'))\n  })], 32)], 2)) : createCommentVNode(\"\", true), !_ctx.autoplay && _ctx.mask && _ctx.time.current === 0 ? (openBlock(), createElementBlock(\"div\", {\n    key: 1,\n    class: normalizeClass(`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${_ctx.playing ? 'opacity-0 pointer-events-none' : ''}`)\n  }, [createElementVNode(\"div\", {\n    class: \"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer\",\n    onClick: _cache[12] || (_cache[12] = $event => _ctx.$emit('play'))\n  }, _hoisted_9)], 2)) : createCommentVNode(\"\", true)])], 32);\n}\n\nscript$1.render = render$1;\n\nvar script = /*#__PURE__*/defineComponent({\n  name: 'Vue3PlayerVideo',\n  // vue component name\n  components: {\n    basic: script$1,\n    gradient: script$2\n  },\n  props: {\n    src: {\n      type: String,\n      required: true\n    },\n    autoplay: {\n      type: Boolean,\n      default: false\n    },\n    loop: {\n      type: Boolean,\n      default: false\n    },\n    controls: {\n      type: Boolean,\n      default: true\n    },\n    mask: {\n      type: Boolean,\n      default: true\n    },\n    colors: {\n      type: [String, Array],\n\n      default() {\n        return ['#8B5CF6', '#ec4899'];\n      }\n\n    },\n    hoverable: {\n      type: Boolean,\n      default: false\n    },\n    theme: {\n      type: String,\n      default: 'basic'\n    }\n  },\n\n  data() {\n    return {\n      uuid: Math.random().toString(36).substr(2, 18),\n      player: null,\n      duration: 0,\n      playing: false,\n      time: {\n        progress: 0,\n        display: 0,\n        current: 0\n      }\n    };\n  },\n\n  watch: {\n    'time.current'(value) {\n      this.time.display = this.format(Number(value));\n      this.time.progress = value * 100 / this.player.duration;\n    }\n\n  },\n  methods: {\n    isPlaying(bool) {\n      this.playing = bool;\n    },\n\n    play() {\n      if (this.playing) {\n        return this.player.pause();\n      }\n\n      return this.player.play();\n    },\n\n    setPlayer(e) {\n      this.player = e;\n      this.player.addEventListener('loadeddata', () => {\n        if (this.player.readyState >= 3) {\n          this.duration = this.format(Number(this.player.duration));\n          this.time.display = this.format(0);\n        }\n      });\n    },\n\n    stop() {\n      this.player.pause();\n      this.player.currentTime = 0;\n    },\n\n    fullScreen() {\n      this.player.webkitEnterFullscreen();\n    },\n\n    position(e) {\n      this.player.pause();\n      const rect = e.target.getBoundingClientRect();\n      const pos = e.clientX - rect.left;\n      const percentage = pos * 100 / e.target.offsetWidth;\n      this.player.currentTime = percentage * this.player.duration / 100;\n      this.player.play();\n    },\n\n    format(seconds) {\n      const h = Math.floor(seconds / 3600);\n      const m = Math.floor(seconds % 3600 / 60);\n      const s = Math.round(seconds % 60);\n      return [h, m > 9 ? m : h ? '0' + m : m || '00', s > 9 ? s : '0' + s].filter(Boolean).join(':');\n    }\n\n  }\n});\n\nconst _hoisted_1 = {\n  class: \"vue3-player-video\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"div\", _hoisted_1, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.theme), {\n    uuid: _ctx.uuid,\n    src: _ctx.src,\n    autoplay: _ctx.autoplay,\n    loop: _ctx.loop,\n    controls: _ctx.controls,\n    mask: _ctx.mask,\n    colors: _ctx.colors,\n    time: _ctx.time,\n    playing: _ctx.playing,\n    duration: _ctx.duration,\n    hoverable: _ctx.hoverable,\n    onPlay: _ctx.play,\n    onStop: _ctx.stop,\n    onTimeupdate: _cache[0] || (_cache[0] = _ref => {\n      let {\n        currentTime\n      } = _ref;\n      return _ctx.time.current = currentTime;\n    }),\n    onPosition: _ctx.position,\n    onFullScreen: _ctx.fullScreen,\n    onSetPlayer: _ctx.setPlayer,\n    onIsPlaying: _ctx.isPlaying\n  }, null, 40, [\"uuid\", \"src\", \"autoplay\", \"loop\", \"controls\", \"mask\", \"colors\", \"time\", \"playing\", \"duration\", \"hoverable\", \"onPlay\", \"onStop\", \"onPosition\", \"onFullScreen\", \"onSetPlayer\", \"onIsPlaying\"]))]);\n}\n\nfunction styleInject(css, ref) {\n  if ( ref === void 0 ) ref = {};\n  var insertAt = ref.insertAt;\n\n  if (!css || typeof document === 'undefined') { return; }\n\n  var head = document.head || document.getElementsByTagName('head')[0];\n  var style = document.createElement('style');\n  style.type = 'text/css';\n\n  if (insertAt === 'top') {\n    if (head.firstChild) {\n      head.insertBefore(style, head.firstChild);\n    } else {\n      head.appendChild(style);\n    }\n  } else {\n    head.appendChild(style);\n  }\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar css_248z = \"/*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com */\\n\\n/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\\n\\n/*\\nDocument\\n========\\n*/\\n\\n/**\\nUse a better box model (opinionated).\\n*/\\n\\n*,\\n::before,\\n::after {\\n  box-sizing: border-box;\\n}\\n\\n/**\\nUse a more readable tab size (opinionated).\\n*/\\n\\n/**\\n1. Correct the line height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n*/\\n\\n/*\\nSections\\n========\\n*/\\n\\n/**\\nRemove the margin in all browsers.\\n*/\\n\\n/**\\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n*/\\n\\n/*\\nGrouping content\\n================\\n*/\\n\\n/**\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n*/\\n\\n/*\\nText-level semantics\\n====================\\n*/\\n\\n/**\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\n/**\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\n/**\\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n2. Correct the odd 'em' font sizing in all browsers.\\n*/\\n\\n/**\\nAdd the correct font size in all browsers.\\n*/\\n\\n/**\\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\\n*/\\n\\n/*\\nTabular data\\n============\\n*/\\n\\n/**\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n*/\\n\\n/*\\nForms\\n=====\\n*/\\n\\n/**\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n*/\\n\\n\\ninput {\\n  font-family: inherit; /* 1 */\\n  font-size: 100%; /* 1 */\\n  line-height: 1.15; /* 1 */\\n  margin: 0; /* 2 */\\n}\\n\\n/**\\nRemove the inheritance of text transform in Edge and Firefox.\\n1. Remove the inheritance of text transform in Firefox.\\n*/\\n\\n/**\\nCorrect the inability to style clickable types in iOS and Safari.\\n*/\\n\\n\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n  -webkit-appearance: button;\\n}\\n\\n/**\\nRemove the inner border and padding in Firefox.\\n*/\\n\\n::-moz-focus-inner {\\n  border-style: none;\\n  padding: 0;\\n}\\n\\n/**\\nRestore the focus styles unset by the previous rule.\\n*/\\n\\n:-moz-focusring {\\n  outline: 1px dotted ButtonText;\\n}\\n\\n/**\\nRemove the additional ':invalid' styles in Firefox.\\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\\n*/\\n\\n:-moz-ui-invalid {\\n  box-shadow: none;\\n}\\n\\n/**\\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\\n*/\\n\\n/**\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n  vertical-align: baseline;\\n}\\n\\n/**\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n  height: auto;\\n}\\n\\n/**\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n  -webkit-appearance: textfield; /* 1 */\\n  outline-offset: -2px; /* 2 */\\n}\\n\\n/**\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n  -webkit-appearance: none;\\n}\\n\\n/**\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to 'inherit' in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n  -webkit-appearance: button; /* 1 */\\n  font: inherit; /* 2 */\\n}\\n\\n/*\\nInteractive\\n===========\\n*/\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\n/**\\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\\n * A thin layer on top of normalize.css that provides a starting point more\\n * suitable for web applications.\\n */\\n\\n/**\\n * Removes the default spacing and border for appropriate elements.\\n */\\n\\n\\np {\\n  margin: 0;\\n}\\n\\n/**\\n * Tailwind custom reset styles\\n */\\n\\n/**\\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\\n *    sans-serif font stack as a fallback) as a sane default.\\n * 2. Use Tailwind's default \\\"normal\\\" line-height so the user isn't forced\\n *    to override it to ensure consistency even when using the default theme.\\n */\\n\\n/**\\n * Inherit font-family and line-height from `html` so users can set them as\\n * a class directly on the `html` element.\\n */\\n\\n/**\\n * 1. Prevent padding and border from affecting element width.\\n *\\n *    We used to set this in the html element and inherit from\\n *    the parent element for everything else. This caused issues\\n *    in shadow-dom-enhanced elements like <details> where the content\\n *    is wrapped by a div with box-sizing set to `content-box`.\\n *\\n *    https://github.com/mozdevs/cssremedy/issues/4\\n *\\n *\\n * 2. Allow adding a border to an element by just adding a border-width.\\n *\\n *    By default, the way the browser specifies that an element should have no\\n *    border is by setting it's border-style to `none` in the user-agent\\n *    stylesheet.\\n *\\n *    In order to easily add borders to elements by just setting the `border-width`\\n *    property, we change the default border-style for all elements to `solid`, and\\n *    use border-width to hide them instead. This way our `border` utilities only\\n *    need to set the `border-width` property instead of the entire `border`\\n *    shorthand, making our border utilities much more straightforward to compose.\\n *\\n *    https://github.com/tailwindcss/tailwindcss/pull/116\\n */\\n\\n*,\\n::before,\\n::after {\\n  box-sizing: border-box; /* 1 */\\n  border-width: 0; /* 2 */\\n  border-style: solid; /* 2 */\\n  border-color: currentColor; /* 2 */\\n}\\n\\n/*\\n * Ensure horizontal rules are visible by default\\n */\\n\\n/**\\n * Undo the `border-style: none` reset that Normalize applies to images so that\\n * our `border-{width}` utilities have the expected effect.\\n *\\n * The Normalize reset is unnecessary for us since we default the border-width\\n * to 0 on all elements.\\n *\\n * https://github.com/tailwindcss/tailwindcss/issues/362\\n */\\n\\nimg {\\n  border-style: solid;\\n}\\n\\ninput:-ms-input-placeholder {\\n  opacity: 1;\\n  color: #9ca3af;\\n}\\n\\ninput::placeholder {\\n  opacity: 1;\\n  color: #9ca3af;\\n}\\n\\n\\n[role=\\\"button\\\"] {\\n  cursor: pointer;\\n}\\n\\n/**\\n * Override legacy focus reset from Normalize with modern Firefox focus styles.\\n *\\n * This is actually an improvement over the new defaults in Firefox in our testing,\\n * as it triggers the better focus styles even for links, which still use a dotted\\n * outline in Firefox by default.\\n */\\n\\n:-moz-focusring {\\n  outline: auto;\\n}\\n\\n/**\\n * Reset links to optimize for opt-in styling instead of\\n * opt-out.\\n */\\n\\n/**\\n * Reset form element properties that are easy to forget to\\n * style explicitly so you don't inadvertently introduce\\n * styles that deviate from your design system. These styles\\n * supplement a partial reset that is already applied by\\n * normalize.css.\\n */\\n\\n\\ninput {\\n  padding: 0;\\n  line-height: inherit;\\n  color: inherit;\\n}\\n\\n/**\\n * Use the configured 'mono' font family for elements that\\n * are expected to be rendered with a monospace font, falling\\n * back to the system monospace stack if there is no configured\\n * 'mono' font family.\\n */\\n\\n/**\\n * 1. Make replaced elements `display: block` by default as that's\\n *    the behavior you want almost all of the time. Inspired by\\n *    CSS Remedy, with `svg` added as well.\\n *\\n *    https://github.com/mozdevs/cssremedy/issues/14\\n * \\n * 2. Add `vertical-align: middle` to align replaced elements more\\n *    sensibly by default when overriding `display` by adding a\\n *    utility like `inline`.\\n *\\n *    This can trigger a poorly considered linting error in some\\n *    tools but is included by design.\\n * \\n *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210\\n */\\n\\nimg,\\nsvg,\\nvideo {\\n  display: block; /* 1 */\\n  vertical-align: middle; /* 2 */\\n}\\n\\n/**\\n * Constrain images and videos to the parent width and preserve\\n * their intrinsic aspect ratio.\\n *\\n * https://github.com/mozdevs/cssremedy/issues/14\\n */\\n\\nimg,\\nvideo {\\n  max-width: 100%;\\n  height: auto;\\n}\\n\\n/**\\n * Ensure the default browser behavior of the `hidden` attribute.\\n */\\n\\n[hidden] {\\n  display: none;\\n}\\n\\n*, ::before, ::after{\\n  --tw-border-opacity: 1;\\n  border-color: rgba(229, 231, 235, var(--tw-border-opacity));\\n}\\n\\n.vue3-player-video .pointer-events-none{\\n  pointer-events: none;\\n}\\n\\n.vue3-player-video .absolute{\\n  position: absolute;\\n}\\n\\n.vue3-player-video .relative{\\n  position: relative;\\n}\\n\\n.vue3-player-video .top-0{\\n  top: 0px;\\n}\\n\\n.vue3-player-video .bottom-0{\\n  bottom: 0px;\\n}\\n\\n.vue3-player-video .left-0{\\n  left: 0px;\\n}\\n\\n.vue3-player-video .z-10{\\n  z-index: 10;\\n}\\n\\n.vue3-player-video .mr-3{\\n  margin-right: 0.75rem;\\n}\\n\\n.vue3-player-video .mr-5{\\n  margin-right: 1.25rem;\\n}\\n\\n.vue3-player-video .mr-6{\\n  margin-right: 1.5rem;\\n}\\n\\n.vue3-player-video .ml-2{\\n  margin-left: 0.5rem;\\n}\\n\\n.vue3-player-video .ml-4{\\n  margin-left: 1rem;\\n}\\n\\n.vue3-player-video .ml-5{\\n  margin-left: 1.25rem;\\n}\\n\\n.vue3-player-video .flex{\\n  display: flex;\\n}\\n\\n.vue3-player-video .h-1{\\n  height: 0.25rem;\\n}\\n\\n.vue3-player-video .h-20{\\n  height: 5rem;\\n}\\n\\n.vue3-player-video .h-full{\\n  height: 100%;\\n}\\n\\n.vue3-player-video .w-3{\\n  width: 0.75rem;\\n}\\n\\n.vue3-player-video .w-4{\\n  width: 1rem;\\n}\\n\\n.vue3-player-video .w-5{\\n  width: 1.25rem;\\n}\\n\\n.vue3-player-video .w-12{\\n  width: 3rem;\\n}\\n\\n.vue3-player-video .w-20{\\n  width: 5rem;\\n}\\n\\n.vue3-player-video .w-24{\\n  width: 6rem;\\n}\\n\\n.vue3-player-video .w-32{\\n  width: 8rem;\\n}\\n\\n.vue3-player-video .w-full{\\n  width: 100%;\\n}\\n\\n.vue3-player-video .origin-left{\\n  transform-origin: left;\\n}\\n\\n.vue3-player-video .transform{\\n  --tw-translate-x: 0;\\n  --tw-translate-y: 0;\\n  --tw-rotate: 0;\\n  --tw-skew-x: 0;\\n  --tw-skew-y: 0;\\n  --tw-scale-x: 1;\\n  --tw-scale-y: 1;\\n  transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n\\n.vue3-player-video .translate-x-0{\\n  --tw-translate-x: 0px;\\n}\\n\\n.vue3-player-video .translate-x-2{\\n  --tw-translate-x: 0.5rem;\\n}\\n\\n.vue3-player-video .translate-x-9{\\n  --tw-translate-x: 2.25rem;\\n}\\n\\n.vue3-player-video .-translate-y-1{\\n  --tw-translate-y: -0.25rem;\\n}\\n\\n.vue3-player-video .-translate-y-4{\\n  --tw-translate-y: -1rem;\\n}\\n\\n.vue3-player-video .translate-y-full{\\n  --tw-translate-y: 100%;\\n}\\n\\n.vue3-player-video .-rotate-90{\\n  --tw-rotate: -90deg;\\n}\\n\\n@keyframes spin{\\n  to{\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes ping{\\n  75%, 100%{\\n    transform: scale(2);\\n    opacity: 0;\\n  }\\n}\\n\\n@keyframes pulse{\\n  50%{\\n    opacity: .5;\\n  }\\n}\\n\\n@keyframes bounce{\\n  0%, 100%{\\n    transform: translateY(-25%);\\n    animation-timing-function: cubic-bezier(0.8,0,1,1);\\n  }\\n\\n  50%{\\n    transform: none;\\n    animation-timing-function: cubic-bezier(0,0,0.2,1);\\n  }\\n}\\n\\n.vue3-player-video .cursor-pointer{\\n  cursor: pointer;\\n}\\n\\n.vue3-player-video .appearance-none{\\n  -webkit-appearance: none;\\n          appearance: none;\\n}\\n\\n.vue3-player-video .items-center{\\n  align-items: center;\\n}\\n\\n.vue3-player-video .justify-start{\\n  justify-content: flex-start;\\n}\\n\\n.vue3-player-video .justify-end{\\n  justify-content: flex-end;\\n}\\n\\n.vue3-player-video .justify-center{\\n  justify-content: center;\\n}\\n\\n.vue3-player-video .justify-between{\\n  justify-content: space-between;\\n}\\n\\n.vue3-player-video .overflow-hidden{\\n  overflow: hidden;\\n}\\n\\n.vue3-player-video .whitespace-nowrap{\\n  white-space: nowrap;\\n}\\n\\n.vue3-player-video .rounded-sm{\\n  border-radius: 0.125rem;\\n}\\n\\n.vue3-player-video .rounded-md{\\n  border-radius: 0.375rem;\\n}\\n\\n.vue3-player-video .rounded-lg{\\n  border-radius: 0.5rem;\\n}\\n\\n.vue3-player-video .rounded-xl{\\n  border-radius: 0.75rem;\\n}\\n\\n.vue3-player-video .rounded-3xl{\\n  border-radius: 1.5rem;\\n}\\n\\n.vue3-player-video .rounded-full{\\n  border-radius: 9999px;\\n}\\n\\n.vue3-player-video .bg-black{\\n  --tw-bg-opacity: 1;\\n  background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\\n}\\n\\n.vue3-player-video .bg-white{\\n  --tw-bg-opacity: 1;\\n  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\\n}\\n\\n.vue3-player-video .bg-opacity-20{\\n  --tw-bg-opacity: 0.2;\\n}\\n\\n.vue3-player-video .bg-opacity-30{\\n  --tw-bg-opacity: 0.3;\\n}\\n\\n.vue3-player-video .bg-opacity-40{\\n  --tw-bg-opacity: 0.4;\\n}\\n\\n.vue3-player-video .bg-opacity-50{\\n  --tw-bg-opacity: 0.5;\\n}\\n\\n.vue3-player-video .bg-opacity-60{\\n  --tw-bg-opacity: 0.6;\\n}\\n\\n.vue3-player-video .hover\\\\:bg-opacity-40:hover{\\n  --tw-bg-opacity: 0.4;\\n}\\n\\n.vue3-player-video .bg-gradient-to-r{\\n  background-image: linear-gradient(to right, var(--tw-gradient-stops));\\n}\\n\\n.vue3-player-video .px-2{\\n  padding-left: 0.5rem;\\n  padding-right: 0.5rem;\\n}\\n\\n.vue3-player-video .px-3{\\n  padding-left: 0.75rem;\\n  padding-right: 0.75rem;\\n}\\n\\n.vue3-player-video .px-5{\\n  padding-left: 1.25rem;\\n  padding-right: 1.25rem;\\n}\\n\\n.vue3-player-video .py-1{\\n  padding-top: 0.25rem;\\n  padding-bottom: 0.25rem;\\n}\\n\\n.vue3-player-video .py-2{\\n  padding-top: 0.5rem;\\n  padding-bottom: 0.5rem;\\n}\\n\\n.vue3-player-video .py-3{\\n  padding-top: 0.75rem;\\n  padding-bottom: 0.75rem;\\n}\\n\\n.vue3-player-video .py-4{\\n  padding-top: 1rem;\\n  padding-bottom: 1rem;\\n}\\n\\n.vue3-player-video .pt-3{\\n  padding-top: 0.75rem;\\n}\\n\\n.vue3-player-video .pb-5{\\n  padding-bottom: 1.25rem;\\n}\\n\\n.vue3-player-video .text-center{\\n  text-align: center;\\n}\\n\\n.vue3-player-video .font-sans{\\n  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n}\\n\\n.vue3-player-video .text-xs{\\n  font-size: 0.75rem;\\n  line-height: 1rem;\\n}\\n\\n.vue3-player-video .font-medium{\\n  font-weight: 500;\\n}\\n\\n.vue3-player-video .text-white{\\n  --tw-text-opacity: 1;\\n  color: rgba(255, 255, 255, var(--tw-text-opacity));\\n}\\n\\n.vue3-player-video .opacity-0{\\n  opacity: 0;\\n}\\n\\n*, ::before, ::after{\\n  --tw-shadow: 0 0 #0000;\\n}\\n\\n.vue3-player-video .shadow-xl{\\n  --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\\n  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n\\n*, ::before, ::after{\\n  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-ring-offset-width: 0px;\\n  --tw-ring-offset-color: #fff;\\n  --tw-ring-color: rgba(59, 130, 246, 0.5);\\n  --tw-ring-offset-shadow: 0 0 #0000;\\n  --tw-ring-shadow: 0 0 #0000;\\n}\\n\\n.vue3-player-video .filter{\\n  --tw-blur: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-brightness: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-contrast: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-invert: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-saturate: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-sepia: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);\\n  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\\n}\\n\\n.vue3-player-video .blur-sm{\\n  --tw-blur: blur(4px);\\n}\\n\\n.vue3-player-video .blur{\\n  --tw-blur: blur(8px);\\n}\\n\\n.vue3-player-video .backdrop-filter{\\n  --tw-backdrop-blur: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-brightness: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-contrast: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-grayscale: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-hue-rotate: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-invert: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-opacity: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-saturate: var(--tw-empty,/*!*/ /*!*/);\\n  --tw-backdrop-sepia: var(--tw-empty,/*!*/ /*!*/);\\n  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\\n          backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\\n}\\n\\n.vue3-player-video .transition{\\n  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n  transition-duration: 150ms;\\n}\\n\\n.vue3-player-video .duration-200{\\n  transition-duration: 200ms;\\n}\\n\\n.vue3-player-video .duration-300{\\n  transition-duration: 300ms;\\n}\\n\\n.vue3-player-video .ease-in-out{\\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\n.overlay {\\n  background: linear-gradient(0deg, rgba(0,0,0,0.41961), transparent)\\n}\\n\\n.vertical-range::-webkit-slider-thumb {\\n  width: 6px;\\n  -webkit-appearance: none;\\n  appearance: none;\\n  height: 6px;\\n  background-color: white;\\n  cursor: ns-resize;\\n  box-shadow: -405px 0 0 400px rgba(255, 255, 255, .6);\\n  border-radius: 50%;\\n}\\n\\n.backdrop-filter {\\n  -webkit-backdrop-filter: blur(15px) !important;\\n  backdrop-filter: blur(15px) !important;\\n}\\n\\n.filter-white:hover {\\n  filter: brightness(2);\\n}\\n\\n.gradient-variable {\\n  --tw-gradient-from: #fbbf24;\\n  --tw-gradient-to: #ec4899;\\n  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(251, 191, 36, 0))\\n}\\n\\n\";\nstyleInject(css_248z);\n\nscript.render = render;\n\n// Import vue component\n// IIFE injects install function into component, allowing component\n// to be registered via Vue.use() as well as Vue.component(),\n\nvar entry_esm = /*#__PURE__*/(() => {\n  // Get component instance\n  const installable = script; // Attach install function executed by Vue.use()\n\n  installable.install = app => {\n    app.component('Vue3PlayerVideo', installable);\n  };\n\n  return installable;\n})(); // It's possible to expose named exports when writing components that can\n// also be used as directives, etc. - eg. import { RollupDemoDirective } from 'rollup-demo';\n// export const RollupDemoDirective = directive;\n\nexport { entry_esm as default };\n"]}