@mottosports/motto-video-player 1.0.1-rc.16 → 1.0.1-rc.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -31,10 +31,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/index.ts
32
32
  var index_exports = {};
33
33
  __export(index_exports, {
34
+ BigPlayIcon: () => BigPlayIcon,
34
35
  CreativeWork: () => CreativeWork,
35
36
  Event: () => Event,
36
37
  Player: () => Player,
37
38
  QueryProvider: () => QueryProvider,
39
+ SkipBackIcon: () => SkipBackIcon,
40
+ SkipForwardIcon: () => SkipForwardIcon,
38
41
  Video: () => Video,
39
42
  queryClient: () => queryClient
40
43
  });
@@ -64,10 +67,1075 @@ function styleInject(css, { insertAt } = {}) {
64
67
  }
65
68
 
66
69
  // src/index.css
67
- styleInject('/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-wide: 0.025em;\n --tracking-widest: 0.1em;\n --radius-md: 0.375rem;\n --radius-2xl: 1rem;\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-4 {\n left: calc(var(--spacing) * 4);\n }\n .z-10 {\n z-index: 10;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-24 {\n height: calc(var(--spacing) * 24);\n }\n .h-full {\n height: 100%;\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-full {\n width: 100%;\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .auto-cols-max {\n grid-auto-columns: max-content;\n }\n .grid-flow-col {\n grid-auto-flow: column;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .bg-\\[\\#151515\\] {\n background-color: #151515;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-black\\/70 {\n --tw-gradient-from: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-center {\n background-position: center;\n }\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .filter {\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 .md\\:rounded-2xl {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl);\n }\n }\n .md\\:rounded-2xl\\! {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl) !important;\n }\n }\n .md\\:text-base {\n @media (width >= 48rem) {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:text-xl {\n @media (width >= 48rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n}\n@layer components {\n .motto-video-container {\n position: relative;\n width: 100%;\n min-height: 300px;\n }\n @supports (aspect-ratio: 16/9) {\n .motto-video-container {\n min-height: auto;\n }\n }\n .motto-video-responsive {\n position: absolute;\n top: calc(var(--spacing) * 0);\n left: calc(var(--spacing) * 0);\n height: 100%;\n width: 100%;\n }\n .motto-skip-button {\n position: absolute;\n top: calc(1/2 * 100%);\n z-index: 10;\n display: flex;\n height: calc(var(--spacing) * 16);\n width: calc(var(--spacing) * 16);\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n cursor: pointer;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n color: var(--color-white);\n opacity: 80%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n &:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .motto-skip-button-back {\n left: calc(var(--spacing) * 5);\n }\n .motto-skip-button-forward {\n right: calc(var(--spacing) * 5);\n }\n .motto-mobile-controls-overlay {\n position: absolute;\n inset: calc(var(--spacing) * 0);\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: center;\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 300ms;\n transition-duration: 300ms;\n pointer-events: none;\n }\n .motto-mobile-controls-group {\n display: flex;\n align-items: center;\n gap: calc(var(--spacing) * 8);\n opacity: 100%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: none;\n }\n .motto-mobile-play-button {\n display: flex;\n height: calc(var(--spacing) * 14);\n width: calc(var(--spacing) * 14);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-play-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-play-button svg {\n height: calc(var(--spacing) * 7);\n width: calc(var(--spacing) * 7);\n }\n .motto-mobile-skip-button {\n display: flex;\n height: calc(var(--spacing) * 10);\n width: calc(var(--spacing) * 10);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-skip-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-skip-button svg {\n height: calc(var(--spacing) * 6);\n width: calc(var(--spacing) * 6);\n }\n}\n@media (min-width: 768px) {\n .motto-mobile-controls-overlay {\n display: none !important;\n }\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-button[title*="Skip back"],\n .shaka-controls-container .shaka-button[title*="Skip forward"],\n .shaka-controls-container .shaka-button[aria-label*="Skip back"],\n .shaka-controls-container .shaka-button[aria-label*="Skip forward"],\n .shaka-controls-container button[title*="Skip back"],\n .shaka-controls-container button[title*="Skip forward"],\n .shaka-controls-container button[aria-label*="Skip back"],\n .shaka-controls-container button[aria-label*="Skip forward"],\n .motto-native-skip-button:not(.motto-mobile-skip-button),\n .motto-skip-back-button:not(.motto-mobile-skip-button),\n .motto-skip-forward-button:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button),\n button[title*="Skip back"]:not(.motto-mobile-skip-button),\n button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button) {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n width: 0 !important;\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n .motto-mobile-skip-button {\n display: flex !important;\n visibility: visible !important;\n opacity: 1 !important;\n }\n}\n.shaka-seek-bar-container {\n height: 6px !important;\n width: 100% !important;\n margin: 8px 0 !important;\n border-radius: 4px !important;\n position: relative !important;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow: none !important;\n}\n.shaka-seek-bar {\n height: 6px !important;\n width: 100% !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n background: transparent !important;\n cursor: pointer !important;\n border: none !important;\n outline: none !important;\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n border-radius: 4px !important;\n}\n.shaka-seek-bar::-webkit-slider-runnable-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-moz-range-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-webkit-slider-thumb {\n -webkit-appearance: none !important;\n appearance: none !important;\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.shaka-seek-bar::-moz-range-thumb {\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.motto-skip-back-button,\n.motto-skip-forward-button,\n.motto-native-skip-button {\n background: transparent !important;\n border: none !important;\n padding: 4px !important;\n margin: 0px !important;\n cursor: pointer !important;\n color: #ffffff !important;\n transition: all 0.2s ease !important;\n min-width: 32px !important;\n height: 32px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 4px !important;\n width: 25px;\n}\n.motto-skip-back-button:hover,\n.motto-skip-forward-button:hover,\n.motto-native-skip-button:hover {\n opacity: 0.8 !important;\n background: transparent !important;\n transform: scale(1.05) !important;\n}\n.motto-skip-back-button:active,\n.motto-skip-forward-button:active,\n.motto-native-skip-button:active {\n transform: scale(0.95) !important;\n}\n.motto-skip-back-button svg,\n.motto-skip-forward-button svg,\n.motto-native-skip-button svg {\n width: 24px !important;\n height: 24px !important;\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-play-button,\n .shaka-controls-container .shaka-pause-button {\n display: none !important;\n }\n}\n.shaka-spinner-svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-spinner-path {\n stroke: white !important;\n fill: none !important;\n}\n.shaka-spinner-container {\n color: white !important;\n}\n.shaka-buffering-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner path {\n stroke: white !important;\n fill: none !important;\n}\n[data-shaka-player-container] .shaka-spinner,\n[data-shaka-player-container] .spinner {\n color: white !important;\n border-color: white !important;\n}\n.material-icons.shaka-spinner {\n color: white !important;\n}\n.shaka-controls-container .shaka-spinner,\n.shaka-video-container .shaka-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner svg,\n.shaka-video-container .shaka-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner path,\n.shaka-video-container .shaka-spinner path {\n stroke: white !important;\n}\n.motto-video-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background:\n linear-gradient(\n 135deg,\n #1a1a1a 0%,\n #2d2d2d 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 10;\n transition: opacity 0.3s ease;\n}\n.motto-video-loading-overlay.hidden {\n opacity: 0;\n pointer-events: none;\n}\n.motto-video-loading-content {\n text-align: center;\n color: white;\n}\n.motto-video-loading-icon {\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n opacity: 0.7;\n}\n.motto-video-loading-text {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 8px;\n}\n.motto-video-loading-subtext {\n font-size: 14px;\n opacity: 0.7;\n}\n@keyframes pulse-live {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.7;\n transform: scale(1.1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n.shaka-play-button-container {\n display: none !important;\n}\n@media (max-width: 767px) {\n .shaka-controls-container {\n z-index: 90 !important;\n height: 100px !important;\n bottom: 0 !important;\n top: unset !important;\n }\n}\n@property --tw-gradient-position { syntax: "*"; inherits: false; }\n@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }\n@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }\n@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-tracking { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-blur { syntax: "*"; inherits: false; }\n@property --tw-brightness { syntax: "*"; inherits: false; }\n@property --tw-contrast { syntax: "*"; inherits: false; }\n@property --tw-grayscale { syntax: "*"; inherits: false; }\n@property --tw-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-invert { syntax: "*"; inherits: false; }\n@property --tw-opacity { syntax: "*"; inherits: false; }\n@property --tw-saturate { syntax: "*"; inherits: false; }\n@property --tw-sepia { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }\n@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-duration { syntax: "*"; inherits: false; }\n@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-duration: initial;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n');
70
+ styleInject(`/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
71
+ @layer properties;
72
+ @layer theme, base, components, utilities;
73
+ @layer theme {
74
+ :root,
75
+ :host {
76
+ --font-sans:
77
+ ui-sans-serif,
78
+ system-ui,
79
+ sans-serif,
80
+ "Apple Color Emoji",
81
+ "Segoe UI Emoji",
82
+ "Segoe UI Symbol",
83
+ "Noto Color Emoji";
84
+ --font-mono:
85
+ ui-monospace,
86
+ SFMono-Regular,
87
+ Menlo,
88
+ Monaco,
89
+ Consolas,
90
+ "Liberation Mono",
91
+ "Courier New",
92
+ monospace;
93
+ --color-red-600: oklch(57.7% 0.245 27.325);
94
+ --color-black: #000;
95
+ --color-white: #fff;
96
+ --spacing: 0.25rem;
97
+ --text-xs: 0.75rem;
98
+ --text-xs--line-height: calc(1 / 0.75);
99
+ --text-sm: 0.875rem;
100
+ --text-sm--line-height: calc(1.25 / 0.875);
101
+ --text-base: 1rem;
102
+ --text-base--line-height: calc(1.5 / 1);
103
+ --text-lg: 1.125rem;
104
+ --text-lg--line-height: calc(1.75 / 1.125);
105
+ --text-xl: 1.25rem;
106
+ --text-xl--line-height: calc(1.75 / 1.25);
107
+ --text-2xl: 1.5rem;
108
+ --text-2xl--line-height: calc(2 / 1.5);
109
+ --text-5xl: 3rem;
110
+ --text-5xl--line-height: 1;
111
+ --font-weight-medium: 500;
112
+ --font-weight-semibold: 600;
113
+ --font-weight-bold: 700;
114
+ --tracking-wide: 0.025em;
115
+ --tracking-widest: 0.1em;
116
+ --radius-md: 0.375rem;
117
+ --radius-2xl: 1rem;
118
+ --animate-spin: spin 1s linear infinite;
119
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
120
+ --aspect-video: 16 / 9;
121
+ --default-transition-duration: 150ms;
122
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
123
+ --default-font-family: var(--font-sans);
124
+ --default-mono-font-family: var(--font-mono);
125
+ }
126
+ }
127
+ @layer base {
128
+ *,
129
+ ::after,
130
+ ::before,
131
+ ::backdrop,
132
+ ::file-selector-button {
133
+ box-sizing: border-box;
134
+ margin: 0;
135
+ padding: 0;
136
+ border: 0 solid;
137
+ }
138
+ html,
139
+ :host {
140
+ line-height: 1.5;
141
+ -webkit-text-size-adjust: 100%;
142
+ tab-size: 4;
143
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
144
+ font-feature-settings: var(--default-font-feature-settings, normal);
145
+ font-variation-settings: var(--default-font-variation-settings, normal);
146
+ -webkit-tap-highlight-color: transparent;
147
+ }
148
+ hr {
149
+ height: 0;
150
+ color: inherit;
151
+ border-top-width: 1px;
152
+ }
153
+ abbr:where([title]) {
154
+ -webkit-text-decoration: underline dotted;
155
+ text-decoration: underline dotted;
156
+ }
157
+ h1,
158
+ h2,
159
+ h3,
160
+ h4,
161
+ h5,
162
+ h6 {
163
+ font-size: inherit;
164
+ font-weight: inherit;
165
+ }
166
+ a {
167
+ color: inherit;
168
+ -webkit-text-decoration: inherit;
169
+ text-decoration: inherit;
170
+ }
171
+ b,
172
+ strong {
173
+ font-weight: bolder;
174
+ }
175
+ code,
176
+ kbd,
177
+ samp,
178
+ pre {
179
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
180
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
181
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
182
+ font-size: 1em;
183
+ }
184
+ small {
185
+ font-size: 80%;
186
+ }
187
+ sub,
188
+ sup {
189
+ font-size: 75%;
190
+ line-height: 0;
191
+ position: relative;
192
+ vertical-align: baseline;
193
+ }
194
+ sub {
195
+ bottom: -0.25em;
196
+ }
197
+ sup {
198
+ top: -0.5em;
199
+ }
200
+ table {
201
+ text-indent: 0;
202
+ border-color: inherit;
203
+ border-collapse: collapse;
204
+ }
205
+ :-moz-focusring {
206
+ outline: auto;
207
+ }
208
+ progress {
209
+ vertical-align: baseline;
210
+ }
211
+ summary {
212
+ display: list-item;
213
+ }
214
+ ol,
215
+ ul,
216
+ menu {
217
+ list-style: none;
218
+ }
219
+ img,
220
+ svg,
221
+ video,
222
+ canvas,
223
+ audio,
224
+ iframe,
225
+ embed,
226
+ object {
227
+ display: block;
228
+ vertical-align: middle;
229
+ }
230
+ img,
231
+ video {
232
+ max-width: 100%;
233
+ height: auto;
234
+ }
235
+ button,
236
+ input,
237
+ select,
238
+ optgroup,
239
+ textarea,
240
+ ::file-selector-button {
241
+ font: inherit;
242
+ font-feature-settings: inherit;
243
+ font-variation-settings: inherit;
244
+ letter-spacing: inherit;
245
+ color: inherit;
246
+ border-radius: 0;
247
+ background-color: transparent;
248
+ opacity: 1;
249
+ }
250
+ :where(select:is([multiple], [size])) optgroup {
251
+ font-weight: bolder;
252
+ }
253
+ :where(select:is([multiple], [size])) optgroup option {
254
+ padding-inline-start: 20px;
255
+ }
256
+ ::file-selector-button {
257
+ margin-inline-end: 4px;
258
+ }
259
+ ::placeholder {
260
+ opacity: 1;
261
+ }
262
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
263
+ ::placeholder {
264
+ color: currentcolor;
265
+ @supports (color: color-mix(in lab, red, red)) {
266
+ color: color-mix(in oklab, currentcolor 50%, transparent);
267
+ }
268
+ }
269
+ }
270
+ textarea {
271
+ resize: vertical;
272
+ }
273
+ ::-webkit-search-decoration {
274
+ -webkit-appearance: none;
275
+ }
276
+ ::-webkit-date-and-time-value {
277
+ min-height: 1lh;
278
+ text-align: inherit;
279
+ }
280
+ ::-webkit-datetime-edit {
281
+ display: inline-flex;
282
+ }
283
+ ::-webkit-datetime-edit-fields-wrapper {
284
+ padding: 0;
285
+ }
286
+ ::-webkit-datetime-edit,
287
+ ::-webkit-datetime-edit-year-field,
288
+ ::-webkit-datetime-edit-month-field,
289
+ ::-webkit-datetime-edit-day-field,
290
+ ::-webkit-datetime-edit-hour-field,
291
+ ::-webkit-datetime-edit-minute-field,
292
+ ::-webkit-datetime-edit-second-field,
293
+ ::-webkit-datetime-edit-millisecond-field,
294
+ ::-webkit-datetime-edit-meridiem-field {
295
+ padding-block: 0;
296
+ }
297
+ :-moz-ui-invalid {
298
+ box-shadow: none;
299
+ }
300
+ button,
301
+ input:where([type=button], [type=reset], [type=submit]),
302
+ ::file-selector-button {
303
+ appearance: button;
304
+ }
305
+ ::-webkit-inner-spin-button,
306
+ ::-webkit-outer-spin-button {
307
+ height: auto;
308
+ }
309
+ [hidden]:where(:not([hidden=until-found])) {
310
+ display: none !important;
311
+ }
312
+ }
313
+ @layer utilities {
314
+ .pointer-events-auto {
315
+ pointer-events: auto;
316
+ }
317
+ .pointer-events-none {
318
+ pointer-events: none;
319
+ }
320
+ .visible {
321
+ visibility: visible;
322
+ }
323
+ .sr-only {
324
+ position: absolute;
325
+ width: 1px;
326
+ height: 1px;
327
+ padding: 0;
328
+ margin: -1px;
329
+ overflow: hidden;
330
+ clip: rect(0, 0, 0, 0);
331
+ white-space: nowrap;
332
+ border-width: 0;
333
+ }
334
+ .absolute {
335
+ position: absolute;
336
+ }
337
+ .fixed {
338
+ position: fixed;
339
+ }
340
+ .relative {
341
+ position: relative;
342
+ }
343
+ .static {
344
+ position: static;
345
+ }
346
+ .inset-0 {
347
+ inset: calc(var(--spacing) * 0);
348
+ }
349
+ .top-0 {
350
+ top: calc(var(--spacing) * 0);
351
+ }
352
+ .top-4 {
353
+ top: calc(var(--spacing) * 4);
354
+ }
355
+ .right-0 {
356
+ right: calc(var(--spacing) * 0);
357
+ }
358
+ .right-4 {
359
+ right: calc(var(--spacing) * 4);
360
+ }
361
+ .bottom-0 {
362
+ bottom: calc(var(--spacing) * 0);
363
+ }
364
+ .bottom-4 {
365
+ bottom: calc(var(--spacing) * 4);
366
+ }
367
+ .left-0 {
368
+ left: calc(var(--spacing) * 0);
369
+ }
370
+ .left-4 {
371
+ left: calc(var(--spacing) * 4);
372
+ }
373
+ .z-10 {
374
+ z-index: 10;
375
+ }
376
+ .z-50 {
377
+ z-index: 50;
378
+ }
379
+ .container {
380
+ width: 100%;
381
+ @media (width >= 40rem) {
382
+ max-width: 40rem;
383
+ }
384
+ @media (width >= 48rem) {
385
+ max-width: 48rem;
386
+ }
387
+ @media (width >= 64rem) {
388
+ max-width: 64rem;
389
+ }
390
+ @media (width >= 80rem) {
391
+ max-width: 80rem;
392
+ }
393
+ @media (width >= 96rem) {
394
+ max-width: 96rem;
395
+ }
396
+ }
397
+ .m-6 {
398
+ margin: calc(var(--spacing) * 6);
399
+ }
400
+ .mt-1 {
401
+ margin-top: calc(var(--spacing) * 1);
402
+ }
403
+ .mt-3 {
404
+ margin-top: calc(var(--spacing) * 3);
405
+ }
406
+ .mb-2 {
407
+ margin-bottom: calc(var(--spacing) * 2);
408
+ }
409
+ .mb-6 {
410
+ margin-bottom: calc(var(--spacing) * 6);
411
+ }
412
+ .flex {
413
+ display: flex;
414
+ }
415
+ .grid {
416
+ display: grid;
417
+ }
418
+ .aspect-video {
419
+ aspect-ratio: var(--aspect-video);
420
+ }
421
+ .h-2 {
422
+ height: calc(var(--spacing) * 2);
423
+ }
424
+ .h-12 {
425
+ height: calc(var(--spacing) * 12);
426
+ }
427
+ .h-24 {
428
+ height: calc(var(--spacing) * 24);
429
+ }
430
+ .h-full {
431
+ height: 100%;
432
+ }
433
+ .w-2 {
434
+ width: calc(var(--spacing) * 2);
435
+ }
436
+ .w-12 {
437
+ width: calc(var(--spacing) * 12);
438
+ }
439
+ .w-24 {
440
+ width: calc(var(--spacing) * 24);
441
+ }
442
+ .w-full {
443
+ width: 100%;
444
+ }
445
+ .animate-pulse {
446
+ animation: var(--animate-pulse);
447
+ }
448
+ .animate-spin {
449
+ animation: var(--animate-spin);
450
+ }
451
+ .auto-cols-max {
452
+ grid-auto-columns: max-content;
453
+ }
454
+ .grid-flow-col {
455
+ grid-auto-flow: column;
456
+ }
457
+ .flex-col {
458
+ flex-direction: column;
459
+ }
460
+ .items-center {
461
+ align-items: center;
462
+ }
463
+ .justify-center {
464
+ justify-content: center;
465
+ }
466
+ .justify-stretch {
467
+ justify-content: stretch;
468
+ }
469
+ .gap-1 {
470
+ gap: calc(var(--spacing) * 1);
471
+ }
472
+ .gap-5 {
473
+ gap: calc(var(--spacing) * 5);
474
+ }
475
+ .overflow-hidden {
476
+ overflow: hidden;
477
+ }
478
+ .rounded-full {
479
+ border-radius: calc(infinity * 1px);
480
+ }
481
+ .rounded-md {
482
+ border-radius: var(--radius-md);
483
+ }
484
+ .bg-\\[\\#151515\\] {
485
+ background-color: #151515;
486
+ }
487
+ .bg-black {
488
+ background-color: var(--color-black);
489
+ }
490
+ .bg-red-600 {
491
+ background-color: var(--color-red-600);
492
+ }
493
+ .bg-white {
494
+ background-color: var(--color-white);
495
+ }
496
+ .bg-gradient-to-t {
497
+ --tw-gradient-position: to top in oklab;
498
+ background-image: linear-gradient(var(--tw-gradient-stops));
499
+ }
500
+ .from-black\\/70 {
501
+ --tw-gradient-from: color-mix(in srgb, #000 70%, transparent);
502
+ @supports (color: color-mix(in lab, red, red)) {
503
+ --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
504
+ }
505
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
506
+ }
507
+ .to-transparent {
508
+ --tw-gradient-to: transparent;
509
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
510
+ }
511
+ .bg-cover {
512
+ background-size: cover;
513
+ }
514
+ .bg-center {
515
+ background-position: center;
516
+ }
517
+ .bg-no-repeat {
518
+ background-repeat: no-repeat;
519
+ }
520
+ .p-2 {
521
+ padding: calc(var(--spacing) * 2);
522
+ }
523
+ .p-4 {
524
+ padding: calc(var(--spacing) * 4);
525
+ }
526
+ .px-2 {
527
+ padding-inline: calc(var(--spacing) * 2);
528
+ }
529
+ .px-4 {
530
+ padding-inline: calc(var(--spacing) * 4);
531
+ }
532
+ .py-1 {
533
+ padding-block: calc(var(--spacing) * 1);
534
+ }
535
+ .text-center {
536
+ text-align: center;
537
+ }
538
+ .text-left {
539
+ text-align: left;
540
+ }
541
+ .font-mono {
542
+ font-family: var(--font-mono);
543
+ }
544
+ .text-2xl {
545
+ font-size: var(--text-2xl);
546
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
547
+ }
548
+ .text-5xl {
549
+ font-size: var(--text-5xl);
550
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
551
+ }
552
+ .text-base {
553
+ font-size: var(--text-base);
554
+ line-height: var(--tw-leading, var(--text-base--line-height));
555
+ }
556
+ .text-lg {
557
+ font-size: var(--text-lg);
558
+ line-height: var(--tw-leading, var(--text-lg--line-height));
559
+ }
560
+ .text-sm {
561
+ font-size: var(--text-sm);
562
+ line-height: var(--tw-leading, var(--text-sm--line-height));
563
+ }
564
+ .text-xl {
565
+ font-size: var(--text-xl);
566
+ line-height: var(--tw-leading, var(--text-xl--line-height));
567
+ }
568
+ .text-xs {
569
+ font-size: var(--text-xs);
570
+ line-height: var(--tw-leading, var(--text-xs--line-height));
571
+ }
572
+ .text-\\[10px\\] {
573
+ font-size: 10px;
574
+ }
575
+ .font-bold {
576
+ --tw-font-weight: var(--font-weight-bold);
577
+ font-weight: var(--font-weight-bold);
578
+ }
579
+ .font-medium {
580
+ --tw-font-weight: var(--font-weight-medium);
581
+ font-weight: var(--font-weight-medium);
582
+ }
583
+ .font-semibold {
584
+ --tw-font-weight: var(--font-weight-semibold);
585
+ font-weight: var(--font-weight-semibold);
586
+ }
587
+ .tracking-wide {
588
+ --tw-tracking: var(--tracking-wide);
589
+ letter-spacing: var(--tracking-wide);
590
+ }
591
+ .tracking-widest {
592
+ --tw-tracking: var(--tracking-widest);
593
+ letter-spacing: var(--tracking-widest);
594
+ }
595
+ .text-white {
596
+ color: var(--color-white);
597
+ }
598
+ .uppercase {
599
+ text-transform: uppercase;
600
+ }
601
+ .shadow-lg {
602
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
603
+ box-shadow:
604
+ var(--tw-inset-shadow),
605
+ var(--tw-inset-ring-shadow),
606
+ var(--tw-ring-offset-shadow),
607
+ var(--tw-ring-shadow),
608
+ var(--tw-shadow);
609
+ }
610
+ .filter {
611
+ 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,);
612
+ }
613
+ .md\\:rounded-2xl {
614
+ @media (width >= 48rem) {
615
+ border-radius: var(--radius-2xl);
616
+ }
617
+ }
618
+ .md\\:rounded-2xl\\! {
619
+ @media (width >= 48rem) {
620
+ border-radius: var(--radius-2xl) !important;
621
+ }
622
+ }
623
+ .md\\:text-base {
624
+ @media (width >= 48rem) {
625
+ font-size: var(--text-base);
626
+ line-height: var(--tw-leading, var(--text-base--line-height));
627
+ }
628
+ }
629
+ .md\\:text-sm {
630
+ @media (width >= 48rem) {
631
+ font-size: var(--text-sm);
632
+ line-height: var(--tw-leading, var(--text-sm--line-height));
633
+ }
634
+ }
635
+ .md\\:text-xl {
636
+ @media (width >= 48rem) {
637
+ font-size: var(--text-xl);
638
+ line-height: var(--tw-leading, var(--text-xl--line-height));
639
+ }
640
+ }
641
+ }
642
+ @layer components {
643
+ video::-webkit-media-controls {
644
+ display: none !important;
645
+ }
646
+ video::-webkit-media-controls-panel {
647
+ display: none !important;
648
+ }
649
+ video::-webkit-media-controls-play-button {
650
+ display: none !important;
651
+ }
652
+ video::-webkit-media-controls-timeline {
653
+ display: none !important;
654
+ }
655
+ video::-webkit-media-controls-current-time-display {
656
+ display: none !important;
657
+ }
658
+ video::-webkit-media-controls-time-remaining-display {
659
+ display: none !important;
660
+ }
661
+ video::-webkit-media-controls-mute-button {
662
+ display: none !important;
663
+ }
664
+ video::-webkit-media-controls-volume-slider {
665
+ display: none !important;
666
+ }
667
+ video::-webkit-media-controls-fullscreen-button {
668
+ display: none !important;
669
+ }
670
+ video::-webkit-media-controls-overlay-play-button {
671
+ display: none !important;
672
+ }
673
+ video::-moz-media-controls {
674
+ display: none !important;
675
+ }
676
+ video {
677
+ outline: none !important;
678
+ }
679
+ video[controls] {
680
+ -webkit-appearance: none !important;
681
+ appearance: none !important;
682
+ }
683
+ video::-webkit-media-controls-enclosure {
684
+ display: none !important;
685
+ }
686
+ video::-webkit-media-controls-start-playback-button {
687
+ display: none !important;
688
+ }
689
+ video[controls]::-webkit-media-controls,
690
+ video[controls]::-webkit-media-controls-panel,
691
+ video[controls]::-webkit-media-controls-play-button,
692
+ video[controls]::-webkit-media-controls-timeline,
693
+ video[controls]::-webkit-media-controls-current-time-display,
694
+ video[controls]::-webkit-media-controls-time-remaining-display,
695
+ video[controls]::-webkit-media-controls-mute-button,
696
+ video[controls]::-webkit-media-controls-volume-slider,
697
+ video[controls]::-webkit-media-controls-fullscreen-button,
698
+ video[controls]::-webkit-media-controls-overlay-play-button,
699
+ video[controls]::-webkit-media-controls-enclosure,
700
+ video[controls]::-webkit-media-controls-start-playback-button {
701
+ display: none !important;
702
+ visibility: hidden !important;
703
+ opacity: 0 !important;
704
+ pointer-events: none !important;
705
+ }
706
+ video[controls]::-moz-media-controls {
707
+ display: none !important;
708
+ visibility: hidden !important;
709
+ opacity: 0 !important;
710
+ }
711
+ .motto-video-container {
712
+ position: relative;
713
+ width: 100%;
714
+ min-height: 300px;
715
+ }
716
+ @supports (aspect-ratio: 16/9) {
717
+ .motto-video-container {
718
+ min-height: auto;
719
+ }
720
+ }
721
+ .motto-video-responsive {
722
+ position: absolute;
723
+ top: calc(var(--spacing) * 0);
724
+ left: calc(var(--spacing) * 0);
725
+ height: 100%;
726
+ width: 100%;
727
+ }
728
+ .motto-skip-button {
729
+ position: absolute;
730
+ top: calc(1/2 * 100%);
731
+ z-index: 10;
732
+ display: flex;
733
+ height: calc(var(--spacing) * 16);
734
+ width: calc(var(--spacing) * 16);
735
+ --tw-translate-y: calc(calc(1/2 * 100%) * -1);
736
+ translate: var(--tw-translate-x) var(--tw-translate-y);
737
+ cursor: pointer;
738
+ align-items: center;
739
+ justify-content: center;
740
+ border-radius: calc(infinity * 1px);
741
+ border-style: var(--tw-border-style);
742
+ border-width: 0px;
743
+ background-color: color-mix(in srgb, #000 70%, transparent);
744
+ @supports (color: color-mix(in lab, red, red)) {
745
+ background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
746
+ }
747
+ font-size: var(--text-2xl);
748
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
749
+ color: var(--color-white);
750
+ opacity: 80%;
751
+ transition-property: all;
752
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
753
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
754
+ --tw-duration: 200ms;
755
+ transition-duration: 200ms;
756
+ &:hover {
757
+ @media (hover: hover) {
758
+ --tw-scale-x: 110%;
759
+ --tw-scale-y: 110%;
760
+ --tw-scale-z: 110%;
761
+ scale: var(--tw-scale-x) var(--tw-scale-y);
762
+ }
763
+ }
764
+ &:hover {
765
+ @media (hover: hover) {
766
+ opacity: 100%;
767
+ }
768
+ }
769
+ &:active {
770
+ --tw-scale-x: 95%;
771
+ --tw-scale-y: 95%;
772
+ --tw-scale-z: 95%;
773
+ scale: var(--tw-scale-x) var(--tw-scale-y);
774
+ }
775
+ }
776
+ .motto-skip-button-back {
777
+ left: calc(var(--spacing) * 5);
778
+ }
779
+ .motto-skip-button-forward {
780
+ right: calc(var(--spacing) * 5);
781
+ }
782
+ }
783
+ .shaka-seek-bar-container {
784
+ height: 6px !important;
785
+ width: 100% !important;
786
+ margin: 8px 0 !important;
787
+ border-radius: 4px !important;
788
+ position: relative !important;
789
+ border-top: none !important;
790
+ border-bottom: none !important;
791
+ box-shadow: none !important;
792
+ }
793
+ .shaka-seek-bar {
794
+ height: 6px !important;
795
+ width: 100% !important;
796
+ -webkit-appearance: none !important;
797
+ appearance: none !important;
798
+ background: transparent !important;
799
+ cursor: pointer !important;
800
+ border: none !important;
801
+ outline: none !important;
802
+ position: absolute !important;
803
+ top: 0 !important;
804
+ left: 0 !important;
805
+ border-radius: 4px !important;
806
+ }
807
+ .shaka-seek-bar::-webkit-slider-runnable-track {
808
+ height: 6px !important;
809
+ background: transparent !important;
810
+ border-radius: 4px !important;
811
+ border: none !important;
812
+ }
813
+ .shaka-seek-bar::-moz-range-track {
814
+ height: 6px !important;
815
+ background: transparent !important;
816
+ border-radius: 4px !important;
817
+ border: none !important;
818
+ }
819
+ .shaka-seek-bar::-webkit-slider-thumb {
820
+ -webkit-appearance: none !important;
821
+ appearance: none !important;
822
+ width: 16px !important;
823
+ height: 16px !important;
824
+ border-radius: 50% !important;
825
+ background: #ffffff !important;
826
+ cursor: pointer !important;
827
+ border: 2px solid #ffffff !important;
828
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
829
+ margin-top: -4px !important;
830
+ }
831
+ .shaka-seek-bar::-moz-range-thumb {
832
+ width: 16px !important;
833
+ height: 16px !important;
834
+ border-radius: 50% !important;
835
+ background: #ffffff !important;
836
+ cursor: pointer !important;
837
+ border: 2px solid #ffffff !important;
838
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
839
+ margin-top: -4px !important;
840
+ }
841
+ .motto-skip-back-button,
842
+ .motto-skip-forward-button,
843
+ .motto-native-skip-button {
844
+ background: transparent !important;
845
+ border: none !important;
846
+ padding: 4px !important;
847
+ margin: 0px !important;
848
+ cursor: pointer !important;
849
+ color: #ffffff !important;
850
+ transition: all 0.2s ease !important;
851
+ min-width: 32px !important;
852
+ height: 32px !important;
853
+ display: flex !important;
854
+ align-items: center !important;
855
+ justify-content: center !important;
856
+ border-radius: 4px !important;
857
+ width: 25px;
858
+ }
859
+ .motto-skip-back-button:hover,
860
+ .motto-skip-forward-button:hover,
861
+ .motto-native-skip-button:hover {
862
+ opacity: 0.8 !important;
863
+ background: transparent !important;
864
+ transform: scale(1.05) !important;
865
+ }
866
+ .motto-skip-back-button:active,
867
+ .motto-skip-forward-button:active,
868
+ .motto-native-skip-button:active {
869
+ transform: scale(0.95) !important;
870
+ }
871
+ .motto-skip-back-button svg,
872
+ .motto-skip-forward-button svg,
873
+ .motto-native-skip-button svg {
874
+ width: 24px !important;
875
+ height: 24px !important;
876
+ }
877
+ .shaka-spinner-svg {
878
+ color: white !important;
879
+ fill: white !important;
880
+ }
881
+ .shaka-spinner-path {
882
+ stroke: white !important;
883
+ fill: none !important;
884
+ }
885
+ .shaka-spinner-container {
886
+ color: white !important;
887
+ }
888
+ .shaka-buffering-spinner {
889
+ color: white !important;
890
+ fill: white !important;
891
+ }
892
+ .shaka-buffering-spinner svg {
893
+ color: white !important;
894
+ fill: white !important;
895
+ }
896
+ .shaka-buffering-spinner path {
897
+ stroke: white !important;
898
+ fill: none !important;
899
+ }
900
+ [data-shaka-player-container] .shaka-spinner,
901
+ [data-shaka-player-container] .spinner {
902
+ color: white !important;
903
+ border-color: white !important;
904
+ }
905
+ .material-icons.shaka-spinner {
906
+ color: white !important;
907
+ }
908
+ .shaka-controls-container .shaka-spinner,
909
+ .shaka-video-container .shaka-spinner {
910
+ color: white !important;
911
+ fill: white !important;
912
+ }
913
+ .shaka-controls-container .shaka-spinner svg,
914
+ .shaka-video-container .shaka-spinner svg {
915
+ color: white !important;
916
+ fill: white !important;
917
+ }
918
+ .shaka-controls-container .shaka-spinner path,
919
+ .shaka-video-container .shaka-spinner path {
920
+ stroke: white !important;
921
+ }
922
+ .motto-video-loading-overlay {
923
+ position: absolute;
924
+ top: 0;
925
+ left: 0;
926
+ width: 100%;
927
+ height: 100%;
928
+ background:
929
+ linear-gradient(
930
+ 135deg,
931
+ #1a1a1a 0%,
932
+ #2d2d2d 100%);
933
+ display: flex;
934
+ flex-direction: column;
935
+ align-items: center;
936
+ justify-content: center;
937
+ z-index: 10;
938
+ transition: opacity 0.3s ease;
939
+ }
940
+ .motto-video-loading-overlay.hidden {
941
+ opacity: 0;
942
+ pointer-events: none;
943
+ }
944
+ .motto-video-loading-content {
945
+ text-align: center;
946
+ color: white;
947
+ }
948
+ .motto-video-loading-icon {
949
+ width: 64px;
950
+ height: 64px;
951
+ margin-bottom: 16px;
952
+ opacity: 0.7;
953
+ }
954
+ .motto-video-loading-text {
955
+ font-size: 16px;
956
+ font-weight: 500;
957
+ margin-bottom: 8px;
958
+ }
959
+ .motto-video-loading-subtext {
960
+ font-size: 14px;
961
+ opacity: 0.7;
962
+ }
963
+ @keyframes pulse-live {
964
+ 0% {
965
+ opacity: 1;
966
+ transform: scale(1);
967
+ }
968
+ 50% {
969
+ opacity: 0.7;
970
+ transform: scale(1.1);
971
+ }
972
+ 100% {
973
+ opacity: 1;
974
+ transform: scale(1);
975
+ }
976
+ }
977
+ .shaka-play-button {
978
+ background: rgba(255, 255, 255, 0.1) !important;
979
+ border: none !important;
980
+ color: white !important;
981
+ padding: 10px !important;
982
+ border-radius: 100% !important;
983
+ transition: all 0.2s ease !important;
984
+ display: flex !important;
985
+ align-items: center !important;
986
+ justify-content: center !important;
987
+ min-width: 55px !important;
988
+ height: 55px !important;
989
+ }
990
+ .shaka-play-button-container {
991
+ background: transparent;
992
+ transition: all 0.2s ease !important;
993
+ }
994
+ .motto-video-container:not(.no-cursor) .shaka-play-button-container {
995
+ background: rgba(0, 0, 0, 0.3);
996
+ transition: all 0.s ease !important;
997
+ }
998
+ .shaka-play-button:hover {
999
+ background: rgba(255, 255, 255, 0.2) !important;
1000
+ transform: scale(1.05) !important;
1001
+ }
1002
+ .shaka-play-button:active {
1003
+ transform: scale(0.95) !important;
1004
+ }
1005
+ .shaka-play-button > * {
1006
+ display: none !important;
1007
+ }
1008
+ .shaka-play-button::after {
1009
+ content: "" !important;
1010
+ width: 35px !important;
1011
+ height: 35px !important;
1012
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z" clip-rule="evenodd" /></svg>') !important;
1013
+ background-repeat: no-repeat !important;
1014
+ background-size: contain !important;
1015
+ background-position: center !important;
1016
+ display: block !important;
1017
+ }
1018
+ .shaka-play-button[aria-label*=Play]::after {
1019
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z" clip-rule="evenodd" /></svg>') !important;
1020
+ }
1021
+ .shaka-play-button[aria-label*=Pause]::after {
1022
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M6.75 5.25a.75.75 0 0 1 .75-.75H9a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75V5.25Zm7.5 0A.75.75 0 0 1 15 4.5h1.5a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H15a.75.75 0 0 1-.75-.75V5.25Z" clip-rule="evenodd" /></svg>') !important;
1023
+ }
1024
+ @property --tw-gradient-position { syntax: "*"; inherits: false; }
1025
+ @property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
1026
+ @property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
1027
+ @property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
1028
+ @property --tw-gradient-stops { syntax: "*"; inherits: false; }
1029
+ @property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
1030
+ @property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
1031
+ @property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
1032
+ @property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
1033
+ @property --tw-font-weight { syntax: "*"; inherits: false; }
1034
+ @property --tw-tracking { syntax: "*"; inherits: false; }
1035
+ @property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
1036
+ @property --tw-shadow-color { syntax: "*"; inherits: false; }
1037
+ @property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
1038
+ @property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
1039
+ @property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
1040
+ @property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
1041
+ @property --tw-ring-color { syntax: "*"; inherits: false; }
1042
+ @property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
1043
+ @property --tw-inset-ring-color { syntax: "*"; inherits: false; }
1044
+ @property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
1045
+ @property --tw-ring-inset { syntax: "*"; inherits: false; }
1046
+ @property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }
1047
+ @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
1048
+ @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
1049
+ @property --tw-blur { syntax: "*"; inherits: false; }
1050
+ @property --tw-brightness { syntax: "*"; inherits: false; }
1051
+ @property --tw-contrast { syntax: "*"; inherits: false; }
1052
+ @property --tw-grayscale { syntax: "*"; inherits: false; }
1053
+ @property --tw-hue-rotate { syntax: "*"; inherits: false; }
1054
+ @property --tw-invert { syntax: "*"; inherits: false; }
1055
+ @property --tw-opacity { syntax: "*"; inherits: false; }
1056
+ @property --tw-saturate { syntax: "*"; inherits: false; }
1057
+ @property --tw-sepia { syntax: "*"; inherits: false; }
1058
+ @property --tw-drop-shadow { syntax: "*"; inherits: false; }
1059
+ @property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
1060
+ @property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
1061
+ @property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
1062
+ @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
1063
+ @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
1064
+ @property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
1065
+ @property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
1066
+ @property --tw-duration { syntax: "*"; inherits: false; }
1067
+ @property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }
1068
+ @property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }
1069
+ @property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }
1070
+ @keyframes spin {
1071
+ to {
1072
+ transform: rotate(360deg);
1073
+ }
1074
+ }
1075
+ @keyframes pulse {
1076
+ 50% {
1077
+ opacity: 0.5;
1078
+ }
1079
+ }
1080
+ @layer properties {
1081
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1082
+ *,
1083
+ ::before,
1084
+ ::after,
1085
+ ::backdrop {
1086
+ --tw-gradient-position: initial;
1087
+ --tw-gradient-from: #0000;
1088
+ --tw-gradient-via: #0000;
1089
+ --tw-gradient-to: #0000;
1090
+ --tw-gradient-stops: initial;
1091
+ --tw-gradient-via-stops: initial;
1092
+ --tw-gradient-from-position: 0%;
1093
+ --tw-gradient-via-position: 50%;
1094
+ --tw-gradient-to-position: 100%;
1095
+ --tw-font-weight: initial;
1096
+ --tw-tracking: initial;
1097
+ --tw-shadow: 0 0 #0000;
1098
+ --tw-shadow-color: initial;
1099
+ --tw-shadow-alpha: 100%;
1100
+ --tw-inset-shadow: 0 0 #0000;
1101
+ --tw-inset-shadow-color: initial;
1102
+ --tw-inset-shadow-alpha: 100%;
1103
+ --tw-ring-color: initial;
1104
+ --tw-ring-shadow: 0 0 #0000;
1105
+ --tw-inset-ring-color: initial;
1106
+ --tw-inset-ring-shadow: 0 0 #0000;
1107
+ --tw-ring-inset: initial;
1108
+ --tw-ring-offset-width: 0px;
1109
+ --tw-ring-offset-color: #fff;
1110
+ --tw-ring-offset-shadow: 0 0 #0000;
1111
+ --tw-blur: initial;
1112
+ --tw-brightness: initial;
1113
+ --tw-contrast: initial;
1114
+ --tw-grayscale: initial;
1115
+ --tw-hue-rotate: initial;
1116
+ --tw-invert: initial;
1117
+ --tw-opacity: initial;
1118
+ --tw-saturate: initial;
1119
+ --tw-sepia: initial;
1120
+ --tw-drop-shadow: initial;
1121
+ --tw-drop-shadow-color: initial;
1122
+ --tw-drop-shadow-alpha: 100%;
1123
+ --tw-drop-shadow-size: initial;
1124
+ --tw-translate-x: 0;
1125
+ --tw-translate-y: 0;
1126
+ --tw-translate-z: 0;
1127
+ --tw-border-style: solid;
1128
+ --tw-duration: initial;
1129
+ --tw-scale-x: 1;
1130
+ --tw-scale-y: 1;
1131
+ --tw-scale-z: 1;
1132
+ }
1133
+ }
1134
+ }
1135
+ `);
68
1136
 
69
1137
  // src/Player.tsx
70
- var import_react11 = require("react");
1138
+ var import_react12 = require("react");
71
1139
  var import_shaka_player4 = __toESM(require("shaka-player/dist/shaka-player.ui"));
72
1140
 
73
1141
  // src/hooks/useShakePlayer.ts
@@ -321,324 +1389,250 @@ var useMuxAnalytics = (playerRef, muxConfig, onMuxReady, onMuxDataUpdate) => {
321
1389
  };
322
1390
 
323
1391
  // src/hooks/useShakaUI.ts
324
- var import_react5 = require("react");
1392
+ var import_react6 = require("react");
325
1393
  var import_shaka_player3 = require("shaka-player/dist/shaka-player.ui");
326
- var SkipBackButton = class {
327
- constructor(parent, controls, onSkipBack) {
328
- this.parent = parent;
329
- this.controls = controls;
330
- this.eventManager = { listen: (element, event, handler) => {
331
- element.addEventListener(event, handler);
332
- } };
333
- this.button_ = document.createElement("button");
334
- this.button_.className = "shaka-button motto-native-skip-button";
335
- this.button_.innerHTML = `
336
- <svg width="24px" stroke-width="2" height="24px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
337
- <path d="M3 13C3 17.9706 7.02944 22 12 22C16.9706 22 21 17.9706 21 13C21 8.02944 16.9706 4 12 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
338
- <path d="M9 9L9 16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
339
- <path d="M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
340
- <path d="M12 4L4.5 4M4.5 4L6.5 2M4.5 4L6.5 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
341
- </svg>
342
- `;
343
- this.button_.title = "Skip back 15 seconds";
344
- this.button_.setAttribute("aria-label", "Skip back 15 seconds");
345
- this.parent.appendChild(this.button_);
346
- this.eventManager.listen(this.button_, "click", () => {
347
- const video = this.controls.getVideo();
348
- if (video) {
349
- const newTime = Math.max(0, video.currentTime - 15);
350
- video.currentTime = newTime;
351
- onSkipBack?.(newTime);
352
- }
353
- });
354
- }
355
- // Shaka UI will call `release` when the controls are destroyed.
356
- // Provide a no-op implementation to avoid TypeErrors.
357
- release() {
358
- }
359
- };
360
- var SkipForwardButton = class {
361
- constructor(parent, controls, onSkipForward) {
362
- this.parent = parent;
363
- this.controls = controls;
364
- this.eventManager = { listen: (element, event, handler) => {
365
- element.addEventListener(event, handler);
366
- } };
367
- this.button_ = document.createElement("button");
368
- this.button_.className = "shaka-button motto-native-skip-button";
369
- this.button_.innerHTML = `
370
- <svg fill="none" height="24" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
371
- <path d="M21 13C21 17.9706 16.9706 22 12 22C7.02944 22 3 17.9706 3 13C3 8.02944 7.02944 4 12 4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
372
- <path d="M12 4H19.5M19.5 4L17.5 2M19.5 4L17.5 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
373
- <path d="M9 9L9 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
374
- <path d="M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
375
- </svg>
376
- `;
377
- this.button_.title = "Skip forward 15 seconds";
378
- this.button_.setAttribute("aria-label", "Skip forward 15 seconds");
379
- this.parent.appendChild(this.button_);
380
- this.eventManager.listen(this.button_, "click", () => {
381
- const video = this.controls.getVideo();
382
- if (video) {
383
- const newTime = Math.min(video.duration || 0, video.currentTime + 15);
384
- video.currentTime = newTime;
385
- onSkipForward?.(newTime);
386
- }
387
- });
388
- }
389
- release() {
390
- }
391
- };
392
- var SkipBackButtonFactory = class {
393
- constructor(onSkipBack) {
394
- this.onSkipBack = onSkipBack;
395
- }
396
- create(rootElement, controls) {
397
- return new SkipBackButton(rootElement, controls, this.onSkipBack);
398
- }
399
- };
400
- var SkipForwardButtonFactory = class {
401
- constructor(onSkipForward) {
402
- this.onSkipForward = onSkipForward;
403
- }
404
- create(rootElement, controls) {
405
- return new SkipForwardButton(rootElement, controls, this.onSkipForward);
406
- }
1394
+
1395
+ // src/icons/SkipBackIcon.tsx
1396
+ var import_jsx_runtime = require("react/jsx-runtime");
1397
+ var SkipBackIcon = ({ size = 24, className = "" }) => {
1398
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1399
+ "svg",
1400
+ {
1401
+ width: size,
1402
+ height: size,
1403
+ strokeWidth: "2",
1404
+ viewBox: "0 0 24 24",
1405
+ fill: "none",
1406
+ xmlns: "http://www.w3.org/2000/svg",
1407
+ className,
1408
+ children: [
1409
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1410
+ "path",
1411
+ {
1412
+ d: "M3 13C3 17.9706 7.02944 22 12 22C16.9706 22 21 17.9706 21 13C21 8.02944 16.9706 4 12 4",
1413
+ stroke: "currentColor",
1414
+ strokeWidth: "2",
1415
+ strokeLinecap: "round",
1416
+ strokeLinejoin: "round"
1417
+ }
1418
+ ),
1419
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1420
+ "path",
1421
+ {
1422
+ d: "M9 9L9 16",
1423
+ stroke: "currentColor",
1424
+ strokeWidth: "2",
1425
+ strokeLinecap: "round",
1426
+ strokeLinejoin: "round"
1427
+ }
1428
+ ),
1429
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1430
+ "path",
1431
+ {
1432
+ d: "M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16",
1433
+ stroke: "currentColor",
1434
+ strokeWidth: "2",
1435
+ strokeLinecap: "round",
1436
+ strokeLinejoin: "round"
1437
+ }
1438
+ ),
1439
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1440
+ "path",
1441
+ {
1442
+ d: "M12 4L4.5 4M4.5 4L6.5 2M4.5 4L6.5 6",
1443
+ stroke: "currentColor",
1444
+ strokeWidth: "2",
1445
+ strokeLinecap: "round",
1446
+ strokeLinejoin: "round"
1447
+ }
1448
+ )
1449
+ ]
1450
+ }
1451
+ );
407
1452
  };
408
- var MobilePlayButton = class {
409
- constructor(parent, controls) {
410
- this.parent = parent;
411
- this.controls = controls;
412
- this.video = controls?.getVideo?.() || parent.querySelector("video") || document.querySelector("video");
413
- if (!this.video) {
414
- console.error("MobilePlayButton: No video element found");
415
- return;
1453
+
1454
+ // src/icons/SkipForwardIcon.tsx
1455
+ var import_jsx_runtime2 = require("react/jsx-runtime");
1456
+ var SkipForwardIcon = ({ size = 24, className = "" }) => {
1457
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
1458
+ "svg",
1459
+ {
1460
+ width: size,
1461
+ height: size,
1462
+ strokeWidth: "2",
1463
+ viewBox: "0 0 24 24",
1464
+ fill: "none",
1465
+ xmlns: "http://www.w3.org/2000/svg",
1466
+ className,
1467
+ children: [
1468
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1469
+ "path",
1470
+ {
1471
+ d: "M21 13C21 17.9706 16.9706 22 12 22C7.02944 22 3 17.9706 3 13C3 8.02944 7.02944 4 12 4",
1472
+ stroke: "currentColor",
1473
+ strokeLinecap: "round",
1474
+ strokeLinejoin: "round"
1475
+ }
1476
+ ),
1477
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1478
+ "path",
1479
+ {
1480
+ d: "M12 4H19.5M19.5 4L17.5 2M19.5 4L17.5 6",
1481
+ stroke: "currentColor",
1482
+ strokeLinecap: "round",
1483
+ strokeLinejoin: "round"
1484
+ }
1485
+ ),
1486
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1487
+ "path",
1488
+ {
1489
+ d: "M9 9L9 16",
1490
+ stroke: "currentColor",
1491
+ strokeLinecap: "round",
1492
+ strokeLinejoin: "round"
1493
+ }
1494
+ ),
1495
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1496
+ "path",
1497
+ {
1498
+ d: "M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16",
1499
+ stroke: "currentColor",
1500
+ strokeLinecap: "round",
1501
+ strokeLinejoin: "round"
1502
+ }
1503
+ )
1504
+ ]
416
1505
  }
417
- this.eventManager = { listen: (element, event, handler) => {
418
- element.addEventListener(event, handler);
419
- } };
420
- this.button_ = document.createElement("button");
421
- this.button_.className = "motto-mobile-play-button";
422
- this.updateIcon();
423
- this.parent.appendChild(this.button_);
424
- this.eventManager.listen(this.button_, "click", () => {
425
- if (this.video.paused) {
426
- this.video.play();
427
- } else {
428
- this.video.pause();
429
- }
430
- });
431
- this.eventManager.listen(this.video, "play", () => this.updateIcon());
432
- this.eventManager.listen(this.video, "pause", () => this.updateIcon());
433
- }
434
- updateIcon() {
435
- if (this.video.paused) {
436
- this.button_.innerHTML = `
437
- <svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" viewBox="0 0 24 24" fill="currentColor">
438
- <path stroke-width="2" fill-rule="evenodd" d="M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z" clip-rule="evenodd" />
439
- </svg>
440
- `;
441
- this.button_.setAttribute("aria-label", "Play");
442
- } else {
443
- this.button_.innerHTML = `
444
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
445
- <path fill-rule="evenodd" d="M6.75 5.25a.75.75 0 0 1 .75-.75H9a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75V5.25Zm7.5 0A.75.75 0 0 1 15 4.5h1.5a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H15a.75.75 0 0 1-.75-.75V5.25Z" clip-rule="evenodd" />
446
- </svg>
447
- `;
448
- this.button_.setAttribute("aria-label", "Pause");
1506
+ );
1507
+ };
1508
+
1509
+ // src/icons/BigPlayIcon.tsx
1510
+ var import_jsx_runtime3 = require("react/jsx-runtime");
1511
+ var BigPlayIcon = ({ size = 40, className = "" }) => {
1512
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1513
+ "svg",
1514
+ {
1515
+ width: size,
1516
+ height: size,
1517
+ viewBox: "0 0 24 24",
1518
+ fill: "currentColor",
1519
+ xmlns: "http://www.w3.org/2000/svg",
1520
+ className,
1521
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1522
+ "path",
1523
+ {
1524
+ fillRule: "evenodd",
1525
+ d: "M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z",
1526
+ clipRule: "evenodd"
1527
+ }
1528
+ )
449
1529
  }
450
- }
451
- release() {
452
- }
1530
+ );
1531
+ };
1532
+
1533
+ // src/utils/renderIcon.ts
1534
+ var import_server = require("react-dom/server");
1535
+ var import_react5 = require("react");
1536
+ var renderIcon = (Component, props = {}) => {
1537
+ return (0, import_server.renderToStaticMarkup)((0, import_react5.createElement)(Component, props));
453
1538
  };
454
- var MobileSkipBackButton = class {
455
- constructor(parent, controls, onSkipBack) {
1539
+
1540
+ // src/hooks/useShakaUI.ts
1541
+ var SkipBackButton = class {
1542
+ constructor(parent, controls, onSkipBack, iconSize = 24) {
456
1543
  this.parent = parent;
457
1544
  this.controls = controls;
458
- this.video = controls?.getVideo?.() || parent.querySelector("video") || document.querySelector("video");
459
- if (!this.video) {
460
- console.error("MobileSkipBackButton: No video element found");
461
- return;
462
- }
463
1545
  this.eventManager = { listen: (element, event, handler) => {
464
1546
  element.addEventListener(event, handler);
465
1547
  } };
466
1548
  this.button_ = document.createElement("button");
467
- this.button_.className = "motto-mobile-skip-button";
468
- this.button_.innerHTML = `
469
- <svg width="20px" stroke-width="2" height="20px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
470
- <path d="M3 13C3 17.9706 7.02944 22 12 22C16.9706 22 21 17.9706 21 13C21 8.02944 16.9706 4 12 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
471
- <path d="M9 9L9 16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
472
- <path d="M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
473
- <path d="M12 4L4.5 4M4.5 4L6.5 2M4.5 4L6.5 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
474
- </svg>
475
- `;
1549
+ this.button_.className = "shaka-button motto-native-skip-button";
1550
+ this.button_.innerHTML = renderIcon(SkipBackIcon, { size: iconSize });
1551
+ this.button_.title = "Skip back 15 seconds";
476
1552
  this.button_.setAttribute("aria-label", "Skip back 15 seconds");
477
1553
  this.parent.appendChild(this.button_);
478
1554
  this.eventManager.listen(this.button_, "click", () => {
479
- const newTime = Math.max(0, this.video.currentTime - 15);
480
- this.video.currentTime = newTime;
481
- onSkipBack?.(newTime);
1555
+ const video = this.controls.getVideo();
1556
+ if (video) {
1557
+ const newTime = Math.max(0, video.currentTime - 15);
1558
+ video.currentTime = newTime;
1559
+ onSkipBack?.(newTime);
1560
+ }
482
1561
  });
483
1562
  }
1563
+ // Shaka UI will call `release` when the controls are destroyed.
1564
+ // Provide a no-op implementation to avoid TypeErrors.
484
1565
  release() {
485
1566
  }
486
1567
  };
487
- var MobileSkipForwardButton = class {
488
- constructor(parent, controls, onSkipForward) {
1568
+ var SkipForwardButton = class {
1569
+ constructor(parent, controls, onSkipForward, iconSize = 24) {
489
1570
  this.parent = parent;
490
1571
  this.controls = controls;
491
- this.video = controls?.getVideo?.() || parent.querySelector("video") || document.querySelector("video");
492
- if (!this.video) {
493
- console.error("MobileSkipForwardButton: No video element found");
494
- return;
495
- }
496
1572
  this.eventManager = { listen: (element, event, handler) => {
497
1573
  element.addEventListener(event, handler);
498
1574
  } };
499
1575
  this.button_ = document.createElement("button");
500
- this.button_.className = "motto-mobile-skip-button";
501
- this.button_.innerHTML = `
502
- <svg fill="none" height="20" stroke-width="2" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg">
503
- <path d="M21 13C21 17.9706 16.9706 22 12 22C7.02944 22 3 17.9706 3 13C3 8.02944 7.02944 4 12 4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
504
- <path d="M12 4H19.5M19.5 4L17.5 2M19.5 4L17.5 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
505
- <path d="M9 9L9 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
506
- <path d="M15 9L13 9C12.4477 9 12 9.44772 12 10L12 11.5C12 12.0523 12.4477 12.5 13 12.5L14 12.5C14.5523 12.5 15 12.9477 15 13.5L15 15C15 15.5523 14.5523 16 14 16L12 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
507
- </svg>
508
- `;
1576
+ this.button_.className = "shaka-button motto-native-skip-button";
1577
+ this.button_.innerHTML = renderIcon(SkipForwardIcon, { size: iconSize });
1578
+ this.button_.title = "Skip forward 15 seconds";
509
1579
  this.button_.setAttribute("aria-label", "Skip forward 15 seconds");
510
1580
  this.parent.appendChild(this.button_);
511
1581
  this.eventManager.listen(this.button_, "click", () => {
512
- const newTime = Math.min(this.video.duration || 0, this.video.currentTime + 15);
513
- this.video.currentTime = newTime;
514
- onSkipForward?.(newTime);
1582
+ const video = this.controls.getVideo();
1583
+ if (video) {
1584
+ const newTime = Math.min(video.duration || 0, video.currentTime + 15);
1585
+ video.currentTime = newTime;
1586
+ onSkipForward?.(newTime);
1587
+ }
515
1588
  });
516
1589
  }
517
1590
  release() {
518
1591
  }
519
1592
  };
520
- var MobileControlsContainer = class {
521
- constructor(parent, controls, onSkipBack, onSkipForward) {
522
- this.parent = parent;
523
- this.controls = controls;
524
- if (!parent) {
525
- console.error("MobileControlsContainer: No parent element provided");
526
- return;
527
- }
528
- this.container_ = document.createElement("div");
529
- this.container_.className = "motto-mobile-controls-overlay";
530
- const controlsGroup = document.createElement("div");
531
- controlsGroup.className = "motto-mobile-controls-group";
532
- new MobileSkipBackButton(controlsGroup, controls, onSkipBack);
533
- new MobilePlayButton(controlsGroup, controls);
534
- new MobileSkipForwardButton(controlsGroup, controls, onSkipForward);
535
- this.container_.appendChild(controlsGroup);
536
- this.parent.appendChild(this.container_);
537
- this.setupVisibilitySync();
538
- }
539
- setupVisibilitySync() {
540
- setTimeout(() => {
541
- this.syncVisibility();
542
- this.observer = new MutationObserver((mutations) => {
543
- mutations.forEach((mutation) => {
544
- if (mutation.type === "attributes" && mutation.attributeName === "class") {
545
- this.syncVisibility();
546
- }
547
- });
548
- });
549
- this.observer.observe(this.parent, {
550
- attributes: true,
551
- attributeFilter: ["class"]
552
- });
553
- const video = this.controls?.getVideo?.() || this.parent.querySelector("video");
554
- if (video) {
555
- video.addEventListener("play", () => {
556
- setTimeout(() => this.syncVisibility(), 50);
557
- });
558
- video.addEventListener("pause", () => {
559
- setTimeout(() => this.syncVisibility(), 50);
560
- });
561
- }
562
- }, 1e3);
563
- }
564
- syncVisibility() {
565
- const mainContainer = this.parent;
566
- const hasNoCursor = mainContainer.classList.contains("no-cursor");
567
- const video = this.controls?.getVideo?.() || this.parent.querySelector("video");
568
- const isVideoPaused = video ? video.paused : false;
569
- const isControlsVisible = !hasNoCursor || isVideoPaused;
570
- if (this.container_) {
571
- if (isControlsVisible) {
572
- this.container_.style.opacity = "1";
573
- this.container_.style.pointerEvents = "none";
574
- } else {
575
- this.container_.style.opacity = "0";
576
- this.container_.style.pointerEvents = "none";
577
- }
578
- }
579
- }
580
- isElementVisible(element) {
581
- const style = window.getComputedStyle(element);
582
- const hasHiddenClass = element.classList.contains("shaka-hidden") || element.classList.contains("hidden") || element.classList.contains("shaka-fade-out");
583
- return style.display !== "none" && style.visibility !== "hidden" && style.opacity !== "0" && !element.hidden && !hasHiddenClass;
1593
+ var SkipBackButtonFactory = class {
1594
+ constructor(onSkipBack, iconSize) {
1595
+ this.onSkipBack = onSkipBack;
1596
+ this.iconSize = iconSize;
584
1597
  }
585
- release() {
586
- try {
587
- this.observer?.disconnect?.();
588
- if (this.container_ && this.parent.contains(this.container_)) {
589
- this.parent.removeChild(this.container_);
590
- }
591
- } catch {
592
- }
1598
+ create(rootElement, controls) {
1599
+ return new SkipBackButton(rootElement, controls, this.onSkipBack, this.iconSize);
593
1600
  }
594
1601
  };
595
- var MobileControlsContainerFactory = class {
596
- constructor(onSkipBack, onSkipForward) {
597
- this.onSkipBack = onSkipBack;
1602
+ var SkipForwardButtonFactory = class {
1603
+ constructor(onSkipForward, iconSize) {
598
1604
  this.onSkipForward = onSkipForward;
1605
+ this.iconSize = iconSize;
599
1606
  }
600
1607
  create(rootElement, controls) {
601
- return new MobileControlsContainer(rootElement, controls, this.onSkipBack, this.onSkipForward);
1608
+ return new SkipForwardButton(rootElement, controls, this.onSkipForward, this.iconSize);
602
1609
  }
603
1610
  };
604
- var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig, seekbarColors, onSkipBack, onSkipForward) => {
605
- const uiRef = (0, import_react5.useRef)(null);
606
- const mobileOverlayRef = (0, import_react5.useRef)(null);
607
- const registeredElements = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
608
- const initializeUI = (0, import_react5.useCallback)(async () => {
1611
+ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig, seekbarColors, onSkipBack, onSkipForward, iconSizes) => {
1612
+ const uiRef = (0, import_react6.useRef)(null);
1613
+ const registeredElements = (0, import_react6.useRef)(/* @__PURE__ */ new Set());
1614
+ const initializeUI = (0, import_react6.useCallback)(async () => {
609
1615
  if (!controls || !containerRef.current || !playerRef.current || !videoRef.current) {
610
1616
  return null;
611
1617
  }
612
- const isMobile = window.innerWidth <= 767 || /Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
613
1618
  if (!registeredElements.current.has("skip_back_button")) {
614
- import_shaka_player3.ui.Controls.registerElement("skip_back_button", new SkipBackButtonFactory(onSkipBack));
1619
+ import_shaka_player3.ui.Controls.registerElement("skip_back_button", new SkipBackButtonFactory(onSkipBack, iconSizes?.skipButtons));
615
1620
  registeredElements.current.add("skip_back_button");
616
1621
  }
617
1622
  if (!registeredElements.current.has("skip_forward_button")) {
618
- import_shaka_player3.ui.Controls.registerElement("skip_forward_button", new SkipForwardButtonFactory(onSkipForward));
1623
+ import_shaka_player3.ui.Controls.registerElement("skip_forward_button", new SkipForwardButtonFactory(onSkipForward, iconSizes?.skipButtons));
619
1624
  registeredElements.current.add("skip_forward_button");
620
1625
  }
621
- if (isMobile) {
622
- if (!registeredElements.current.has("mobile_controls_container")) {
623
- import_shaka_player3.ui.Controls.registerElement("mobile_controls_container", new MobileControlsContainerFactory(onSkipBack, onSkipForward));
624
- registeredElements.current.add("mobile_controls_container");
625
- }
626
- }
627
1626
  const ui = new import_shaka_player3.ui.Overlay(playerRef.current, containerRef.current, videoRef.current);
628
1627
  uiRef.current = ui;
629
- const controlPanelElements = isMobile ? [
1628
+ const isMobile = window.innerWidth <= 767;
1629
+ const controlPanelElements = [
1630
+ ...isMobile ? [] : ["skip_back_button"],
1631
+ ...isMobile ? [] : ["play_pause"],
1632
+ ...isMobile ? [] : ["skip_forward_button"],
630
1633
  "mute",
631
- "time_and_duration",
632
- "spacer",
633
- "fullscreen",
634
- "cast",
635
- "overflow_menu"
636
- ] : [
637
- "skip_back_button",
638
- "play_pause",
639
- "skip_forward_button",
640
- "mute",
641
- "volume",
1634
+ ...isMobile ? [] : ["volume"],
1635
+ // Only include volume on desktop
642
1636
  "time_and_duration",
643
1637
  "spacer",
644
1638
  "fullscreen",
@@ -655,6 +1649,7 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
655
1649
  // Progress/played portion (white)
656
1650
  },
657
1651
  controlPanelElements,
1652
+ addBigPlayButton: isMobile,
658
1653
  ...chromecastConfig?.receiverApplicationId && {
659
1654
  "castReceiverAppId": chromecastConfig.receiverApplicationId,
660
1655
  "castAndroidReceiverCompatible": false
@@ -671,24 +1666,33 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
671
1666
  }
672
1667
  ui.configure(uiConfig);
673
1668
  if (isMobile) {
674
- setTimeout(() => {
675
- const container = containerRef.current;
676
- const video = videoRef.current;
677
- if (container && video) {
678
- if (!mobileOverlayRef.current) {
679
- mobileOverlayRef.current = new MobileControlsContainer(
680
- container,
681
- { getVideo: () => video },
682
- onSkipBack,
683
- onSkipForward
684
- );
685
- }
1669
+ const customizeBigPlayButton = () => {
1670
+ const bigPlayButton = containerRef.current?.querySelector(".shaka-big-play-button");
1671
+ if (bigPlayButton && !bigPlayButton.hasAttribute("data-customized")) {
1672
+ const buttonSize = iconSizes?.bigPlayButton || 40;
1673
+ bigPlayButton.innerHTML = renderIcon(BigPlayIcon, { size: buttonSize });
1674
+ bigPlayButton.setAttribute("data-customized", "true");
1675
+ const buttonElement = bigPlayButton;
1676
+ buttonElement.style.display = "flex";
1677
+ buttonElement.style.alignItems = "center";
1678
+ buttonElement.style.justifyContent = "center";
686
1679
  }
687
- }, 500);
1680
+ };
1681
+ setTimeout(customizeBigPlayButton, 100);
1682
+ const observer = new MutationObserver(() => {
1683
+ customizeBigPlayButton();
1684
+ });
1685
+ if (containerRef.current) {
1686
+ observer.observe(containerRef.current, {
1687
+ childList: true,
1688
+ subtree: true,
1689
+ attributes: false
1690
+ });
1691
+ }
688
1692
  }
689
1693
  return ui;
690
- }, [controls, containerRef, playerRef, videoRef, chromecastConfig, seekbarColors, onSkipBack, onSkipForward]);
691
- const destroyUI = (0, import_react5.useCallback)(() => {
1694
+ }, [controls, containerRef, playerRef, videoRef, chromecastConfig, seekbarColors, onSkipBack, onSkipForward, iconSizes]);
1695
+ const destroyUI = (0, import_react6.useCallback)(() => {
692
1696
  if (uiRef.current) {
693
1697
  try {
694
1698
  uiRef.current.destroy();
@@ -697,14 +1701,6 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
697
1701
  }
698
1702
  uiRef.current = null;
699
1703
  }
700
- if (mobileOverlayRef.current) {
701
- try {
702
- mobileOverlayRef.current.release();
703
- } catch (error) {
704
- console.warn("Error releasing mobile controls overlay:", error);
705
- }
706
- mobileOverlayRef.current = null;
707
- }
708
1704
  }, []);
709
1705
  return {
710
1706
  uiRef,
@@ -714,9 +1710,9 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
714
1710
  };
715
1711
 
716
1712
  // src/hooks/useEventHandlers.ts
717
- var import_react6 = require("react");
1713
+ var import_react7 = require("react");
718
1714
  var useEventHandlers = (videoRef, handlers) => {
719
- const setupEventListeners = (0, import_react6.useCallback)(() => {
1715
+ const setupEventListeners = (0, import_react7.useCallback)(() => {
720
1716
  const video = videoRef.current;
721
1717
  if (!video) return;
722
1718
  const { onPlay, onPause, onEnded, onLoadStart, onCanPlay } = handlers;
@@ -726,7 +1722,7 @@ var useEventHandlers = (videoRef, handlers) => {
726
1722
  if (onLoadStart) video.addEventListener("loadstart", onLoadStart);
727
1723
  if (onCanPlay) video.addEventListener("canplay", onCanPlay);
728
1724
  }, [videoRef, handlers]);
729
- const cleanupEventListeners = (0, import_react6.useCallback)(() => {
1725
+ const cleanupEventListeners = (0, import_react7.useCallback)(() => {
730
1726
  const video = videoRef.current;
731
1727
  if (!video) return;
732
1728
  const { onPlay, onPause, onEnded, onLoadStart, onCanPlay } = handlers;
@@ -743,11 +1739,11 @@ var useEventHandlers = (videoRef, handlers) => {
743
1739
  };
744
1740
 
745
1741
  // src/hooks/useLiveBadge.ts
746
- var import_react7 = require("react");
1742
+ var import_react8 = require("react");
747
1743
  var useLiveBadge = (playerRef, options = {}) => {
748
- const [isLive, setIsLive] = (0, import_react7.useState)(false);
749
- const [isVisible, setIsVisible] = (0, import_react7.useState)(false);
750
- const intervalRef = (0, import_react7.useRef)(null);
1744
+ const [isLive, setIsLive] = (0, import_react8.useState)(false);
1745
+ const [isVisible, setIsVisible] = (0, import_react8.useState)(false);
1746
+ const intervalRef = (0, import_react8.useRef)(null);
751
1747
  const { enabled = true, onLiveStateChange } = options;
752
1748
  const checkLiveStatus = () => {
753
1749
  if (!playerRef.current || !enabled) {
@@ -778,7 +1774,7 @@ var useLiveBadge = (playerRef, options = {}) => {
778
1774
  }
779
1775
  }
780
1776
  };
781
- (0, import_react7.useEffect)(() => {
1777
+ (0, import_react8.useEffect)(() => {
782
1778
  if (!enabled) {
783
1779
  setIsLive(false);
784
1780
  setIsVisible(false);
@@ -793,7 +1789,7 @@ var useLiveBadge = (playerRef, options = {}) => {
793
1789
  }
794
1790
  };
795
1791
  }, [enabled, playerRef.current]);
796
- (0, import_react7.useEffect)(() => {
1792
+ (0, import_react8.useEffect)(() => {
797
1793
  return () => {
798
1794
  if (intervalRef.current) {
799
1795
  clearInterval(intervalRef.current);
@@ -812,19 +1808,19 @@ var useLiveBadge = (playerRef, options = {}) => {
812
1808
  };
813
1809
 
814
1810
  // src/hooks/usePosterFallback.ts
815
- var import_react8 = require("react");
1811
+ var import_react9 = require("react");
816
1812
 
817
1813
  // src/hooks/useLiveIndicator.ts
818
- var import_react9 = require("react");
1814
+ var import_react10 = require("react");
819
1815
  var useLiveIndicator = (containerRef, options = {}) => {
820
- const observerRef = (0, import_react9.useRef)(null);
1816
+ const observerRef = (0, import_react10.useRef)(null);
821
1817
  const {
822
1818
  enabled = true,
823
1819
  indicatorColor = "#ff0000",
824
1820
  indicatorSize = 8,
825
1821
  showPulseAnimation = true
826
1822
  } = options;
827
- (0, import_react9.useEffect)(() => {
1823
+ (0, import_react10.useEffect)(() => {
828
1824
  if (!containerRef.current || !enabled) {
829
1825
  return;
830
1826
  }
@@ -905,171 +1901,1236 @@ var useLiveIndicator = (containerRef, options = {}) => {
905
1901
  }
906
1902
  });
907
1903
  }
908
- };
909
- };
910
-
911
- // src/hooks/useKeyboardControls.ts
912
- var import_react10 = require("react");
913
- var useKeyboardControls = (videoRef, options = {}) => {
914
- const { skipBack, skipForward, enabled = true } = options;
915
- const isDesktop = (0, import_react10.useCallback)(() => {
916
- return window.innerWidth > 767 && !/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
917
- }, []);
918
- const handleKeydown = (0, import_react10.useCallback)((event) => {
919
- if (!enabled || !isDesktop() || !videoRef.current) return;
920
- const activeElement = document.activeElement;
921
- if (activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA" || activeElement.isContentEditable)) {
922
- return;
1904
+ };
1905
+ };
1906
+
1907
+ // src/hooks/useKeyboardControls.ts
1908
+ var import_react11 = require("react");
1909
+ var useKeyboardControls = (videoRef, options = {}) => {
1910
+ const { skipBack, skipForward, enabled = true } = options;
1911
+ const isDesktop = (0, import_react11.useCallback)(() => {
1912
+ return window.innerWidth > 767 && !/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
1913
+ }, []);
1914
+ const handleKeydown = (0, import_react11.useCallback)((event) => {
1915
+ if (!enabled || !isDesktop() || !videoRef.current) return;
1916
+ const activeElement = document.activeElement;
1917
+ if (activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA" || activeElement.isContentEditable)) {
1918
+ return;
1919
+ }
1920
+ switch (event.key) {
1921
+ case "ArrowLeft":
1922
+ event.preventDefault();
1923
+ skipBack?.();
1924
+ break;
1925
+ case "ArrowRight":
1926
+ event.preventDefault();
1927
+ skipForward?.();
1928
+ break;
1929
+ case " ":
1930
+ case "Space":
1931
+ event.preventDefault();
1932
+ if (videoRef.current.paused) {
1933
+ videoRef.current.play();
1934
+ } else {
1935
+ videoRef.current.pause();
1936
+ }
1937
+ break;
1938
+ }
1939
+ }, [enabled, videoRef, skipBack, skipForward, isDesktop]);
1940
+ (0, import_react11.useEffect)(() => {
1941
+ if (!enabled || !isDesktop()) return;
1942
+ document.addEventListener("keydown", handleKeydown);
1943
+ return () => {
1944
+ document.removeEventListener("keydown", handleKeydown);
1945
+ };
1946
+ }, [handleKeydown, enabled, isDesktop]);
1947
+ return {
1948
+ isDesktop: isDesktop()
1949
+ };
1950
+ };
1951
+
1952
+ // src/components/Loading.tsx
1953
+ var import_tailwind_merge = require("tailwind-merge");
1954
+ var import_jsx_runtime4 = require("react/jsx-runtime");
1955
+ var Loading = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1956
+ "div",
1957
+ {
1958
+ className: (0, import_tailwind_merge.twMerge)(
1959
+ "relative bg-[#151515] md:rounded-2xl! overflow-hidden aspect-video text-white w-full h-full flex justify-center items-center text-[10px]",
1960
+ className
1961
+ ),
1962
+ role: "status",
1963
+ children: [
1964
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "shaka-spinner-container flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1965
+ "svg",
1966
+ {
1967
+ className: "shaka-spinner-svg animate-spin h-12 w-12",
1968
+ viewBox: "0 0 64 64",
1969
+ xmlns: "http://www.w3.org/2000/svg",
1970
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1971
+ "circle",
1972
+ {
1973
+ className: "shaka-spinner-path",
1974
+ cx: "32",
1975
+ cy: "32",
1976
+ r: "28",
1977
+ strokeWidth: "4",
1978
+ strokeLinecap: "round"
1979
+ }
1980
+ )
1981
+ }
1982
+ ) }),
1983
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "sr-only", children: "Loading..." })
1984
+ ]
1985
+ }
1986
+ );
1987
+
1988
+ // src/components/ErrorScreen.tsx
1989
+ var import_jsx_runtime5 = require("react/jsx-runtime");
1990
+ var ErrorScreen = ({ title, description }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "w-full h-full md:rounded-2xl! aspect-video bg-black", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "bg-[#151515] text-white w-full h-full flex justify-stretch items-center", children: [
1991
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1992
+ "svg",
1993
+ {
1994
+ className: "w-24 h-24 m-6",
1995
+ fill: "none",
1996
+ stroke: "currentColor",
1997
+ strokeWidth: "2",
1998
+ style: { width: 96 },
1999
+ viewBox: "0 0 24 24",
2000
+ xmlns: "http://www.w3.org/2000/svg",
2001
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2002
+ "path",
2003
+ {
2004
+ d: "M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z",
2005
+ strokeLinecap: "round",
2006
+ strokeLinejoin: "round"
2007
+ }
2008
+ )
2009
+ }
2010
+ ),
2011
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { children: [
2012
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h3", { className: "text-2xl mb-2", children: title || "Playback Error" }),
2013
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "text-lg", children: description || "Unable to play the video. Please try again later." })
2014
+ ] })
2015
+ ] }) });
2016
+
2017
+ // src/components/Title.tsx
2018
+ var import_jsx_runtime6 = require("react/jsx-runtime");
2019
+ var Title = ({ title }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-4", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h2", { className: "text-white text-xl font-semibold", children: title }) });
2020
+
2021
+ // src/components/LiveBadge.tsx
2022
+ var import_jsx_runtime7 = require("react/jsx-runtime");
2023
+ var LiveBadge = ({
2024
+ isVisible,
2025
+ position = "top-right",
2026
+ className = "",
2027
+ style = {},
2028
+ text = "LIVE"
2029
+ }) => {
2030
+ if (!isVisible) return null;
2031
+ const positionClasses = {
2032
+ "top-left": "top-4 left-4",
2033
+ "top-right": "top-4 right-4",
2034
+ "bottom-left": "bottom-4 left-4",
2035
+ "bottom-right": "bottom-4 right-4"
2036
+ };
2037
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
2038
+ "div",
2039
+ {
2040
+ className: `
2041
+ absolute z-50
2042
+ ${positionClasses[position]}
2043
+ bg-red-600 text-white
2044
+ px-2 py-1
2045
+ rounded-md
2046
+ text-xs font-bold
2047
+ uppercase tracking-wide
2048
+ shadow-lg
2049
+ animate-pulse
2050
+ pointer-events-none
2051
+ ${className}
2052
+ `,
2053
+ style,
2054
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "flex items-center gap-1", children: [
2055
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "w-2 h-2 bg-white rounded-full animate-pulse" }),
2056
+ text
2057
+ ] })
2058
+ }
2059
+ );
2060
+ };
2061
+
2062
+ // src/styles.css
2063
+ styleInject(`/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
2064
+ @layer properties;
2065
+ @layer theme, base, components, utilities;
2066
+ @layer theme {
2067
+ :root,
2068
+ :host {
2069
+ --font-sans:
2070
+ ui-sans-serif,
2071
+ system-ui,
2072
+ sans-serif,
2073
+ "Apple Color Emoji",
2074
+ "Segoe UI Emoji",
2075
+ "Segoe UI Symbol",
2076
+ "Noto Color Emoji";
2077
+ --font-mono:
2078
+ ui-monospace,
2079
+ SFMono-Regular,
2080
+ Menlo,
2081
+ Monaco,
2082
+ Consolas,
2083
+ "Liberation Mono",
2084
+ "Courier New",
2085
+ monospace;
2086
+ --color-red-600: oklch(57.7% 0.245 27.325);
2087
+ --color-black: #000;
2088
+ --color-white: #fff;
2089
+ --spacing: 0.25rem;
2090
+ --text-xs: 0.75rem;
2091
+ --text-xs--line-height: calc(1 / 0.75);
2092
+ --text-sm: 0.875rem;
2093
+ --text-sm--line-height: calc(1.25 / 0.875);
2094
+ --text-base: 1rem;
2095
+ --text-base--line-height: calc(1.5 / 1);
2096
+ --text-lg: 1.125rem;
2097
+ --text-lg--line-height: calc(1.75 / 1.125);
2098
+ --text-xl: 1.25rem;
2099
+ --text-xl--line-height: calc(1.75 / 1.25);
2100
+ --text-2xl: 1.5rem;
2101
+ --text-2xl--line-height: calc(2 / 1.5);
2102
+ --text-5xl: 3rem;
2103
+ --text-5xl--line-height: 1;
2104
+ --font-weight-medium: 500;
2105
+ --font-weight-semibold: 600;
2106
+ --font-weight-bold: 700;
2107
+ --tracking-wide: 0.025em;
2108
+ --tracking-widest: 0.1em;
2109
+ --radius-md: 0.375rem;
2110
+ --radius-2xl: 1rem;
2111
+ --animate-spin: spin 1s linear infinite;
2112
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2113
+ --aspect-video: 16 / 9;
2114
+ --default-transition-duration: 150ms;
2115
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2116
+ --default-font-family: var(--font-sans);
2117
+ --default-mono-font-family: var(--font-mono);
2118
+ }
2119
+ }
2120
+ @layer base {
2121
+ *,
2122
+ ::after,
2123
+ ::before,
2124
+ ::backdrop,
2125
+ ::file-selector-button {
2126
+ box-sizing: border-box;
2127
+ margin: 0;
2128
+ padding: 0;
2129
+ border: 0 solid;
2130
+ }
2131
+ html,
2132
+ :host {
2133
+ line-height: 1.5;
2134
+ -webkit-text-size-adjust: 100%;
2135
+ tab-size: 4;
2136
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
2137
+ font-feature-settings: var(--default-font-feature-settings, normal);
2138
+ font-variation-settings: var(--default-font-variation-settings, normal);
2139
+ -webkit-tap-highlight-color: transparent;
2140
+ }
2141
+ hr {
2142
+ height: 0;
2143
+ color: inherit;
2144
+ border-top-width: 1px;
2145
+ }
2146
+ abbr:where([title]) {
2147
+ -webkit-text-decoration: underline dotted;
2148
+ text-decoration: underline dotted;
2149
+ }
2150
+ h1,
2151
+ h2,
2152
+ h3,
2153
+ h4,
2154
+ h5,
2155
+ h6 {
2156
+ font-size: inherit;
2157
+ font-weight: inherit;
2158
+ }
2159
+ a {
2160
+ color: inherit;
2161
+ -webkit-text-decoration: inherit;
2162
+ text-decoration: inherit;
2163
+ }
2164
+ b,
2165
+ strong {
2166
+ font-weight: bolder;
2167
+ }
2168
+ code,
2169
+ kbd,
2170
+ samp,
2171
+ pre {
2172
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
2173
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
2174
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
2175
+ font-size: 1em;
2176
+ }
2177
+ small {
2178
+ font-size: 80%;
2179
+ }
2180
+ sub,
2181
+ sup {
2182
+ font-size: 75%;
2183
+ line-height: 0;
2184
+ position: relative;
2185
+ vertical-align: baseline;
2186
+ }
2187
+ sub {
2188
+ bottom: -0.25em;
2189
+ }
2190
+ sup {
2191
+ top: -0.5em;
2192
+ }
2193
+ table {
2194
+ text-indent: 0;
2195
+ border-color: inherit;
2196
+ border-collapse: collapse;
2197
+ }
2198
+ :-moz-focusring {
2199
+ outline: auto;
2200
+ }
2201
+ progress {
2202
+ vertical-align: baseline;
2203
+ }
2204
+ summary {
2205
+ display: list-item;
2206
+ }
2207
+ ol,
2208
+ ul,
2209
+ menu {
2210
+ list-style: none;
2211
+ }
2212
+ img,
2213
+ svg,
2214
+ video,
2215
+ canvas,
2216
+ audio,
2217
+ iframe,
2218
+ embed,
2219
+ object {
2220
+ display: block;
2221
+ vertical-align: middle;
2222
+ }
2223
+ img,
2224
+ video {
2225
+ max-width: 100%;
2226
+ height: auto;
2227
+ }
2228
+ button,
2229
+ input,
2230
+ select,
2231
+ optgroup,
2232
+ textarea,
2233
+ ::file-selector-button {
2234
+ font: inherit;
2235
+ font-feature-settings: inherit;
2236
+ font-variation-settings: inherit;
2237
+ letter-spacing: inherit;
2238
+ color: inherit;
2239
+ border-radius: 0;
2240
+ background-color: transparent;
2241
+ opacity: 1;
2242
+ }
2243
+ :where(select:is([multiple], [size])) optgroup {
2244
+ font-weight: bolder;
2245
+ }
2246
+ :where(select:is([multiple], [size])) optgroup option {
2247
+ padding-inline-start: 20px;
2248
+ }
2249
+ ::file-selector-button {
2250
+ margin-inline-end: 4px;
2251
+ }
2252
+ ::placeholder {
2253
+ opacity: 1;
2254
+ }
2255
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
2256
+ ::placeholder {
2257
+ color: currentcolor;
2258
+ @supports (color: color-mix(in lab, red, red)) {
2259
+ color: color-mix(in oklab, currentcolor 50%, transparent);
2260
+ }
2261
+ }
2262
+ }
2263
+ textarea {
2264
+ resize: vertical;
2265
+ }
2266
+ ::-webkit-search-decoration {
2267
+ -webkit-appearance: none;
2268
+ }
2269
+ ::-webkit-date-and-time-value {
2270
+ min-height: 1lh;
2271
+ text-align: inherit;
2272
+ }
2273
+ ::-webkit-datetime-edit {
2274
+ display: inline-flex;
2275
+ }
2276
+ ::-webkit-datetime-edit-fields-wrapper {
2277
+ padding: 0;
2278
+ }
2279
+ ::-webkit-datetime-edit,
2280
+ ::-webkit-datetime-edit-year-field,
2281
+ ::-webkit-datetime-edit-month-field,
2282
+ ::-webkit-datetime-edit-day-field,
2283
+ ::-webkit-datetime-edit-hour-field,
2284
+ ::-webkit-datetime-edit-minute-field,
2285
+ ::-webkit-datetime-edit-second-field,
2286
+ ::-webkit-datetime-edit-millisecond-field,
2287
+ ::-webkit-datetime-edit-meridiem-field {
2288
+ padding-block: 0;
2289
+ }
2290
+ :-moz-ui-invalid {
2291
+ box-shadow: none;
2292
+ }
2293
+ button,
2294
+ input:where([type=button], [type=reset], [type=submit]),
2295
+ ::file-selector-button {
2296
+ appearance: button;
2297
+ }
2298
+ ::-webkit-inner-spin-button,
2299
+ ::-webkit-outer-spin-button {
2300
+ height: auto;
2301
+ }
2302
+ [hidden]:where(:not([hidden=until-found])) {
2303
+ display: none !important;
2304
+ }
2305
+ }
2306
+ @layer utilities {
2307
+ .pointer-events-auto {
2308
+ pointer-events: auto;
2309
+ }
2310
+ .pointer-events-none {
2311
+ pointer-events: none;
2312
+ }
2313
+ .visible {
2314
+ visibility: visible;
2315
+ }
2316
+ .sr-only {
2317
+ position: absolute;
2318
+ width: 1px;
2319
+ height: 1px;
2320
+ padding: 0;
2321
+ margin: -1px;
2322
+ overflow: hidden;
2323
+ clip: rect(0, 0, 0, 0);
2324
+ white-space: nowrap;
2325
+ border-width: 0;
2326
+ }
2327
+ .absolute {
2328
+ position: absolute;
2329
+ }
2330
+ .fixed {
2331
+ position: fixed;
2332
+ }
2333
+ .relative {
2334
+ position: relative;
2335
+ }
2336
+ .static {
2337
+ position: static;
2338
+ }
2339
+ .inset-0 {
2340
+ inset: calc(var(--spacing) * 0);
2341
+ }
2342
+ .top-0 {
2343
+ top: calc(var(--spacing) * 0);
2344
+ }
2345
+ .top-4 {
2346
+ top: calc(var(--spacing) * 4);
2347
+ }
2348
+ .right-0 {
2349
+ right: calc(var(--spacing) * 0);
2350
+ }
2351
+ .right-4 {
2352
+ right: calc(var(--spacing) * 4);
2353
+ }
2354
+ .bottom-0 {
2355
+ bottom: calc(var(--spacing) * 0);
2356
+ }
2357
+ .bottom-4 {
2358
+ bottom: calc(var(--spacing) * 4);
2359
+ }
2360
+ .left-0 {
2361
+ left: calc(var(--spacing) * 0);
2362
+ }
2363
+ .left-4 {
2364
+ left: calc(var(--spacing) * 4);
2365
+ }
2366
+ .z-10 {
2367
+ z-index: 10;
2368
+ }
2369
+ .z-50 {
2370
+ z-index: 50;
2371
+ }
2372
+ .container {
2373
+ width: 100%;
2374
+ @media (width >= 40rem) {
2375
+ max-width: 40rem;
2376
+ }
2377
+ @media (width >= 48rem) {
2378
+ max-width: 48rem;
2379
+ }
2380
+ @media (width >= 64rem) {
2381
+ max-width: 64rem;
2382
+ }
2383
+ @media (width >= 80rem) {
2384
+ max-width: 80rem;
2385
+ }
2386
+ @media (width >= 96rem) {
2387
+ max-width: 96rem;
2388
+ }
2389
+ }
2390
+ .m-6 {
2391
+ margin: calc(var(--spacing) * 6);
2392
+ }
2393
+ .mt-1 {
2394
+ margin-top: calc(var(--spacing) * 1);
2395
+ }
2396
+ .mt-3 {
2397
+ margin-top: calc(var(--spacing) * 3);
2398
+ }
2399
+ .mb-2 {
2400
+ margin-bottom: calc(var(--spacing) * 2);
2401
+ }
2402
+ .mb-6 {
2403
+ margin-bottom: calc(var(--spacing) * 6);
2404
+ }
2405
+ .flex {
2406
+ display: flex;
2407
+ }
2408
+ .grid {
2409
+ display: grid;
2410
+ }
2411
+ .aspect-video {
2412
+ aspect-ratio: var(--aspect-video);
2413
+ }
2414
+ .h-2 {
2415
+ height: calc(var(--spacing) * 2);
2416
+ }
2417
+ .h-12 {
2418
+ height: calc(var(--spacing) * 12);
2419
+ }
2420
+ .h-24 {
2421
+ height: calc(var(--spacing) * 24);
2422
+ }
2423
+ .h-full {
2424
+ height: 100%;
2425
+ }
2426
+ .w-2 {
2427
+ width: calc(var(--spacing) * 2);
2428
+ }
2429
+ .w-12 {
2430
+ width: calc(var(--spacing) * 12);
2431
+ }
2432
+ .w-24 {
2433
+ width: calc(var(--spacing) * 24);
2434
+ }
2435
+ .w-full {
2436
+ width: 100%;
2437
+ }
2438
+ .animate-pulse {
2439
+ animation: var(--animate-pulse);
2440
+ }
2441
+ .animate-spin {
2442
+ animation: var(--animate-spin);
2443
+ }
2444
+ .auto-cols-max {
2445
+ grid-auto-columns: max-content;
2446
+ }
2447
+ .grid-flow-col {
2448
+ grid-auto-flow: column;
2449
+ }
2450
+ .flex-col {
2451
+ flex-direction: column;
2452
+ }
2453
+ .items-center {
2454
+ align-items: center;
2455
+ }
2456
+ .justify-center {
2457
+ justify-content: center;
2458
+ }
2459
+ .justify-stretch {
2460
+ justify-content: stretch;
2461
+ }
2462
+ .gap-1 {
2463
+ gap: calc(var(--spacing) * 1);
2464
+ }
2465
+ .gap-5 {
2466
+ gap: calc(var(--spacing) * 5);
2467
+ }
2468
+ .overflow-hidden {
2469
+ overflow: hidden;
2470
+ }
2471
+ .rounded-full {
2472
+ border-radius: calc(infinity * 1px);
2473
+ }
2474
+ .rounded-md {
2475
+ border-radius: var(--radius-md);
2476
+ }
2477
+ .bg-\\[\\#151515\\] {
2478
+ background-color: #151515;
2479
+ }
2480
+ .bg-black {
2481
+ background-color: var(--color-black);
2482
+ }
2483
+ .bg-red-600 {
2484
+ background-color: var(--color-red-600);
2485
+ }
2486
+ .bg-white {
2487
+ background-color: var(--color-white);
2488
+ }
2489
+ .bg-gradient-to-t {
2490
+ --tw-gradient-position: to top in oklab;
2491
+ background-image: linear-gradient(var(--tw-gradient-stops));
2492
+ }
2493
+ .from-black\\/70 {
2494
+ --tw-gradient-from: color-mix(in srgb, #000 70%, transparent);
2495
+ @supports (color: color-mix(in lab, red, red)) {
2496
+ --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
2497
+ }
2498
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2499
+ }
2500
+ .to-transparent {
2501
+ --tw-gradient-to: transparent;
2502
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2503
+ }
2504
+ .bg-cover {
2505
+ background-size: cover;
2506
+ }
2507
+ .bg-center {
2508
+ background-position: center;
2509
+ }
2510
+ .bg-no-repeat {
2511
+ background-repeat: no-repeat;
2512
+ }
2513
+ .p-2 {
2514
+ padding: calc(var(--spacing) * 2);
2515
+ }
2516
+ .p-4 {
2517
+ padding: calc(var(--spacing) * 4);
2518
+ }
2519
+ .px-2 {
2520
+ padding-inline: calc(var(--spacing) * 2);
2521
+ }
2522
+ .px-4 {
2523
+ padding-inline: calc(var(--spacing) * 4);
2524
+ }
2525
+ .py-1 {
2526
+ padding-block: calc(var(--spacing) * 1);
2527
+ }
2528
+ .text-center {
2529
+ text-align: center;
2530
+ }
2531
+ .text-left {
2532
+ text-align: left;
2533
+ }
2534
+ .font-mono {
2535
+ font-family: var(--font-mono);
2536
+ }
2537
+ .text-2xl {
2538
+ font-size: var(--text-2xl);
2539
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
2540
+ }
2541
+ .text-5xl {
2542
+ font-size: var(--text-5xl);
2543
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
2544
+ }
2545
+ .text-base {
2546
+ font-size: var(--text-base);
2547
+ line-height: var(--tw-leading, var(--text-base--line-height));
2548
+ }
2549
+ .text-lg {
2550
+ font-size: var(--text-lg);
2551
+ line-height: var(--tw-leading, var(--text-lg--line-height));
2552
+ }
2553
+ .text-sm {
2554
+ font-size: var(--text-sm);
2555
+ line-height: var(--tw-leading, var(--text-sm--line-height));
2556
+ }
2557
+ .text-xl {
2558
+ font-size: var(--text-xl);
2559
+ line-height: var(--tw-leading, var(--text-xl--line-height));
2560
+ }
2561
+ .text-xs {
2562
+ font-size: var(--text-xs);
2563
+ line-height: var(--tw-leading, var(--text-xs--line-height));
2564
+ }
2565
+ .text-\\[10px\\] {
2566
+ font-size: 10px;
2567
+ }
2568
+ .font-bold {
2569
+ --tw-font-weight: var(--font-weight-bold);
2570
+ font-weight: var(--font-weight-bold);
2571
+ }
2572
+ .font-medium {
2573
+ --tw-font-weight: var(--font-weight-medium);
2574
+ font-weight: var(--font-weight-medium);
2575
+ }
2576
+ .font-semibold {
2577
+ --tw-font-weight: var(--font-weight-semibold);
2578
+ font-weight: var(--font-weight-semibold);
2579
+ }
2580
+ .tracking-wide {
2581
+ --tw-tracking: var(--tracking-wide);
2582
+ letter-spacing: var(--tracking-wide);
2583
+ }
2584
+ .tracking-widest {
2585
+ --tw-tracking: var(--tracking-widest);
2586
+ letter-spacing: var(--tracking-widest);
2587
+ }
2588
+ .text-white {
2589
+ color: var(--color-white);
2590
+ }
2591
+ .uppercase {
2592
+ text-transform: uppercase;
2593
+ }
2594
+ .shadow-lg {
2595
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2596
+ box-shadow:
2597
+ var(--tw-inset-shadow),
2598
+ var(--tw-inset-ring-shadow),
2599
+ var(--tw-ring-offset-shadow),
2600
+ var(--tw-ring-shadow),
2601
+ var(--tw-shadow);
2602
+ }
2603
+ .filter {
2604
+ 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,);
2605
+ }
2606
+ .md\\:rounded-2xl {
2607
+ @media (width >= 48rem) {
2608
+ border-radius: var(--radius-2xl);
2609
+ }
2610
+ }
2611
+ .md\\:rounded-2xl\\! {
2612
+ @media (width >= 48rem) {
2613
+ border-radius: var(--radius-2xl) !important;
2614
+ }
2615
+ }
2616
+ .md\\:text-base {
2617
+ @media (width >= 48rem) {
2618
+ font-size: var(--text-base);
2619
+ line-height: var(--tw-leading, var(--text-base--line-height));
2620
+ }
2621
+ }
2622
+ .md\\:text-sm {
2623
+ @media (width >= 48rem) {
2624
+ font-size: var(--text-sm);
2625
+ line-height: var(--tw-leading, var(--text-sm--line-height));
2626
+ }
2627
+ }
2628
+ .md\\:text-xl {
2629
+ @media (width >= 48rem) {
2630
+ font-size: var(--text-xl);
2631
+ line-height: var(--tw-leading, var(--text-xl--line-height));
2632
+ }
2633
+ }
2634
+ }
2635
+ @layer components {
2636
+ video::-webkit-media-controls {
2637
+ display: none !important;
2638
+ }
2639
+ video::-webkit-media-controls-panel {
2640
+ display: none !important;
2641
+ }
2642
+ video::-webkit-media-controls-play-button {
2643
+ display: none !important;
2644
+ }
2645
+ video::-webkit-media-controls-timeline {
2646
+ display: none !important;
2647
+ }
2648
+ video::-webkit-media-controls-current-time-display {
2649
+ display: none !important;
2650
+ }
2651
+ video::-webkit-media-controls-time-remaining-display {
2652
+ display: none !important;
2653
+ }
2654
+ video::-webkit-media-controls-mute-button {
2655
+ display: none !important;
2656
+ }
2657
+ video::-webkit-media-controls-volume-slider {
2658
+ display: none !important;
2659
+ }
2660
+ video::-webkit-media-controls-fullscreen-button {
2661
+ display: none !important;
2662
+ }
2663
+ video::-webkit-media-controls-overlay-play-button {
2664
+ display: none !important;
2665
+ }
2666
+ video::-moz-media-controls {
2667
+ display: none !important;
2668
+ }
2669
+ video {
2670
+ outline: none !important;
2671
+ }
2672
+ video[controls] {
2673
+ -webkit-appearance: none !important;
2674
+ appearance: none !important;
2675
+ }
2676
+ video::-webkit-media-controls-enclosure {
2677
+ display: none !important;
2678
+ }
2679
+ video::-webkit-media-controls-start-playback-button {
2680
+ display: none !important;
2681
+ }
2682
+ video[controls]::-webkit-media-controls,
2683
+ video[controls]::-webkit-media-controls-panel,
2684
+ video[controls]::-webkit-media-controls-play-button,
2685
+ video[controls]::-webkit-media-controls-timeline,
2686
+ video[controls]::-webkit-media-controls-current-time-display,
2687
+ video[controls]::-webkit-media-controls-time-remaining-display,
2688
+ video[controls]::-webkit-media-controls-mute-button,
2689
+ video[controls]::-webkit-media-controls-volume-slider,
2690
+ video[controls]::-webkit-media-controls-fullscreen-button,
2691
+ video[controls]::-webkit-media-controls-overlay-play-button,
2692
+ video[controls]::-webkit-media-controls-enclosure,
2693
+ video[controls]::-webkit-media-controls-start-playback-button {
2694
+ display: none !important;
2695
+ visibility: hidden !important;
2696
+ opacity: 0 !important;
2697
+ pointer-events: none !important;
2698
+ }
2699
+ video[controls]::-moz-media-controls {
2700
+ display: none !important;
2701
+ visibility: hidden !important;
2702
+ opacity: 0 !important;
2703
+ }
2704
+ .motto-video-container {
2705
+ position: relative;
2706
+ width: 100%;
2707
+ min-height: 300px;
2708
+ }
2709
+ @supports (aspect-ratio: 16/9) {
2710
+ .motto-video-container {
2711
+ min-height: auto;
2712
+ }
2713
+ }
2714
+ .motto-video-responsive {
2715
+ position: absolute;
2716
+ top: calc(var(--spacing) * 0);
2717
+ left: calc(var(--spacing) * 0);
2718
+ height: 100%;
2719
+ width: 100%;
2720
+ }
2721
+ .motto-skip-button {
2722
+ position: absolute;
2723
+ top: calc(1/2 * 100%);
2724
+ z-index: 10;
2725
+ display: flex;
2726
+ height: calc(var(--spacing) * 16);
2727
+ width: calc(var(--spacing) * 16);
2728
+ --tw-translate-y: calc(calc(1/2 * 100%) * -1);
2729
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2730
+ cursor: pointer;
2731
+ align-items: center;
2732
+ justify-content: center;
2733
+ border-radius: calc(infinity * 1px);
2734
+ border-style: var(--tw-border-style);
2735
+ border-width: 0px;
2736
+ background-color: color-mix(in srgb, #000 70%, transparent);
2737
+ @supports (color: color-mix(in lab, red, red)) {
2738
+ background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
923
2739
  }
924
- switch (event.key) {
925
- case "ArrowLeft":
926
- event.preventDefault();
927
- skipBack?.();
928
- break;
929
- case "ArrowRight":
930
- event.preventDefault();
931
- skipForward?.();
932
- break;
933
- case " ":
934
- case "Space":
935
- event.preventDefault();
936
- if (videoRef.current.paused) {
937
- videoRef.current.play();
938
- } else {
939
- videoRef.current.pause();
940
- }
941
- break;
2740
+ font-size: var(--text-2xl);
2741
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
2742
+ color: var(--color-white);
2743
+ opacity: 80%;
2744
+ transition-property: all;
2745
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2746
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2747
+ --tw-duration: 200ms;
2748
+ transition-duration: 200ms;
2749
+ &:hover {
2750
+ @media (hover: hover) {
2751
+ --tw-scale-x: 110%;
2752
+ --tw-scale-y: 110%;
2753
+ --tw-scale-z: 110%;
2754
+ scale: var(--tw-scale-x) var(--tw-scale-y);
2755
+ }
942
2756
  }
943
- }, [enabled, videoRef, skipBack, skipForward, isDesktop]);
944
- (0, import_react10.useEffect)(() => {
945
- if (!enabled || !isDesktop()) return;
946
- document.addEventListener("keydown", handleKeydown);
947
- return () => {
948
- document.removeEventListener("keydown", handleKeydown);
949
- };
950
- }, [handleKeydown, enabled, isDesktop]);
951
- return {
952
- isDesktop: isDesktop()
953
- };
954
- };
955
-
956
- // src/components/Loading.tsx
957
- var import_tailwind_merge = require("tailwind-merge");
958
- var import_jsx_runtime = require("react/jsx-runtime");
959
- var Loading = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
960
- "div",
961
- {
962
- className: (0, import_tailwind_merge.twMerge)(
963
- "relative bg-[#151515] md:rounded-2xl! overflow-hidden aspect-video text-white w-full h-full flex justify-center items-center text-[10px]",
964
- className
965
- ),
966
- role: "status",
967
- children: [
968
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "shaka-spinner-container flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
969
- "svg",
970
- {
971
- className: "shaka-spinner-svg animate-spin h-12 w-12",
972
- viewBox: "0 0 64 64",
973
- xmlns: "http://www.w3.org/2000/svg",
974
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
975
- "circle",
976
- {
977
- className: "shaka-spinner-path",
978
- cx: "32",
979
- cy: "32",
980
- r: "28",
981
- strokeWidth: "4",
982
- strokeLinecap: "round"
983
- }
984
- )
985
- }
986
- ) }),
987
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "Loading..." })
988
- ]
989
- }
990
- );
991
-
992
- // src/components/ErrorScreen.tsx
993
- var import_jsx_runtime2 = require("react/jsx-runtime");
994
- var ErrorScreen = ({ title, description }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "w-full h-full md:rounded-2xl! aspect-video bg-black", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "bg-[#151515] text-white w-full h-full flex justify-stretch items-center", children: [
995
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
996
- "svg",
997
- {
998
- className: "w-24 h-24 m-6",
999
- fill: "none",
1000
- stroke: "currentColor",
1001
- strokeWidth: "2",
1002
- style: { width: 96 },
1003
- viewBox: "0 0 24 24",
1004
- xmlns: "http://www.w3.org/2000/svg",
1005
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1006
- "path",
1007
- {
1008
- d: "M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z",
1009
- strokeLinecap: "round",
1010
- strokeLinejoin: "round"
1011
- }
1012
- )
2757
+ &:hover {
2758
+ @media (hover: hover) {
2759
+ opacity: 100%;
2760
+ }
1013
2761
  }
1014
- ),
1015
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { children: [
1016
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h3", { className: "text-2xl mb-2", children: title || "Playback Error" }),
1017
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "text-lg", children: description || "Unable to play the video. Please try again later." })
1018
- ] })
1019
- ] }) });
1020
-
1021
- // src/components/Title.tsx
1022
- var import_jsx_runtime3 = require("react/jsx-runtime");
1023
- var Title = ({ title }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-4", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h2", { className: "text-white text-xl font-semibold", children: title }) });
1024
-
1025
- // src/components/LiveBadge.tsx
1026
- var import_jsx_runtime4 = require("react/jsx-runtime");
1027
- var LiveBadge = ({
1028
- isVisible,
1029
- position = "top-right",
1030
- className = "",
1031
- style = {},
1032
- text = "LIVE"
1033
- }) => {
1034
- if (!isVisible) return null;
1035
- const positionClasses = {
1036
- "top-left": "top-4 left-4",
1037
- "top-right": "top-4 right-4",
1038
- "bottom-left": "bottom-4 left-4",
1039
- "bottom-right": "bottom-4 right-4"
1040
- };
1041
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1042
- "div",
1043
- {
1044
- className: `
1045
- absolute z-50
1046
- ${positionClasses[position]}
1047
- bg-red-600 text-white
1048
- px-2 py-1
1049
- rounded-md
1050
- text-xs font-bold
1051
- uppercase tracking-wide
1052
- shadow-lg
1053
- animate-pulse
1054
- pointer-events-none
1055
- ${className}
1056
- `,
1057
- style,
1058
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "flex items-center gap-1", children: [
1059
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "w-2 h-2 bg-white rounded-full animate-pulse" }),
1060
- text
1061
- ] })
2762
+ &:active {
2763
+ --tw-scale-x: 95%;
2764
+ --tw-scale-y: 95%;
2765
+ --tw-scale-z: 95%;
2766
+ scale: var(--tw-scale-x) var(--tw-scale-y);
1062
2767
  }
1063
- );
1064
- };
1065
-
1066
- // src/styles.css
1067
- styleInject('/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-wide: 0.025em;\n --tracking-widest: 0.1em;\n --radius-md: 0.375rem;\n --radius-2xl: 1rem;\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-4 {\n left: calc(var(--spacing) * 4);\n }\n .z-10 {\n z-index: 10;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-24 {\n height: calc(var(--spacing) * 24);\n }\n .h-full {\n height: 100%;\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-full {\n width: 100%;\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .auto-cols-max {\n grid-auto-columns: max-content;\n }\n .grid-flow-col {\n grid-auto-flow: column;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .bg-\\[\\#151515\\] {\n background-color: #151515;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-black\\/70 {\n --tw-gradient-from: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-center {\n background-position: center;\n }\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .filter {\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 .md\\:rounded-2xl {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl);\n }\n }\n .md\\:rounded-2xl\\! {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl) !important;\n }\n }\n .md\\:text-base {\n @media (width >= 48rem) {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:text-xl {\n @media (width >= 48rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n}\n@layer components {\n .motto-video-container {\n position: relative;\n width: 100%;\n min-height: 300px;\n }\n @supports (aspect-ratio: 16/9) {\n .motto-video-container {\n min-height: auto;\n }\n }\n .motto-video-responsive {\n position: absolute;\n top: calc(var(--spacing) * 0);\n left: calc(var(--spacing) * 0);\n height: 100%;\n width: 100%;\n }\n .motto-skip-button {\n position: absolute;\n top: calc(1/2 * 100%);\n z-index: 10;\n display: flex;\n height: calc(var(--spacing) * 16);\n width: calc(var(--spacing) * 16);\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n cursor: pointer;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n color: var(--color-white);\n opacity: 80%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n &:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .motto-skip-button-back {\n left: calc(var(--spacing) * 5);\n }\n .motto-skip-button-forward {\n right: calc(var(--spacing) * 5);\n }\n .motto-mobile-controls-overlay {\n position: absolute;\n inset: calc(var(--spacing) * 0);\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: center;\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 300ms;\n transition-duration: 300ms;\n pointer-events: none;\n }\n .motto-mobile-controls-group {\n display: flex;\n align-items: center;\n gap: calc(var(--spacing) * 8);\n opacity: 100%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: none;\n }\n .motto-mobile-play-button {\n display: flex;\n height: calc(var(--spacing) * 14);\n width: calc(var(--spacing) * 14);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-play-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-play-button svg {\n height: calc(var(--spacing) * 7);\n width: calc(var(--spacing) * 7);\n }\n .motto-mobile-skip-button {\n display: flex;\n height: calc(var(--spacing) * 10);\n width: calc(var(--spacing) * 10);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-skip-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-skip-button svg {\n height: calc(var(--spacing) * 6);\n width: calc(var(--spacing) * 6);\n }\n}\n@media (min-width: 768px) {\n .motto-mobile-controls-overlay {\n display: none !important;\n }\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-button[title*="Skip back"],\n .shaka-controls-container .shaka-button[title*="Skip forward"],\n .shaka-controls-container .shaka-button[aria-label*="Skip back"],\n .shaka-controls-container .shaka-button[aria-label*="Skip forward"],\n .shaka-controls-container button[title*="Skip back"],\n .shaka-controls-container button[title*="Skip forward"],\n .shaka-controls-container button[aria-label*="Skip back"],\n .shaka-controls-container button[aria-label*="Skip forward"],\n .motto-native-skip-button:not(.motto-mobile-skip-button),\n .motto-skip-back-button:not(.motto-mobile-skip-button),\n .motto-skip-forward-button:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button),\n button[title*="Skip back"]:not(.motto-mobile-skip-button),\n button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button) {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n width: 0 !important;\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n .motto-mobile-skip-button {\n display: flex !important;\n visibility: visible !important;\n opacity: 1 !important;\n }\n}\n.shaka-seek-bar-container {\n height: 6px !important;\n width: 100% !important;\n margin: 8px 0 !important;\n border-radius: 4px !important;\n position: relative !important;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow: none !important;\n}\n.shaka-seek-bar {\n height: 6px !important;\n width: 100% !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n background: transparent !important;\n cursor: pointer !important;\n border: none !important;\n outline: none !important;\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n border-radius: 4px !important;\n}\n.shaka-seek-bar::-webkit-slider-runnable-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-moz-range-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-webkit-slider-thumb {\n -webkit-appearance: none !important;\n appearance: none !important;\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.shaka-seek-bar::-moz-range-thumb {\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.motto-skip-back-button,\n.motto-skip-forward-button,\n.motto-native-skip-button {\n background: transparent !important;\n border: none !important;\n padding: 4px !important;\n margin: 0px !important;\n cursor: pointer !important;\n color: #ffffff !important;\n transition: all 0.2s ease !important;\n min-width: 32px !important;\n height: 32px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 4px !important;\n width: 25px;\n}\n.motto-skip-back-button:hover,\n.motto-skip-forward-button:hover,\n.motto-native-skip-button:hover {\n opacity: 0.8 !important;\n background: transparent !important;\n transform: scale(1.05) !important;\n}\n.motto-skip-back-button:active,\n.motto-skip-forward-button:active,\n.motto-native-skip-button:active {\n transform: scale(0.95) !important;\n}\n.motto-skip-back-button svg,\n.motto-skip-forward-button svg,\n.motto-native-skip-button svg {\n width: 24px !important;\n height: 24px !important;\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-play-button,\n .shaka-controls-container .shaka-pause-button {\n display: none !important;\n }\n}\n.shaka-spinner-svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-spinner-path {\n stroke: white !important;\n fill: none !important;\n}\n.shaka-spinner-container {\n color: white !important;\n}\n.shaka-buffering-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner path {\n stroke: white !important;\n fill: none !important;\n}\n[data-shaka-player-container] .shaka-spinner,\n[data-shaka-player-container] .spinner {\n color: white !important;\n border-color: white !important;\n}\n.material-icons.shaka-spinner {\n color: white !important;\n}\n.shaka-controls-container .shaka-spinner,\n.shaka-video-container .shaka-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner svg,\n.shaka-video-container .shaka-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner path,\n.shaka-video-container .shaka-spinner path {\n stroke: white !important;\n}\n.motto-video-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background:\n linear-gradient(\n 135deg,\n #1a1a1a 0%,\n #2d2d2d 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 10;\n transition: opacity 0.3s ease;\n}\n.motto-video-loading-overlay.hidden {\n opacity: 0;\n pointer-events: none;\n}\n.motto-video-loading-content {\n text-align: center;\n color: white;\n}\n.motto-video-loading-icon {\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n opacity: 0.7;\n}\n.motto-video-loading-text {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 8px;\n}\n.motto-video-loading-subtext {\n font-size: 14px;\n opacity: 0.7;\n}\n@keyframes pulse-live {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.7;\n transform: scale(1.1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n@property --tw-gradient-position { syntax: "*"; inherits: false; }\n@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }\n@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }\n@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-tracking { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-blur { syntax: "*"; inherits: false; }\n@property --tw-brightness { syntax: "*"; inherits: false; }\n@property --tw-contrast { syntax: "*"; inherits: false; }\n@property --tw-grayscale { syntax: "*"; inherits: false; }\n@property --tw-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-invert { syntax: "*"; inherits: false; }\n@property --tw-opacity { syntax: "*"; inherits: false; }\n@property --tw-saturate { syntax: "*"; inherits: false; }\n@property --tw-sepia { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }\n@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-duration { syntax: "*"; inherits: false; }\n@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-duration: initial;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n');
2768
+ }
2769
+ .motto-skip-button-back {
2770
+ left: calc(var(--spacing) * 5);
2771
+ }
2772
+ .motto-skip-button-forward {
2773
+ right: calc(var(--spacing) * 5);
2774
+ }
2775
+ }
2776
+ .shaka-seek-bar-container {
2777
+ height: 6px !important;
2778
+ width: 100% !important;
2779
+ margin: 8px 0 !important;
2780
+ border-radius: 4px !important;
2781
+ position: relative !important;
2782
+ border-top: none !important;
2783
+ border-bottom: none !important;
2784
+ box-shadow: none !important;
2785
+ }
2786
+ .shaka-seek-bar {
2787
+ height: 6px !important;
2788
+ width: 100% !important;
2789
+ -webkit-appearance: none !important;
2790
+ appearance: none !important;
2791
+ background: transparent !important;
2792
+ cursor: pointer !important;
2793
+ border: none !important;
2794
+ outline: none !important;
2795
+ position: absolute !important;
2796
+ top: 0 !important;
2797
+ left: 0 !important;
2798
+ border-radius: 4px !important;
2799
+ }
2800
+ .shaka-seek-bar::-webkit-slider-runnable-track {
2801
+ height: 6px !important;
2802
+ background: transparent !important;
2803
+ border-radius: 4px !important;
2804
+ border: none !important;
2805
+ }
2806
+ .shaka-seek-bar::-moz-range-track {
2807
+ height: 6px !important;
2808
+ background: transparent !important;
2809
+ border-radius: 4px !important;
2810
+ border: none !important;
2811
+ }
2812
+ .shaka-seek-bar::-webkit-slider-thumb {
2813
+ -webkit-appearance: none !important;
2814
+ appearance: none !important;
2815
+ width: 16px !important;
2816
+ height: 16px !important;
2817
+ border-radius: 50% !important;
2818
+ background: #ffffff !important;
2819
+ cursor: pointer !important;
2820
+ border: 2px solid #ffffff !important;
2821
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
2822
+ margin-top: -4px !important;
2823
+ }
2824
+ .shaka-seek-bar::-moz-range-thumb {
2825
+ width: 16px !important;
2826
+ height: 16px !important;
2827
+ border-radius: 50% !important;
2828
+ background: #ffffff !important;
2829
+ cursor: pointer !important;
2830
+ border: 2px solid #ffffff !important;
2831
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
2832
+ margin-top: -4px !important;
2833
+ }
2834
+ .motto-skip-back-button,
2835
+ .motto-skip-forward-button,
2836
+ .motto-native-skip-button {
2837
+ background: transparent !important;
2838
+ border: none !important;
2839
+ padding: 4px !important;
2840
+ margin: 0px !important;
2841
+ cursor: pointer !important;
2842
+ color: #ffffff !important;
2843
+ transition: all 0.2s ease !important;
2844
+ min-width: 32px !important;
2845
+ height: 32px !important;
2846
+ display: flex !important;
2847
+ align-items: center !important;
2848
+ justify-content: center !important;
2849
+ border-radius: 4px !important;
2850
+ width: 25px;
2851
+ }
2852
+ .motto-skip-back-button:hover,
2853
+ .motto-skip-forward-button:hover,
2854
+ .motto-native-skip-button:hover {
2855
+ opacity: 0.8 !important;
2856
+ background: transparent !important;
2857
+ transform: scale(1.05) !important;
2858
+ }
2859
+ .motto-skip-back-button:active,
2860
+ .motto-skip-forward-button:active,
2861
+ .motto-native-skip-button:active {
2862
+ transform: scale(0.95) !important;
2863
+ }
2864
+ .motto-skip-back-button svg,
2865
+ .motto-skip-forward-button svg,
2866
+ .motto-native-skip-button svg {
2867
+ width: 24px !important;
2868
+ height: 24px !important;
2869
+ }
2870
+ .shaka-spinner-svg {
2871
+ color: white !important;
2872
+ fill: white !important;
2873
+ }
2874
+ .shaka-spinner-path {
2875
+ stroke: white !important;
2876
+ fill: none !important;
2877
+ }
2878
+ .shaka-spinner-container {
2879
+ color: white !important;
2880
+ }
2881
+ .shaka-buffering-spinner {
2882
+ color: white !important;
2883
+ fill: white !important;
2884
+ }
2885
+ .shaka-buffering-spinner svg {
2886
+ color: white !important;
2887
+ fill: white !important;
2888
+ }
2889
+ .shaka-buffering-spinner path {
2890
+ stroke: white !important;
2891
+ fill: none !important;
2892
+ }
2893
+ [data-shaka-player-container] .shaka-spinner,
2894
+ [data-shaka-player-container] .spinner {
2895
+ color: white !important;
2896
+ border-color: white !important;
2897
+ }
2898
+ .material-icons.shaka-spinner {
2899
+ color: white !important;
2900
+ }
2901
+ .shaka-controls-container .shaka-spinner,
2902
+ .shaka-video-container .shaka-spinner {
2903
+ color: white !important;
2904
+ fill: white !important;
2905
+ }
2906
+ .shaka-controls-container .shaka-spinner svg,
2907
+ .shaka-video-container .shaka-spinner svg {
2908
+ color: white !important;
2909
+ fill: white !important;
2910
+ }
2911
+ .shaka-controls-container .shaka-spinner path,
2912
+ .shaka-video-container .shaka-spinner path {
2913
+ stroke: white !important;
2914
+ }
2915
+ .motto-video-loading-overlay {
2916
+ position: absolute;
2917
+ top: 0;
2918
+ left: 0;
2919
+ width: 100%;
2920
+ height: 100%;
2921
+ background:
2922
+ linear-gradient(
2923
+ 135deg,
2924
+ #1a1a1a 0%,
2925
+ #2d2d2d 100%);
2926
+ display: flex;
2927
+ flex-direction: column;
2928
+ align-items: center;
2929
+ justify-content: center;
2930
+ z-index: 10;
2931
+ transition: opacity 0.3s ease;
2932
+ }
2933
+ .motto-video-loading-overlay.hidden {
2934
+ opacity: 0;
2935
+ pointer-events: none;
2936
+ }
2937
+ .motto-video-loading-content {
2938
+ text-align: center;
2939
+ color: white;
2940
+ }
2941
+ .motto-video-loading-icon {
2942
+ width: 64px;
2943
+ height: 64px;
2944
+ margin-bottom: 16px;
2945
+ opacity: 0.7;
2946
+ }
2947
+ .motto-video-loading-text {
2948
+ font-size: 16px;
2949
+ font-weight: 500;
2950
+ margin-bottom: 8px;
2951
+ }
2952
+ .motto-video-loading-subtext {
2953
+ font-size: 14px;
2954
+ opacity: 0.7;
2955
+ }
2956
+ @keyframes pulse-live {
2957
+ 0% {
2958
+ opacity: 1;
2959
+ transform: scale(1);
2960
+ }
2961
+ 50% {
2962
+ opacity: 0.7;
2963
+ transform: scale(1.1);
2964
+ }
2965
+ 100% {
2966
+ opacity: 1;
2967
+ transform: scale(1);
2968
+ }
2969
+ }
2970
+ .shaka-play-button {
2971
+ background: rgba(255, 255, 255, 0.1) !important;
2972
+ border: none !important;
2973
+ color: white !important;
2974
+ padding: 10px !important;
2975
+ border-radius: 100% !important;
2976
+ transition: all 0.2s ease !important;
2977
+ display: flex !important;
2978
+ align-items: center !important;
2979
+ justify-content: center !important;
2980
+ min-width: 55px !important;
2981
+ height: 55px !important;
2982
+ }
2983
+ .shaka-play-button-container {
2984
+ background: transparent;
2985
+ transition: all 0.2s ease !important;
2986
+ }
2987
+ .motto-video-container:not(.no-cursor) .shaka-play-button-container {
2988
+ background: rgba(0, 0, 0, 0.3);
2989
+ transition: all 0.s ease !important;
2990
+ }
2991
+ .shaka-play-button:hover {
2992
+ background: rgba(255, 255, 255, 0.2) !important;
2993
+ transform: scale(1.05) !important;
2994
+ }
2995
+ .shaka-play-button:active {
2996
+ transform: scale(0.95) !important;
2997
+ }
2998
+ .shaka-play-button > * {
2999
+ display: none !important;
3000
+ }
3001
+ .shaka-play-button::after {
3002
+ content: "" !important;
3003
+ width: 35px !important;
3004
+ height: 35px !important;
3005
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z" clip-rule="evenodd" /></svg>') !important;
3006
+ background-repeat: no-repeat !important;
3007
+ background-size: contain !important;
3008
+ background-position: center !important;
3009
+ display: block !important;
3010
+ }
3011
+ .shaka-play-button[aria-label*=Play]::after {
3012
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z" clip-rule="evenodd" /></svg>') !important;
3013
+ }
3014
+ .shaka-play-button[aria-label*=Pause]::after {
3015
+ background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path fill-rule="evenodd" d="M6.75 5.25a.75.75 0 0 1 .75-.75H9a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75V5.25Zm7.5 0A.75.75 0 0 1 15 4.5h1.5a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H15a.75.75 0 0 1-.75-.75V5.25Z" clip-rule="evenodd" /></svg>') !important;
3016
+ }
3017
+ @property --tw-gradient-position { syntax: "*"; inherits: false; }
3018
+ @property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
3019
+ @property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
3020
+ @property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
3021
+ @property --tw-gradient-stops { syntax: "*"; inherits: false; }
3022
+ @property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
3023
+ @property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
3024
+ @property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
3025
+ @property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
3026
+ @property --tw-font-weight { syntax: "*"; inherits: false; }
3027
+ @property --tw-tracking { syntax: "*"; inherits: false; }
3028
+ @property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
3029
+ @property --tw-shadow-color { syntax: "*"; inherits: false; }
3030
+ @property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
3031
+ @property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
3032
+ @property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
3033
+ @property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
3034
+ @property --tw-ring-color { syntax: "*"; inherits: false; }
3035
+ @property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
3036
+ @property --tw-inset-ring-color { syntax: "*"; inherits: false; }
3037
+ @property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
3038
+ @property --tw-ring-inset { syntax: "*"; inherits: false; }
3039
+ @property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }
3040
+ @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
3041
+ @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
3042
+ @property --tw-blur { syntax: "*"; inherits: false; }
3043
+ @property --tw-brightness { syntax: "*"; inherits: false; }
3044
+ @property --tw-contrast { syntax: "*"; inherits: false; }
3045
+ @property --tw-grayscale { syntax: "*"; inherits: false; }
3046
+ @property --tw-hue-rotate { syntax: "*"; inherits: false; }
3047
+ @property --tw-invert { syntax: "*"; inherits: false; }
3048
+ @property --tw-opacity { syntax: "*"; inherits: false; }
3049
+ @property --tw-saturate { syntax: "*"; inherits: false; }
3050
+ @property --tw-sepia { syntax: "*"; inherits: false; }
3051
+ @property --tw-drop-shadow { syntax: "*"; inherits: false; }
3052
+ @property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
3053
+ @property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
3054
+ @property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
3055
+ @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
3056
+ @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
3057
+ @property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
3058
+ @property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
3059
+ @property --tw-duration { syntax: "*"; inherits: false; }
3060
+ @property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }
3061
+ @property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }
3062
+ @property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }
3063
+ @keyframes spin {
3064
+ to {
3065
+ transform: rotate(360deg);
3066
+ }
3067
+ }
3068
+ @keyframes pulse {
3069
+ 50% {
3070
+ opacity: 0.5;
3071
+ }
3072
+ }
3073
+ @layer properties {
3074
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
3075
+ *,
3076
+ ::before,
3077
+ ::after,
3078
+ ::backdrop {
3079
+ --tw-gradient-position: initial;
3080
+ --tw-gradient-from: #0000;
3081
+ --tw-gradient-via: #0000;
3082
+ --tw-gradient-to: #0000;
3083
+ --tw-gradient-stops: initial;
3084
+ --tw-gradient-via-stops: initial;
3085
+ --tw-gradient-from-position: 0%;
3086
+ --tw-gradient-via-position: 50%;
3087
+ --tw-gradient-to-position: 100%;
3088
+ --tw-font-weight: initial;
3089
+ --tw-tracking: initial;
3090
+ --tw-shadow: 0 0 #0000;
3091
+ --tw-shadow-color: initial;
3092
+ --tw-shadow-alpha: 100%;
3093
+ --tw-inset-shadow: 0 0 #0000;
3094
+ --tw-inset-shadow-color: initial;
3095
+ --tw-inset-shadow-alpha: 100%;
3096
+ --tw-ring-color: initial;
3097
+ --tw-ring-shadow: 0 0 #0000;
3098
+ --tw-inset-ring-color: initial;
3099
+ --tw-inset-ring-shadow: 0 0 #0000;
3100
+ --tw-ring-inset: initial;
3101
+ --tw-ring-offset-width: 0px;
3102
+ --tw-ring-offset-color: #fff;
3103
+ --tw-ring-offset-shadow: 0 0 #0000;
3104
+ --tw-blur: initial;
3105
+ --tw-brightness: initial;
3106
+ --tw-contrast: initial;
3107
+ --tw-grayscale: initial;
3108
+ --tw-hue-rotate: initial;
3109
+ --tw-invert: initial;
3110
+ --tw-opacity: initial;
3111
+ --tw-saturate: initial;
3112
+ --tw-sepia: initial;
3113
+ --tw-drop-shadow: initial;
3114
+ --tw-drop-shadow-color: initial;
3115
+ --tw-drop-shadow-alpha: 100%;
3116
+ --tw-drop-shadow-size: initial;
3117
+ --tw-translate-x: 0;
3118
+ --tw-translate-y: 0;
3119
+ --tw-translate-z: 0;
3120
+ --tw-border-style: solid;
3121
+ --tw-duration: initial;
3122
+ --tw-scale-x: 1;
3123
+ --tw-scale-y: 1;
3124
+ --tw-scale-z: 1;
3125
+ }
3126
+ }
3127
+ }
3128
+ `);
1068
3129
 
1069
3130
  // src/Player.tsx
1070
3131
  var import_tailwind_merge2 = require("tailwind-merge");
1071
- var import_jsx_runtime5 = require("react/jsx-runtime");
1072
- var Player = (0, import_react11.forwardRef)(
3132
+ var import_jsx_runtime8 = require("react/jsx-runtime");
3133
+ var Player = (0, import_react12.forwardRef)(
1073
3134
  ({
1074
3135
  src,
1075
3136
  autoPlay = false,
@@ -1087,14 +3148,15 @@ var Player = (0, import_react11.forwardRef)(
1087
3148
  chromecastConfig,
1088
3149
  qualityConfig,
1089
3150
  seekbarConfig,
3151
+ iconSizes,
1090
3152
  events,
1091
3153
  containerClassName,
1092
3154
  ...videoProps
1093
3155
  }, ref) => {
1094
- const videoRef = (0, import_react11.useRef)(null);
1095
- const containerRef = (0, import_react11.useRef)(null);
1096
- const adContainerRef = (0, import_react11.useRef)(null);
1097
- (0, import_react11.useImperativeHandle)(ref, () => videoRef.current, []);
3156
+ const videoRef = (0, import_react12.useRef)(null);
3157
+ const containerRef = (0, import_react12.useRef)(null);
3158
+ const adContainerRef = (0, import_react12.useRef)(null);
3159
+ (0, import_react12.useImperativeHandle)(ref, () => videoRef.current, []);
1098
3160
  const { playerRef, initializePlayer, destroyPlayer } = useShakePlayer({
1099
3161
  src,
1100
3162
  shakaConfig,
@@ -1140,7 +3202,8 @@ var Player = (0, import_react11.forwardRef)(
1140
3202
  chromecastConfig,
1141
3203
  seekbarConfig,
1142
3204
  events?.onSkipBack,
1143
- events?.onSkipForward
3205
+ events?.onSkipForward,
3206
+ iconSizes
1144
3207
  );
1145
3208
  const { isLive, isVisible: isLiveBadgeVisible } = useLiveBadge(playerRef, {
1146
3209
  enabled: true,
@@ -1194,7 +3257,7 @@ var Player = (0, import_react11.forwardRef)(
1194
3257
  console.warn("Chromecast initialization failed:", error);
1195
3258
  }
1196
3259
  };
1197
- (0, import_react11.useEffect)(() => {
3260
+ (0, import_react12.useEffect)(() => {
1198
3261
  const video = videoRef.current;
1199
3262
  if (!video) return;
1200
3263
  const initialize = async () => {
@@ -1220,7 +3283,7 @@ var Player = (0, import_react11.forwardRef)(
1220
3283
  destroyPlayer();
1221
3284
  };
1222
3285
  }, [src]);
1223
- (0, import_react11.useEffect)(() => {
3286
+ (0, import_react12.useEffect)(() => {
1224
3287
  const video = videoRef.current;
1225
3288
  if (!video) return;
1226
3289
  video.autoplay = autoPlay;
@@ -1229,14 +3292,31 @@ var Player = (0, import_react11.forwardRef)(
1229
3292
  video.controls = false;
1230
3293
  if (poster) video.poster = poster;
1231
3294
  }, [autoPlay, loop, muted, poster]);
1232
- (0, import_react11.useEffect)(() => {
3295
+ (0, import_react12.useEffect)(() => {
1233
3296
  const video = videoRef.current;
1234
3297
  if (!video) return;
1235
3298
  video.controls = false;
1236
3299
  video.setAttribute("controls", "false");
1237
3300
  video.removeAttribute("controls");
3301
+ const observer = new MutationObserver((mutations) => {
3302
+ mutations.forEach((mutation) => {
3303
+ if (mutation.type === "attributes" && mutation.attributeName === "controls") {
3304
+ if (video.hasAttribute("controls")) {
3305
+ video.removeAttribute("controls");
3306
+ video.controls = false;
3307
+ }
3308
+ }
3309
+ });
3310
+ });
3311
+ observer.observe(video, {
3312
+ attributes: true,
3313
+ attributeFilter: ["controls"]
3314
+ });
3315
+ return () => {
3316
+ observer.disconnect();
3317
+ };
1238
3318
  }, []);
1239
- (0, import_react11.useImperativeHandle)(ref, () => ({
3319
+ (0, import_react12.useImperativeHandle)(ref, () => ({
1240
3320
  ...videoRef.current,
1241
3321
  // Custom methods for quality control
1242
3322
  getAvailableQualities,
@@ -1259,7 +3339,7 @@ var Player = (0, import_react11.forwardRef)(
1259
3339
  const videoStyle = isResponsive ? {} : { width, height };
1260
3340
  const filteredVideoProps = { ...videoProps };
1261
3341
  delete filteredVideoProps.controls;
1262
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
3342
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
1263
3343
  "div",
1264
3344
  {
1265
3345
  ref: containerRef,
@@ -1268,7 +3348,7 @@ var Player = (0, import_react11.forwardRef)(
1268
3348
  "data-shaka-player-container": true,
1269
3349
  "data-shaka-player-cast-receiver-id": chromecastConfig?.receiverApplicationId,
1270
3350
  children: [
1271
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3351
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1272
3352
  "video",
1273
3353
  {
1274
3354
  ref: videoRef,
@@ -1277,11 +3357,12 @@ var Player = (0, import_react11.forwardRef)(
1277
3357
  height: isResponsive ? void 0 : height,
1278
3358
  style: videoStyle,
1279
3359
  controls: false,
3360
+ playsInline: true,
1280
3361
  ...filteredVideoProps
1281
3362
  }
1282
3363
  ),
1283
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(LiveBadge, { isVisible: isLiveBadgeVisible }),
1284
- imaConfig && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
3364
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(LiveBadge, { isVisible: isLiveBadgeVisible }),
3365
+ imaConfig && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1285
3366
  "div",
1286
3367
  {
1287
3368
  ref: adContainerRef,
@@ -1296,7 +3377,7 @@ var Player = (0, import_react11.forwardRef)(
1296
3377
  Player.displayName = "Player";
1297
3378
 
1298
3379
  // src/Video.tsx
1299
- var import_react13 = require("react");
3380
+ var import_react14 = require("react");
1300
3381
  var import_tailwind_merge3 = require("tailwind-merge");
1301
3382
  var import_react_query = require("@tanstack/react-query");
1302
3383
 
@@ -1437,7 +3518,7 @@ var getErrorType = (error, video) => {
1437
3518
  };
1438
3519
 
1439
3520
  // src/messages/useMessages.tsx
1440
- var import_react12 = require("react");
3521
+ var import_react13 = require("react");
1441
3522
 
1442
3523
  // src/messages/en.json
1443
3524
  var en_default = {
@@ -1739,9 +3820,9 @@ var getBrowserLanguage = () => {
1739
3820
  return availableLanguages[language] ? language : "en";
1740
3821
  };
1741
3822
  var useMessages = (locale) => {
1742
- const [language, setLanguage] = (0, import_react12.useState)("en");
1743
- const [translations, setTranslations] = (0, import_react12.useState)(availableLanguages.en);
1744
- (0, import_react12.useEffect)(() => {
3823
+ const [language, setLanguage] = (0, import_react13.useState)("en");
3824
+ const [translations, setTranslations] = (0, import_react13.useState)(availableLanguages.en);
3825
+ (0, import_react13.useEffect)(() => {
1745
3826
  const lang = !!availableLanguages?.[locale] ? locale : getBrowserLanguage();
1746
3827
  ;
1747
3828
  setLanguage(lang);
@@ -1767,7 +3848,7 @@ var useMessages = (locale) => {
1767
3848
  var useMessages_default = useMessages;
1768
3849
 
1769
3850
  // src/Video.tsx
1770
- var import_jsx_runtime6 = require("react/jsx-runtime");
3851
+ var import_jsx_runtime9 = require("react/jsx-runtime");
1771
3852
  var Video = ({
1772
3853
  videoId,
1773
3854
  publicKey,
@@ -1803,13 +3884,13 @@ var Video = ({
1803
3884
  const { t } = useMessages_default(locale);
1804
3885
  const activePlaylist = findHLSPlaylist(video);
1805
3886
  const hlsUrl = activePlaylist?.url;
1806
- (0, import_react13.useEffect)(() => {
3887
+ (0, import_react14.useEffect)(() => {
1807
3888
  if (events?.onVideoData && video) {
1808
3889
  events.onVideoData(video);
1809
3890
  }
1810
3891
  }, [video, events]);
1811
3892
  if (isLoading || !providedVideoData && !video) {
1812
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "relative w-full h-full bg-[#151515]", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Loading, {}) }) });
3893
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "relative w-full h-full bg-[#151515]", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Loading, {}) }) });
1813
3894
  }
1814
3895
  if (!isLoading && video && !hlsUrl && events?.onEmptyPlaylists) {
1815
3896
  events.onEmptyPlaylists();
@@ -1822,8 +3903,8 @@ var Video = ({
1822
3903
  }
1823
3904
  const title = t(errorKey) || t("DEFAULT_ERROR");
1824
3905
  const description = t(`${errorKey}_DESCRIPTION`) || t("DEFAULT_ERROR_DESCRIPTION");
1825
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative w-full h-full", children: [
1826
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
3906
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "relative w-full h-full", children: [
3907
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1827
3908
  ErrorScreen,
1828
3909
  {
1829
3910
  title,
@@ -1834,13 +3915,13 @@ var Video = ({
1834
3915
  ] }) });
1835
3916
  }
1836
3917
  if (!hlsUrl) {
1837
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative w-full h-full bg-[#151515]", children: [
1838
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Title, { title: video?.name || "" }),
3918
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "relative w-full h-full bg-[#151515]", children: [
3919
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Title, { title: video?.name || "" }),
1839
3920
  children
1840
3921
  ] }) });
1841
3922
  }
1842
3923
  console.log("hlsUrl", hlsUrl);
1843
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
3924
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: (0, import_tailwind_merge3.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1844
3925
  Player,
1845
3926
  {
1846
3927
  ...props,
@@ -1854,10 +3935,10 @@ var Video = ({
1854
3935
  };
1855
3936
 
1856
3937
  // src/Event.tsx
1857
- var import_react14 = require("react");
3938
+ var import_react15 = require("react");
1858
3939
  var import_tailwind_merge4 = require("tailwind-merge");
1859
3940
  var import_react_query2 = require("@tanstack/react-query");
1860
- var import_jsx_runtime7 = require("react/jsx-runtime");
3941
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1861
3942
  var Event = ({
1862
3943
  publicKey,
1863
3944
  eventId,
@@ -1887,8 +3968,8 @@ var Event = ({
1887
3968
  retry: queryOptions.retry ?? 3,
1888
3969
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
1889
3970
  });
1890
- const [activePlaylist, setActivePlaylist] = (0, import_react14.useState)();
1891
- const [activeVideoId, setActiveVideoId] = (0, import_react14.useState)();
3971
+ const [activePlaylist, setActivePlaylist] = (0, import_react15.useState)();
3972
+ const [activeVideoId, setActiveVideoId] = (0, import_react15.useState)();
1892
3973
  const videoIds = eventData?.videoIds ?? [];
1893
3974
  const {
1894
3975
  data: videosData,
@@ -1904,8 +3985,8 @@ var Event = ({
1904
3985
  retry: queryOptions.retry ?? 3,
1905
3986
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
1906
3987
  });
1907
- const [loadingApisState, setLoadingApisState] = (0, import_react14.useState)(true);
1908
- (0, import_react14.useEffect)(() => {
3988
+ const [loadingApisState, setLoadingApisState] = (0, import_react15.useState)(true);
3989
+ (0, import_react15.useEffect)(() => {
1909
3990
  if (videosData !== void 0) {
1910
3991
  setLoadingApisState(false);
1911
3992
  const videosWithPlaylists = videosData.filter(
@@ -1937,12 +4018,12 @@ var Event = ({
1937
4018
  }
1938
4019
  }, [videosData, eventData]);
1939
4020
  const { t } = useMessages_default(locale);
1940
- (0, import_react14.useEffect)(() => {
4021
+ (0, import_react15.useEffect)(() => {
1941
4022
  if (events?.onEventData && eventData) {
1942
4023
  events.onEventData(eventData);
1943
4024
  }
1944
4025
  }, [eventData, events]);
1945
- (0, import_react14.useEffect)(() => {
4026
+ (0, import_react15.useEffect)(() => {
1946
4027
  if (events?.onVideoData && activeVideoId && videosData) {
1947
4028
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
1948
4029
  if (activeVideo) {
@@ -1950,10 +4031,10 @@ var Event = ({
1950
4031
  }
1951
4032
  }
1952
4033
  }, [activeVideoId, videosData, events]);
1953
- const [error, setError] = (0, import_react14.useState)(null);
1954
- const [loadingPlaylist, setLoadingPlaylist] = (0, import_react14.useState)(true);
4034
+ const [error, setError] = (0, import_react15.useState)(null);
4035
+ const [loadingPlaylist, setLoadingPlaylist] = (0, import_react15.useState)(true);
1955
4036
  const videosDataError = videosData?.some((video) => !!video.error);
1956
- (0, import_react14.useEffect)(() => {
4037
+ (0, import_react15.useEffect)(() => {
1957
4038
  if (eventError || videosError || videosDataError) {
1958
4039
  const errorObj = eventError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
1959
4040
  setError(errorObj);
@@ -1964,7 +4045,7 @@ var Event = ({
1964
4045
  setError(null);
1965
4046
  }
1966
4047
  }, [eventError, videosError, videosDataError, videosData, events]);
1967
- (0, import_react14.useEffect)(() => {
4048
+ (0, import_react15.useEffect)(() => {
1968
4049
  const eventLoadedWithNoVideos = !isEventLoading && eventData && eventData.videoIds && (!eventData.videoIds || eventData?.videoIds?.length === 0) && !loadingApisState;
1969
4050
  const allApisLoadedWithPotentialVideos = !isEventLoading && !videosIsLoading && eventData && !loadingApisState;
1970
4051
  if (eventLoadedWithNoVideos || allApisLoadedWithPotentialVideos) {
@@ -1974,7 +4055,7 @@ var Event = ({
1974
4055
  if (error) {
1975
4056
  const title = t(error.message)?.length ? t(error.message) : t("DEFAULT_ERROR");
1976
4057
  const description = t(`${error.message}_DESCRIPTION`)?.length ? t(`${error.message}_DESCRIPTION`) : t("DEFAULT_ERROR_DESCRIPTION");
1977
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4058
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1978
4059
  ErrorScreen,
1979
4060
  {
1980
4061
  title,
@@ -1986,12 +4067,12 @@ var Event = ({
1986
4067
  events.onEmptyPlaylists();
1987
4068
  }
1988
4069
  if (loadingPlaylist) {
1989
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative w-full h-full bg-[#151515]", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Loading, {}) }) });
4070
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative w-full h-full bg-[#151515]", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Loading, {}) }) });
1990
4071
  }
1991
4072
  if (activePlaylist && activeVideoId && videosData) {
1992
4073
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
1993
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "relative w-full h-full", children: [
1994
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4074
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: [
4075
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1995
4076
  Player,
1996
4077
  {
1997
4078
  ...props,
@@ -2000,8 +4081,8 @@ var Event = ({
2000
4081
  events,
2001
4082
  containerClassName: "w-full h-full"
2002
4083
  }
2003
- ),
2004
- !hideTitle && eventData && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4084
+ ) }),
4085
+ !hideTitle && eventData && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2005
4086
  TitleAndDescription,
2006
4087
  {
2007
4088
  title: eventData.title,
@@ -2010,10 +4091,10 @@ var Event = ({
2010
4091
  locale
2011
4092
  }
2012
4093
  )
2013
- ] }) });
4094
+ ] });
2014
4095
  }
2015
4096
  if (eventData) {
2016
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4097
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: (0, import_tailwind_merge4.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2017
4098
  PreEvent,
2018
4099
  {
2019
4100
  event: eventData,
@@ -2035,12 +4116,12 @@ function PreEvent({
2035
4116
  }) {
2036
4117
  const date = new Date(event.startTime);
2037
4118
  const now = /* @__PURE__ */ new Date();
2038
- const [remainingTime, setRemainingTime] = (0, import_react14.useState)(
4119
+ const [remainingTime, setRemainingTime] = (0, import_react15.useState)(
2039
4120
  date.getTime() - now.getTime()
2040
4121
  );
2041
4122
  const shouldBeStarted = remainingTime < 0;
2042
4123
  const { t } = useMessages_default(locale);
2043
- (0, import_react14.useEffect)(() => {
4124
+ (0, import_react15.useEffect)(() => {
2044
4125
  const interval = setInterval(() => {
2045
4126
  if (remainingTime < 0) {
2046
4127
  clearInterval(interval);
@@ -2050,17 +4131,17 @@ function PreEvent({
2050
4131
  }, 1e3);
2051
4132
  return () => clearInterval(interval);
2052
4133
  }, [date, remainingTime]);
2053
- const renderCountdown = (0, import_react14.useCallback)(() => {
4134
+ const renderCountdown = (0, import_react15.useCallback)(() => {
2054
4135
  if (shouldBeStarted) {
2055
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
4136
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
2056
4137
  }
2057
4138
  const seconds = Math.floor(remainingTime / 1e3) % 60;
2058
4139
  const minutes = Math.floor(remainingTime / 1e3 / 60) % 60;
2059
4140
  const hours = Math.floor(remainingTime / 1e3 / 60 / 60) % 24;
2060
4141
  const days = Math.floor(remainingTime / 1e3 / 60 / 60 / 24);
2061
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "grid grid-flow-col gap-5 text-center auto-cols-max", children: [
2062
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2063
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4142
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "grid grid-flow-col gap-5 text-center auto-cols-max", children: [
4143
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4144
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2064
4145
  "span",
2065
4146
  {
2066
4147
  style: { "--value": days },
@@ -2069,10 +4150,10 @@ function PreEvent({
2069
4150
  children: days?.toString()?.padStart(2, "0")
2070
4151
  }
2071
4152
  ) }),
2072
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("DAYS") })
4153
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("DAYS") })
2073
4154
  ] }),
2074
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2075
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4155
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4156
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2076
4157
  "span",
2077
4158
  {
2078
4159
  style: { "--value": hours },
@@ -2081,10 +4162,10 @@ function PreEvent({
2081
4162
  children: hours?.toString()?.padStart(2, "0")
2082
4163
  }
2083
4164
  ) }),
2084
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("HOURS") })
4165
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("HOURS") })
2085
4166
  ] }),
2086
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2087
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4167
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4168
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2088
4169
  "span",
2089
4170
  {
2090
4171
  style: { "--value": minutes },
@@ -2093,10 +4174,10 @@ function PreEvent({
2093
4174
  children: minutes?.toString()?.padStart(2, "0")
2094
4175
  }
2095
4176
  ) }),
2096
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("MINUTES") })
4177
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("MINUTES") })
2097
4178
  ] }),
2098
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2099
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4179
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4180
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2100
4181
  "span",
2101
4182
  {
2102
4183
  style: { "--value": seconds },
@@ -2105,12 +4186,12 @@ function PreEvent({
2105
4186
  children: seconds?.toString()?.padStart(2, "0")
2106
4187
  }
2107
4188
  ) }),
2108
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("SECONDS") })
4189
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("SECONDS") })
2109
4190
  ] })
2110
4191
  ] });
2111
4192
  }, [remainingTime, shouldBeStarted, t]);
2112
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: event?.posterUrl ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
2113
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4193
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: event?.posterUrl ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
4194
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2114
4195
  "div",
2115
4196
  {
2116
4197
  className: "relative overflow-hidden bg-base-200 aspect-video text-base-content w-full h-full flex justify-center items-center flex-col bg-no-repeat bg-cover md:rounded-2xl",
@@ -2119,10 +4200,10 @@ function PreEvent({
2119
4200
  backgroundRepeat: "no-repeat",
2120
4201
  backgroundSize: "cover"
2121
4202
  },
2122
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative z-10", children: renderCountdown() })
4203
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative z-10", children: renderCountdown() })
2123
4204
  }
2124
4205
  ),
2125
- !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4206
+ !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2126
4207
  TitleAndDescription,
2127
4208
  {
2128
4209
  title: event.title,
@@ -2131,18 +4212,18 @@ function PreEvent({
2131
4212
  locale
2132
4213
  }
2133
4214
  )
2134
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
2135
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4215
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
4216
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2136
4217
  "div",
2137
4218
  {
2138
4219
  className: "relative overflow-hidden md:rounded-2xl bg-base-200 aspect-video text-base-content flex flex-col justify-center items-center w-full h-full bg-cover bg-center bg-no-repeat",
2139
4220
  style: {
2140
4221
  backgroundImage: backgroundImageUrl ? `url(${backgroundImageUrl})` : ""
2141
4222
  },
2142
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative z-10", children: renderCountdown() })
4223
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "relative z-10", children: renderCountdown() })
2143
4224
  }
2144
4225
  ),
2145
- !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
4226
+ !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2146
4227
  TitleAndDescription,
2147
4228
  {
2148
4229
  title: event.title,
@@ -2160,9 +4241,9 @@ var TitleAndDescription = ({
2160
4241
  locale = "en",
2161
4242
  className
2162
4243
  }) => {
2163
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: (0, import_tailwind_merge4.twMerge)("mt-3 mb-6 m-event-details-ctn px-4 text-left w-full", className), children: [
2164
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "text-base md:text-xl m-event-title text-base-content font-medium", children: title }),
2165
- startTime ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "text-sm md:text-base text-base-content/70 m-event-start-time", children: [
4244
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: (0, import_tailwind_merge4.twMerge)("mt-3 mb-6 m-event-details-ctn px-4 text-left w-full", className), children: [
4245
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "text-base md:text-xl m-event-title text-base-content font-medium", children: title }),
4246
+ startTime ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "text-sm md:text-base text-base-content/70 m-event-start-time", children: [
2166
4247
  new Date(startTime || "").toLocaleDateString(locale || "default", {
2167
4248
  month: "long",
2168
4249
  year: "numeric",
@@ -2175,15 +4256,15 @@ var TitleAndDescription = ({
2175
4256
  minute: "2-digit"
2176
4257
  })
2177
4258
  ] }) : null,
2178
- description && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "text-xs md:text-sm text-base-content/60 uppercase", children: description })
4259
+ description && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "text-xs md:text-sm text-base-content/60 uppercase", children: description })
2179
4260
  ] });
2180
4261
  };
2181
4262
 
2182
4263
  // src/CreativeWork.tsx
2183
- var import_react15 = require("react");
4264
+ var import_react16 = require("react");
2184
4265
  var import_tailwind_merge5 = require("tailwind-merge");
2185
4266
  var import_react_query3 = require("@tanstack/react-query");
2186
- var import_jsx_runtime8 = require("react/jsx-runtime");
4267
+ var import_jsx_runtime11 = require("react/jsx-runtime");
2187
4268
  var CreativeWork = ({
2188
4269
  publicKey,
2189
4270
  creativeWorkId,
@@ -2213,9 +4294,9 @@ var CreativeWork = ({
2213
4294
  retry: queryOptions.retry ?? 3,
2214
4295
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
2215
4296
  });
2216
- const [activePlaylist, setActivePlaylist] = (0, import_react15.useState)();
2217
- const [activeVideoId, setActiveVideoId] = (0, import_react15.useState)();
2218
- const [showCountDown, setShowCountDown] = (0, import_react15.useState)(false);
4297
+ const [activePlaylist, setActivePlaylist] = (0, import_react16.useState)();
4298
+ const [activeVideoId, setActiveVideoId] = (0, import_react16.useState)();
4299
+ const [showCountDown, setShowCountDown] = (0, import_react16.useState)(false);
2219
4300
  const videoIds = creativeWorkData?.videoIds ?? [];
2220
4301
  const {
2221
4302
  data: videosData,
@@ -2231,8 +4312,8 @@ var CreativeWork = ({
2231
4312
  retry: queryOptions.retry ?? 3,
2232
4313
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
2233
4314
  });
2234
- const [loadingApisState, setLoadingApisState] = (0, import_react15.useState)(true);
2235
- (0, import_react15.useEffect)(() => {
4315
+ const [loadingApisState, setLoadingApisState] = (0, import_react16.useState)(true);
4316
+ (0, import_react16.useEffect)(() => {
2236
4317
  if (videosData !== void 0) {
2237
4318
  setLoadingApisState(false);
2238
4319
  const videosWithPlaylists = videosData.filter(
@@ -2264,7 +4345,7 @@ var CreativeWork = ({
2264
4345
  }
2265
4346
  }, [videosData, creativeWorkData]);
2266
4347
  const { t } = useMessages_default(locale);
2267
- (0, import_react15.useEffect)(() => {
4348
+ (0, import_react16.useEffect)(() => {
2268
4349
  if (events?.onCreativeWorkData && creativeWorkData) {
2269
4350
  events.onCreativeWorkData(creativeWorkData);
2270
4351
  }
@@ -2272,7 +4353,7 @@ var CreativeWork = ({
2272
4353
  setShowCountDown(true);
2273
4354
  }
2274
4355
  }, [creativeWorkData, events]);
2275
- (0, import_react15.useEffect)(() => {
4356
+ (0, import_react16.useEffect)(() => {
2276
4357
  if (events?.onVideoData && activeVideoId && videosData) {
2277
4358
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
2278
4359
  if (activeVideo) {
@@ -2280,9 +4361,9 @@ var CreativeWork = ({
2280
4361
  }
2281
4362
  }
2282
4363
  }, [activeVideoId, videosData, events]);
2283
- const [error, setError] = (0, import_react15.useState)(null);
4364
+ const [error, setError] = (0, import_react16.useState)(null);
2284
4365
  const videosDataError = videosData?.some((video) => !!video.error);
2285
- (0, import_react15.useEffect)(() => {
4366
+ (0, import_react16.useEffect)(() => {
2286
4367
  if (creativeWorkError || videosError || videosDataError) {
2287
4368
  const errorObj = creativeWorkError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
2288
4369
  setError(errorObj);
@@ -2296,7 +4377,7 @@ var CreativeWork = ({
2296
4377
  if (error) {
2297
4378
  const title = t(error.message)?.length ? t(error.message) : t("DEFAULT_ERROR");
2298
4379
  const description = t(`${error.message}_DESCRIPTION`)?.length ? t(`${error.message}_DESCRIPTION`) : t("DEFAULT_ERROR_DESCRIPTION");
2299
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4380
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2300
4381
  ErrorScreen,
2301
4382
  {
2302
4383
  title,
@@ -2304,8 +4385,8 @@ var CreativeWork = ({
2304
4385
  }
2305
4386
  ) }) });
2306
4387
  }
2307
- const [loadingPlaylist, setLoadingPlaylist] = (0, import_react15.useState)(true);
2308
- (0, import_react15.useEffect)(() => {
4388
+ const [loadingPlaylist, setLoadingPlaylist] = (0, import_react16.useState)(true);
4389
+ (0, import_react16.useEffect)(() => {
2309
4390
  const creativeWorkLoadedWithNoVideos = !isCreativeWorkLoading && creativeWorkData && creativeWorkData.videoIds && creativeWorkData.videoIds.length === 0;
2310
4391
  const creativeWorkLoadedWithNoData = !isCreativeWorkLoading && creativeWorkData && !creativeWorkData.videoIds;
2311
4392
  const isEventsFinished = !videosIsLoading && videosData && videosData.length > 0 && videosData.every((video) => video.playlists && video.playlists.length === 0);
@@ -2326,10 +4407,10 @@ var CreativeWork = ({
2326
4407
  events
2327
4408
  ]);
2328
4409
  if (isCreativeWorkLoading || videosIsLoading || loadingApisState) {
2329
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Loading, {}) }) });
4410
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "relative w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Loading, {}) }) });
2330
4411
  }
2331
4412
  if (showCountDown && creativeWorkData) {
2332
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "relative w-full h-full bg-base-200 text-base-content flex justify-center items-center flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4413
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "relative w-full h-full bg-base-200 text-base-content flex justify-center items-center flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2333
4414
  PreCreativeWork,
2334
4415
  {
2335
4416
  creativeWork: creativeWorkData,
@@ -2342,8 +4423,8 @@ var CreativeWork = ({
2342
4423
  }
2343
4424
  if (activeVideoId && activePlaylist && !loadingPlaylist) {
2344
4425
  const activeVideo = videosData?.find((video) => video.id === activeVideoId);
2345
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "relative w-full h-full", children: [
2346
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4426
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: (0, import_tailwind_merge5.twMerge)("md:rounded-2xl overflow-hidden aspect-video", className), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "relative w-full h-full", children: [
4427
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2347
4428
  Player,
2348
4429
  {
2349
4430
  ...props,
@@ -2355,7 +4436,7 @@ var CreativeWork = ({
2355
4436
  containerClassName: "w-full h-full"
2356
4437
  }
2357
4438
  ),
2358
- !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4439
+ !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2359
4440
  TitleAndDescription2,
2360
4441
  {
2361
4442
  title: creativeWorkData?.title || "",
@@ -2368,7 +4449,7 @@ var CreativeWork = ({
2368
4449
  ] }) });
2369
4450
  }
2370
4451
  if (loadingPlaylist) {
2371
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Loading, {});
4452
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Loading, {});
2372
4453
  }
2373
4454
  return null;
2374
4455
  };
@@ -2381,12 +4462,12 @@ function PreCreativeWork({
2381
4462
  }) {
2382
4463
  const date = new Date(creativeWork.releaseTime);
2383
4464
  const now = /* @__PURE__ */ new Date();
2384
- const [remainingTime, setRemainingTime] = (0, import_react15.useState)(
4465
+ const [remainingTime, setRemainingTime] = (0, import_react16.useState)(
2385
4466
  date.getTime() - now.getTime()
2386
4467
  );
2387
4468
  const shouldBeStarted = remainingTime < 0;
2388
4469
  const { t } = useMessages_default(locale);
2389
- (0, import_react15.useEffect)(() => {
4470
+ (0, import_react16.useEffect)(() => {
2390
4471
  const interval = setInterval(() => {
2391
4472
  if (remainingTime < 0) {
2392
4473
  clearInterval(interval);
@@ -2400,15 +4481,15 @@ function PreCreativeWork({
2400
4481
  }, [date, remainingTime]);
2401
4482
  const renderCountdown = () => {
2402
4483
  if (shouldBeStarted) {
2403
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
4484
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
2404
4485
  }
2405
4486
  const seconds = Math.floor(remainingTime / 1e3) % 60;
2406
4487
  const minutes = Math.floor(remainingTime / 1e3 / 60) % 60;
2407
4488
  const hours = Math.floor(remainingTime / 1e3 / 60 / 60) % 24;
2408
4489
  const days = Math.floor(remainingTime / 1e3 / 60 / 60 / 24);
2409
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "grid grid-flow-col gap-5 text-center auto-cols-max", children: [
2410
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2411
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4490
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "grid grid-flow-col gap-5 text-center auto-cols-max", children: [
4491
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4492
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2412
4493
  "span",
2413
4494
  {
2414
4495
  style: { "--value": days },
@@ -2417,10 +4498,10 @@ function PreCreativeWork({
2417
4498
  children: days?.toString()?.padStart(2, "0")
2418
4499
  }
2419
4500
  ) }),
2420
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("DAYS") })
4501
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("DAYS") })
2421
4502
  ] }),
2422
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2423
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4503
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4504
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2424
4505
  "span",
2425
4506
  {
2426
4507
  style: { "--value": hours },
@@ -2429,10 +4510,10 @@ function PreCreativeWork({
2429
4510
  children: hours?.toString()?.padStart(2, "0")
2430
4511
  }
2431
4512
  ) }),
2432
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("HOURS") })
4513
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("HOURS") })
2433
4514
  ] }),
2434
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2435
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4515
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4516
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2436
4517
  "span",
2437
4518
  {
2438
4519
  style: { "--value": minutes },
@@ -2441,10 +4522,10 @@ function PreCreativeWork({
2441
4522
  children: minutes?.toString()?.padStart(2, "0")
2442
4523
  }
2443
4524
  ) }),
2444
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("MINUTES") })
4525
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("MINUTES") })
2445
4526
  ] }),
2446
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
2447
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4527
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col p-2 bg-neutral rounded-box text-neutral-content", children: [
4528
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "countdown font-mono text-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2448
4529
  "span",
2449
4530
  {
2450
4531
  style: { "--value": seconds },
@@ -2453,12 +4534,12 @@ function PreCreativeWork({
2453
4534
  children: seconds?.toString()?.padStart(2, "0")
2454
4535
  }
2455
4536
  ) }),
2456
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("SECONDS") })
4537
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-sm uppercase tracking-widest mt-1", children: t("SECONDS") })
2457
4538
  ] })
2458
4539
  ] });
2459
4540
  };
2460
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
2461
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
4541
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
4542
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2462
4543
  "div",
2463
4544
  {
2464
4545
  className: "relative overflow-hidden md:rounded-2xl bg-base-200 aspect-video text-base-content flex flex-col justify-center items-center w-full h-full bg-cover bg-center bg-no-repeat",
@@ -2466,12 +4547,12 @@ function PreCreativeWork({
2466
4547
  backgroundImage: backgroundImageUrl ? `url(${backgroundImageUrl})` : ""
2467
4548
  },
2468
4549
  children: [
2469
- backgroundImageUrl && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "absolute inset-0 bg-black bg-opacity-40" }),
2470
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "relative z-10", children: renderCountdown() })
4550
+ backgroundImageUrl && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "absolute inset-0 bg-black bg-opacity-40" }),
4551
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "relative z-10", children: renderCountdown() })
2471
4552
  ]
2472
4553
  }
2473
4554
  ),
2474
- !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
4555
+ !hideTitle && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2475
4556
  TitleAndDescription2,
2476
4557
  {
2477
4558
  title: creativeWork.title,
@@ -2489,9 +4570,9 @@ var TitleAndDescription2 = ({
2489
4570
  locale = "en",
2490
4571
  className
2491
4572
  }) => {
2492
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: (0, import_tailwind_merge5.twMerge)("mt-3 mb-6 m-event-details-ctn px-4 text-left w-full", className), children: [
2493
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "text-base md:text-xl m-event-title text-base-content font-medium", children: title }),
2494
- releaseTime ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "text-sm md:text-base text-base-content/70 m-event-start-time", children: [
4573
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: (0, import_tailwind_merge5.twMerge)("mt-3 mb-6 m-event-details-ctn px-4 text-left w-full", className), children: [
4574
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "text-base md:text-xl m-event-title text-base-content font-medium", children: title }),
4575
+ releaseTime ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "text-sm md:text-base text-base-content/70 m-event-start-time", children: [
2495
4576
  new Date(releaseTime || "").toLocaleDateString(locale || "default", {
2496
4577
  month: "long",
2497
4578
  year: "numeric",
@@ -2504,13 +4585,13 @@ var TitleAndDescription2 = ({
2504
4585
  minute: "2-digit"
2505
4586
  })
2506
4587
  ] }) : null,
2507
- description && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "text-xs md:text-sm text-base-content/60 uppercase", children: description })
4588
+ description && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "text-xs md:text-sm text-base-content/60 uppercase", children: description })
2508
4589
  ] });
2509
4590
  };
2510
4591
 
2511
4592
  // src/QueryProvider.tsx
2512
4593
  var import_react_query4 = require("@tanstack/react-query");
2513
- var import_jsx_runtime9 = require("react/jsx-runtime");
4594
+ var import_jsx_runtime12 = require("react/jsx-runtime");
2514
4595
  var queryClient = new import_react_query4.QueryClient({
2515
4596
  defaultOptions: {
2516
4597
  queries: {
@@ -2524,14 +4605,17 @@ var queryClient = new import_react_query4.QueryClient({
2524
4605
  }
2525
4606
  });
2526
4607
  var QueryProvider = ({ children }) => {
2527
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_query4.QueryClientProvider, { client: queryClient, children });
4608
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_query4.QueryClientProvider, { client: queryClient, children });
2528
4609
  };
2529
4610
  // Annotate the CommonJS export names for ESM import in node:
2530
4611
  0 && (module.exports = {
4612
+ BigPlayIcon,
2531
4613
  CreativeWork,
2532
4614
  Event,
2533
4615
  Player,
2534
4616
  QueryProvider,
4617
+ SkipBackIcon,
4618
+ SkipForwardIcon,
2535
4619
  Video,
2536
4620
  queryClient
2537
4621
  });